mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-24 10:22:36 +08:00
Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode
This commit is contained in:
commit
e0d05e1fa8
@ -1,4 +1,4 @@
|
|||||||
package utils
|
package convert
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
@ -34,14 +34,14 @@ func NewPBFriend(friendInfo *sdk.FriendInfo) *PBFriend {
|
|||||||
return &PBFriend{FriendInfo: friendInfo}
|
return &PBFriend{FriendInfo: friendInfo}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *DBFriend) convert() (*sdk.FriendInfo, error) {
|
func (db *DBFriend) Convert() (*sdk.FriendInfo, error) {
|
||||||
pbFriend := &sdk.FriendInfo{FriendUser: &sdk.UserInfo{}}
|
pbFriend := &sdk.FriendInfo{FriendUser: &sdk.UserInfo{}}
|
||||||
utils.CopyStructFields(pbFriend, db)
|
utils.CopyStructFields(pbFriend, db)
|
||||||
user, err := getUsersInfo([]string{db.FriendUserID})
|
user, err := getUsersInfo([]string{db.FriendUserID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
CopyStructFields(pbFriend.FriendUser, user[0])
|
utils.CopyStructFields(pbFriend.FriendUser, user[0])
|
||||||
pbFriend.CreateTime = db.CreateTime.Unix()
|
pbFriend.CreateTime = db.CreateTime.Unix()
|
||||||
|
|
||||||
pbFriend.FriendUser.CreateTime = db.CreateTime.Unix()
|
pbFriend.FriendUser.CreateTime = db.CreateTime.Unix()
|
||||||
@ -50,9 +50,9 @@ func (db *DBFriend) convert() (*sdk.FriendInfo, error) {
|
|||||||
|
|
||||||
func (pb *PBFriend) Convert() (*relation.Friend, error) {
|
func (pb *PBFriend) Convert() (*relation.Friend, error) {
|
||||||
dbFriend := &relation.Friend{}
|
dbFriend := &relation.Friend{}
|
||||||
CopyStructFields(dbFriend, pb)
|
utils.CopyStructFields(dbFriend, pb)
|
||||||
dbFriend.FriendUserID = pb.FriendUser.UserID
|
dbFriend.FriendUserID = pb.FriendUser.UserID
|
||||||
dbFriend.CreateTime = UnixSecondToTime(pb.CreateTime)
|
dbFriend.CreateTime = utils.UnixSecondToTime(pb.CreateTime)
|
||||||
return dbFriend, nil
|
return dbFriend, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ func (pb *PBBlack) Convert() (*relation.Black, error) {
|
|||||||
func (db *DBBlack) Convert() (*sdk.BlackInfo, error) {
|
func (db *DBBlack) Convert() (*sdk.BlackInfo, error) {
|
||||||
pbBlack := &sdk.BlackInfo{}
|
pbBlack := &sdk.BlackInfo{}
|
||||||
utils.CopyStructFields(pbBlack, db)
|
utils.CopyStructFields(pbBlack, db)
|
||||||
pbBlack.CreateTime = uint32(db.CreateTime.Unix())
|
pbBlack.CreateTime = db.CreateTime.Unix()
|
||||||
user, err := getUsersInfo([]string{db.BlockUserID})
|
user, err := getUsersInfo([]string{db.BlockUserID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -248,8 +248,8 @@ func (pb *PBGroupRequest) Convert() (*relation.GroupRequest, error) {
|
|||||||
func (db *DBGroupRequest) Convert() (*sdk.GroupRequest, error) {
|
func (db *DBGroupRequest) Convert() (*sdk.GroupRequest, error) {
|
||||||
dst := &sdk.GroupRequest{}
|
dst := &sdk.GroupRequest{}
|
||||||
utils.CopyStructFields(dst, db)
|
utils.CopyStructFields(dst, db)
|
||||||
dst.ReqTime = uint32(db.ReqTime.Unix())
|
dst.ReqTime = db.ReqTime.Unix()
|
||||||
dst.HandleTime = uint32(db.HandledTime.Unix())
|
dst.HandleTime = db.HandledTime.Unix()
|
||||||
return dst, nil
|
return dst, nil
|
||||||
}
|
}
|
||||||
|
|
70
internal/rpc/friend/black.go
Normal file
70
internal/rpc/friend/black.go
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
package friend
|
||||||
|
|
||||||
|
import (
|
||||||
|
"Open_IM/internal/common/check"
|
||||||
|
"Open_IM/internal/common/convert"
|
||||||
|
chat "Open_IM/internal/rpc/msg"
|
||||||
|
"Open_IM/pkg/common/db/relation"
|
||||||
|
"Open_IM/pkg/common/token_verify"
|
||||||
|
"Open_IM/pkg/common/tracelog"
|
||||||
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
|
"context"
|
||||||
|
)
|
||||||
|
|
||||||
|
func (s *friendServer) GetBlacks(ctx context.Context, req *pbFriend.GetBlacksReq) (*pbFriend.GetBlacksResp, error) {
|
||||||
|
resp := &pbFriend.GetBlacksResp{}
|
||||||
|
if err := check.Access(ctx, req.UserID); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
blacks, total, err := s.BlackInterface.FindOwnerBlacks(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
blackIDList := make([]string, 0, len(blacks))
|
||||||
|
for _, black := range blacks {
|
||||||
|
b, err := convert.NewDBBlack(black).Convert()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp.Blacks = append(resp.Blacks, b)
|
||||||
|
blackIDList = append(blackIDList, black.BlockUserID)
|
||||||
|
}
|
||||||
|
resp.Total = int32(total)
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *friendServer) IsBlack(ctx context.Context, req *pbFriend.IsBlackReq) (*pbFriend.IsBlackResp, error) {
|
||||||
|
resp := &pbFriend.IsBlackResp{}
|
||||||
|
in1, in2, err := s.BlackInterface.CheckIn(ctx, req.UserID1, req.UserID2)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp.InUser1Blacks = in1
|
||||||
|
resp.InUser2Blacks = in2
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *friendServer) RemoveBlack(ctx context.Context, req *pbFriend.RemoveBlackReq) (*pbFriend.RemoveBlackResp, error) {
|
||||||
|
resp := &pbFriend.RemoveBlackResp{}
|
||||||
|
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if err := s.BlackInterface.Delete(ctx, []*relation.Black{{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID}}); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
chat.BlackDeletedNotification(req)
|
||||||
|
return resp, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *friendServer) AddBlack(ctx context.Context, req *pbFriend.AddBlackReq) (*pbFriend.AddBlackResp, error) {
|
||||||
|
resp := &pbFriend.AddBlackResp{}
|
||||||
|
if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
black := relation.Black{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID, OperatorUserID: tracelog.GetOpUserID(ctx)}
|
||||||
|
if err := s.BlackInterface.Create(ctx, []*relation.Black{&black}); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
chat.BlackAddedNotification(req)
|
||||||
|
return resp, nil
|
||||||
|
}
|
@ -1,17 +1,17 @@
|
|||||||
package friend
|
package friend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/internal/common/convert"
|
||||||
chat "Open_IM/internal/rpc/msg"
|
chat "Open_IM/internal/rpc/msg"
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/db/controller"
|
"Open_IM/pkg/common/db/controller"
|
||||||
"Open_IM/pkg/common/tracelog"
|
|
||||||
|
|
||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
"Open_IM/pkg/common/middleware"
|
"Open_IM/pkg/common/middleware"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
promePkg "Open_IM/pkg/common/prometheus"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/token_verify"
|
||||||
|
"Open_IM/pkg/common/tracelog"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbFriend "Open_IM/pkg/proto/friend"
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
sdkws "Open_IM/pkg/proto/sdk_ws"
|
sdkws "Open_IM/pkg/proto/sdk_ws"
|
||||||
@ -115,19 +115,6 @@ func (s *friendServer) Run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) AddBlack(ctx context.Context, req *pbFriend.AddBlackReq) (*pbFriend.AddBlackResp, error) {
|
|
||||||
resp := &pbFriend.AddBlackResp{}
|
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
black := relation.Black{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID, OperatorUserID: tracelog.OpUserID(ctx)}
|
|
||||||
if err := s.BlackInterface.Create(ctx, []*relation.Black{&black}); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
chat.BlackAddedNotification(req)
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.AddFriendResp, error) {
|
func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq) (*pbFriend.AddFriendResp, error) {
|
||||||
resp := &pbFriend.AddFriendResp{}
|
resp := &pbFriend.AddFriendResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
||||||
@ -157,7 +144,7 @@ func (s *friendServer) AddFriend(ctx context.Context, req *pbFriend.AddFriendReq
|
|||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFriendReq) (*pbFriend.ImportFriendResp, error) {
|
func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFriendReq) (*pbFriend.ImportFriendResp, error) {
|
||||||
resp := &pbFriend.ImportFriendResp{}
|
resp := &pbFriend.ImportFriendResp{}
|
||||||
if err := token_verify.CheckAdmin(ctx); err != nil {
|
if err := token_verify.CheckAdmin(ctx); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -168,7 +155,7 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
|
|||||||
|
|
||||||
var friends []*relation.Friend
|
var friends []*relation.Friend
|
||||||
for _, userID := range utils.RemoveDuplicateElement(req.FriendUserIDs) {
|
for _, userID := range utils.RemoveDuplicateElement(req.FriendUserIDs) {
|
||||||
friends = append(friends, &relation.Friend{OwnerUserID: userID, FriendUserID: req.OwnerUserID, AddSource: constant.BecomeFriendByImport, OperatorUserID: tools.OpUserID(ctx)})
|
friends = append(friends, &relation.Friend{OwnerUserID: userID, FriendUserID: req.OwnerUserID, AddSource: constant.BecomeFriendByImport, OperatorUserID: tracelog.GetOpUserID(ctx)})
|
||||||
}
|
}
|
||||||
if len(friends) > 0 {
|
if len(friends) > 0 {
|
||||||
if err := s.FriendInterface.BecomeFriend(ctx, friends); err != nil {
|
if err := s.FriendInterface.BecomeFriend(ctx, friends); err != nil {
|
||||||
@ -181,7 +168,7 @@ func (s *friendServer) ImportFriend(ctx context.Context, req *pbFriend.ImportFri
|
|||||||
// process Friend application
|
// process Friend application
|
||||||
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (*pbFriend.RespondFriendApplyResp, error) {
|
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (*pbFriend.RespondFriendApplyResp, error) {
|
||||||
resp := &pbFriend.RespondFriendApplyResp{}
|
resp := &pbFriend.RespondFriendApplyResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.ToUserID); err != nil {
|
if err := check.Access(ctx, req.ToUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
friendRequest := relation.FriendRequest{FromUserID: req.FromUserID, ToUserID: req.ToUserID, HandleMsg: req.HandleMsg, HandleResult: req.HandleResult}
|
friendRequest := relation.FriendRequest{FromUserID: req.FromUserID, ToUserID: req.ToUserID, HandleMsg: req.HandleMsg, HandleResult: req.HandleResult}
|
||||||
@ -206,7 +193,7 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res
|
|||||||
|
|
||||||
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (*pbFriend.DeleteFriendResp, error) {
|
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (*pbFriend.DeleteFriendResp, error) {
|
||||||
resp := &pbFriend.DeleteFriendResp{}
|
resp := &pbFriend.DeleteFriendResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil {
|
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, req.FriendUserID); err != nil {
|
if err := s.FriendInterface.Delete(ctx, req.OwnerUserID, req.FriendUserID); err != nil {
|
||||||
@ -218,35 +205,22 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
|
|||||||
|
|
||||||
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (*pbFriend.SetFriendRemarkResp, error) {
|
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (*pbFriend.SetFriendRemarkResp, error) {
|
||||||
resp := &pbFriend.SetFriendRemarkResp{}
|
resp := &pbFriend.SetFriendRemarkResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.OwnerUserID); err != nil {
|
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := s.FriendInterface.UpdateRemark(ctx, req.OwnerUserID, req.FriendUserID, req.Remark); err != nil {
|
if err := s.FriendInterface.UpdateRemark(ctx, req.OwnerUserID, req.FriendUserID, req.Remark); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
chat.FriendRemarkSetNotification(tools.OperationID(ctx), tools.OpUserID(ctx), req.OwnerUserID, req.FriendUserID)
|
chat.FriendRemarkSetNotification(tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx), req.OwnerUserID, req.FriendUserID)
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) RemoveBlacklist(ctx context.Context, req *pbFriend.RemoveBlackReq) (*pbFriend.RemoveBlackResp, error) {
|
func (s *friendServer) GetFriends(ctx context.Context, req *pbFriend.GetFriendsReq) (*pbFriend.GetFriendsResp, error) {
|
||||||
resp := &pbFriend.RemoveBlacklistResp{}
|
resp := &pbFriend.GetFriendsResp{}
|
||||||
//Parse token, to find current user information
|
if err := check.Access(ctx, req.UserID); err != nil {
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := s.BlackInterface.Delete(ctx, []*relation.Black{{OwnerUserID: req.FromUserID, BlockUserID: req.ToUserID}}); err != nil {
|
friends, err := s.FriendInterface.FindOwnerFriends(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
chat.BlackDeletedNotification(req)
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *friendServer) GetFriendList(ctx context.Context, req *pbFriend.GetFriendListReq) (*pbFriend.GetFriendListResp, error) {
|
|
||||||
resp := &pbFriend.GetFriendListResp{}
|
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
friends, err := s.FriendInterface.FindOwnerUserID(ctx, req.FromUserID)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -254,7 +228,7 @@ func (s *friendServer) GetFriendList(ctx context.Context, req *pbFriend.GetFrien
|
|||||||
for _, f := range friends {
|
for _, f := range friends {
|
||||||
userIDList = append(userIDList, f.FriendUserID)
|
userIDList = append(userIDList, f.FriendUserID)
|
||||||
}
|
}
|
||||||
users, err := GetUsersInfo(ctx, userIDList)
|
users, err := check.GetUsersInfo(ctx, userIDList)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -263,124 +237,79 @@ func (s *friendServer) GetFriendList(ctx context.Context, req *pbFriend.GetFrien
|
|||||||
userMap[user.UserID] = users[i]
|
userMap[user.UserID] = users[i]
|
||||||
}
|
}
|
||||||
for _, friendUser := range friends {
|
for _, friendUser := range friends {
|
||||||
friendUserInfo := sdkws.FriendInfo{FriendUser: userMap[friendUser.FriendUserID]}
|
|
||||||
utils.CopyStructFields(&friendUserInfo, friendUser)
|
|
||||||
resp.FriendInfoList = append(resp.FriendInfoList, &friendUserInfo)
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// received
|
friendUserInfo, err := (convert.NewDBFriend(friendUser)).Convert()
|
||||||
func (s *friendServer) GetFriendApplyList(ctx context.Context, req *pbFriend.GetFriendApplyListReq) (*pbFriend.GetFriendApplyListResp, error) {
|
if err != nil {
|
||||||
resp := &pbFriend.GetFriendApplyListResp{}
|
return nil, err
|
||||||
//Parse token, to find current user information
|
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
// Find the current user friend applications received
|
|
||||||
friendRequests, err := s.friendRequestModel.FindToUserID(ctx, req.FromUserID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
userIDList := make([]string, 0, len(friendRequests))
|
|
||||||
for _, f := range friendRequests {
|
|
||||||
userIDList = append(userIDList, f.FromUserID)
|
|
||||||
}
|
|
||||||
users, err := GetPublicUserInfoBatch(ctx, userIDList)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
userMap := make(map[string]*sdkws.PublicUserInfo)
|
|
||||||
for i, user := range users {
|
|
||||||
userMap[user.UserID] = users[i]
|
|
||||||
}
|
|
||||||
for _, friendRequest := range friendRequests {
|
|
||||||
var userInfo sdkws.FriendRequest
|
|
||||||
if u, ok := userMap[friendRequest.FromUserID]; ok {
|
|
||||||
utils.CopyStructFields(&userInfo, u)
|
|
||||||
}
|
}
|
||||||
utils.CopyStructFields(&userInfo, friendRequest)
|
resp.FriendsInfo = append(resp.FriendsInfo, friendUserInfo)
|
||||||
resp.FriendRequestList = append(resp.FriendRequestList, &userInfo)
|
|
||||||
}
|
}
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) GetSelfApplyList(ctx context.Context, req *pbFriend.GetSelfApplyListReq) (*pbFriend.GetSelfApplyListResp, error) {
|
// 获取接收到的好友申请(即别人主动申请的)
|
||||||
resp := &pbFriend.GetSelfApplyListResp{}
|
func (s *friendServer) GetToFriendsApply(ctx context.Context, req *pbFriend.GetToFriendsApplyReq) (*pbFriend.GetToFriendsApplyResp, error) {
|
||||||
//Parse token, to find current user information
|
resp := &pbFriend.GetToFriendsApplyResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
if err := check.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
// Find the self add other userinfo
|
friendRequests, err := s.FriendInterface.FindFriendRequestToMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
friendRequests, err := s.FriendRequestInterface.FindFromUserID(ctx, req.FromUserID)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
userIDList := make([]string, 0, len(friendRequests))
|
for _, v := range friendRequests {
|
||||||
for _, f := range friendRequests {
|
fUser, err := convert.NewDBFriendRequest(v).Convert()
|
||||||
userIDList = append(userIDList, f.ToUserID)
|
if err != nil {
|
||||||
}
|
return nil, err
|
||||||
users, err := GetPublicUserInfoBatch(ctx, userIDList)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
userMap := make(map[string]*sdkws.PublicUserInfo)
|
|
||||||
for i, user := range users {
|
|
||||||
userMap[user.UserID] = users[i]
|
|
||||||
}
|
|
||||||
for _, friendRequest := range friendRequests {
|
|
||||||
var userInfo sdkws.FriendRequest
|
|
||||||
if u, ok := userMap[friendRequest.ToUserID]; ok {
|
|
||||||
utils.CopyStructFields(&userInfo, u)
|
|
||||||
}
|
}
|
||||||
utils.CopyStructFields(&userInfo, friendRequest)
|
resp.FriendRequests = append(resp.FriendRequests, fUser)
|
||||||
resp.FriendRequestList = append(resp.FriendRequestList, &userInfo)
|
|
||||||
}
|
}
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) GetBlacklist(ctx context.Context, req *pbFriend.GetBlacklistReq) (*pbFriend.GetBlacklistResp, error) {
|
// 获取主动发出去的好友申请列表
|
||||||
resp := &pbFriend.GetBlacklistResp{}
|
func (s *friendServer) GetFromFriendsApply(ctx context.Context, req *pbFriend.GetFromFriendsApplyReq) (*pbFriend.GetFromFriendsApplyResp, error) {
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
resp := &pbFriend.GetFromFriendsApplyResp{}
|
||||||
|
if err := check.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
blacks, err := s.BlackInterface.FindByOwnerUserID(ctx, req.FromUserID)
|
friendRequests, err := s.FriendInterface.FindFriendRequestFromMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
blackIDList := make([]string, 0, len(blacks))
|
for _, v := range friendRequests {
|
||||||
for _, black := range blacks {
|
fUser, err := convert.NewDBFriendRequest(v).Convert()
|
||||||
blackIDList = append(blackIDList, black.BlockUserID)
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp.FriendRequests = append(resp.FriendRequests, fUser)
|
||||||
}
|
}
|
||||||
resp.BlackUserInfoList, err = GetPublicUserInfoBatch(ctx, blackIDList)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return resp, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *friendServer) IsInBlackList(ctx context.Context, req *pbFriend.IsInBlackListReq) (*pbFriend.IsInBlackListResp, error) {
|
|
||||||
resp := &pbFriend.IsInBlackListResp{}
|
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
exist, err := s.BlackInterface.IsExist(ctx, req.FromUserID, req.ToUserID)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
resp.Response = exist
|
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) {
|
func (s *friendServer) IsFriend(ctx context.Context, req *pbFriend.IsFriendReq) (*pbFriend.IsFriendResp, error) {
|
||||||
resp := &pbFriend.IsFriendResp{}
|
resp := &pbFriend.IsFriendResp{}
|
||||||
if err := token_verify.CheckAccessV3(ctx, req.FromUserID); err != nil {
|
err, in1, in2 := s.FriendInterface.CheckIn(ctx, req.UserID1, req.UserID2)
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
exist, err := s.FriendInterface.IsExist(ctx, req.FromUserID, req.ToUserID)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp.Response = exist
|
resp.InUser1Friends = in1
|
||||||
|
resp.InUser2Friends = in2
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *friendServer) GetFriendsInfo(ctx context.Context, req *pbFriend.GetFriendsInfoReq) (*pbFriend.GetFriendsInfoResp, error) {
|
||||||
|
resp := pbFriend.GetFriendsInfoResp{}
|
||||||
|
friends, err := s.FriendInterface.FindFriends(ctx, req.OwnerUserID, req.FriendUserIDs)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for _, v := range friends {
|
||||||
|
fUser, err := convert.NewDBFriend(v).Convert()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp.FriendsInfo = append(resp.FriendsInfo, fUser)
|
||||||
|
}
|
||||||
|
return &resp, nil
|
||||||
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package user
|
package user
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/internal/common/convert"
|
||||||
chat "Open_IM/internal/rpc/msg"
|
chat "Open_IM/internal/rpc/msg"
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
@ -9,6 +10,7 @@ import (
|
|||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
promePkg "Open_IM/pkg/common/prometheus"
|
promePkg "Open_IM/pkg/common/prometheus"
|
||||||
"Open_IM/pkg/common/token_verify"
|
"Open_IM/pkg/common/token_verify"
|
||||||
|
"Open_IM/pkg/common/tracelog"
|
||||||
"Open_IM/pkg/getcdv3"
|
"Open_IM/pkg/getcdv3"
|
||||||
pbFriend "Open_IM/pkg/proto/friend"
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
pbGroup "Open_IM/pkg/proto/group"
|
pbGroup "Open_IM/pkg/proto/group"
|
||||||
@ -171,7 +173,7 @@ func (s *userServer) GetUsersInfo(ctx context.Context, req *pbUser.GetUsersInfoR
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
for _, v := range users {
|
for _, v := range users {
|
||||||
n, err := utils.NewDBUser(v).Convert()
|
n, err := convert.NewDBUser(v).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -188,13 +190,13 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
|||||||
}
|
}
|
||||||
oldNickname := ""
|
oldNickname := ""
|
||||||
if req.UserInfo.Nickname != "" {
|
if req.UserInfo.Nickname != "" {
|
||||||
u, err := s.Take(ctx, req.UserInfo.UserID)
|
u, err := s.Find(ctx, []string{req.UserInfo.UserID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
oldNickname = u.Nickname
|
oldNickname = u[0].Nickname
|
||||||
}
|
}
|
||||||
user, err := utils.NewPBUser(req.UserInfo).Convert()
|
user, err := convert.NewPBUser(req.UserInfo).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -207,23 +209,23 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
client := pbFriend.NewFriendClient(etcdConn)
|
client := pbFriend.NewFriendClient(etcdConn)
|
||||||
newReq := &pbFriend.GetFriendListReq{UserID: req.UserInfo.UserID}
|
newReq := &pbFriend.GetFriendsReq{UserID: req.UserInfo.UserID}
|
||||||
rpcResp, err := client.GetFriendList(context.Background(), newReq)
|
rpcResp, err := client.GetFriends(context.Background(), newReq)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
go func() {
|
go func() {
|
||||||
for _, v := range rpcResp.FriendInfoList {
|
for _, v := range rpcResp.FriendsInfo {
|
||||||
chat.FriendInfoUpdatedNotification(utils.OperationID(ctx), req.UserInfo.UserID, v.FriendUser.UserID, utils.OpUserID(ctx))
|
chat.FriendInfoUpdatedNotification(tracelog.GetOperationID(ctx), req.UserInfo.UserID, v.FriendUser.UserID, tracelog.GetOpUserID(ctx))
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
chat.UserInfoUpdatedNotification(utils.OperationID(ctx), utils.OpUserID(ctx), req.UserInfo.UserID)
|
chat.UserInfoUpdatedNotification(tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx), req.UserInfo.UserID)
|
||||||
if req.UserInfo.FaceURL != "" {
|
if req.UserInfo.FaceURL != "" {
|
||||||
s.SyncJoinedGroupMemberFaceURL(ctx, req.UserInfo.UserID, req.UserInfo.FaceURL, utils.OperationID(ctx), utils.OpUserID(ctx))
|
s.SyncJoinedGroupMemberFaceURL(ctx, req.UserInfo.UserID, req.UserInfo.FaceURL, tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx))
|
||||||
}
|
}
|
||||||
if req.UserInfo.Nickname != "" {
|
if req.UserInfo.Nickname != "" {
|
||||||
s.SyncJoinedGroupMemberNickname(ctx, req.UserInfo.UserID, req.UserInfo.Nickname, oldNickname, utils.OperationID(ctx), utils.OpUserID(ctx))
|
s.SyncJoinedGroupMemberNickname(ctx, req.UserInfo.UserID, req.UserInfo.Nickname, oldNickname, tracelog.GetOperationID(ctx), tracelog.GetOpUserID(ctx))
|
||||||
}
|
}
|
||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
@ -236,13 +238,13 @@ func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.Se
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
chat.UserInfoUpdatedNotification(utils.OperationID(ctx), req.UserID, req.UserID)
|
chat.UserInfoUpdatedNotification(tracelog.GetOperationID(ctx), req.UserID, req.UserID)
|
||||||
return &resp, nil
|
return &resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (*pbUser.AccountCheckResp, error) {
|
func (s *userServer) AccountCheck(ctx context.Context, req *pbUser.AccountCheckReq) (*pbUser.AccountCheckResp, error) {
|
||||||
resp := pbUser.AccountCheckResp{}
|
resp := pbUser.AccountCheckResp{}
|
||||||
err := token_verify.CheckManagerUserID(ctx, utils.OpUserID(ctx))
|
err := token_verify.CheckManagerUserID(ctx, tracelog.GetOpUserID(ctx))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -272,12 +274,12 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
|
|||||||
resp := pbUser.GetUsersResp{}
|
resp := pbUser.GetUsersResp{}
|
||||||
var err error
|
var err error
|
||||||
if req.UserID != "" {
|
if req.UserID != "" {
|
||||||
u, err := s.Take(ctx, req.UserID)
|
u, err := s.Find(ctx, []string{req.UserID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp.Total = 1
|
resp.Total = 1
|
||||||
u1, err := utils.NewDBUser(u).Convert()
|
u1, err := convert.NewDBUser(u[0]).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -292,7 +294,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
|
|||||||
}
|
}
|
||||||
resp.Total = int32(total)
|
resp.Total = int32(total)
|
||||||
for _, v := range usersDB {
|
for _, v := range usersDB {
|
||||||
u1, err := utils.NewDBUser(v).Convert()
|
u1, err := convert.NewDBUser(v).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -306,7 +308,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
|
|||||||
}
|
}
|
||||||
resp.Total = int32(total)
|
resp.Total = int32(total)
|
||||||
for _, v := range usersDB {
|
for _, v := range usersDB {
|
||||||
u1, err := utils.NewDBUser(v).Convert()
|
u1, err := convert.NewDBUser(v).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -323,7 +325,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb
|
|||||||
resp.Total = int32(total)
|
resp.Total = int32(total)
|
||||||
|
|
||||||
for _, userDB := range usersDB {
|
for _, userDB := range usersDB {
|
||||||
u, err := utils.NewDBUser(userDB).Convert()
|
u, err := convert.NewDBUser(userDB).Convert()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -3,17 +3,19 @@ package controller
|
|||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/db/relation"
|
"Open_IM/pkg/common/db/relation"
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
type BlackInterface interface {
|
type BlackInterface interface {
|
||||||
|
// Create 增加黑名单
|
||||||
Create(ctx context.Context, blacks []*relation.Black) (err error)
|
Create(ctx context.Context, blacks []*relation.Black) (err error)
|
||||||
|
// Delete 删除黑名单
|
||||||
Delete(ctx context.Context, blacks []*relation.Black) (err error)
|
Delete(ctx context.Context, blacks []*relation.Black) (err error)
|
||||||
UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error)
|
// FindOwnerBlacks 获取黑名单列表
|
||||||
Update(ctx context.Context, blacks []*relation.Black) (err error)
|
FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*relation.Black, total int64, err error)
|
||||||
Find(ctx context.Context, blacks []*relation.Black) (blackList []*relation.Black, err error)
|
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true)
|
||||||
Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.Black, err error)
|
CheckIn(ctx context.Context, userID1, userID2 string) (inUser1Blacks bool, inUser2Blacks bool, err error)
|
||||||
FindByOwnerUserID(ctx context.Context, ownerUserID string) (blackList []*relation.Black, err error)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BlackController struct {
|
type BlackController struct {
|
||||||
@ -23,36 +25,36 @@ type BlackController struct {
|
|||||||
func NewBlackController(db *gorm.DB) *BlackController {
|
func NewBlackController(db *gorm.DB) *BlackController {
|
||||||
return &BlackController{database: NewBlackDatabase(db)}
|
return &BlackController{database: NewBlackDatabase(db)}
|
||||||
}
|
}
|
||||||
func (f *BlackController) Create(ctx context.Context, blacks []*relation.Black) (err error) {
|
|
||||||
return f.database.Create(ctx, blacks)
|
// Create 增加黑名单
|
||||||
|
func (b *BlackController) Create(ctx context.Context, blacks []*relation.Black) (err error) {
|
||||||
|
return b.database.Create(ctx, blacks)
|
||||||
}
|
}
|
||||||
func (f *BlackController) Delete(ctx context.Context, blacks []*relation.Black) (err error) {
|
|
||||||
return f.database.Delete(ctx, blacks)
|
// Delete 删除黑名单
|
||||||
|
func (b *BlackController) Delete(ctx context.Context, blacks []*relation.Black) (err error) {
|
||||||
|
return b.database.Delete(ctx, blacks)
|
||||||
}
|
}
|
||||||
func (f *BlackController) UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.database.UpdateByMap(ctx, ownerUserID, blockUserID, args)
|
// FindOwnerBlacks 获取黑名单列表
|
||||||
|
func (b *BlackController) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blackList []*relation.Black, total int64, err error) {
|
||||||
|
return b.database.FindOwnerBlacks(ctx, ownerUserID, pageNumber, showNumber)
|
||||||
}
|
}
|
||||||
func (f *BlackController) Update(ctx context.Context, blacks []*relation.Black) (err error) {
|
|
||||||
return f.database.Update(ctx, blacks)
|
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true)
|
||||||
}
|
func (b *BlackController) CheckIn(ctx context.Context, userID1, userID2 string) (inUser1Blacks bool, inUser2Blacks bool, err error) {
|
||||||
func (f *BlackController) Find(ctx context.Context, blacks []*relation.Black) (blackList []*relation.Black, err error) {
|
return b.database.CheckIn(ctx, userID1, userID2)
|
||||||
return f.database.Find(ctx, blacks)
|
|
||||||
}
|
|
||||||
func (f *BlackController) Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.Black, err error) {
|
|
||||||
return f.database.Take(ctx, ownerUserID, blockUserID)
|
|
||||||
}
|
|
||||||
func (f *BlackController) FindByOwnerUserID(ctx context.Context, ownerUserID string) (blackList []*relation.Black, err error) {
|
|
||||||
return f.database.FindByOwnerUserID(ctx, ownerUserID)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BlackDatabaseInterface interface {
|
type BlackDatabaseInterface interface {
|
||||||
|
// Create 增加黑名单
|
||||||
Create(ctx context.Context, blacks []*relation.Black) (err error)
|
Create(ctx context.Context, blacks []*relation.Black) (err error)
|
||||||
|
// Delete 删除黑名单
|
||||||
Delete(ctx context.Context, blacks []*relation.Black) (err error)
|
Delete(ctx context.Context, blacks []*relation.Black) (err error)
|
||||||
UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error)
|
// FindOwnerBlacks 获取黑名单列表
|
||||||
Update(ctx context.Context, blacks []*relation.Black) (err error)
|
FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*relation.Black, total int64, err error)
|
||||||
Find(ctx context.Context, blacks []*relation.Black) (blackList []*relation.Black, err error)
|
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true)
|
||||||
Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.Black, err error)
|
CheckIn(ctx context.Context, userID1, userID2 string) (inUser1Blacks bool, inUser2Blacks bool, err error)
|
||||||
FindByOwnerUserID(ctx context.Context, ownerUserID string) (blackList []*relation.Black, err error)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BlackDatabase struct {
|
type BlackDatabase struct {
|
||||||
@ -67,24 +69,42 @@ func NewBlackDatabase(db *gorm.DB) *BlackDatabase {
|
|||||||
return database
|
return database
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *BlackDatabase) Create(ctx context.Context, blacks []*relation.Black) (err error) {
|
// Create 增加黑名单
|
||||||
return f.sqlDB.Create(ctx, blacks)
|
func (b *BlackDatabase) Create(ctx context.Context, blacks []*relation.Black) (err error) {
|
||||||
|
return b.sqlDB.Create(ctx, blacks)
|
||||||
}
|
}
|
||||||
func (f *BlackDatabase) Delete(ctx context.Context, blacks []*relation.Black) (err error) {
|
|
||||||
return f.sqlDB.Delete(ctx, blacks)
|
// Delete 删除黑名单
|
||||||
|
func (b *BlackDatabase) Delete(ctx context.Context, blacks []*relation.Black) (err error) {
|
||||||
|
return b.sqlDB.Delete(ctx, blacks)
|
||||||
}
|
}
|
||||||
func (f *BlackDatabase) UpdateByMap(ctx context.Context, ownerUserID, blockUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.sqlDB.UpdateByMap(ctx, ownerUserID, blockUserID, args)
|
// FindOwnerBlacks 获取黑名单列表
|
||||||
|
func (b *BlackDatabase) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*relation.Black, total int64, err error) {
|
||||||
|
return b.sqlDB.FindOwnerBlacks(ctx, ownerUserID, pageNumber, showNumber)
|
||||||
}
|
}
|
||||||
func (f *BlackDatabase) Update(ctx context.Context, blacks []*relation.Black) (err error) {
|
|
||||||
return f.sqlDB.Update(ctx, blacks)
|
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true)
|
||||||
}
|
func (b *BlackDatabase) CheckIn(ctx context.Context, userID1, userID2 string) (inUser1Blacks bool, inUser2Blacks bool, err error) {
|
||||||
func (f *BlackDatabase) Find(ctx context.Context, blacks []*relation.Black) (blackList []*relation.Black, err error) {
|
_, err = b.sqlDB.Take(ctx, userID1, userID2)
|
||||||
return f.sqlDB.Find(ctx, blacks)
|
if err != nil {
|
||||||
}
|
if errors.Unwrap(err) != gorm.ErrRecordNotFound {
|
||||||
func (f *BlackDatabase) Take(ctx context.Context, ownerUserID, blockUserID string) (black *relation.Black, err error) {
|
return
|
||||||
return f.sqlDB.Take(ctx, ownerUserID, blockUserID)
|
}
|
||||||
}
|
inUser1Blacks = false
|
||||||
func (f *BlackDatabase) FindByOwnerUserID(ctx context.Context, ownerUserID string) (blackList []*relation.Black, err error) {
|
} else {
|
||||||
return f.sqlDB.FindByOwnerUserID(ctx, ownerUserID)
|
inUser1Blacks = true
|
||||||
|
}
|
||||||
|
|
||||||
|
inUser2Blacks = true
|
||||||
|
_, err = b.sqlDB.Take(ctx, userID2, userID1)
|
||||||
|
if err != nil {
|
||||||
|
if errors.Unwrap(err) != gorm.ErrRecordNotFound {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
inUser2Blacks = false
|
||||||
|
} else {
|
||||||
|
inUser2Blacks = true
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
@ -7,25 +7,30 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type FriendInterface interface {
|
type FriendInterface interface {
|
||||||
// CheckIn 检查fromUserID是否在toUserID的好友列表中(inTo==true) 检查toUserID是否在fromUserID的好友列表中(inFrom==true)
|
// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true)
|
||||||
CheckIn(ctx context.Context, fromUserID, toUserID string) (err error, inTo bool, inFrom bool)
|
CheckIn(ctx context.Context, user1, user2 string) (err error, inUser1Friends bool, inUser2Friends bool)
|
||||||
// AddFriendRequest 增加或者更新好友申请
|
// AddFriendRequest 增加或者更新好友申请
|
||||||
AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error)
|
AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error)
|
||||||
// 先判断是否在好友表,如果在则不插入
|
// BecomeFriend 先判断是否在好友表,如果在则不插入
|
||||||
BecomeFriend(ctx context.Context, friends []*relation.Friend) (err error)
|
BecomeFriend(ctx context.Context, friends []*relation.Friend) (err error)
|
||||||
//拒绝好友申请
|
// RefuseFriendRequest 拒绝好友申请
|
||||||
RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
||||||
// 同意好友申请
|
// AgreeFriendRequest 同意好友申请
|
||||||
AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
||||||
Create(ctx context.Context, friends []*relation.Friend) (err error)
|
// Delete 删除好友
|
||||||
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
||||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
// UpdateRemark 更新好友备注
|
||||||
Update(ctx context.Context, friends []*relation.Friend) (err error)
|
|
||||||
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
||||||
FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error)
|
// FindOwnerFriends 获取ownerUserID的好友列表
|
||||||
FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error)
|
FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error)
|
||||||
Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error)
|
// FindInWhoseFriends friendUserID在哪些人的好友列表中
|
||||||
FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error)
|
FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error)
|
||||||
|
// FindFriendRequestFromMe 获取我发出去的好友申请
|
||||||
|
FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error)
|
||||||
|
// FindFriendRequestToMe 获取我收到的的好友申请
|
||||||
|
FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error)
|
||||||
|
// FindFriends 获取某人指定好友的信息
|
||||||
|
FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.Friend, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type FriendController struct {
|
type FriendController struct {
|
||||||
@ -36,44 +41,79 @@ func NewFriendController(db *gorm.DB) *FriendController {
|
|||||||
return &FriendController{database: NewFriendDatabase(db)}
|
return &FriendController{database: NewFriendDatabase(db)}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FriendController) Create(ctx context.Context, friends []*relation.Friend) (err error) {
|
// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true)
|
||||||
return f.database.Create(ctx, friends)
|
func (f *FriendController) CheckIn(ctx context.Context, user1, user2 string) (err error, inUser1Friends bool, inUser2Friends bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddFriendRequest 增加或者更新好友申请
|
||||||
|
func (f *FriendController) AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// BecomeFriend 先判断是否在好友表,如果在则不插入
|
||||||
|
func (f *FriendController) BecomeFriend(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// RefuseFriendRequest 拒绝好友申请
|
||||||
|
func (f *FriendController) RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// AgreeFriendRequest 同意好友申请
|
||||||
|
func (f *FriendController) AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete 删除好友
|
||||||
func (f *FriendController) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
func (f *FriendController) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
||||||
return f.database.Delete(ctx, ownerUserID, friendUserIDs)
|
|
||||||
}
|
|
||||||
func (f *FriendController) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.database.UpdateByMap(ctx, ownerUserID, args)
|
|
||||||
}
|
|
||||||
func (f *FriendController) Update(ctx context.Context, friends []*relation.Friend) (err error) {
|
|
||||||
return f.database.Update(ctx, friends)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateRemark 更新好友备注
|
||||||
func (f *FriendController) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
func (f *FriendController) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||||
return f.database.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
|
|
||||||
}
|
}
|
||||||
func (f *FriendController) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.database.FindOwnerUserID(ctx, ownerUserID)
|
// FindOwnerFriends 获取ownerUserID的好友列表
|
||||||
|
func (f *FriendController) FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendController) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.database.FindFriendUserID(ctx, friendUserID)
|
// FindInWhoseFriends friendUserID在哪些人的好友列表中
|
||||||
|
func (f *FriendController) FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendController) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
|
|
||||||
return f.database.Take(ctx, ownerUserID, friendUserID)
|
// FindFriendRequestFromMe 获取我发出去的好友申请
|
||||||
|
func (f *FriendController) FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendController) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.database.FindUserState(ctx, userID1, userID2)
|
// FindFriendRequestToMe 获取我收到的的好友申请
|
||||||
|
func (f *FriendController) FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindFriends 获取某人指定好友的信息
|
||||||
|
func (f *FriendController) FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
type FriendDatabaseInterface interface {
|
type FriendDatabaseInterface interface {
|
||||||
Create(ctx context.Context, friends []*relation.Friend) (err error)
|
// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true)
|
||||||
|
CheckIn(ctx context.Context, user1, user2 string) (err error, inUser1Friends bool, inUser2Friends bool)
|
||||||
|
// AddFriendRequest 增加或者更新好友申请
|
||||||
|
AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error)
|
||||||
|
// BecomeFriend 先判断是否在好友表,如果在则不插入
|
||||||
|
BecomeFriend(ctx context.Context, friends []*relation.Friend) (err error)
|
||||||
|
// RefuseFriendRequest 拒绝好友申请
|
||||||
|
RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
||||||
|
// AgreeFriendRequest 同意好友申请
|
||||||
|
AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error)
|
||||||
|
// Delete 删除好友
|
||||||
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error)
|
||||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
// UpdateRemark 更新好友备注
|
||||||
Update(ctx context.Context, friends []*relation.Friend) (err error)
|
|
||||||
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error)
|
||||||
FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error)
|
// FindOwnerFriends 获取ownerUserID的好友列表
|
||||||
FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error)
|
FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error)
|
||||||
Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error)
|
// FindInWhoseFriends friendUserID在哪些人的好友列表中
|
||||||
FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error)
|
FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error)
|
||||||
|
// FindFriendRequestFromMe 获取我发出去的好友申请
|
||||||
|
FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error)
|
||||||
|
// FindFriendRequestToMe 获取我收到的的好友申请
|
||||||
|
FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error)
|
||||||
|
// FindFriends 获取某人指定好友的信息
|
||||||
|
FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.Friend, err error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type FriendDatabase struct {
|
type FriendDatabase struct {
|
||||||
@ -88,30 +128,50 @@ func NewFriendDatabase(db *gorm.DB) *FriendDatabase {
|
|||||||
return database
|
return database
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *FriendDatabase) Create(ctx context.Context, friends []*relation.Friend) (err error) {
|
// CheckIn 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true)
|
||||||
return f.sqlDB.Create(ctx, friends)
|
func (f *FriendDatabase) CheckIn(ctx context.Context, user1, user2 string) (err error, inUser1Friends bool, inUser2Friends bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// AddFriendRequest 增加或者更新好友申请
|
||||||
|
func (f *FriendDatabase) AddFriendRequest(ctx context.Context, fromUserID, toUserID string, reqMsg string, ex string) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// BecomeFriend 先判断是否在好友表,如果在则不插入
|
||||||
|
func (f *FriendDatabase) BecomeFriend(ctx context.Context, friends []*relation.Friend) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// RefuseFriendRequest 拒绝好友申请
|
||||||
|
func (f *FriendDatabase) RefuseFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// AgreeFriendRequest 同意好友申请
|
||||||
|
func (f *FriendDatabase) AgreeFriendRequest(ctx context.Context, friendRequest *relation.FriendRequest) (err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Delete 删除好友
|
||||||
func (f *FriendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
func (f *FriendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserIDs string) (err error) {
|
||||||
return f.sqlDB.Delete(ctx, ownerUserID, friendUserIDs)
|
|
||||||
}
|
|
||||||
func (f *FriendDatabase) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.sqlDB.UpdateByMap(ctx, ownerUserID, args)
|
|
||||||
}
|
|
||||||
func (f *FriendDatabase) Update(ctx context.Context, friends []*relation.Friend) (err error) {
|
|
||||||
return f.sqlDB.Update(ctx, friends)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UpdateRemark 更新好友备注
|
||||||
func (f *FriendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
func (f *FriendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||||
return f.sqlDB.UpdateRemark(ctx, ownerUserID, friendUserID, remark)
|
|
||||||
}
|
}
|
||||||
func (f *FriendDatabase) FindOwnerUserID(ctx context.Context, ownerUserID string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.sqlDB.FindOwnerUserID(ctx, ownerUserID)
|
// FindOwnerFriends 获取ownerUserID的好友列表
|
||||||
|
func (f *FriendDatabase) FindOwnerFriends(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendDatabase) FindFriendUserID(ctx context.Context, friendUserID string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.sqlDB.FindFriendUserID(ctx, friendUserID)
|
// FindInWhoseFriends friendUserID在哪些人的好友列表中
|
||||||
|
func (f *FriendDatabase) FindInWhoseFriends(ctx context.Context, friendUserID string, pageNumber, showNumber int32) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendDatabase) Take(ctx context.Context, ownerUserID, friendUserID string) (friend *relation.Friend, err error) {
|
|
||||||
return f.sqlDB.Take(ctx, ownerUserID, friendUserID)
|
// FindFriendRequestFromMe 获取我发出去的好友申请
|
||||||
|
func (f *FriendDatabase) FindFriendRequestFromMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error) {
|
||||||
}
|
}
|
||||||
func (f *FriendDatabase) FindUserState(ctx context.Context, userID1, userID2 string) (friends []*relation.Friend, err error) {
|
|
||||||
return f.sqlDB.FindUserState(ctx, userID1, userID2)
|
// FindFriendRequestToMe 获取我收到的的好友申请
|
||||||
|
func (f *FriendDatabase) FindFriendRequestToMe(ctx context.Context, userID string, pageNumber, showNumber int32) (friends []*relation.FriendRequest, err error) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// FindFriends 获取某人指定好友的信息
|
||||||
|
func (f *FriendDatabase) FindFriends(ctx context.Context, ownerUserID string, friendUserIDs []string) (friends []*relation.Friend, err error) {
|
||||||
}
|
}
|
||||||
|
@ -1,110 +0,0 @@
|
|||||||
package controller
|
|
||||||
|
|
||||||
import (
|
|
||||||
"Open_IM/pkg/common/db/relation"
|
|
||||||
"context"
|
|
||||||
"gorm.io/gorm"
|
|
||||||
)
|
|
||||||
|
|
||||||
type FriendRequestInterface interface {
|
|
||||||
Create(ctx context.Context, friends []*relation.FriendRequest) (err error)
|
|
||||||
Delete(ctx context.Context, fromUserID, toUserID string) (err error)
|
|
||||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
|
||||||
Update(ctx context.Context, friends []*relation.FriendRequest) (err error)
|
|
||||||
Find(ctx context.Context, ownerUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
Take(ctx context.Context, fromUserID, toUserID string) (friend *relation.FriendRequest, err error)
|
|
||||||
FindToUserID(ctx context.Context, toUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
FindFromUserID(ctx context.Context, fromUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type FriendRequestController struct {
|
|
||||||
database FriendRequestInterface
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewFriendRequestController(db *gorm.DB) *FriendRequestController {
|
|
||||||
return &FriendRequestController{database: NewFriendRequestDatabase(db)}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FriendRequestController) Create(ctx context.Context, friends []*relation.FriendRequest) (err error) {
|
|
||||||
return f.database.Create(ctx, friends)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) Delete(ctx context.Context, fromUserID, toUserID string) (err error) {
|
|
||||||
return f.database.Delete(ctx, fromUserID, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.database.UpdateByMap(ctx, ownerUserID, args)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) Update(ctx context.Context, friends []*relation.FriendRequest) (err error) {
|
|
||||||
return f.database.Update(ctx, friends)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) Find(ctx context.Context, ownerUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.database.Find(ctx, ownerUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) Take(ctx context.Context, fromUserID, toUserID string) (friend *relation.FriendRequest, err error) {
|
|
||||||
return f.database.Take(ctx, fromUserID, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) FindToUserID(ctx context.Context, toUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.database.FindToUserID(ctx, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestController) FindFromUserID(ctx context.Context, fromUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.database.FindFromUserID(ctx, fromUserID)
|
|
||||||
}
|
|
||||||
|
|
||||||
type FriendRequestDatabaseInterface interface {
|
|
||||||
Create(ctx context.Context, friends []*relation.FriendRequest) (err error)
|
|
||||||
Delete(ctx context.Context, fromUserID, toUserID string) (err error)
|
|
||||||
UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error)
|
|
||||||
Update(ctx context.Context, friends []*relation.FriendRequest) (err error)
|
|
||||||
Find(ctx context.Context, ownerUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
Take(ctx context.Context, fromUserID, toUserID string) (friend *relation.FriendRequest, err error)
|
|
||||||
FindToUserID(ctx context.Context, toUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
FindFromUserID(ctx context.Context, fromUserID string) (friends []*relation.FriendRequest, err error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type FriendRequestDatabase struct {
|
|
||||||
sqlDB *relation.FriendRequest
|
|
||||||
friend *FriendDatabase
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FriendRequestDatabase) Update(ctx context.Context, friends []*relation.FriendRequest) (err error) {
|
|
||||||
return f.sqlDB.DB.Transaction(func(tx *gorm.DB) error {
|
|
||||||
if err := f.sqlDB.Update(ctx, friends); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
if err := f.friend.Update(); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewFriendRequestDatabase(db *gorm.DB) *FriendRequestDatabase {
|
|
||||||
sqlDB := relation.NewFriendRequest(db)
|
|
||||||
database := &FriendRequestDatabase{
|
|
||||||
sqlDB: sqlDB,
|
|
||||||
}
|
|
||||||
return database
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FriendRequestDatabase) Create(ctx context.Context, friends []*relation.FriendRequest) (err error) {
|
|
||||||
return f.sqlDB.Create(ctx, friends)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestDatabase) Delete(ctx context.Context, fromUserID, toUserID string) (err error) {
|
|
||||||
return f.sqlDB.Delete(ctx, fromUserID, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestDatabase) UpdateByMap(ctx context.Context, ownerUserID string, args map[string]interface{}) (err error) {
|
|
||||||
return f.sqlDB.UpdateByMap(ctx, ownerUserID, args)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (f *FriendRequestDatabase) Find(ctx context.Context, ownerUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.sqlDB.Find(ctx, ownerUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestDatabase) Take(ctx context.Context, fromUserID, toUserID string) (friend *relation.FriendRequest, err error) {
|
|
||||||
return f.sqlDB.Take(ctx, fromUserID, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestDatabase) FindToUserID(ctx context.Context, toUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.sqlDB.FindToUserID(ctx, toUserID)
|
|
||||||
}
|
|
||||||
func (f *FriendRequestDatabase) FindFromUserID(ctx context.Context, fromUserID string) (friends []*relation.FriendRequest, err error) {
|
|
||||||
return f.sqlDB.FindFromUserID(ctx, fromUserID)
|
|
||||||
}
|
|
@ -7,9 +7,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type UserInterface interface {
|
type UserInterface interface {
|
||||||
|
//获取指定用户的信息 如果有记录未找到 也返回错误
|
||||||
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
|
Find(ctx context.Context, userIDs []string) (users []*relation.User, err error)
|
||||||
Create(ctx context.Context, users []*relation.User) error
|
Create(ctx context.Context, users []*relation.User) error
|
||||||
Take(ctx context.Context, userID string) (user *relation.User, err error)
|
|
||||||
Update(ctx context.Context, users []*relation.User) (err error)
|
Update(ctx context.Context, users []*relation.User) (err error)
|
||||||
UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error)
|
UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error)
|
||||||
GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation.User, count int64, err error)
|
GetByName(ctx context.Context, userName string, showNumber, pageNumber int32) (users []*relation.User, count int64, err error)
|
||||||
|
@ -71,44 +71,14 @@ func (b *Black) Take(ctx context.Context, ownerUserID, blockUserID string) (blac
|
|||||||
return black, utils.Wrap(b.DB.Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error, "")
|
return black, utils.Wrap(b.DB.Where("owner_user_id = ? and block_user_id = ?", ownerUserID, blockUserID).Take(black).Error, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Black) FindByOwnerUserID(ctx context.Context, ownerUserID string) (blackList []*Black, err error) {
|
func (b *Black) FindOwnerBlacks(ctx context.Context, ownerUserID string, pageNumber, showNumber int32) (blacks []*Black, total int64, err error) {
|
||||||
defer func() {
|
defer func() {
|
||||||
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "blackList", blackList)
|
tracelog.SetCtxDebug(ctx, utils.GetFuncName(1), err, "ownerUserID", ownerUserID, "blacks", blacks)
|
||||||
}()
|
}()
|
||||||
return blackList, utils.Wrap(GroupMemberDB.Where("owner_user_id = ?", ownerUserID).Find(&blackList).Error, "")
|
err = b.DB.Model(b).Count(&total).Error
|
||||||
}
|
|
||||||
|
|
||||||
func InsertInToUserBlackList(ctx context.Context, black Black) (err error) {
|
|
||||||
defer tracelog.SetCtxDebug(ctx, utils.GetSelfFuncName(), err, "black", black)
|
|
||||||
black.CreateTime = time.Now()
|
|
||||||
err = BlackDB.Create(black).Error
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func CheckBlack(ownerUserID, blockUserID string) error {
|
|
||||||
var black Black
|
|
||||||
return BlackDB.Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Find(&black).Error
|
|
||||||
}
|
|
||||||
|
|
||||||
func RemoveBlackList(ownerUserID, blockUserID string) error {
|
|
||||||
err := BlackDB.Where("owner_user_id=? and block_user_id=?", ownerUserID, blockUserID).Delete(Black{}).Error
|
|
||||||
return utils.Wrap(err, "RemoveBlackList failed")
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetBlackListByUserID(ownerUserID string) ([]Black, error) {
|
|
||||||
var blackListUsersInfo []Black
|
|
||||||
err := BlackDB.Where("owner_user_id=?", ownerUserID).Find(&blackListUsersInfo).Error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, 0, utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
return blackListUsersInfo, nil
|
err = utils.Wrap(b.DB.Limit(int(showNumber)).Offset(int(pageNumber*showNumber)).Find(&blacks).Error, "")
|
||||||
}
|
return
|
||||||
|
|
||||||
func GetBlackIDListByUserID(ownerUserID string) ([]string, error) {
|
|
||||||
var blackIDList []string
|
|
||||||
err := b.db.Where("owner_user_id=?", ownerUserID).Pluck("block_user_id", &blackIDList).Error
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return blackIDList, nil
|
|
||||||
}
|
}
|
||||||
|
@ -36,7 +36,7 @@ func (m *GetFriendsInfoReq) Reset() { *m = GetFriendsInfoReq{} }
|
|||||||
func (m *GetFriendsInfoReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetFriendsInfoReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFriendsInfoReq) ProtoMessage() {}
|
func (*GetFriendsInfoReq) ProtoMessage() {}
|
||||||
func (*GetFriendsInfoReq) Descriptor() ([]byte, []int) {
|
func (*GetFriendsInfoReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{0}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{0}
|
||||||
}
|
}
|
||||||
func (m *GetFriendsInfoReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetFriendsInfoReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFriendsInfoReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetFriendsInfoReq.Unmarshal(m, b)
|
||||||
@ -81,7 +81,7 @@ func (m *GetFriendsInfoResp) Reset() { *m = GetFriendsInfoResp{} }
|
|||||||
func (m *GetFriendsInfoResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetFriendsInfoResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFriendsInfoResp) ProtoMessage() {}
|
func (*GetFriendsInfoResp) ProtoMessage() {}
|
||||||
func (*GetFriendsInfoResp) Descriptor() ([]byte, []int) {
|
func (*GetFriendsInfoResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{1}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{1}
|
||||||
}
|
}
|
||||||
func (m *GetFriendsInfoResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetFriendsInfoResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFriendsInfoResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetFriendsInfoResp.Unmarshal(m, b)
|
||||||
@ -122,7 +122,7 @@ func (m *AddFriendReq) Reset() { *m = AddFriendReq{} }
|
|||||||
func (m *AddFriendReq) String() string { return proto.CompactTextString(m) }
|
func (m *AddFriendReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*AddFriendReq) ProtoMessage() {}
|
func (*AddFriendReq) ProtoMessage() {}
|
||||||
func (*AddFriendReq) Descriptor() ([]byte, []int) {
|
func (*AddFriendReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{2}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{2}
|
||||||
}
|
}
|
||||||
func (m *AddFriendReq) XXX_Unmarshal(b []byte) error {
|
func (m *AddFriendReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_AddFriendReq.Unmarshal(m, b)
|
return xxx_messageInfo_AddFriendReq.Unmarshal(m, b)
|
||||||
@ -180,7 +180,7 @@ func (m *AddFriendResp) Reset() { *m = AddFriendResp{} }
|
|||||||
func (m *AddFriendResp) String() string { return proto.CompactTextString(m) }
|
func (m *AddFriendResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*AddFriendResp) ProtoMessage() {}
|
func (*AddFriendResp) ProtoMessage() {}
|
||||||
func (*AddFriendResp) Descriptor() ([]byte, []int) {
|
func (*AddFriendResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{3}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{3}
|
||||||
}
|
}
|
||||||
func (m *AddFriendResp) XXX_Unmarshal(b []byte) error {
|
func (m *AddFriendResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_AddFriendResp.Unmarshal(m, b)
|
return xxx_messageInfo_AddFriendResp.Unmarshal(m, b)
|
||||||
@ -212,7 +212,7 @@ func (m *ImportFriendReq) Reset() { *m = ImportFriendReq{} }
|
|||||||
func (m *ImportFriendReq) String() string { return proto.CompactTextString(m) }
|
func (m *ImportFriendReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ImportFriendReq) ProtoMessage() {}
|
func (*ImportFriendReq) ProtoMessage() {}
|
||||||
func (*ImportFriendReq) Descriptor() ([]byte, []int) {
|
func (*ImportFriendReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{4}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{4}
|
||||||
}
|
}
|
||||||
func (m *ImportFriendReq) XXX_Unmarshal(b []byte) error {
|
func (m *ImportFriendReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ImportFriendReq.Unmarshal(m, b)
|
return xxx_messageInfo_ImportFriendReq.Unmarshal(m, b)
|
||||||
@ -256,7 +256,7 @@ func (m *ImportFriendResp) Reset() { *m = ImportFriendResp{} }
|
|||||||
func (m *ImportFriendResp) String() string { return proto.CompactTextString(m) }
|
func (m *ImportFriendResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ImportFriendResp) ProtoMessage() {}
|
func (*ImportFriendResp) ProtoMessage() {}
|
||||||
func (*ImportFriendResp) Descriptor() ([]byte, []int) {
|
func (*ImportFriendResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{5}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{5}
|
||||||
}
|
}
|
||||||
func (m *ImportFriendResp) XXX_Unmarshal(b []byte) error {
|
func (m *ImportFriendResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ImportFriendResp.Unmarshal(m, b)
|
return xxx_messageInfo_ImportFriendResp.Unmarshal(m, b)
|
||||||
@ -288,7 +288,7 @@ func (m *GetToFriendsApplyReq) Reset() { *m = GetToFriendsApplyReq{} }
|
|||||||
func (m *GetToFriendsApplyReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetToFriendsApplyReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetToFriendsApplyReq) ProtoMessage() {}
|
func (*GetToFriendsApplyReq) ProtoMessage() {}
|
||||||
func (*GetToFriendsApplyReq) Descriptor() ([]byte, []int) {
|
func (*GetToFriendsApplyReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{6}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{6}
|
||||||
}
|
}
|
||||||
func (m *GetToFriendsApplyReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetToFriendsApplyReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetToFriendsApplyReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetToFriendsApplyReq.Unmarshal(m, b)
|
||||||
@ -334,7 +334,7 @@ func (m *GetToFriendsApplyResp) Reset() { *m = GetToFriendsApplyResp{} }
|
|||||||
func (m *GetToFriendsApplyResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetToFriendsApplyResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetToFriendsApplyResp) ProtoMessage() {}
|
func (*GetToFriendsApplyResp) ProtoMessage() {}
|
||||||
func (*GetToFriendsApplyResp) Descriptor() ([]byte, []int) {
|
func (*GetToFriendsApplyResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{7}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{7}
|
||||||
}
|
}
|
||||||
func (m *GetToFriendsApplyResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetToFriendsApplyResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetToFriendsApplyResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetToFriendsApplyResp.Unmarshal(m, b)
|
||||||
@ -380,7 +380,7 @@ func (m *GetFriendsReq) Reset() { *m = GetFriendsReq{} }
|
|||||||
func (m *GetFriendsReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetFriendsReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFriendsReq) ProtoMessage() {}
|
func (*GetFriendsReq) ProtoMessage() {}
|
||||||
func (*GetFriendsReq) Descriptor() ([]byte, []int) {
|
func (*GetFriendsReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{8}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{8}
|
||||||
}
|
}
|
||||||
func (m *GetFriendsReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetFriendsReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFriendsReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetFriendsReq.Unmarshal(m, b)
|
||||||
@ -426,7 +426,7 @@ func (m *GetFriendsResp) Reset() { *m = GetFriendsResp{} }
|
|||||||
func (m *GetFriendsResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetFriendsResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFriendsResp) ProtoMessage() {}
|
func (*GetFriendsResp) ProtoMessage() {}
|
||||||
func (*GetFriendsResp) Descriptor() ([]byte, []int) {
|
func (*GetFriendsResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{9}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{9}
|
||||||
}
|
}
|
||||||
func (m *GetFriendsResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetFriendsResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFriendsResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetFriendsResp.Unmarshal(m, b)
|
||||||
@ -472,7 +472,7 @@ func (m *AddBlackReq) Reset() { *m = AddBlackReq{} }
|
|||||||
func (m *AddBlackReq) String() string { return proto.CompactTextString(m) }
|
func (m *AddBlackReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*AddBlackReq) ProtoMessage() {}
|
func (*AddBlackReq) ProtoMessage() {}
|
||||||
func (*AddBlackReq) Descriptor() ([]byte, []int) {
|
func (*AddBlackReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{10}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{10}
|
||||||
}
|
}
|
||||||
func (m *AddBlackReq) XXX_Unmarshal(b []byte) error {
|
func (m *AddBlackReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_AddBlackReq.Unmarshal(m, b)
|
return xxx_messageInfo_AddBlackReq.Unmarshal(m, b)
|
||||||
@ -516,7 +516,7 @@ func (m *AddBlackResp) Reset() { *m = AddBlackResp{} }
|
|||||||
func (m *AddBlackResp) String() string { return proto.CompactTextString(m) }
|
func (m *AddBlackResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*AddBlackResp) ProtoMessage() {}
|
func (*AddBlackResp) ProtoMessage() {}
|
||||||
func (*AddBlackResp) Descriptor() ([]byte, []int) {
|
func (*AddBlackResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{11}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{11}
|
||||||
}
|
}
|
||||||
func (m *AddBlackResp) XXX_Unmarshal(b []byte) error {
|
func (m *AddBlackResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_AddBlackResp.Unmarshal(m, b)
|
return xxx_messageInfo_AddBlackResp.Unmarshal(m, b)
|
||||||
@ -548,7 +548,7 @@ func (m *RemoveBlackReq) Reset() { *m = RemoveBlackReq{} }
|
|||||||
func (m *RemoveBlackReq) String() string { return proto.CompactTextString(m) }
|
func (m *RemoveBlackReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RemoveBlackReq) ProtoMessage() {}
|
func (*RemoveBlackReq) ProtoMessage() {}
|
||||||
func (*RemoveBlackReq) Descriptor() ([]byte, []int) {
|
func (*RemoveBlackReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{12}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{12}
|
||||||
}
|
}
|
||||||
func (m *RemoveBlackReq) XXX_Unmarshal(b []byte) error {
|
func (m *RemoveBlackReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RemoveBlackReq.Unmarshal(m, b)
|
return xxx_messageInfo_RemoveBlackReq.Unmarshal(m, b)
|
||||||
@ -592,7 +592,7 @@ func (m *RemoveBlackResp) Reset() { *m = RemoveBlackResp{} }
|
|||||||
func (m *RemoveBlackResp) String() string { return proto.CompactTextString(m) }
|
func (m *RemoveBlackResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RemoveBlackResp) ProtoMessage() {}
|
func (*RemoveBlackResp) ProtoMessage() {}
|
||||||
func (*RemoveBlackResp) Descriptor() ([]byte, []int) {
|
func (*RemoveBlackResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{13}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{13}
|
||||||
}
|
}
|
||||||
func (m *RemoveBlackResp) XXX_Unmarshal(b []byte) error {
|
func (m *RemoveBlackResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RemoveBlackResp.Unmarshal(m, b)
|
return xxx_messageInfo_RemoveBlackResp.Unmarshal(m, b)
|
||||||
@ -624,7 +624,7 @@ func (m *GetBlacksReq) Reset() { *m = GetBlacksReq{} }
|
|||||||
func (m *GetBlacksReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetBlacksReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetBlacksReq) ProtoMessage() {}
|
func (*GetBlacksReq) ProtoMessage() {}
|
||||||
func (*GetBlacksReq) Descriptor() ([]byte, []int) {
|
func (*GetBlacksReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{14}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{14}
|
||||||
}
|
}
|
||||||
func (m *GetBlacksReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetBlacksReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetBlacksReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetBlacksReq.Unmarshal(m, b)
|
||||||
@ -659,18 +659,18 @@ func (m *GetBlacksReq) GetPagination() *sdk_ws.RequestPagination {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GetBlacksResp struct {
|
type GetBlacksResp struct {
|
||||||
BlackUsersInfo []*sdk_ws.PublicUserInfo `protobuf:"bytes,1,rep,name=blackUsersInfo" json:"blackUsersInfo,omitempty"`
|
Blacks []*sdk_ws.BlackInfo `protobuf:"bytes,1,rep,name=blacks" json:"blacks,omitempty"`
|
||||||
Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"`
|
Total int32 `protobuf:"varint,2,opt,name=total" json:"total,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *GetBlacksResp) Reset() { *m = GetBlacksResp{} }
|
func (m *GetBlacksResp) Reset() { *m = GetBlacksResp{} }
|
||||||
func (m *GetBlacksResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetBlacksResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetBlacksResp) ProtoMessage() {}
|
func (*GetBlacksResp) ProtoMessage() {}
|
||||||
func (*GetBlacksResp) Descriptor() ([]byte, []int) {
|
func (*GetBlacksResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{15}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{15}
|
||||||
}
|
}
|
||||||
func (m *GetBlacksResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetBlacksResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetBlacksResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetBlacksResp.Unmarshal(m, b)
|
||||||
@ -690,9 +690,9 @@ func (m *GetBlacksResp) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_GetBlacksResp proto.InternalMessageInfo
|
var xxx_messageInfo_GetBlacksResp proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *GetBlacksResp) GetBlackUsersInfo() []*sdk_ws.PublicUserInfo {
|
func (m *GetBlacksResp) GetBlacks() []*sdk_ws.BlackInfo {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.BlackUsersInfo
|
return m.Blacks
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -705,8 +705,8 @@ func (m *GetBlacksResp) GetTotal() int32 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type IsFriendReq struct {
|
type IsFriendReq struct {
|
||||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"`
|
UserID1 string `protobuf:"bytes,1,opt,name=userID1" json:"userID1,omitempty"`
|
||||||
FriendUserID string `protobuf:"bytes,2,opt,name=friendUserID" json:"friendUserID,omitempty"`
|
UserID2 string `protobuf:"bytes,2,opt,name=userID2" json:"userID2,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -716,7 +716,7 @@ func (m *IsFriendReq) Reset() { *m = IsFriendReq{} }
|
|||||||
func (m *IsFriendReq) String() string { return proto.CompactTextString(m) }
|
func (m *IsFriendReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*IsFriendReq) ProtoMessage() {}
|
func (*IsFriendReq) ProtoMessage() {}
|
||||||
func (*IsFriendReq) Descriptor() ([]byte, []int) {
|
func (*IsFriendReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{16}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{16}
|
||||||
}
|
}
|
||||||
func (m *IsFriendReq) XXX_Unmarshal(b []byte) error {
|
func (m *IsFriendReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_IsFriendReq.Unmarshal(m, b)
|
return xxx_messageInfo_IsFriendReq.Unmarshal(m, b)
|
||||||
@ -736,22 +736,23 @@ func (m *IsFriendReq) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_IsFriendReq proto.InternalMessageInfo
|
var xxx_messageInfo_IsFriendReq proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *IsFriendReq) GetOwnerUserID() string {
|
func (m *IsFriendReq) GetUserID1() string {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.OwnerUserID
|
return m.UserID1
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *IsFriendReq) GetFriendUserID() string {
|
func (m *IsFriendReq) GetUserID2() string {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.FriendUserID
|
return m.UserID2
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
type IsFriendResp struct {
|
type IsFriendResp struct {
|
||||||
Response bool `protobuf:"varint,1,opt,name=response" json:"response,omitempty"`
|
InUser1Friends bool `protobuf:"varint,1,opt,name=inUser1Friends" json:"inUser1Friends,omitempty"`
|
||||||
|
InUser2Friends bool `protobuf:"varint,2,opt,name=inUser2Friends" json:"inUser2Friends,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -761,7 +762,7 @@ func (m *IsFriendResp) Reset() { *m = IsFriendResp{} }
|
|||||||
func (m *IsFriendResp) String() string { return proto.CompactTextString(m) }
|
func (m *IsFriendResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*IsFriendResp) ProtoMessage() {}
|
func (*IsFriendResp) ProtoMessage() {}
|
||||||
func (*IsFriendResp) Descriptor() ([]byte, []int) {
|
func (*IsFriendResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{17}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{17}
|
||||||
}
|
}
|
||||||
func (m *IsFriendResp) XXX_Unmarshal(b []byte) error {
|
func (m *IsFriendResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_IsFriendResp.Unmarshal(m, b)
|
return xxx_messageInfo_IsFriendResp.Unmarshal(m, b)
|
||||||
@ -781,16 +782,23 @@ func (m *IsFriendResp) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_IsFriendResp proto.InternalMessageInfo
|
var xxx_messageInfo_IsFriendResp proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *IsFriendResp) GetResponse() bool {
|
func (m *IsFriendResp) GetInUser1Friends() bool {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Response
|
return m.InUser1Friends
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *IsFriendResp) GetInUser2Friends() bool {
|
||||||
|
if m != nil {
|
||||||
|
return m.InUser2Friends
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
type IsBlackReq struct {
|
type IsBlackReq struct {
|
||||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"`
|
UserID1 string `protobuf:"bytes,1,opt,name=userID1" json:"userID1,omitempty"`
|
||||||
BlackUserID string `protobuf:"bytes,2,opt,name=blackUserID" json:"blackUserID,omitempty"`
|
UserID2 string `protobuf:"bytes,2,opt,name=userID2" json:"userID2,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -800,7 +808,7 @@ func (m *IsBlackReq) Reset() { *m = IsBlackReq{} }
|
|||||||
func (m *IsBlackReq) String() string { return proto.CompactTextString(m) }
|
func (m *IsBlackReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*IsBlackReq) ProtoMessage() {}
|
func (*IsBlackReq) ProtoMessage() {}
|
||||||
func (*IsBlackReq) Descriptor() ([]byte, []int) {
|
func (*IsBlackReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{18}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{18}
|
||||||
}
|
}
|
||||||
func (m *IsBlackReq) XXX_Unmarshal(b []byte) error {
|
func (m *IsBlackReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_IsBlackReq.Unmarshal(m, b)
|
return xxx_messageInfo_IsBlackReq.Unmarshal(m, b)
|
||||||
@ -820,22 +828,23 @@ func (m *IsBlackReq) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_IsBlackReq proto.InternalMessageInfo
|
var xxx_messageInfo_IsBlackReq proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *IsBlackReq) GetOwnerUserID() string {
|
func (m *IsBlackReq) GetUserID1() string {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.OwnerUserID
|
return m.UserID1
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *IsBlackReq) GetBlackUserID() string {
|
func (m *IsBlackReq) GetUserID2() string {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.BlackUserID
|
return m.UserID2
|
||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
type IsBlackResp struct {
|
type IsBlackResp struct {
|
||||||
Response bool `protobuf:"varint,1,opt,name=response" json:"response,omitempty"`
|
InUser1Blacks bool `protobuf:"varint,1,opt,name=inUser1Blacks" json:"inUser1Blacks,omitempty"`
|
||||||
|
InUser2Blacks bool `protobuf:"varint,2,opt,name=inUser2Blacks" json:"inUser2Blacks,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
@ -845,7 +854,7 @@ func (m *IsBlackResp) Reset() { *m = IsBlackResp{} }
|
|||||||
func (m *IsBlackResp) String() string { return proto.CompactTextString(m) }
|
func (m *IsBlackResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*IsBlackResp) ProtoMessage() {}
|
func (*IsBlackResp) ProtoMessage() {}
|
||||||
func (*IsBlackResp) Descriptor() ([]byte, []int) {
|
func (*IsBlackResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{19}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{19}
|
||||||
}
|
}
|
||||||
func (m *IsBlackResp) XXX_Unmarshal(b []byte) error {
|
func (m *IsBlackResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_IsBlackResp.Unmarshal(m, b)
|
return xxx_messageInfo_IsBlackResp.Unmarshal(m, b)
|
||||||
@ -865,9 +874,16 @@ func (m *IsBlackResp) XXX_DiscardUnknown() {
|
|||||||
|
|
||||||
var xxx_messageInfo_IsBlackResp proto.InternalMessageInfo
|
var xxx_messageInfo_IsBlackResp proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *IsBlackResp) GetResponse() bool {
|
func (m *IsBlackResp) GetInUser1Blacks() bool {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Response
|
return m.InUser1Blacks
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *IsBlackResp) GetInUser2Blacks() bool {
|
||||||
|
if m != nil {
|
||||||
|
return m.InUser2Blacks
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -884,7 +900,7 @@ func (m *DeleteFriendReq) Reset() { *m = DeleteFriendReq{} }
|
|||||||
func (m *DeleteFriendReq) String() string { return proto.CompactTextString(m) }
|
func (m *DeleteFriendReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DeleteFriendReq) ProtoMessage() {}
|
func (*DeleteFriendReq) ProtoMessage() {}
|
||||||
func (*DeleteFriendReq) Descriptor() ([]byte, []int) {
|
func (*DeleteFriendReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{20}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{20}
|
||||||
}
|
}
|
||||||
func (m *DeleteFriendReq) XXX_Unmarshal(b []byte) error {
|
func (m *DeleteFriendReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DeleteFriendReq.Unmarshal(m, b)
|
return xxx_messageInfo_DeleteFriendReq.Unmarshal(m, b)
|
||||||
@ -928,7 +944,7 @@ func (m *DeleteFriendResp) Reset() { *m = DeleteFriendResp{} }
|
|||||||
func (m *DeleteFriendResp) String() string { return proto.CompactTextString(m) }
|
func (m *DeleteFriendResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DeleteFriendResp) ProtoMessage() {}
|
func (*DeleteFriendResp) ProtoMessage() {}
|
||||||
func (*DeleteFriendResp) Descriptor() ([]byte, []int) {
|
func (*DeleteFriendResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{21}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{21}
|
||||||
}
|
}
|
||||||
func (m *DeleteFriendResp) XXX_Unmarshal(b []byte) error {
|
func (m *DeleteFriendResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DeleteFriendResp.Unmarshal(m, b)
|
return xxx_messageInfo_DeleteFriendResp.Unmarshal(m, b)
|
||||||
@ -963,7 +979,7 @@ func (m *RespondFriendApplyReq) Reset() { *m = RespondFriendApplyReq{} }
|
|||||||
func (m *RespondFriendApplyReq) String() string { return proto.CompactTextString(m) }
|
func (m *RespondFriendApplyReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RespondFriendApplyReq) ProtoMessage() {}
|
func (*RespondFriendApplyReq) ProtoMessage() {}
|
||||||
func (*RespondFriendApplyReq) Descriptor() ([]byte, []int) {
|
func (*RespondFriendApplyReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{22}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{22}
|
||||||
}
|
}
|
||||||
func (m *RespondFriendApplyReq) XXX_Unmarshal(b []byte) error {
|
func (m *RespondFriendApplyReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RespondFriendApplyReq.Unmarshal(m, b)
|
return xxx_messageInfo_RespondFriendApplyReq.Unmarshal(m, b)
|
||||||
@ -1021,7 +1037,7 @@ func (m *RespondFriendApplyResp) Reset() { *m = RespondFriendApplyResp{}
|
|||||||
func (m *RespondFriendApplyResp) String() string { return proto.CompactTextString(m) }
|
func (m *RespondFriendApplyResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RespondFriendApplyResp) ProtoMessage() {}
|
func (*RespondFriendApplyResp) ProtoMessage() {}
|
||||||
func (*RespondFriendApplyResp) Descriptor() ([]byte, []int) {
|
func (*RespondFriendApplyResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{23}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{23}
|
||||||
}
|
}
|
||||||
func (m *RespondFriendApplyResp) XXX_Unmarshal(b []byte) error {
|
func (m *RespondFriendApplyResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RespondFriendApplyResp.Unmarshal(m, b)
|
return xxx_messageInfo_RespondFriendApplyResp.Unmarshal(m, b)
|
||||||
@ -1054,7 +1070,7 @@ func (m *SetFriendRemarkReq) Reset() { *m = SetFriendRemarkReq{} }
|
|||||||
func (m *SetFriendRemarkReq) String() string { return proto.CompactTextString(m) }
|
func (m *SetFriendRemarkReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SetFriendRemarkReq) ProtoMessage() {}
|
func (*SetFriendRemarkReq) ProtoMessage() {}
|
||||||
func (*SetFriendRemarkReq) Descriptor() ([]byte, []int) {
|
func (*SetFriendRemarkReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{24}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{24}
|
||||||
}
|
}
|
||||||
func (m *SetFriendRemarkReq) XXX_Unmarshal(b []byte) error {
|
func (m *SetFriendRemarkReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SetFriendRemarkReq.Unmarshal(m, b)
|
return xxx_messageInfo_SetFriendRemarkReq.Unmarshal(m, b)
|
||||||
@ -1105,7 +1121,7 @@ func (m *SetFriendRemarkResp) Reset() { *m = SetFriendRemarkResp{} }
|
|||||||
func (m *SetFriendRemarkResp) String() string { return proto.CompactTextString(m) }
|
func (m *SetFriendRemarkResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SetFriendRemarkResp) ProtoMessage() {}
|
func (*SetFriendRemarkResp) ProtoMessage() {}
|
||||||
func (*SetFriendRemarkResp) Descriptor() ([]byte, []int) {
|
func (*SetFriendRemarkResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{25}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{25}
|
||||||
}
|
}
|
||||||
func (m *SetFriendRemarkResp) XXX_Unmarshal(b []byte) error {
|
func (m *SetFriendRemarkResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SetFriendRemarkResp.Unmarshal(m, b)
|
return xxx_messageInfo_SetFriendRemarkResp.Unmarshal(m, b)
|
||||||
@ -1137,7 +1153,7 @@ func (m *GetFromFriendsApplyReq) Reset() { *m = GetFromFriendsApplyReq{}
|
|||||||
func (m *GetFromFriendsApplyReq) String() string { return proto.CompactTextString(m) }
|
func (m *GetFromFriendsApplyReq) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFromFriendsApplyReq) ProtoMessage() {}
|
func (*GetFromFriendsApplyReq) ProtoMessage() {}
|
||||||
func (*GetFromFriendsApplyReq) Descriptor() ([]byte, []int) {
|
func (*GetFromFriendsApplyReq) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{26}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{26}
|
||||||
}
|
}
|
||||||
func (m *GetFromFriendsApplyReq) XXX_Unmarshal(b []byte) error {
|
func (m *GetFromFriendsApplyReq) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFromFriendsApplyReq.Unmarshal(m, b)
|
return xxx_messageInfo_GetFromFriendsApplyReq.Unmarshal(m, b)
|
||||||
@ -1183,7 +1199,7 @@ func (m *GetFromFriendsApplyResp) Reset() { *m = GetFromFriendsApplyResp
|
|||||||
func (m *GetFromFriendsApplyResp) String() string { return proto.CompactTextString(m) }
|
func (m *GetFromFriendsApplyResp) String() string { return proto.CompactTextString(m) }
|
||||||
func (*GetFromFriendsApplyResp) ProtoMessage() {}
|
func (*GetFromFriendsApplyResp) ProtoMessage() {}
|
||||||
func (*GetFromFriendsApplyResp) Descriptor() ([]byte, []int) {
|
func (*GetFromFriendsApplyResp) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_friend_a69e7413271cca0f, []int{27}
|
return fileDescriptor_friend_ae999c738a77e4f8, []int{27}
|
||||||
}
|
}
|
||||||
func (m *GetFromFriendsApplyResp) XXX_Unmarshal(b []byte) error {
|
func (m *GetFromFriendsApplyResp) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_GetFromFriendsApplyResp.Unmarshal(m, b)
|
return xxx_messageInfo_GetFromFriendsApplyResp.Unmarshal(m, b)
|
||||||
@ -1777,65 +1793,68 @@ var _Friend_serviceDesc = grpc.ServiceDesc{
|
|||||||
Metadata: "friend/friend.proto",
|
Metadata: "friend/friend.proto",
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { proto.RegisterFile("friend/friend.proto", fileDescriptor_friend_a69e7413271cca0f) }
|
func init() { proto.RegisterFile("friend/friend.proto", fileDescriptor_friend_ae999c738a77e4f8) }
|
||||||
|
|
||||||
var fileDescriptor_friend_a69e7413271cca0f = []byte{
|
var fileDescriptor_friend_ae999c738a77e4f8 = []byte{
|
||||||
// 912 bytes of a gzipped FileDescriptorProto
|
// 955 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xe1, 0x6e, 0xdb, 0x46,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xef, 0x6e, 0x1b, 0x45,
|
||||||
0x0c, 0x86, 0x9d, 0x25, 0x4d, 0x28, 0xc7, 0x6e, 0xe9, 0xd8, 0xf5, 0xb4, 0x26, 0x75, 0x0f, 0xfd,
|
0x10, 0x97, 0x1d, 0xe2, 0x24, 0x63, 0xc7, 0xa6, 0xe3, 0xd8, 0x3d, 0x8e, 0x24, 0x35, 0xab, 0x0a,
|
||||||
0x91, 0x0d, 0x68, 0x0c, 0x64, 0x18, 0x30, 0xa0, 0xc0, 0x86, 0x06, 0x45, 0x37, 0x0f, 0x08, 0x96,
|
0xe5, 0x4b, 0x63, 0xd5, 0x80, 0x84, 0x54, 0x09, 0x48, 0x54, 0x15, 0x82, 0x14, 0x51, 0xae, 0x2d,
|
||||||
0x29, 0xed, 0x86, 0x6d, 0x3f, 0x02, 0xa5, 0x3a, 0x7b, 0x42, 0x64, 0x89, 0x11, 0x95, 0xb8, 0x7d,
|
0xa8, 0x54, 0x22, 0xba, 0x72, 0x6b, 0x73, 0x8a, 0x7d, 0xb7, 0xb9, 0xb9, 0xc4, 0xed, 0x83, 0xf0,
|
||||||
0x90, 0xbd, 0xca, 0x9e, 0x6f, 0xd0, 0x9d, 0x2c, 0x9d, 0x6c, 0xd9, 0x68, 0x33, 0xaf, 0xbf, 0x04,
|
0x2a, 0x3c, 0x1f, 0xba, 0xdd, 0xbd, 0xdb, 0x3d, 0xfb, 0x1c, 0x35, 0x21, 0xf0, 0xc9, 0x9a, 0xdf,
|
||||||
0x92, 0x47, 0xf2, 0xc8, 0xe3, 0x7d, 0xdf, 0x09, 0xda, 0xa3, 0xd8, 0x97, 0xa1, 0x37, 0xd0, 0x9f,
|
0xcc, 0xec, 0xfc, 0xd9, 0xf1, 0xfc, 0xf6, 0xa0, 0x3b, 0x4e, 0x42, 0x1e, 0x05, 0x43, 0xf5, 0x73,
|
||||||
0x23, 0x8a, 0xa3, 0x24, 0xc2, 0x2d, 0x2d, 0xd9, 0x87, 0x3f, 0x93, 0x0c, 0x9f, 0x0d, 0x4f, 0x9f,
|
0x28, 0x92, 0x38, 0x8d, 0xb1, 0xa1, 0x24, 0xf7, 0xe0, 0x27, 0xc1, 0xa3, 0x47, 0x27, 0xa7, 0x8f,
|
||||||
0x9d, 0xcb, 0xf8, 0x56, 0xc6, 0x03, 0xba, 0x1a, 0x0f, 0xd4, 0x8a, 0x01, 0x7b, 0x57, 0x17, 0x53,
|
0x5e, 0xf0, 0xe4, 0x8a, 0x27, 0x43, 0x71, 0x3e, 0x19, 0x4a, 0x8b, 0x21, 0x05, 0xe7, 0x67, 0x73,
|
||||||
0x1e, 0x4c, 0x59, 0x7b, 0x88, 0x3f, 0xe1, 0xc1, 0x58, 0x26, 0xaf, 0x94, 0x1b, 0x0f, 0xc3, 0x51,
|
0x1a, 0xce, 0x49, 0x79, 0xb0, 0x37, 0x70, 0x6f, 0xc2, 0xd3, 0x67, 0xd2, 0x8d, 0x4e, 0xa2, 0x71,
|
||||||
0xe4, 0xc8, 0x6b, 0xec, 0x83, 0x15, 0x4d, 0x43, 0x19, 0xbf, 0x61, 0x19, 0x0f, 0x5f, 0xf6, 0x6a,
|
0xec, 0xf1, 0x0b, 0x1c, 0x40, 0x33, 0x9e, 0x47, 0x3c, 0x79, 0x45, 0x3c, 0x39, 0x79, 0xea, 0xd4,
|
||||||
0xfd, 0xda, 0xe1, 0x8e, 0x63, 0xaa, 0xf0, 0x29, 0xec, 0xea, 0x54, 0x5a, 0xe6, 0x5e, 0xbd, 0xbf,
|
0x06, 0xb5, 0x83, 0x2d, 0xcf, 0x86, 0xf0, 0x21, 0x6c, 0xab, 0x50, 0x4a, 0x26, 0xa7, 0x3e, 0x58,
|
||||||
0x71, 0xb8, 0xe3, 0x94, 0x95, 0xe2, 0x0d, 0xe0, 0x7c, 0x70, 0x26, 0xfc, 0x1e, 0xac, 0x51, 0xa1,
|
0x3b, 0xd8, 0xf2, 0xca, 0x20, 0x7b, 0x05, 0xb8, 0x78, 0x38, 0x09, 0xfc, 0x16, 0x9a, 0x63, 0x03,
|
||||||
0xea, 0xd5, 0xfa, 0x1b, 0x87, 0xd6, 0xf1, 0xfe, 0x11, 0xab, 0xad, 0x5e, 0xb8, 0xe4, 0x5f, 0x90,
|
0x39, 0xb5, 0xc1, 0xda, 0x41, 0x73, 0xb4, 0x77, 0x48, 0x32, 0xd5, 0x33, 0x5f, 0x84, 0x67, 0xc2,
|
||||||
0x1b, 0xbb, 0x13, 0x3e, 0xd2, 0x8e, 0xca, 0xcf, 0xf4, 0x10, 0x31, 0x34, 0x5c, 0xcf, 0xd3, 0xd6,
|
0x4f, 0xfc, 0x19, 0x1d, 0x2a, 0x47, 0xe9, 0x67, 0x7b, 0xb0, 0x04, 0x5a, 0x7e, 0x10, 0x28, 0x6d,
|
||||||
0x74, 0xbb, 0x07, 0x00, 0xa3, 0x38, 0x9a, 0x94, 0x76, 0x6b, 0x68, 0xd0, 0x86, 0xed, 0x24, 0xca,
|
0x96, 0xee, 0x3e, 0xc0, 0x38, 0x89, 0x67, 0xa5, 0x6c, 0x2d, 0x04, 0x5d, 0xd8, 0x4c, 0x63, 0xad,
|
||||||
0xac, 0x75, 0x65, 0xcd, 0x65, 0xec, 0xc2, 0x56, 0x2c, 0xaf, 0x4f, 0x79, 0xdc, 0xdb, 0x50, 0x96,
|
0xad, 0x4b, 0x6d, 0x21, 0x63, 0x1f, 0x1a, 0x09, 0xbf, 0x38, 0xa5, 0x89, 0xb3, 0x26, 0x35, 0x5a,
|
||||||
0x4c, 0xc2, 0x26, 0xd4, 0xe5, 0xbb, 0xde, 0x67, 0x4a, 0x57, 0x97, 0xef, 0x44, 0x0b, 0x76, 0x8d,
|
0xc2, 0x36, 0xd4, 0xf9, 0x3b, 0xe7, 0x23, 0x89, 0xd5, 0xf9, 0x3b, 0xd6, 0x81, 0x6d, 0x2b, 0x26,
|
||||||
0x9c, 0x4c, 0xe2, 0x77, 0x68, 0xf9, 0x13, 0x8a, 0xe2, 0xa4, 0xd8, 0xc7, 0xba, 0xda, 0x86, 0x70,
|
0x09, 0xf6, 0x1a, 0x3a, 0xe1, 0x4c, 0xc4, 0x49, 0x6a, 0xf2, 0xb8, 0xab, 0xb6, 0x21, 0x7c, 0x5c,
|
||||||
0xbf, 0x1c, 0x9a, 0x49, 0x24, 0xb0, 0x37, 0x96, 0xc9, 0xeb, 0x28, 0x6b, 0xe6, 0x0b, 0xa2, 0xe0,
|
0x3e, 0x9a, 0x04, 0x4b, 0x61, 0x67, 0xc2, 0xd3, 0x97, 0xb1, 0x6e, 0xe6, 0x91, 0x10, 0xd3, 0xf7,
|
||||||
0x7d, 0x9a, 0xb3, 0x0b, 0x5b, 0x37, 0x66, 0xba, 0x4c, 0xc2, 0x97, 0x00, 0xe4, 0x8e, 0xfd, 0xd0,
|
0x59, 0xcc, 0x3e, 0x34, 0x2e, 0xed, 0x70, 0x5a, 0xc2, 0xa7, 0x00, 0xc2, 0x9f, 0x84, 0x91, 0x9f,
|
||||||
0x4d, 0xfc, 0x28, 0x54, 0x55, 0x5b, 0xc7, 0x4f, 0x2b, 0x7a, 0xec, 0xc8, 0xeb, 0x1b, 0xc9, 0xc9,
|
0x86, 0x71, 0x24, 0xab, 0x6e, 0x8e, 0x1e, 0x56, 0xf4, 0xd8, 0xe3, 0x17, 0x97, 0x9c, 0xd2, 0xe7,
|
||||||
0x59, 0xbe, 0xd6, 0x31, 0xfc, 0xc4, 0x14, 0x3a, 0x15, 0x59, 0x99, 0xf0, 0x47, 0x68, 0xe6, 0x75,
|
0x85, 0xad, 0x67, 0xf9, 0xb1, 0x39, 0xf4, 0x2a, 0xa2, 0x92, 0xc0, 0x1f, 0xa0, 0x5d, 0xd4, 0x9d,
|
||||||
0xa7, 0xfe, 0x9c, 0x1d, 0x63, 0x7f, 0xe9, 0x31, 0x66, 0x0b, 0x9d, 0x39, 0x3f, 0xdc, 0x83, 0xcd,
|
0xf9, 0x93, 0xbe, 0xc6, 0xc1, 0xca, 0x6b, 0xd4, 0x86, 0xde, 0x82, 0x1f, 0xee, 0xc0, 0x7a, 0x1a,
|
||||||
0x24, 0x4a, 0xdc, 0x40, 0xed, 0x71, 0xd3, 0xd1, 0x82, 0x98, 0xc0, 0x6e, 0x31, 0x39, 0x69, 0x9d,
|
0xa7, 0xfe, 0x54, 0xe6, 0xb8, 0xee, 0x29, 0x81, 0xcd, 0x60, 0xdb, 0x4c, 0x4e, 0x56, 0x67, 0xb9,
|
||||||
0xe5, 0x7a, 0x6a, 0x77, 0xab, 0xc7, 0xe8, 0x56, 0xdd, 0xec, 0x96, 0x18, 0x43, 0xd3, 0x4c, 0xa7,
|
0x9e, 0xda, 0xed, 0xea, 0xb1, 0xba, 0x55, 0xb7, 0xbb, 0xc5, 0x26, 0xd0, 0xb6, 0xc3, 0xa9, 0x21,
|
||||||
0x87, 0xf4, 0xd5, 0x47, 0x0f, 0xa9, 0xe1, 0xb1, 0xa4, 0xae, 0x5f, 0xc0, 0x72, 0x3d, 0xef, 0x24,
|
0x7d, 0x76, 0xe3, 0x21, 0xb5, 0x3c, 0x56, 0xd4, 0xf5, 0x33, 0x34, 0xfd, 0x20, 0x38, 0x9e, 0xfa,
|
||||||
0x70, 0xdf, 0x5e, 0x7d, 0xd8, 0xc4, 0xf4, 0xc1, 0xba, 0x4c, 0x57, 0x97, 0xc6, 0xd7, 0x54, 0x89,
|
0x7f, 0x9c, 0x7f, 0xd8, 0xc4, 0x0c, 0xa0, 0xf9, 0x36, 0xb3, 0x2e, 0x8d, 0xaf, 0x0d, 0xb1, 0xb6,
|
||||||
0xa6, 0xba, 0x0d, 0x59, 0x48, 0x26, 0xf1, 0x1a, 0x9a, 0xb1, 0x9c, 0x44, 0xb7, 0x72, 0xad, 0x59,
|
0xfc, 0x37, 0xe8, 0x23, 0x49, 0xb0, 0x97, 0xd0, 0x4e, 0xf8, 0x2c, 0xbe, 0xe2, 0x77, 0x1a, 0xe5,
|
||||||
0x1e, 0x40, 0xab, 0x14, 0x95, 0x49, 0x04, 0xd0, 0x18, 0xcb, 0x44, 0xc9, 0xfc, 0xff, 0x8f, 0x22,
|
0x1e, 0x74, 0x4a, 0xa7, 0x92, 0x60, 0x53, 0x68, 0x4d, 0x78, 0x2a, 0x65, 0xfa, 0xef, 0x47, 0xf1,
|
||||||
0xa9, 0x89, 0x98, 0x65, 0x63, 0xc2, 0x21, 0x34, 0xf3, 0x0d, 0x9a, 0x87, 0xf4, 0xa4, 0x22, 0xf4,
|
0x8d, 0x9c, 0x88, 0x3c, 0x1a, 0x09, 0xfc, 0x12, 0x1a, 0x32, 0xc1, 0x7c, 0xf4, 0x76, 0x2b, 0x8e,
|
||||||
0xd9, 0xcd, 0x65, 0xe0, 0xbf, 0x55, 0xa5, 0xa4, 0x07, 0x35, 0xe7, 0xb8, 0xe4, 0xac, 0xce, 0xc1,
|
0x94, 0xe6, 0xf2, 0x6e, 0xb4, 0xed, 0x8a, 0x6b, 0x39, 0x82, 0x66, 0x48, 0xe6, 0x8f, 0xec, 0xc0,
|
||||||
0xf2, 0xf9, 0x63, 0x6e, 0xb7, 0x80, 0x86, 0x79, 0x91, 0xb3, 0x36, 0x96, 0x74, 0xe2, 0x2b, 0x68,
|
0x86, 0xca, 0xfd, 0xb1, 0x2e, 0x25, 0x17, 0x8d, 0x66, 0xa4, 0x9b, 0x94, 0x8b, 0xec, 0x77, 0x68,
|
||||||
0x14, 0x41, 0x99, 0x52, 0x6c, 0x8a, 0x25, 0x53, 0x14, 0xb2, 0x54, 0x21, 0xb7, 0x9d, 0x5c, 0x16,
|
0x99, 0x23, 0x48, 0xe0, 0xe7, 0xd0, 0x0e, 0xa3, 0xac, 0x79, 0x8f, 0xf5, 0x54, 0xc8, 0xa3, 0x36,
|
||||||
0x67, 0x00, 0x3e, 0xaf, 0xf5, 0x14, 0xbf, 0x4c, 0x4b, 0xca, 0x4f, 0x70, 0x65, 0xf2, 0xdf, 0xa0,
|
0xbd, 0x05, 0xd4, 0xd8, 0x8d, 0x72, 0xbb, 0xba, 0x6d, 0x97, 0xa3, 0xec, 0x3b, 0x80, 0x90, 0x8a,
|
||||||
0xe5, 0xc9, 0x40, 0x26, 0x72, 0xdd, 0x1d, 0x40, 0xb8, 0x5f, 0x0e, 0xcc, 0x24, 0xfe, 0xae, 0x41,
|
0x2b, 0xbd, 0x4d, 0x86, 0xaf, 0xb3, 0x22, 0x8b, 0xeb, 0xcb, 0x76, 0x91, 0x4e, 0xe5, 0x38, 0x6f,
|
||||||
0x47, 0x67, 0xce, 0x20, 0x36, 0xc7, 0xb7, 0xff, 0x82, 0xed, 0x02, 0x1a, 0x7f, 0xb9, 0xa1, 0x17,
|
0x63, 0x16, 0xb7, 0x0c, 0x1a, 0xab, 0x91, 0xb6, 0xaa, 0xdb, 0x56, 0x1a, 0x64, 0xbf, 0x42, 0x27,
|
||||||
0x48, 0x47, 0xf2, 0x4d, 0x90, 0x28, 0x84, 0xdf, 0x74, 0x4a, 0x3a, 0x7c, 0x04, 0x3b, 0x5a, 0x4e,
|
0xe0, 0x53, 0x9e, 0xf2, 0x9b, 0x2c, 0x43, 0x06, 0x2d, 0x7b, 0xef, 0xe9, 0x74, 0x4b, 0x58, 0xb6,
|
||||||
0x29, 0x40, 0xc3, 0x7d, 0xa1, 0x10, 0x3d, 0xe8, 0x56, 0x6d, 0x8b, 0x49, 0xc4, 0x80, 0x2c, 0x73,
|
0x0a, 0xcb, 0x07, 0x93, 0x60, 0x7f, 0xd5, 0xa0, 0x97, 0x70, 0x12, 0x71, 0xa4, 0xf7, 0x71, 0xb1,
|
||||||
0x80, 0x9e, 0xb8, 0xf1, 0xd5, 0xda, 0x3a, 0xa4, 0x39, 0x29, 0x0d, 0x59, 0x70, 0x52, 0x2a, 0x89,
|
0x0c, 0xff, 0x0d, 0x11, 0x30, 0x68, 0xfd, 0xe9, 0x47, 0xc1, 0x94, 0x7b, 0x9c, 0x2e, 0xa7, 0xa9,
|
||||||
0x0e, 0xb4, 0x17, 0x72, 0x32, 0x89, 0x5b, 0xe8, 0x2a, 0xf0, 0x8a, 0x26, 0x9f, 0x96, 0x1c, 0xde,
|
0xa4, 0x83, 0x75, 0xaf, 0x84, 0xe1, 0x2e, 0x6c, 0x29, 0x39, 0xe3, 0x0b, 0xc5, 0x0d, 0x06, 0x60,
|
||||||
0xc3, 0xc3, 0xca, 0xbc, 0x9a, 0x1e, 0x46, 0x77, 0xa4, 0x87, 0xd1, 0x07, 0xd0, 0xc3, 0xf1, 0x3f,
|
0x0e, 0xf4, 0xab, 0xd2, 0x22, 0xc1, 0x12, 0x40, 0xe2, 0xc5, 0x36, 0x9f, 0xf9, 0xc9, 0xf9, 0x9d,
|
||||||
0xf7, 0x20, 0x7b, 0xea, 0xe0, 0xb7, 0xb0, 0x93, 0x13, 0x33, 0xee, 0x1d, 0x65, 0xcf, 0x21, 0xf3,
|
0x75, 0x48, 0x11, 0x58, 0x76, 0xa4, 0x21, 0xb0, 0x4c, 0x62, 0x3d, 0xe8, 0x2e, 0xc5, 0x24, 0xc1,
|
||||||
0x7d, 0x60, 0x77, 0x2a, 0xb4, 0x4c, 0x78, 0xa6, 0x9e, 0x3e, 0x65, 0x72, 0xc3, 0x47, 0xb3, 0xb5,
|
0xae, 0xa0, 0x2f, 0x37, 0x5d, 0x3c, 0xfb, 0x7f, 0x99, 0xe4, 0x3d, 0xdc, 0xaf, 0x8c, 0xab, 0xb8,
|
||||||
0x55, 0x6c, 0x6b, 0xef, 0xaf, 0xb0, 0x32, 0xe1, 0xaf, 0xd0, 0xae, 0xe8, 0x08, 0x1e, 0x18, 0x5e,
|
0x64, 0x7c, 0x4b, 0x2e, 0x19, 0x7f, 0x00, 0x97, 0x8c, 0xfe, 0xde, 0x00, 0xfd, 0x2e, 0xc2, 0xaf,
|
||||||
0x15, 0xc7, 0x64, 0x3f, 0x5e, 0x69, 0x67, 0xc2, 0xe7, 0x00, 0x05, 0x3d, 0x61, 0xa7, 0xb4, 0x7c,
|
0x61, 0xab, 0x60, 0x71, 0xdc, 0x39, 0xd4, 0x6f, 0x27, 0xfb, 0x31, 0xe1, 0xf6, 0x2a, 0x50, 0x12,
|
||||||
0xc6, 0x90, 0x76, 0xb7, 0x4a, 0xcd, 0x84, 0xdf, 0xc0, 0xf6, 0x8c, 0x1f, 0xb0, 0x6d, 0x74, 0x62,
|
0xf8, 0x5c, 0xbe, 0x93, 0xca, 0x4c, 0x88, 0xbb, 0xb9, 0x6d, 0x15, 0x35, 0xbb, 0x7b, 0xd7, 0x68,
|
||||||
0x06, 0x2c, 0xf6, 0xde, 0xa2, 0x92, 0x09, 0xbf, 0x03, 0xcb, 0x00, 0x7c, 0xcc, 0xa3, 0x97, 0xb9,
|
0x49, 0xe0, 0x2f, 0xd0, 0xad, 0xe8, 0x08, 0xee, 0x5b, 0x5e, 0x15, 0xd7, 0xe4, 0x3e, 0xb8, 0x56,
|
||||||
0xc5, 0x7e, 0x58, 0xa9, 0xd7, 0x69, 0x67, 0x40, 0x57, 0xa4, 0x35, 0xf0, 0xb4, 0x48, 0x5b, 0xc2,
|
0x4f, 0x02, 0x9f, 0x00, 0x18, 0x2e, 0xc3, 0x5e, 0xc9, 0x3c, 0xa7, 0x53, 0xb7, 0x5f, 0x05, 0x93,
|
||||||
0xc3, 0x63, 0xb8, 0x97, 0x21, 0x14, 0x62, 0xb1, 0x20, 0x4f, 0xd7, 0x5e, 0xd0, 0x31, 0xa5, 0x23,
|
0xc0, 0xaf, 0x60, 0x33, 0x27, 0x13, 0xec, 0x5a, 0x9d, 0xc8, 0x17, 0x8f, 0xbb, 0xb3, 0x0c, 0x92,
|
||||||
0x90, 0x53, 0x43, 0x31, 0x02, 0x26, 0x37, 0xd9, 0x9d, 0x0a, 0x2d, 0x13, 0xbe, 0x80, 0x86, 0x89,
|
0xc0, 0x6f, 0xa0, 0x69, 0xb1, 0x03, 0x16, 0xa7, 0x97, 0x89, 0xc8, 0xbd, 0x5f, 0x89, 0xab, 0xb0,
|
||||||
0x45, 0x98, 0x57, 0x33, 0x07, 0x7d, 0x76, 0xaf, 0xda, 0xc0, 0x84, 0xe7, 0x80, 0x8b, 0x10, 0x81,
|
0xf9, 0xf2, 0x34, 0x61, 0xad, 0x8d, 0x6c, 0xc2, 0x96, 0x76, 0xec, 0x08, 0x36, 0xf4, 0x46, 0x43,
|
||||||
0xfb, 0x45, 0x5b, 0x2a, 0x50, 0xcd, 0x3e, 0x58, 0x65, 0x66, 0xc2, 0x9f, 0xa0, 0x35, 0x77, 0xd3,
|
0x34, 0x06, 0x45, 0xb8, 0xee, 0x12, 0x46, 0x22, 0x1b, 0x81, 0x82, 0x47, 0xcc, 0x08, 0xd8, 0x44,
|
||||||
0xd1, 0x9e, 0xb9, 0x2c, 0xc2, 0x8e, 0xfd, 0xc5, 0x52, 0x1b, 0x13, 0x9e, 0xc0, 0xae, 0xf9, 0x9a,
|
0xe6, 0xf6, 0x2a, 0x50, 0x12, 0x78, 0x04, 0x2d, 0x7b, 0x17, 0x61, 0x51, 0xcd, 0xc2, 0xea, 0x73,
|
||||||
0xe4, 0xa2, 0xc8, 0xb9, 0xf7, 0x6b, 0x51, 0xe4, 0xfc, 0xeb, 0x13, 0x7f, 0x30, 0xdf, 0x47, 0x8a,
|
0x9d, 0x6a, 0x05, 0x09, 0x7c, 0x01, 0xb8, 0xbc, 0x22, 0x70, 0xcf, 0xb4, 0xa5, 0x62, 0xab, 0xb9,
|
||||||
0x32, 0x3f, 0x5f, 0x9c, 0xb6, 0xec, 0xef, 0xc1, 0xb6, 0x97, 0x99, 0x98, 0x4e, 0x9e, 0xfc, 0xf1,
|
0xfb, 0xd7, 0xa9, 0x49, 0xe0, 0x8f, 0xd0, 0x59, 0xf8, 0xa7, 0xa3, 0x9b, 0xbb, 0x2c, 0xaf, 0x1d,
|
||||||
0x38, 0xfd, 0x35, 0xb9, 0x18, 0x9e, 0x1a, 0xff, 0x24, 0x7a, 0xf9, 0x73, 0xfd, 0xb9, 0xdc, 0x52,
|
0xf7, 0xd3, 0x95, 0x3a, 0x12, 0x78, 0x0c, 0xdb, 0xf6, 0xd3, 0x93, 0x4c, 0x91, 0x0b, 0x8f, 0x5d,
|
||||||
0xca, 0xaf, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xf3, 0x1f, 0x6f, 0xae, 0xe1, 0x0c, 0x00, 0x00,
|
0x53, 0xe4, 0xe2, 0x53, 0x15, 0xbf, 0xb7, 0x1f, 0x53, 0xf2, 0x2d, 0xf4, 0xc9, 0xf2, 0xb4, 0xe9,
|
||||||
|
0x4f, 0x0d, 0xd7, 0x5d, 0xa5, 0x22, 0x71, 0xfc, 0xd9, 0x6f, 0x0f, 0xb2, 0xef, 0x98, 0xb3, 0x93,
|
||||||
|
0x53, 0xeb, 0x03, 0x46, 0x99, 0x3f, 0x51, 0x3f, 0x6f, 0x1b, 0x12, 0xfc, 0xe2, 0x9f, 0x00, 0x00,
|
||||||
|
0x00, 0xff, 0xff, 0xdd, 0xee, 0xa4, 0x0d, 0x0e, 0x0d, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
@ -72,26 +72,28 @@ message getBlacksReq{
|
|||||||
server_api_params.RequestPagination pagination = 2;
|
server_api_params.RequestPagination pagination = 2;
|
||||||
}
|
}
|
||||||
message getBlacksResp{
|
message getBlacksResp{
|
||||||
repeated server_api_params.PublicUserInfo blackUsersInfo= 1;
|
repeated server_api_params.BlackInfo blacks= 1;
|
||||||
int32 total = 2;
|
int32 total = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message isFriendReq{
|
message isFriendReq{
|
||||||
string ownerUserID = 1;
|
string userID1 = 1;
|
||||||
string friendUserID = 2;
|
string userID2 = 2;
|
||||||
}
|
}
|
||||||
message isFriendResp{
|
message isFriendResp{
|
||||||
bool response = 1;
|
bool inUser1Friends = 1; //如果userID2在userID1的好友列表中 true
|
||||||
|
bool inUser2Friends = 2; //如果userID1在userID2的好友列表中 true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message isBlackReq{
|
message isBlackReq{
|
||||||
string ownerUserID = 1;
|
string userID1 = 1;
|
||||||
string blackUserID = 2;
|
string userID2 = 2;
|
||||||
}
|
}
|
||||||
message isBlackResp{
|
message isBlackResp{
|
||||||
bool response = 1;
|
bool inUser1Blacks = 1; //如果userID2在userID1的黑名单列表中 true
|
||||||
|
bool inUser2Blacks = 2; //如果userID1在userID2的黑名单列表中 true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ package group;
|
|||||||
|
|
||||||
|
|
||||||
message CreateGroupReq{
|
message CreateGroupReq{
|
||||||
repeated string initMemberList = 1;
|
repeated string initMembers = 1;
|
||||||
server_api_params.GroupInfo groupInfo = 2;
|
server_api_params.GroupInfo groupInfo = 2;
|
||||||
repeated string adminUserIDs = 3;
|
repeated string adminUserIDs = 3;
|
||||||
string ownerUserID = 4; //owner
|
string ownerUserID = 4; //owner
|
||||||
@ -105,7 +105,7 @@ message GetGroupMemberListResp {
|
|||||||
|
|
||||||
message GetGroupMembersInfoReq {
|
message GetGroupMembersInfoReq {
|
||||||
string groupID = 1;
|
string groupID = 1;
|
||||||
repeated string memberList = 2;
|
repeated string members = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetGroupMembersInfoResp {
|
message GetGroupMembersInfoResp {
|
||||||
@ -114,7 +114,7 @@ message GetGroupMembersInfoResp {
|
|||||||
|
|
||||||
message KickGroupMemberReq {
|
message KickGroupMemberReq {
|
||||||
string groupID = 1;
|
string groupID = 1;
|
||||||
repeated string kickedUserIDList = 2;
|
repeated string kickedUserIDs = 2;
|
||||||
string reason = 3;
|
string reason = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,134 +7,142 @@ package user;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
message GetAllUserIDReq{
|
message getAllUserIDReq{
|
||||||
server_api_params.RequestPagination pagination = 1;
|
server_api_params.RequestPagination pagination = 1;
|
||||||
}
|
}
|
||||||
message GetAllUserIDResp{
|
message getAllUserIDResp{
|
||||||
int32 total = 1;
|
int32 total = 1;
|
||||||
repeated string UserIDList = 2;
|
repeated string userIDList = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message AccountCheckReq{
|
message accountCheckReq{
|
||||||
repeated string checkUserIDs = 1;
|
repeated string checkUserIDs = 1;
|
||||||
}
|
}
|
||||||
message AccountCheckResp{
|
message accountCheckResp{
|
||||||
message SingleUserStatus {
|
message singleUserStatus {
|
||||||
string userID = 1;
|
string userID = 1;
|
||||||
string accountStatus = 2;
|
string accountStatus = 2;
|
||||||
}
|
}
|
||||||
repeated SingleUserStatus results = 1;
|
repeated singleUserStatus results = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message GetUsersInfoReq{
|
message getUsersInfoReq{
|
||||||
repeated string userIDs = 1;
|
repeated string userIDs = 1;
|
||||||
}
|
}
|
||||||
message GetUsersInfoResp{
|
message getUsersInfoResp{
|
||||||
repeated server_api_params.UserInfo usersInfo = 1;
|
repeated server_api_params.UserInfo usersInfo = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message UpdateUserInfoReq{
|
message updateUserInfoReq{
|
||||||
server_api_params.UserInfo userInfo = 1;
|
server_api_params.UserInfo userInfo = 1;
|
||||||
}
|
}
|
||||||
message UpdateUserInfoResp{
|
message updateUserInfoResp{
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetGlobalRecvMessageOptReq{
|
message setGlobalRecvMessageOptReq{
|
||||||
string userID = 1;
|
string userID = 1;
|
||||||
int32 globalRecvMsgOpt = 3;
|
int32 globalRecvMsgOpt = 3;
|
||||||
}
|
}
|
||||||
message SetGlobalRecvMessageOptResp{
|
message setGlobalRecvMessageOptResp{
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetConversationReq{
|
message setConversationReq{
|
||||||
conversation.Conversation Conversation = 1;
|
conversation.Conversation conversation = 1;
|
||||||
int32 notificationType = 2;
|
int32 notificationType = 2;
|
||||||
string OperationID = 3;
|
string operationID = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetConversationResp{
|
message setConversationResp{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetRecvMsgOptReq {
|
message setRecvMsgOptReq {
|
||||||
string OwnerUserID = 1;
|
string ownerUserID = 1;
|
||||||
string ConversationID = 2;
|
string conversationID = 2;
|
||||||
int32 RecvMsgOpt = 3;
|
int32 recvMsgOpt = 3;
|
||||||
int32 notificationType = 4;
|
int32 notificationType = 4;
|
||||||
string OperationID = 5;
|
string operationID = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message SetRecvMsgOptResp {
|
message setRecvMsgOptResp {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetConversationReq{
|
message getConversationReq{
|
||||||
string ConversationID = 1;
|
string conversationID = 1;
|
||||||
string OwnerUserID = 2;
|
string ownerUserID = 2;
|
||||||
string OperationID = 3;
|
string operationID = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetConversationResp{
|
message getConversationResp{
|
||||||
conversation.Conversation Conversation = 2;
|
conversation.Conversation conversation = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetConversationsReq{
|
message getConversationsReq{
|
||||||
string OwnerUserID = 1;
|
string ownerUserID = 1;
|
||||||
repeated string ConversationIDs = 2;
|
repeated string conversationIDs = 2;
|
||||||
string OperationID = 3;
|
string operationID = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetConversationsResp{
|
message getConversationsResp{
|
||||||
repeated conversation.Conversation Conversations = 2;
|
repeated conversation.Conversation conversations = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetAllConversationsReq{
|
message getAllConversationsReq{
|
||||||
string OwnerUserID = 1;
|
string ownerUserID = 1;
|
||||||
string OperationID = 2;
|
string operationID = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetAllConversationsResp{
|
message getAllConversationsResp{
|
||||||
repeated conversation.Conversation Conversations = 2;
|
repeated conversation.Conversation conversations = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message BatchSetConversationsReq{
|
message batchSetConversationsReq{
|
||||||
repeated conversation.Conversation Conversations = 1;
|
repeated conversation.Conversation conversations = 1;
|
||||||
string OwnerUserID = 2;
|
string OwnerUserID = 2;
|
||||||
int32 notificationType = 3;
|
int32 notificationType = 3;
|
||||||
string OperationID = 4;
|
string OperationID = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message BatchSetConversationsResp{
|
message batchSetConversationsResp{
|
||||||
repeated string Success = 2;
|
repeated string Success = 2;
|
||||||
repeated string Failed = 3;
|
repeated string Failed = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
message GetUsersReq {
|
message getUsersReq {
|
||||||
server_api_params.RequestPagination pagination = 2;
|
server_api_params.RequestPagination pagination = 2;
|
||||||
string userName = 3;
|
string userName = 3;
|
||||||
string userID = 4;
|
string userID = 4;
|
||||||
string content = 5;
|
string content = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GetUsersResp{
|
message getUsersResp{
|
||||||
int32 total = 1;
|
int32 total = 1;
|
||||||
repeated server_api_params.UserInfo users = 2;
|
repeated server_api_params.UserInfo users = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message UserRegisterReq {
|
||||||
|
repeated server_api_params.UserInfo users = 1;
|
||||||
|
}
|
||||||
|
message UserRegisterResp {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
service user {
|
service user {
|
||||||
//获取指定的用户信息 全字段
|
//获取指定的用户信息 全字段
|
||||||
rpc GetUsersInfo(GetUsersInfoReq) returns(GetUsersInfoResp);
|
rpc getUsersInfo(getUsersInfoReq) returns(getUsersInfoResp);
|
||||||
//更新用户信息
|
//更新用户信息
|
||||||
rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp);
|
rpc updateUserInfo(updateUserInfoReq) returns(updateUserInfoResp);
|
||||||
//设置用户消息接收选项
|
//设置用户消息接收选项
|
||||||
rpc SetGlobalRecvMessageOpt(SetGlobalRecvMessageOptReq) returns(SetGlobalRecvMessageOptResp);
|
rpc setGlobalRecvMessageOpt(setGlobalRecvMessageOptReq) returns(setGlobalRecvMessageOptResp);
|
||||||
//检查userID是否存在
|
//检查userID是否存在
|
||||||
rpc AccountCheck(AccountCheckReq)returns(AccountCheckResp);
|
rpc accountCheck(accountCheckReq)returns(accountCheckResp);
|
||||||
//翻页(或指定userID,昵称)拉取用户信息 全字段
|
//翻页(或指定userID,昵称)拉取用户信息 全字段
|
||||||
rpc GetUsers(GetUsersReq) returns (GetUsersResp);
|
rpc getUsers(getUsersReq) returns (getUsersResp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user