mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
Merge remote-tracking branch 'origin/v2.3.0release' into v2.3.0release
This commit is contained in:
commit
526aa15ff6
@ -119,6 +119,7 @@ credential: #腾讯cos,发送图片、视频、文件时需要,请自行申
|
|||||||
accessKeyID: user12345
|
accessKeyID: user12345
|
||||||
secretAccessKey: key12345
|
secretAccessKey: key12345
|
||||||
storageTime: 50 #文件在minio中保存的时间
|
storageTime: 50 #文件在minio中保存的时间
|
||||||
|
isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false
|
||||||
ali: # ali oss
|
ali: # ali oss
|
||||||
regionID: "oss-cn-beijing"
|
regionID: "oss-cn-beijing"
|
||||||
accessKeyID: ""
|
accessKeyID: ""
|
||||||
|
@ -32,6 +32,7 @@ func MinioInit() {
|
|||||||
}
|
}
|
||||||
opts := &minio.Options{
|
opts := &minio.Options{
|
||||||
Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""),
|
Creds: credentials.NewStaticV4(config.Config.Credential.Minio.AccessKeyID, config.Config.Credential.Minio.SecretAccessKey, ""),
|
||||||
|
//Region: config.Config.Credential.Minio.Location,
|
||||||
}
|
}
|
||||||
if minioUrl.Scheme == "http" {
|
if minioUrl.Scheme == "http" {
|
||||||
opts.Secure = false
|
opts.Secure = false
|
||||||
@ -46,8 +47,10 @@ func MinioInit() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
opt := minio.MakeBucketOptions{
|
opt := minio.MakeBucketOptions{
|
||||||
Region: config.Config.Credential.Minio.Location,
|
Region: config.Config.Credential.Minio.Location,
|
||||||
ObjectLocking: false,
|
}
|
||||||
|
if config.Config.Credential.Minio.IsDistributedMod == true {
|
||||||
|
opt.ObjectLocking = true
|
||||||
}
|
}
|
||||||
err = MinioClient.MakeBucket(context.Background(), config.Config.Credential.Minio.Bucket, opt)
|
err = MinioClient.MakeBucket(context.Background(), config.Config.Credential.Minio.Bucket, opt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -78,6 +81,9 @@ func MinioInit() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
policy, err := MinioClient.GetBucketPolicy(context.Background(), config.Config.Credential.Minio.Bucket)
|
||||||
|
log.NewInfo("", utils.GetSelfFuncName(), policy)
|
||||||
|
|
||||||
// 自动化桶public的代码
|
// 自动化桶public的代码
|
||||||
policyJsonString := fmt.Sprintf(`{"Version": "2012-10-17","Statement": [{"Action": ["s3:GetObject","s3:PutObject"],
|
policyJsonString := fmt.Sprintf(`{"Version": "2012-10-17","Statement": [{"Action": ["s3:GetObject","s3:PutObject"],
|
||||||
"Effect": "Allow","Principal": {"AWS": ["*"]},"Resource": ["arn:aws:s3:::%s/*"],"Sid": ""}]}`, config.Config.Credential.Minio.Bucket)
|
"Effect": "Allow","Principal": {"AWS": ["*"]},"Resource": ["arn:aws:s3:::%s/*"],"Sid": ""}]}`, config.Config.Credential.Minio.Bucket)
|
||||||
|
@ -161,6 +161,7 @@ func MinioStorageCredential(c *gin.Context) {
|
|||||||
resp.BucketName = config.Config.Credential.Minio.Bucket
|
resp.BucketName = config.Config.Credential.Minio.Bucket
|
||||||
resp.StsEndpointURL = config.Config.Credential.Minio.Endpoint
|
resp.StsEndpointURL = config.Config.Credential.Minio.Endpoint
|
||||||
resp.StorageTime = config.Config.Credential.Minio.StorageTime
|
resp.StorageTime = config.Config.Credential.Minio.StorageTime
|
||||||
|
resp.IsDistributedMod = config.Config.Credential.Minio.IsDistributedMod
|
||||||
c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp})
|
c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +61,13 @@ func (s *groupServer) Run() {
|
|||||||
log.NewInfo("", "listen network success, ", address, listener)
|
log.NewInfo("", "listen network success, ", address, listener)
|
||||||
defer listener.Close()
|
defer listener.Close()
|
||||||
//grpc server
|
//grpc server
|
||||||
srv := grpc.NewServer()
|
recvSize := 1024 * 1024 * 30
|
||||||
|
sendSize := 1024 * 1024 * 30
|
||||||
|
var options = []grpc.ServerOption{
|
||||||
|
grpc.MaxRecvMsgSize(recvSize),
|
||||||
|
grpc.MaxSendMsgSize(sendSize),
|
||||||
|
}
|
||||||
|
srv := grpc.NewServer(options...)
|
||||||
defer srv.GracefulStop()
|
defer srv.GracefulStop()
|
||||||
//Service registers with etcd
|
//Service registers with etcd
|
||||||
pbGroup.RegisterGroupServer(srv, s)
|
pbGroup.RegisterGroupServer(srv, s)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package group
|
package group
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"Open_IM/pkg/common/constant"
|
|
||||||
rocksCache "Open_IM/pkg/common/db/rocks_cache"
|
rocksCache "Open_IM/pkg/common/db/rocks_cache"
|
||||||
"Open_IM/pkg/common/log"
|
"Open_IM/pkg/common/log"
|
||||||
cp "Open_IM/pkg/common/utils"
|
cp "Open_IM/pkg/common/utils"
|
||||||
@ -15,7 +14,6 @@ import (
|
|||||||
func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.GetJoinedSuperGroupListReq) (*pbGroup.GetJoinedSuperGroupListResp, error) {
|
func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.GetJoinedSuperGroupListReq) (*pbGroup.GetJoinedSuperGroupListResp, error) {
|
||||||
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String())
|
||||||
resp := &pbGroup.GetJoinedSuperGroupListResp{CommonResp: &pbGroup.CommonResp{}}
|
resp := &pbGroup.GetJoinedSuperGroupListResp{CommonResp: &pbGroup.CommonResp{}}
|
||||||
//userToSuperGroup, err := db.DB.GetSuperGroupByUserID(req.UserID)
|
|
||||||
groupIDList, err := rocksCache.GetJoinedSuperGroupListFromCache(req.UserID)
|
groupIDList, err := rocksCache.GetJoinedSuperGroupListFromCache(req.UserID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == redis.Nil {
|
if err == redis.Nil {
|
||||||
@ -23,8 +21,8 @@ func (s *groupServer) GetJoinedSuperGroupList(ctx context.Context, req *pbGroup.
|
|||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetSuperGroupByUserID failed ", err.Error(), req.UserID)
|
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetSuperGroupByUserID failed ", err.Error(), req.UserID)
|
||||||
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
|
//resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
|
||||||
resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
|
//resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
for _, groupID := range groupIDList {
|
for _, groupID := range groupIDList {
|
||||||
|
@ -7,12 +7,13 @@ type MinioStorageCredentialReq struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type MiniostorageCredentialResp struct {
|
type MiniostorageCredentialResp struct {
|
||||||
SecretAccessKey string `json:"secretAccessKey"`
|
SecretAccessKey string `json:"secretAccessKey"`
|
||||||
AccessKeyID string `json:"accessKeyID"`
|
AccessKeyID string `json:"accessKeyID"`
|
||||||
SessionToken string `json:"sessionToken"`
|
SessionToken string `json:"sessionToken"`
|
||||||
BucketName string `json:"bucketName"`
|
BucketName string `json:"bucketName"`
|
||||||
StsEndpointURL string `json:"stsEndpointURL"`
|
StsEndpointURL string `json:"stsEndpointURL"`
|
||||||
StorageTime int `json:"storageTime"`
|
StorageTime int `json:"storageTime"`
|
||||||
|
IsDistributedMod bool `json:"isDistributedMod"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type MinioUploadFileReq struct {
|
type MinioUploadFileReq struct {
|
||||||
|
@ -72,6 +72,7 @@ type config struct {
|
|||||||
EndpointInner string `yaml:"endpointInner"`
|
EndpointInner string `yaml:"endpointInner"`
|
||||||
EndpointInnerEnable bool `yaml:"endpointInnerEnable"`
|
EndpointInnerEnable bool `yaml:"endpointInnerEnable"`
|
||||||
StorageTime int `yaml:"storageTime"`
|
StorageTime int `yaml:"storageTime"`
|
||||||
|
IsDistributedMod bool `yaml:"isDistributedMod"`
|
||||||
} `yaml:"minio"`
|
} `yaml:"minio"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
@ -323,6 +324,9 @@ func GetJoinedSuperGroupListFromCache(userID string) ([]string, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "", utils.Wrap(err, "")
|
return "", utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
|
if len(userToSuperGroup.GroupIDList) == 0 {
|
||||||
|
return "", errors.New("GroupIDList == 0")
|
||||||
|
}
|
||||||
bytes, err := json.Marshal(userToSuperGroup.GroupIDList)
|
bytes, err := json.Marshal(userToSuperGroup.GroupIDList)
|
||||||
return string(bytes), utils.Wrap(err, "")
|
return string(bytes), utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user