From 5824d1779799fad36db31a5b788b7141fd84c8b1 Mon Sep 17 00:00:00 2001 From: Gordon <46924906+FGadvancer@users.noreply.github.com> Date: Wed, 10 Apr 2024 12:06:07 +0800 Subject: [PATCH] refactor: all module update. --- internal/api/group.go | 8 -------- internal/api/route.go | 5 ----- internal/rpc/group/group.go | 4 ++-- .../rpc/group/notification.go | 16 ++++++++-------- .../msg.go => internal/rpc/msg/notification.go | 7 +++---- .../user.go => internal/rpc/user/notification.go | 12 ++++++------ internal/rpc/user/user.go | 4 ++-- internal/tools/msg.go | 6 +++--- 8 files changed, 24 insertions(+), 38 deletions(-) rename pkg/rpcclient/notification/group.go => internal/rpc/group/notification.go (97%) rename pkg/rpcclient/notification/msg.go => internal/rpc/msg/notification.go (87%) rename pkg/rpcclient/notification/user.go => internal/rpc/user/notification.go (87%) diff --git a/internal/api/group.go b/internal/api/group.go index de852f195..6079c5343 100644 --- a/internal/api/group.go +++ b/internal/api/group.go @@ -123,14 +123,6 @@ func (o *GroupApi) GetGroupAbstractInfo(c *gin.Context) { // a2r.Call(group.GroupClient.GetGroupAllMember, g.userClient, c) //} -func (o *GroupApi) GetJoinedSuperGroupList(c *gin.Context) { - a2r.Call(group.GroupClient.GetJoinedSuperGroupList, o.Client, c) -} - -func (o *GroupApi) GetSuperGroupsInfo(c *gin.Context) { - a2r.Call(group.GroupClient.GetSuperGroupsInfo, o.Client, c) -} - func (o *GroupApi) GroupCreateCount(c *gin.Context) { a2r.Call(group.GroupClient.GroupCreateCount, o.Client, c) } diff --git a/internal/api/route.go b/internal/api/route.go index 2fc2b18d0..677a828d2 100644 --- a/internal/api/route.go +++ b/internal/api/route.go @@ -236,11 +236,6 @@ func newGinRouter(disCov discovery.SvcDiscoveryRegistry, rdb redis.UniversalClie groupRouterGroup.POST("/get_groups", g.GetGroups) groupRouterGroup.POST("/get_group_member_user_id", g.GetGroupMemberUserIDs) } - superGroupRouterGroup := r.Group("/super_group", ParseToken) - { - superGroupRouterGroup.POST("/get_joined_group_list", g.GetJoinedSuperGroupList) - superGroupRouterGroup.POST("/get_groups_info", g.GetSuperGroupsInfo) - } // certificate authRouterGroup := r.Group("/auth") { diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index b80a2cfca..b5305378a 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -56,7 +56,7 @@ import ( type groupServer struct { db controller.GroupDatabase user rpcclient.UserRpcClient - notification *notification.GroupNotificationSender + notification *GroupNotificationSender conversationRpcClient rpcclient.ConversationRpcClient msgRpcClient rpcclient.MessageRpcClient config *Config @@ -101,7 +101,7 @@ func Start(ctx context.Context, config *Config, client discovery.SvcDiscoveryReg database := controller.NewGroupDatabase(rdb, &config.LocalCacheConfig, groupDB, groupMemberDB, groupRequestDB, mgocli.GetTx(), grouphash.NewGroupHashFromGroupServer(&gs)) gs.db = database gs.user = userRpcClient - gs.notification = notification.NewGroupNotificationSender(database, &msgRpcClient, &userRpcClient, config, func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) { + gs.notification = NewGroupNotificationSender(database, &msgRpcClient, &userRpcClient, config, func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) { users, err := userRpcClient.GetUsersInfo(ctx, userIDs) if err != nil { return nil, err diff --git a/pkg/rpcclient/notification/group.go b/internal/rpc/group/notification.go similarity index 97% rename from pkg/rpcclient/notification/group.go rename to internal/rpc/group/notification.go index 8cb3cf97c..97a08310e 100644 --- a/pkg/rpcclient/notification/group.go +++ b/internal/rpc/group/notification.go @@ -12,14 +12,14 @@ // See the License for the specific language governing permissions and // limitations under the License. -package notification +package group import ( "context" "fmt" + "github.com/openimsdk/open-im-server/v3/pkg/rpcclient/notification" "github.com/openimsdk/open-im-server/v3/pkg/authverify" - "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/db/controller" "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" "github.com/openimsdk/open-im-server/v3/pkg/common/servererrs" @@ -34,9 +34,9 @@ import ( "github.com/openimsdk/tools/utils/stringutil" ) -func NewGroupNotificationSender(db controller.GroupDatabase, msgRpcClient *rpcclient.MessageRpcClient, userRpcClient *rpcclient.UserRpcClient, config *config.GlobalConfig, fn func(ctx context.Context, userIDs []string) ([]CommonUser, error)) *GroupNotificationSender { +func NewGroupNotificationSender(db controller.GroupDatabase, msgRpcClient *rpcclient.MessageRpcClient, userRpcClient *rpcclient.UserRpcClient, config *Config, fn func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error)) *GroupNotificationSender { return &GroupNotificationSender{ - NotificationSender: rpcclient.NewNotificationSender(&config.Notification, rpcclient.WithRpcClient(msgRpcClient), rpcclient.WithUserRpcClient(userRpcClient)), + NotificationSender: rpcclient.NewNotificationSender(&config.NotificationConfig, rpcclient.WithRpcClient(msgRpcClient), rpcclient.WithUserRpcClient(userRpcClient)), getUsersInfo: fn, db: db, config: config, @@ -45,9 +45,9 @@ func NewGroupNotificationSender(db controller.GroupDatabase, msgRpcClient *rpccl type GroupNotificationSender struct { *rpcclient.NotificationSender - getUsersInfo func(ctx context.Context, userIDs []string) ([]CommonUser, error) + getUsersInfo func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) db controller.GroupDatabase - config *config.GlobalConfig + config *Config } func (g *GroupNotificationSender) PopulateGroupMember(ctx context.Context, members ...*relation.GroupMemberModel) error { @@ -65,7 +65,7 @@ func (g *GroupNotificationSender) PopulateGroupMember(ctx context.Context, membe if err != nil { return err } - userMap := make(map[string]CommonUser) + userMap := make(map[string]notification.CommonUser) for i, user := range users { userMap[user.GetUserID()] = users[i] } @@ -248,7 +248,7 @@ func (g *GroupNotificationSender) fillOpUser(ctx context.Context, opUser **sdkws } userID := mcontext.GetOpUserID(ctx) if groupID != "" { - if authverify.IsManagerUserID(userID, &g.config.Manager, &g.config.IMAdmin) { + if authverify.IsManagerUserID(userID, &g.config.Share.IMAdmin) { *opUser = &sdkws.GroupMemberFullInfo{ GroupID: groupID, UserID: userID, diff --git a/pkg/rpcclient/notification/msg.go b/internal/rpc/msg/notification.go similarity index 87% rename from pkg/rpcclient/notification/msg.go rename to internal/rpc/msg/notification.go index bf519ebb0..e06c43943 100644 --- a/pkg/rpcclient/notification/msg.go +++ b/internal/rpc/msg/notification.go @@ -12,12 +12,11 @@ // See the License for the specific language governing permissions and // limitations under the License. -package notification +package msg import ( "context" - "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/rpcclient" "github.com/openimsdk/protocol/constant" "github.com/openimsdk/protocol/sdkws" @@ -27,8 +26,8 @@ type MsgNotificationSender struct { *rpcclient.NotificationSender } -func NewMsgNotificationSender(config *config.GlobalConfig, opts ...rpcclient.NotificationSenderOptions) *MsgNotificationSender { - return &MsgNotificationSender{rpcclient.NewNotificationSender(&config.Notification, opts...)} +func NewMsgNotificationSender(config *Config, opts ...rpcclient.NotificationSenderOptions) *MsgNotificationSender { + return &MsgNotificationSender{rpcclient.NewNotificationSender(&config.NotificationConfig, opts...)} } func (m *MsgNotificationSender) UserDeleteMsgsNotification(ctx context.Context, userID, conversationID string, seqs []int64) error { diff --git a/pkg/rpcclient/notification/user.go b/internal/rpc/user/notification.go similarity index 87% rename from pkg/rpcclient/notification/user.go rename to internal/rpc/user/notification.go index 706aac3cb..aec71d7c6 100644 --- a/pkg/rpcclient/notification/user.go +++ b/internal/rpc/user/notification.go @@ -12,12 +12,12 @@ // See the License for the specific language governing permissions and // limitations under the License. -package notification +package user import ( "context" + "github.com/openimsdk/open-im-server/v3/pkg/rpcclient/notification" - "github.com/openimsdk/open-im-server/v3/pkg/common/config" "github.com/openimsdk/open-im-server/v3/pkg/common/db/controller" relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation" "github.com/openimsdk/open-im-server/v3/pkg/rpcclient" @@ -27,7 +27,7 @@ import ( type UserNotificationSender struct { *rpcclient.NotificationSender - getUsersInfo func(ctx context.Context, userIDs []string) ([]CommonUser, error) + getUsersInfo func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error) // db controller db controller.UserDatabase } @@ -44,7 +44,7 @@ func WithUserFunc( fn func(ctx context.Context, userIDs []string) (users []*relationtb.UserModel, err error), ) userNotificationSenderOptions { return func(u *UserNotificationSender) { - f := func(ctx context.Context, userIDs []string) (result []CommonUser, err error) { + f := func(ctx context.Context, userIDs []string) (result []notification.CommonUser, err error) { users, err := fn(ctx, userIDs) if err != nil { return nil, err @@ -58,9 +58,9 @@ func WithUserFunc( } } -func NewUserNotificationSender(config *config.GlobalConfig, msgRpcClient *rpcclient.MessageRpcClient, opts ...userNotificationSenderOptions) *UserNotificationSender { +func NewUserNotificationSender(config *Config, msgRpcClient *rpcclient.MessageRpcClient, opts ...userNotificationSenderOptions) *UserNotificationSender { f := &UserNotificationSender{ - NotificationSender: rpcclient.NewNotificationSender(&config.Notification, rpcclient.WithRpcClient(msgRpcClient)), + NotificationSender: rpcclient.NewNotificationSender(&config.NotificationConfig, rpcclient.WithRpcClient(msgRpcClient)), } for _, opt := range opts { opt(f) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index a50bcd25f..ebe2d5e65 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -47,7 +47,7 @@ import ( type userServer struct { db controller.UserDatabase friendNotificationSender *notification.FriendNotificationSender - userNotificationSender *notification.UserNotificationSender + userNotificationSender *UserNotificationSender friendRpcClient *rpcclient.FriendRpcClient groupRpcClient *rpcclient.GroupRpcClient RegisterCenter registry.SvcDiscoveryRegistry @@ -99,7 +99,7 @@ func Start(ctx context.Context, config *Config, client registry.SvcDiscoveryRegi friendRpcClient: &friendRpcClient, groupRpcClient: &groupRpcClient, friendNotificationSender: notification.NewFriendNotificationSender(&config.NotificationConfig, &msgRpcClient, notification.WithDBFunc(database.FindWithError)), - userNotificationSender: notification.NewUserNotificationSender(config, &msgRpcClient, notification.WithUserFunc(database.FindWithError)), + userNotificationSender: NewUserNotificationSender(config, &msgRpcClient, WithUserFunc(database.FindWithError)), config: config, } pbuser.RegisterUserServer(server, u) diff --git a/internal/tools/msg.go b/internal/tools/msg.go index 112d14ef5..67f465559 100644 --- a/internal/tools/msg.go +++ b/internal/tools/msg.go @@ -17,11 +17,11 @@ package tools import ( "context" "fmt" + "github.com/openimsdk/open-im-server/v3/internal/rpc/msg" "math" "math/rand" "github.com/openimsdk/open-im-server/v3/pkg/common/db/controller" - "github.com/openimsdk/open-im-server/v3/pkg/rpcclient/notification" "github.com/openimsdk/open-im-server/v3/pkg/util/conversationutil" "github.com/openimsdk/protocol/sdkws" "github.com/openimsdk/tools/errs" @@ -36,13 +36,13 @@ type MsgTool struct { conversationDatabase controller.ConversationDatabase userDatabase controller.UserDatabase groupDatabase controller.GroupDatabase - msgNotificationSender *notification.MsgNotificationSender + msgNotificationSender *msg.MsgNotificationSender config *CronTaskConfig } func NewMsgTool(msgDatabase controller.CommonMsgDatabase, userDatabase controller.UserDatabase, groupDatabase controller.GroupDatabase, conversationDatabase controller.ConversationDatabase, - msgNotificationSender *notification.MsgNotificationSender, config *CronTaskConfig, + msgNotificationSender *msg.MsgNotificationSender, config *CronTaskConfig, ) *MsgTool { return &MsgTool{ msgDatabase: msgDatabase,