diff --git a/internal/msggateway/compressor_test.go b/internal/msggateway/compressor_test.go index 952bd4d95..e3af70ca4 100644 --- a/internal/msggateway/compressor_test.go +++ b/internal/msggateway/compressor_test.go @@ -32,7 +32,7 @@ func TestCompressDecompress(t *testing.T) { compressor := NewGzipCompressor() - for i := 0; i < 2000; i++ { + for range 2000 { src := mockRandom() // compress @@ -58,10 +58,8 @@ func TestCompressDecompressWithConcurrency(t *testing.T) { wg := sync.WaitGroup{} compressor := NewGzipCompressor() - for i := 0; i < 200; i++ { - wg.Add(1) - go func() { - defer wg.Done() + for range 200 { + wg.Go(func() { src := mockRandom() // compress @@ -80,8 +78,7 @@ func TestCompressDecompressWithConcurrency(t *testing.T) { // check assert.EqualValues(t, src, res) - - }() + }) } wg.Wait() } @@ -90,7 +87,7 @@ func BenchmarkCompress(b *testing.B) { src := mockRandom() compressor := NewGzipCompressor() - for i := 0; i < b.N; i++ { + for b.Loop() { _, err := compressor.Compress(src) assert.Equal(b, nil, err) } @@ -100,7 +97,7 @@ func BenchmarkCompressWithSyncPool(b *testing.B) { src := mockRandom() compressor := NewGzipCompressor() - for i := 0; i < b.N; i++ { + for b.Loop() { _, err := compressor.CompressWithPool(src) assert.Equal(b, nil, err) } @@ -114,7 +111,7 @@ func BenchmarkDecompress(b *testing.B) { assert.Equal(b, nil, err) - for i := 0; i < b.N; i++ { + for b.Loop() { _, err := compressor.DeCompress(comdata) assert.Equal(b, nil, err) } @@ -127,7 +124,7 @@ func BenchmarkDecompressWithSyncPool(b *testing.B) { comdata, err := compressor.Compress(src) assert.Equal(b, nil, err) - for i := 0; i < b.N; i++ { + for b.Loop() { _, err := compressor.DecompressWithPool(comdata) assert.Equal(b, nil, err) } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index cc51fdf18..46bd59867 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -23,9 +23,10 @@ import ( "strings" "time" - "github.com/openimsdk/tools/utils/stringutil" "google.golang.org/grpc" + "github.com/openimsdk/tools/utils/stringutil" + "github.com/openimsdk/open-im-server/v3/pkg/dbbuild" "github.com/openimsdk/open-im-server/v3/pkg/rpcli" @@ -1315,6 +1316,9 @@ func (g *groupServer) TransferGroupOwner(ctx context.Context, req *pbgroup.Trans } func (g *groupServer) GetGroups(ctx context.Context, req *pbgroup.GetGroupsReq) (*pbgroup.GetGroupsResp, error) { + if err := authverify.CheckAdmin(ctx); err != nil { + return nil, err + } var ( group []*model.Group err error diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 91dfe736e..82a8212bb 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -22,6 +22,8 @@ import ( "sync" "time" + "google.golang.org/grpc" + "github.com/openimsdk/open-im-server/v3/internal/rpc/relation" "github.com/openimsdk/open-im-server/v3/pkg/authverify" "github.com/openimsdk/open-im-server/v3/pkg/common/config" @@ -46,7 +48,6 @@ import ( "github.com/openimsdk/tools/discovery" "github.com/openimsdk/tools/errs" "github.com/openimsdk/tools/utils/datautil" - "google.golang.org/grpc" ) const ( @@ -268,6 +269,9 @@ func (s *userServer) AccountCheck(ctx context.Context, req *pbuser.AccountCheckR } func (s *userServer) GetPaginationUsers(ctx context.Context, req *pbuser.GetPaginationUsersReq) (resp *pbuser.GetPaginationUsersResp, err error) { + if err = authverify.CheckAdmin(ctx); err != nil { + return nil, err + } if req.UserID == "" && req.NickName == "" { total, users, err := s.db.PageFindUser(ctx, constant.IMOrdinaryUser, constant.AppOrdinaryUsers, req.Pagination) if err != nil { @@ -353,6 +357,9 @@ func (s *userServer) GetGlobalRecvMessageOpt(ctx context.Context, req *pbuser.Ge // GetAllUserID Get user account by page. func (s *userServer) GetAllUserID(ctx context.Context, req *pbuser.GetAllUserIDReq) (resp *pbuser.GetAllUserIDResp, err error) { + if err = authverify.CheckAdmin(ctx); err != nil { + return nil, err + } total, userIDs, err := s.db.GetAllUserID(ctx, req.Pagination) if err != nil { return nil, err