mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-11-05 21:02:11 +08:00
refactor: all module update.
This commit is contained in:
parent
1ee90e5407
commit
5824d17797
@ -123,14 +123,6 @@ func (o *GroupApi) GetGroupAbstractInfo(c *gin.Context) {
|
|||||||
// a2r.Call(group.GroupClient.GetGroupAllMember, g.userClient, c)
|
// 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) {
|
func (o *GroupApi) GroupCreateCount(c *gin.Context) {
|
||||||
a2r.Call(group.GroupClient.GroupCreateCount, o.Client, c)
|
a2r.Call(group.GroupClient.GroupCreateCount, o.Client, c)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -236,11 +236,6 @@ func newGinRouter(disCov discovery.SvcDiscoveryRegistry, rdb redis.UniversalClie
|
|||||||
groupRouterGroup.POST("/get_groups", g.GetGroups)
|
groupRouterGroup.POST("/get_groups", g.GetGroups)
|
||||||
groupRouterGroup.POST("/get_group_member_user_id", g.GetGroupMemberUserIDs)
|
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
|
// certificate
|
||||||
authRouterGroup := r.Group("/auth")
|
authRouterGroup := r.Group("/auth")
|
||||||
{
|
{
|
||||||
|
|||||||
@ -56,7 +56,7 @@ import (
|
|||||||
type groupServer struct {
|
type groupServer struct {
|
||||||
db controller.GroupDatabase
|
db controller.GroupDatabase
|
||||||
user rpcclient.UserRpcClient
|
user rpcclient.UserRpcClient
|
||||||
notification *notification.GroupNotificationSender
|
notification *GroupNotificationSender
|
||||||
conversationRpcClient rpcclient.ConversationRpcClient
|
conversationRpcClient rpcclient.ConversationRpcClient
|
||||||
msgRpcClient rpcclient.MessageRpcClient
|
msgRpcClient rpcclient.MessageRpcClient
|
||||||
config *Config
|
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))
|
database := controller.NewGroupDatabase(rdb, &config.LocalCacheConfig, groupDB, groupMemberDB, groupRequestDB, mgocli.GetTx(), grouphash.NewGroupHashFromGroupServer(&gs))
|
||||||
gs.db = database
|
gs.db = database
|
||||||
gs.user = userRpcClient
|
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)
|
users, err := userRpcClient.GetUsersInfo(ctx, userIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@ -12,14 +12,14 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
package notification
|
package group
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"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/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/controller"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/servererrs"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/servererrs"
|
||||||
@ -34,9 +34,9 @@ import (
|
|||||||
"github.com/openimsdk/tools/utils/stringutil"
|
"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{
|
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,
|
getUsersInfo: fn,
|
||||||
db: db,
|
db: db,
|
||||||
config: config,
|
config: config,
|
||||||
@ -45,9 +45,9 @@ func NewGroupNotificationSender(db controller.GroupDatabase, msgRpcClient *rpccl
|
|||||||
|
|
||||||
type GroupNotificationSender struct {
|
type GroupNotificationSender struct {
|
||||||
*rpcclient.NotificationSender
|
*rpcclient.NotificationSender
|
||||||
getUsersInfo func(ctx context.Context, userIDs []string) ([]CommonUser, error)
|
getUsersInfo func(ctx context.Context, userIDs []string) ([]notification.CommonUser, error)
|
||||||
db controller.GroupDatabase
|
db controller.GroupDatabase
|
||||||
config *config.GlobalConfig
|
config *Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupNotificationSender) PopulateGroupMember(ctx context.Context, members ...*relation.GroupMemberModel) error {
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
userMap := make(map[string]CommonUser)
|
userMap := make(map[string]notification.CommonUser)
|
||||||
for i, user := range users {
|
for i, user := range users {
|
||||||
userMap[user.GetUserID()] = users[i]
|
userMap[user.GetUserID()] = users[i]
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ func (g *GroupNotificationSender) fillOpUser(ctx context.Context, opUser **sdkws
|
|||||||
}
|
}
|
||||||
userID := mcontext.GetOpUserID(ctx)
|
userID := mcontext.GetOpUserID(ctx)
|
||||||
if groupID != "" {
|
if groupID != "" {
|
||||||
if authverify.IsManagerUserID(userID, &g.config.Manager, &g.config.IMAdmin) {
|
if authverify.IsManagerUserID(userID, &g.config.Share.IMAdmin) {
|
||||||
*opUser = &sdkws.GroupMemberFullInfo{
|
*opUser = &sdkws.GroupMemberFullInfo{
|
||||||
GroupID: groupID,
|
GroupID: groupID,
|
||||||
UserID: userID,
|
UserID: userID,
|
||||||
@ -12,12 +12,11 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
package notification
|
package msg
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||||
"github.com/openimsdk/protocol/constant"
|
"github.com/openimsdk/protocol/constant"
|
||||||
"github.com/openimsdk/protocol/sdkws"
|
"github.com/openimsdk/protocol/sdkws"
|
||||||
@ -27,8 +26,8 @@ type MsgNotificationSender struct {
|
|||||||
*rpcclient.NotificationSender
|
*rpcclient.NotificationSender
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMsgNotificationSender(config *config.GlobalConfig, opts ...rpcclient.NotificationSenderOptions) *MsgNotificationSender {
|
func NewMsgNotificationSender(config *Config, opts ...rpcclient.NotificationSenderOptions) *MsgNotificationSender {
|
||||||
return &MsgNotificationSender{rpcclient.NewNotificationSender(&config.Notification, opts...)}
|
return &MsgNotificationSender{rpcclient.NewNotificationSender(&config.NotificationConfig, opts...)}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *MsgNotificationSender) UserDeleteMsgsNotification(ctx context.Context, userID, conversationID string, seqs []int64) error {
|
func (m *MsgNotificationSender) UserDeleteMsgsNotification(ctx context.Context, userID, conversationID string, seqs []int64) error {
|
||||||
@ -12,12 +12,12 @@
|
|||||||
// See the License for the specific language governing permissions and
|
// See the License for the specific language governing permissions and
|
||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
|
|
||||||
package notification
|
package user
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"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"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/db/controller"
|
||||||
relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
relationtb "github.com/openimsdk/open-im-server/v3/pkg/common/db/table/relation"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient"
|
||||||
@ -27,7 +27,7 @@ import (
|
|||||||
|
|
||||||
type UserNotificationSender struct {
|
type UserNotificationSender struct {
|
||||||
*rpcclient.NotificationSender
|
*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
|
||||||
db controller.UserDatabase
|
db controller.UserDatabase
|
||||||
}
|
}
|
||||||
@ -44,7 +44,7 @@ func WithUserFunc(
|
|||||||
fn func(ctx context.Context, userIDs []string) (users []*relationtb.UserModel, err error),
|
fn func(ctx context.Context, userIDs []string) (users []*relationtb.UserModel, err error),
|
||||||
) userNotificationSenderOptions {
|
) userNotificationSenderOptions {
|
||||||
return func(u *UserNotificationSender) {
|
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)
|
users, err := fn(ctx, userIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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{
|
f := &UserNotificationSender{
|
||||||
NotificationSender: rpcclient.NewNotificationSender(&config.Notification, rpcclient.WithRpcClient(msgRpcClient)),
|
NotificationSender: rpcclient.NewNotificationSender(&config.NotificationConfig, rpcclient.WithRpcClient(msgRpcClient)),
|
||||||
}
|
}
|
||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
opt(f)
|
opt(f)
|
||||||
@ -47,7 +47,7 @@ import (
|
|||||||
type userServer struct {
|
type userServer struct {
|
||||||
db controller.UserDatabase
|
db controller.UserDatabase
|
||||||
friendNotificationSender *notification.FriendNotificationSender
|
friendNotificationSender *notification.FriendNotificationSender
|
||||||
userNotificationSender *notification.UserNotificationSender
|
userNotificationSender *UserNotificationSender
|
||||||
friendRpcClient *rpcclient.FriendRpcClient
|
friendRpcClient *rpcclient.FriendRpcClient
|
||||||
groupRpcClient *rpcclient.GroupRpcClient
|
groupRpcClient *rpcclient.GroupRpcClient
|
||||||
RegisterCenter registry.SvcDiscoveryRegistry
|
RegisterCenter registry.SvcDiscoveryRegistry
|
||||||
@ -99,7 +99,7 @@ func Start(ctx context.Context, config *Config, client registry.SvcDiscoveryRegi
|
|||||||
friendRpcClient: &friendRpcClient,
|
friendRpcClient: &friendRpcClient,
|
||||||
groupRpcClient: &groupRpcClient,
|
groupRpcClient: &groupRpcClient,
|
||||||
friendNotificationSender: notification.NewFriendNotificationSender(&config.NotificationConfig, &msgRpcClient, notification.WithDBFunc(database.FindWithError)),
|
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,
|
config: config,
|
||||||
}
|
}
|
||||||
pbuser.RegisterUserServer(server, u)
|
pbuser.RegisterUserServer(server, u)
|
||||||
|
|||||||
@ -17,11 +17,11 @@ package tools
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"github.com/openimsdk/open-im-server/v3/internal/rpc/msg"
|
||||||
"math"
|
"math"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/db/controller"
|
"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/open-im-server/v3/pkg/util/conversationutil"
|
||||||
"github.com/openimsdk/protocol/sdkws"
|
"github.com/openimsdk/protocol/sdkws"
|
||||||
"github.com/openimsdk/tools/errs"
|
"github.com/openimsdk/tools/errs"
|
||||||
@ -36,13 +36,13 @@ type MsgTool struct {
|
|||||||
conversationDatabase controller.ConversationDatabase
|
conversationDatabase controller.ConversationDatabase
|
||||||
userDatabase controller.UserDatabase
|
userDatabase controller.UserDatabase
|
||||||
groupDatabase controller.GroupDatabase
|
groupDatabase controller.GroupDatabase
|
||||||
msgNotificationSender *notification.MsgNotificationSender
|
msgNotificationSender *msg.MsgNotificationSender
|
||||||
config *CronTaskConfig
|
config *CronTaskConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewMsgTool(msgDatabase controller.CommonMsgDatabase, userDatabase controller.UserDatabase,
|
func NewMsgTool(msgDatabase controller.CommonMsgDatabase, userDatabase controller.UserDatabase,
|
||||||
groupDatabase controller.GroupDatabase, conversationDatabase controller.ConversationDatabase,
|
groupDatabase controller.GroupDatabase, conversationDatabase controller.ConversationDatabase,
|
||||||
msgNotificationSender *notification.MsgNotificationSender, config *CronTaskConfig,
|
msgNotificationSender *msg.MsgNotificationSender, config *CronTaskConfig,
|
||||||
) *MsgTool {
|
) *MsgTool {
|
||||||
return &MsgTool{
|
return &MsgTool{
|
||||||
msgDatabase: msgDatabase,
|
msgDatabase: msgDatabase,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user