From 013ae16e62bf8c72c85c5023e8c22ca0affde09c Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Tue, 26 Mar 2024 20:34:10 +0800 Subject: [PATCH] fix: discov update. --- pkg/authverify/token.go | 32 +++++++++++++++--------------- pkg/callbackstruct/common.go | 7 +++++-- pkg/common/cmd/rpc.go | 6 +++--- pkg/common/config/config.go | 8 ++++---- pkg/common/convert/conversation.go | 10 +++++----- pkg/common/convert/friend.go | 11 +++++----- 6 files changed, 39 insertions(+), 35 deletions(-) diff --git a/pkg/authverify/token.go b/pkg/authverify/token.go index 181e3310d..e545cda64 100644 --- a/pkg/authverify/token.go +++ b/pkg/authverify/token.go @@ -17,13 +17,13 @@ package authverify import ( "context" "fmt" + "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" + "github.com/openimsdk/tools/utils/datautil" "github.com/golang-jwt/jwt/v4" "github.com/openimsdk/open-im-server/v3/pkg/common/config" - "github.com/openimsdk/tools/errs" "github.com/openimsdk/tools/mcontext" "github.com/openimsdk/tools/tokenverify" - "github.com/openimsdk/tools/utils" ) func Secret(secret string) jwt.Keyfunc { @@ -34,41 +34,41 @@ func Secret(secret string) jwt.Keyfunc { func CheckAccessV3(ctx context.Context, ownerUserID string, manager *config.Manager, imAdmin *config.IMAdmin) (err error) { opUserID := mcontext.GetOpUserID(ctx) - if len(manager.UserID) > 0 && utils.Contain(opUserID, manager.UserID...) { + if len(manager.UserID) > 0 && datautil.Contain(opUserID, manager.UserID...) { return nil } - if utils.Contain(opUserID, imAdmin.UserID...) { + if datautil.Contain(opUserID, imAdmin.UserID...) { return nil } if opUserID == ownerUserID { return nil } - return errs.ErrNoPermission.WrapMsg("ownerUserID", ownerUserID) + return servererrs.ErrNoPermission.WrapMsg("ownerUserID", ownerUserID) } func IsAppManagerUid(ctx context.Context, manager *config.Manager, imAdmin *config.IMAdmin) bool { - return (len(manager.UserID) > 0 && utils.Contain(mcontext.GetOpUserID(ctx), manager.UserID...)) || - utils.Contain(mcontext.GetOpUserID(ctx), imAdmin.UserID...) + return (len(manager.UserID) > 0 && datautil.Contain(mcontext.GetOpUserID(ctx), manager.UserID...)) || + datautil.Contain(mcontext.GetOpUserID(ctx), imAdmin.UserID...) } func CheckAdmin(ctx context.Context, manager *config.Manager, imAdmin *config.IMAdmin) error { - if len(manager.UserID) > 0 && utils.Contain(mcontext.GetOpUserID(ctx), manager.UserID...) { + if len(manager.UserID) > 0 && datautil.Contain(mcontext.GetOpUserID(ctx), manager.UserID...) { return nil } - if utils.Contain(mcontext.GetOpUserID(ctx), imAdmin.UserID...) { + if datautil.Contain(mcontext.GetOpUserID(ctx), imAdmin.UserID...) { return nil } - return errs.ErrNoPermission.WrapMsg(fmt.Sprintf("user %s is not admin userID", mcontext.GetOpUserID(ctx))) + return servererrs.ErrNoPermission.WrapMsg(fmt.Sprintf("user %s is not admin userID", mcontext.GetOpUserID(ctx))) } func CheckIMAdmin(ctx context.Context, config *config.GlobalConfig) error { - if utils.Contain(mcontext.GetOpUserID(ctx), config.IMAdmin.UserID...) { + if datautil.Contain(mcontext.GetOpUserID(ctx), config.IMAdmin.UserID...) { return nil } - if len(config.Manager.UserID) > 0 && utils.Contain(mcontext.GetOpUserID(ctx), config.Manager.UserID...) { + if len(config.Manager.UserID) > 0 && datautil.Contain(mcontext.GetOpUserID(ctx), config.Manager.UserID...) { return nil } - return errs.ErrNoPermission.WrapMsg(fmt.Sprintf("user %s is not CheckIMAdmin userID", mcontext.GetOpUserID(ctx))) + return servererrs.ErrNoPermission.WrapMsg(fmt.Sprintf("user %s is not CheckIMAdmin userID", mcontext.GetOpUserID(ctx))) } func ParseRedisInterfaceToken(redisToken any, secret string) (*tokenverify.Claims, error) { @@ -76,7 +76,7 @@ func ParseRedisInterfaceToken(redisToken any, secret string) (*tokenverify.Claim } func IsManagerUserID(opUserID string, manager *config.Manager, imAdmin *config.IMAdmin) bool { - return (len(manager.UserID) > 0 && utils.Contain(opUserID, manager.UserID...)) || utils.Contain(opUserID, imAdmin.UserID...) + return (len(manager.UserID) > 0 && datautil.Contain(opUserID, manager.UserID...)) || datautil.Contain(opUserID, imAdmin.UserID...) } func WsVerifyToken(token, userID, secret string, platformID int) error { @@ -85,10 +85,10 @@ func WsVerifyToken(token, userID, secret string, platformID int) error { return err } if claim.UserID != userID { - return errs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token uid %s != userID %s", claim.UserID, userID)) + return servererrs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token uid %s != userID %s", claim.UserID, userID)) } if claim.PlatformID != platformID { - return errs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token platform %d != %d", claim.PlatformID, platformID)) + return servererrs.ErrTokenInvalid.WrapMsg(fmt.Sprintf("token platform %d != %d", claim.PlatformID, platformID)) } return nil } diff --git a/pkg/callbackstruct/common.go b/pkg/callbackstruct/common.go index b4c68d1e5..1adb0112b 100644 --- a/pkg/callbackstruct/common.go +++ b/pkg/callbackstruct/common.go @@ -14,7 +14,10 @@ package callbackstruct -import "github.com/openimsdk/tools/errs" +import ( + "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" + "github.com/openimsdk/tools/errs" +) const ( Next = 1 @@ -61,7 +64,7 @@ type CommonCallbackResp struct { } func (c CommonCallbackResp) Parse() error { - if c.ActionCode != errs.NoError || c.NextCode == Next { + if c.ActionCode != servererrs.NoError || c.NextCode == Next { return errs.NewCodeError(int(c.ErrCode), c.ErrMsg).WithDetail(c.ErrDlt) } return nil diff --git a/pkg/common/cmd/rpc.go b/pkg/common/cmd/rpc.go index 2f85fc636..577070d12 100644 --- a/pkg/common/cmd/rpc.go +++ b/pkg/common/cmd/rpc.go @@ -22,13 +22,13 @@ import ( "github.com/openimsdk/open-im-server/v3/pkg/common/startrpc" "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" "github.com/openimsdk/protocol/constant" - "github.com/openimsdk/tools/discoveryregistry" + "github.com/openimsdk/tools/discovery" "github.com/openimsdk/tools/errs" "github.com/spf13/cobra" "google.golang.org/grpc" ) -type rpcInitFuc func(ctx context.Context, config *config2.GlobalConfig, disCov discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error +type rpcInitFuc func(ctx context.Context, config *config2.GlobalConfig, disCov discovery.SvcDiscoveryRegistry, server *grpc.Server) error type RpcCmd struct { *RootCmd @@ -68,7 +68,7 @@ func (a *RpcCmd) Exec() error { return a.Execute() } -func (a *RpcCmd) StartSvr(name string, rpcFn func(ctx context.Context, config *config2.GlobalConfig, disCov discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error { +func (a *RpcCmd) StartSvr(name string, rpcFn func(ctx context.Context, config *config2.GlobalConfig, disCov discovery.SvcDiscoveryRegistry, server *grpc.Server) error) error { if a.GetPortFlag() == 0 { return errs.Wrap(errors.New("port is required")) } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 42aea0c5f..daf6c6446 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -16,12 +16,12 @@ package config import ( "bytes" - "github.com/openimsdk/tools/db/kafka" + "github.com/openimsdk/tools/mq/kafka" "gopkg.in/yaml.v3" "time" util "github.com/openimsdk/open-im-server/v3/pkg/util/genutil" - "github.com/openimsdk/tools/discoveryregistry" + "github.com/openimsdk/tools/discovery" ) var Config GlobalConfig @@ -460,7 +460,7 @@ func (c *GlobalConfig) GetServiceNames() []string { } } -func (c *GlobalConfig) RegisterConf2Registry(registry discoveryregistry.SvcDiscoveryRegistry) error { +func (c *GlobalConfig) RegisterConf2Registry(registry discovery.SvcDiscoveryRegistry) error { data, err := yaml.Marshal(c) if err != nil { return err @@ -468,7 +468,7 @@ func (c *GlobalConfig) RegisterConf2Registry(registry discoveryregistry.SvcDisco return registry.RegisterConf2Registry(ConfKey, data) } -func (c *GlobalConfig) GetConfFromRegistry(registry discoveryregistry.SvcDiscoveryRegistry) ([]byte, error) { +func (c *GlobalConfig) GetConfFromRegistry(registry discovery.SvcDiscoveryRegistry) ([]byte, error) { return registry.GetConfFromRegistry(ConfKey) } diff --git a/pkg/common/convert/conversation.go b/pkg/common/convert/conversation.go index 5a6307733..510f40d70 100644 --- a/pkg/common/convert/conversation.go +++ b/pkg/common/convert/conversation.go @@ -17,13 +17,13 @@ package convert import ( "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" "github.com/openimsdk/protocol/conversation" - "github.com/openimsdk/tools/utils" + "github.com/openimsdk/tools/utils/datautil" ) func ConversationDB2Pb(conversationDB *relation.ConversationModel) *conversation.Conversation { conversationPB := &conversation.Conversation{} conversationPB.LatestMsgDestructTime = conversationDB.LatestMsgDestructTime.Unix() - if err := utils.CopyStructFields(conversationPB, conversationDB); err != nil { + if err := datautil.CopyStructFields(conversationPB, conversationDB); err != nil { return nil } return conversationPB @@ -32,7 +32,7 @@ func ConversationDB2Pb(conversationDB *relation.ConversationModel) *conversation func ConversationsDB2Pb(conversationsDB []*relation.ConversationModel) (conversationsPB []*conversation.Conversation) { for _, conversationDB := range conversationsDB { conversationPB := &conversation.Conversation{} - if err := utils.CopyStructFields(conversationPB, conversationDB); err != nil { + if err := datautil.CopyStructFields(conversationPB, conversationDB); err != nil { continue } conversationPB.LatestMsgDestructTime = conversationDB.LatestMsgDestructTime.Unix() @@ -43,7 +43,7 @@ func ConversationsDB2Pb(conversationsDB []*relation.ConversationModel) (conversa func ConversationPb2DB(conversationPB *conversation.Conversation) *relation.ConversationModel { conversationDB := &relation.ConversationModel{} - if err := utils.CopyStructFields(conversationDB, conversationPB); err != nil { + if err := datautil.CopyStructFields(conversationDB, conversationPB); err != nil { return nil } return conversationDB @@ -52,7 +52,7 @@ func ConversationPb2DB(conversationPB *conversation.Conversation) *relation.Conv func ConversationsPb2DB(conversationsPB []*conversation.Conversation) (conversationsDB []*relation.ConversationModel) { for _, conversationPB := range conversationsPB { conversationDB := &relation.ConversationModel{} - if err := utils.CopyStructFields(conversationDB, conversationPB); err != nil { + if err := datautil.CopyStructFields(conversationDB, conversationPB); err != nil { continue } conversationsDB = append(conversationsDB, conversationDB) diff --git a/pkg/common/convert/friend.go b/pkg/common/convert/friend.go index e194b1488..a227c5a57 100644 --- a/pkg/common/convert/friend.go +++ b/pkg/common/convert/friend.go @@ -17,20 +17,21 @@ package convert import ( "context" "fmt" + "github.com/openimsdk/tools/utils/datautil" + "github.com/openimsdk/tools/utils/timeutil" "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" "github.com/openimsdk/protocol/sdkws" - "github.com/openimsdk/tools/utils" ) func FriendPb2DB(friend *sdkws.FriendInfo) *relation.FriendModel { dbFriend := &relation.FriendModel{} - err := utils.CopyStructFields(dbFriend, friend) + err := datautil.CopyStructFields(dbFriend, friend) if err != nil { return nil } dbFriend.FriendUserID = friend.FriendUser.UserID - dbFriend.CreateTime = utils.UnixSecondToTime(friend.CreateTime) + dbFriend.CreateTime = timeutil.UnixSecondToTime(friend.CreateTime) return dbFriend } @@ -71,7 +72,7 @@ func FriendsDB2Pb( } for _, friend := range friendsDB { friendPb := &sdkws.FriendInfo{FriendUser: &sdkws.UserInfo{}} - err := utils.CopyStructFields(friendPb, friend) + err := datautil.CopyStructFields(friendPb, friend) if err != nil { return nil, err } @@ -97,7 +98,7 @@ func FriendRequestDB2Pb(ctx context.Context, friendRequests []*relation.FriendRe userIDMap[friendRequest.ToUserID] = struct{}{} userIDMap[friendRequest.FromUserID] = struct{}{} } - users, err := getUsers(ctx, utils.Keys(userIDMap)) + users, err := getUsers(ctx, datautil.Keys(userIDMap)) if err != nil { return nil, err }