mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-27 03:58:55 +08:00
Merge remote-tracking branch 'origin/errcode' into errcode
This commit is contained in:
commit
5d66ff951c
@ -5,11 +5,10 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Access(ctx context.Context, ownerUserID string) (err error) {
|
func (u *UserCheck) Access(ctx context.Context, ownerUserID string) (err error) {
|
||||||
_, err = GetUsersInfo(ctx, ownerUserID)
|
_, err = u.GetUsersInfo(ctx, ownerUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return tokenverify.CheckAccessV3(ctx, ownerUserID)
|
return tokenverify.CheckAccessV3(ctx, ownerUserID)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,15 +1,31 @@
|
|||||||
package check
|
package check
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/pkg/common/config"
|
||||||
discoveryRegistry "Open_IM/pkg/discoveryregistry"
|
discoveryRegistry "Open_IM/pkg/discoveryregistry"
|
||||||
|
"Open_IM/pkg/proto/conversation"
|
||||||
pbConversation "Open_IM/pkg/proto/conversation"
|
pbConversation "Open_IM/pkg/proto/conversation"
|
||||||
"context"
|
"context"
|
||||||
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ConversationChecker struct {
|
type ConversationChecker struct {
|
||||||
zk discoveryRegistry.SvcDiscoveryRegistry
|
zk discoveryRegistry.SvcDiscoveryRegistry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewConversationChecker(zk discoveryRegistry.SvcDiscoveryRegistry) *ConversationChecker {
|
||||||
|
return &ConversationChecker{zk: zk}
|
||||||
|
}
|
||||||
|
|
||||||
func (c *ConversationChecker) ModifyConversationField(ctx context.Context, req *pbConversation.ModifyConversationFieldReq) (resp *pbConversation.ModifyConversationFieldResp, err error) {
|
func (c *ConversationChecker) ModifyConversationField(ctx context.Context, req *pbConversation.ModifyConversationFieldReq) (resp *pbConversation.ModifyConversationFieldResp, err error) {
|
||||||
|
cc, err := c.getConn()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp, err = conversation.NewConversationClient(cc).ModifyConversationField(ctx, req)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *ConversationChecker) getConn() (*grpc.ClientConn, error) {
|
||||||
|
return c.zk.GetConn(config.Config.RpcRegisterName.OpenImConversationName)
|
||||||
|
}
|
||||||
|
@ -1,11 +1,36 @@
|
|||||||
package check
|
package check
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"Open_IM/pkg/common/config"
|
||||||
|
discoveryRegistry "Open_IM/pkg/discoveryregistry"
|
||||||
|
"Open_IM/pkg/proto/friend"
|
||||||
sdkws "Open_IM/pkg/proto/sdkws"
|
sdkws "Open_IM/pkg/proto/sdkws"
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetFriendsInfo(ctx context.Context, ownerUserID, friendUserID string) (*sdkws.FriendInfo, error) {
|
type FriendChecker struct {
|
||||||
return nil, errors.New("TODO:GetUserInfo")
|
zk discoveryRegistry.SvcDiscoveryRegistry
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewFriendChecker(zk discoveryRegistry.SvcDiscoveryRegistry) *FriendChecker {
|
||||||
|
return &FriendChecker{
|
||||||
|
zk: zk,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *FriendChecker) GetFriendsInfo(ctx context.Context, ownerUserID, friendUserID string) (resp *sdkws.FriendInfo, err error) {
|
||||||
|
cc, err := f.getConn()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
r, err := friend.NewFriendClient(cc).GetPaginationFriends(ctx, &friend.GetPaginationFriendsReq{OwnerUserID: ownerUserID, FriendUserIDs: []string{friendUserID}})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
resp = r.FriendsInfo[0]
|
||||||
|
return
|
||||||
|
}
|
||||||
|
func (f *FriendChecker) getConn() (*grpc.ClientConn, error) {
|
||||||
|
return f.zk.GetConn(config.Config.RpcRegisterName.OpenImFriendName)
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,10 @@ type MsgCheck struct {
|
|||||||
zk discoveryRegistry.SvcDiscoveryRegistry
|
zk discoveryRegistry.SvcDiscoveryRegistry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewMsgCheck(zk discoveryRegistry.SvcDiscoveryRegistry) *MsgCheck {
|
||||||
|
return &MsgCheck{zk: zk}
|
||||||
|
}
|
||||||
|
|
||||||
func (m *MsgCheck) getConn() (*grpc.ClientConn, error) {
|
func (m *MsgCheck) getConn() (*grpc.ClientConn, error) {
|
||||||
return m.zk.GetConn(config.Config.RpcRegisterName.OpenImMsgName)
|
return m.zk.GetConn(config.Config.RpcRegisterName.OpenImMsgName)
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
"Open_IM/pkg/common/tracelog"
|
"Open_IM/pkg/common/tracelog"
|
||||||
|
discoveryRegistry "Open_IM/pkg/discoveryregistry"
|
||||||
"Open_IM/pkg/proto/msg"
|
"Open_IM/pkg/proto/msg"
|
||||||
"Open_IM/pkg/proto/sdkws"
|
"Open_IM/pkg/proto/sdkws"
|
||||||
utils2 "Open_IM/pkg/utils"
|
utils2 "Open_IM/pkg/utils"
|
||||||
@ -16,6 +17,18 @@ type Check struct {
|
|||||||
user *check.UserCheck
|
user *check.UserCheck
|
||||||
group *check.GroupChecker
|
group *check.GroupChecker
|
||||||
msg *check.MsgCheck
|
msg *check.MsgCheck
|
||||||
|
friend *check.FriendChecker
|
||||||
|
conversation *check.ConversationChecker
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewCheck(zk discoveryRegistry.SvcDiscoveryRegistry) *Check {
|
||||||
|
return &Check{
|
||||||
|
user: check.NewUserCheck(zk),
|
||||||
|
group: check.NewGroupChecker(zk),
|
||||||
|
msg: check.NewMsgCheck(zk),
|
||||||
|
friend: check.NewFriendChecker(zk),
|
||||||
|
conversation: check.NewConversationChecker(zk),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type NotificationMsg struct {
|
type NotificationMsg struct {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package notification
|
package notification
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/internal/common/check"
|
|
||||||
"Open_IM/pkg/common/config"
|
"Open_IM/pkg/common/config"
|
||||||
"Open_IM/pkg/common/constant"
|
"Open_IM/pkg/common/constant"
|
||||||
pbFriend "Open_IM/pkg/proto/friend"
|
pbFriend "Open_IM/pkg/proto/friend"
|
||||||
@ -112,7 +111,7 @@ func (c *Check) FriendAddedNotification(ctx context.Context, operationID, opUser
|
|||||||
friendAddedTips.OpUser.Nickname = user[0].Nickname
|
friendAddedTips.OpUser.Nickname = user[0].Nickname
|
||||||
friendAddedTips.OpUser.FaceURL = user[0].FaceURL
|
friendAddedTips.OpUser.FaceURL = user[0].FaceURL
|
||||||
|
|
||||||
friend, err := check.GetFriendsInfo(ctx, fromUserID, toUserID)
|
friend, err := c.friend.GetFriendsInfo(ctx, fromUserID, toUserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ func (s *rpcAuth) Run() {
|
|||||||
|
|
||||||
func (s *rpcAuth) UserToken(ctx context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) {
|
func (s *rpcAuth) UserToken(ctx context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) {
|
||||||
resp := pbAuth.UserTokenResp{}
|
resp := pbAuth.UserTokenResp{}
|
||||||
if _, err := check.GetUsersInfo(ctx, req.UserID); err != nil {
|
if _, err := s.userCheck.GetUsersInfo(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
token, err := s.CreateToken(ctx, req.UserID, constant.PlatformIDToName(int(req.PlatformID)))
|
token, err := s.CreateToken(ctx, req.UserID, constant.PlatformIDToName(int(req.PlatformID)))
|
||||||
@ -143,4 +143,5 @@ func (s *rpcAuth) forceKickOff(ctx context.Context, userID string, platformID in
|
|||||||
type rpcAuth struct {
|
type rpcAuth struct {
|
||||||
*rpcserver.RpcServer
|
*rpcserver.RpcServer
|
||||||
controller.AuthInterface
|
controller.AuthInterface
|
||||||
|
userCheck *check.UserCheck
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package friend
|
package friend
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/internal/common/check"
|
|
||||||
"Open_IM/internal/common/convert"
|
"Open_IM/internal/common/convert"
|
||||||
"Open_IM/pkg/common/db/table/relation"
|
"Open_IM/pkg/common/db/table/relation"
|
||||||
"Open_IM/pkg/common/tokenverify"
|
"Open_IM/pkg/common/tokenverify"
|
||||||
@ -12,7 +11,7 @@ import (
|
|||||||
|
|
||||||
func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.GetPaginationBlacksReq) (resp *pbFriend.GetPaginationBlacksResp, err error) {
|
func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.GetPaginationBlacksReq) (resp *pbFriend.GetPaginationBlacksResp, err error) {
|
||||||
resp = &pbFriend.GetPaginationBlacksResp{}
|
resp = &pbFriend.GetPaginationBlacksResp{}
|
||||||
if err := check.Access(ctx, req.UserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
blacks, total, err := s.BlackInterface.FindOwnerBlacks(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
blacks, total, err := s.BlackInterface.FindOwnerBlacks(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
@ -40,7 +39,7 @@ func (s *friendServer) IsBlack(ctx context.Context, req *pbFriend.IsBlackReq) (*
|
|||||||
|
|
||||||
func (s *friendServer) RemoveBlack(ctx context.Context, req *pbFriend.RemoveBlackReq) (*pbFriend.RemoveBlackResp, error) {
|
func (s *friendServer) RemoveBlack(ctx context.Context, req *pbFriend.RemoveBlackReq) (*pbFriend.RemoveBlackResp, error) {
|
||||||
resp := &pbFriend.RemoveBlackResp{}
|
resp := &pbFriend.RemoveBlackResp{}
|
||||||
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if err := s.BlackInterface.Delete(ctx, []*relation.BlackModel{{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID}}); err != nil {
|
if err := s.BlackInterface.Delete(ctx, []*relation.BlackModel{{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID}}); err != nil {
|
||||||
|
@ -150,7 +150,7 @@ func (s *friendServer) ImportFriends(ctx context.Context, req *pbFriend.ImportFr
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (resp *pbFriend.RespondFriendApplyResp, err error) {
|
func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.RespondFriendApplyReq) (resp *pbFriend.RespondFriendApplyResp, err error) {
|
||||||
resp = &pbFriend.RespondFriendApplyResp{}
|
resp = &pbFriend.RespondFriendApplyResp{}
|
||||||
if err := check.Access(ctx, req.ToUserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.ToUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
friendRequest := relationTb.FriendRequestModel{FromUserID: req.FromUserID, ToUserID: req.ToUserID, HandleMsg: req.HandleMsg, HandleResult: req.HandleResult}
|
friendRequest := relationTb.FriendRequestModel{FromUserID: req.FromUserID, ToUserID: req.ToUserID, HandleMsg: req.HandleMsg, HandleResult: req.HandleResult}
|
||||||
@ -176,7 +176,7 @@ func (s *friendServer) RespondFriendApply(ctx context.Context, req *pbFriend.Res
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (resp *pbFriend.DeleteFriendResp, err error) {
|
func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFriendReq) (resp *pbFriend.DeleteFriendResp, err error) {
|
||||||
resp = &pbFriend.DeleteFriendResp{}
|
resp = &pbFriend.DeleteFriendResp{}
|
||||||
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
_, err = s.FindFriendsWithError(ctx, req.OwnerUserID, []string{req.FriendUserID})
|
_, err = s.FindFriendsWithError(ctx, req.OwnerUserID, []string{req.FriendUserID})
|
||||||
@ -193,7 +193,7 @@ func (s *friendServer) DeleteFriend(ctx context.Context, req *pbFriend.DeleteFri
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (resp *pbFriend.SetFriendRemarkResp, err error) {
|
func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFriendRemarkReq) (resp *pbFriend.SetFriendRemarkResp, err error) {
|
||||||
resp = &pbFriend.SetFriendRemarkResp{}
|
resp = &pbFriend.SetFriendRemarkResp{}
|
||||||
if err := check.Access(ctx, req.OwnerUserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.OwnerUserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
_, err = s.FindFriendsWithError(ctx, req.OwnerUserID, []string{req.FriendUserID})
|
_, err = s.FindFriendsWithError(ctx, req.OwnerUserID, []string{req.FriendUserID})
|
||||||
@ -210,7 +210,7 @@ func (s *friendServer) SetFriendRemark(ctx context.Context, req *pbFriend.SetFri
|
|||||||
// ok
|
// ok
|
||||||
func (s *friendServer) GetDesignatedFriends(ctx context.Context, req *pbFriend.GetDesignatedFriendsReq) (resp *pbFriend.GetDesignatedFriendsResp, err error) {
|
func (s *friendServer) GetDesignatedFriends(ctx context.Context, req *pbFriend.GetDesignatedFriendsReq) (resp *pbFriend.GetDesignatedFriendsResp, err error) {
|
||||||
resp = &pbFriend.GetDesignatedFriendsResp{}
|
resp = &pbFriend.GetDesignatedFriendsResp{}
|
||||||
if err := check.Access(ctx, req.UserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
friends, total, err := s.FriendInterface.PageOwnerFriends(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
friends, total, err := s.FriendInterface.PageOwnerFriends(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
@ -228,7 +228,7 @@ func (s *friendServer) GetDesignatedFriends(ctx context.Context, req *pbFriend.G
|
|||||||
// ok 获取接收到的好友申请(即别人主动申请的)
|
// ok 获取接收到的好友申请(即别人主动申请的)
|
||||||
func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyToReq) (resp *pbFriend.GetPaginationFriendsApplyToResp, err error) {
|
func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyToReq) (resp *pbFriend.GetPaginationFriendsApplyToResp, err error) {
|
||||||
resp = &pbFriend.GetPaginationFriendsApplyToResp{}
|
resp = &pbFriend.GetPaginationFriendsApplyToResp{}
|
||||||
if err := check.Access(ctx, req.UserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
friendRequests, total, err := s.FriendInterface.PageFriendRequestToMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
friendRequests, total, err := s.FriendInterface.PageFriendRequestToMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
@ -246,7 +246,7 @@ func (s *friendServer) GetPaginationFriendsApplyTo(ctx context.Context, req *pbF
|
|||||||
// ok 获取主动发出去的好友申请列表
|
// ok 获取主动发出去的好友申请列表
|
||||||
func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyFromReq) (resp *pbFriend.GetPaginationFriendsApplyFromResp, err error) {
|
func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *pbFriend.GetPaginationFriendsApplyFromReq) (resp *pbFriend.GetPaginationFriendsApplyFromResp, err error) {
|
||||||
resp = &pbFriend.GetPaginationFriendsApplyFromResp{}
|
resp = &pbFriend.GetPaginationFriendsApplyFromResp{}
|
||||||
if err := check.Access(ctx, req.UserID); err != nil {
|
if err := s.userCheck.Access(ctx, req.UserID); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
friendRequests, total, err := s.FriendInterface.PageFriendRequestFromMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
friendRequests, total, err := s.FriendInterface.PageFriendRequestFromMe(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user