fix: discov update.

pull/2100/head
Gordon 2 years ago
parent 1f6f8964dd
commit 013ae16e62

@ -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
}

@ -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

@ -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"))
}

@ -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)
}

@ -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)

@ -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
}

Loading…
Cancel
Save