mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-05-22 04:39:19 +08:00
Merge branch 'openimsdk:pre-release-v3.8.4' into pre-release-v3.8.4
This commit is contained in:
commit
c9790dbdd0
2
go.mod
2
go.mod
@ -34,7 +34,7 @@ require (
|
|||||||
github.com/hashicorp/golang-lru/v2 v2.0.7
|
github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||||
github.com/kelindar/bitmap v1.5.2
|
github.com/kelindar/bitmap v1.5.2
|
||||||
github.com/likexian/gokit v0.25.13
|
github.com/likexian/gokit v0.25.13
|
||||||
github.com/openimsdk/gomake v0.0.14-alpha.5
|
github.com/openimsdk/gomake v0.0.15-alpha.5
|
||||||
github.com/redis/go-redis/v9 v9.4.0
|
github.com/redis/go-redis/v9 v9.4.0
|
||||||
github.com/robfig/cron/v3 v3.0.1
|
github.com/robfig/cron/v3 v3.0.1
|
||||||
github.com/shirou/gopsutil v3.21.11+incompatible
|
github.com/shirou/gopsutil v3.21.11+incompatible
|
||||||
|
12
go.sum
12
go.sum
@ -345,12 +345,12 @@ github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA
|
|||||||
github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
|
github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
|
||||||
github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y=
|
github.com/onsi/gomega v1.25.0 h1:Vw7br2PCDYijJHSfBOWhov+8cAnUf8MfMaIOV323l6Y=
|
||||||
github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM=
|
github.com/onsi/gomega v1.25.0/go.mod h1:r+zV744Re+DiYCIPRlYOTxn0YkOLcAnW8k1xXdMPGhM=
|
||||||
github.com/openimsdk/gomake v0.0.15-alpha.2 h1:5Q8yl8ezy2yx+q8/ucU/t4kJnDfCzNOrkXcDACCqtyM=
|
github.com/openimsdk/gomake v0.0.15-alpha.5 h1:eEZCEHm+NsmcO3onXZPIUbGFCYPYbsX5beV3ZyOsGhY=
|
||||||
github.com/openimsdk/gomake v0.0.15-alpha.2/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI=
|
github.com/openimsdk/gomake v0.0.15-alpha.5/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI=
|
||||||
github.com/openimsdk/protocol v0.0.72-alpha.71 h1:R3utzOlqepaJWTAmnfJi4ccUM/XIoFasSyjQMOipM70=
|
github.com/openimsdk/protocol v0.0.73-alpha.6 h1:sna9coWG7HN1zObBPtvG0Ki/vzqHXiB4qKbA5P3w7kc=
|
||||||
github.com/openimsdk/protocol v0.0.72-alpha.71/go.mod h1:WF7EuE55vQvpyUAzDXcqg+B+446xQyEba0X35lTINmw=
|
github.com/openimsdk/protocol v0.0.73-alpha.6/go.mod h1:WF7EuE55vQvpyUAzDXcqg+B+446xQyEba0X35lTINmw=
|
||||||
github.com/openimsdk/tools v0.0.50-alpha.74 h1:yh10SiMiivMEjicEQg+QAsH4pvaO+4noMPdlw+ew0Kc=
|
github.com/openimsdk/tools v0.0.50-alpha.79 h1:jxYEbrzaze4Z2r4NrKad816buZ690ix0L9MTOOOH3ik=
|
||||||
github.com/openimsdk/tools v0.0.50-alpha.74/go.mod h1:n2poR3asX1e1XZce4O+MOWAp+X02QJRFvhcLCXZdzRo=
|
github.com/openimsdk/tools v0.0.50-alpha.79/go.mod h1:n2poR3asX1e1XZce4O+MOWAp+X02QJRFvhcLCXZdzRo=
|
||||||
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
|
github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM=
|
||||||
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
|
github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs=
|
||||||
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
|
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ=
|
||||||
|
@ -85,32 +85,28 @@ func (a *authDatabase) BatchSetTokenMapByUidPid(ctx context.Context, tokens []st
|
|||||||
|
|
||||||
// Create Token.
|
// Create Token.
|
||||||
func (a *authDatabase) CreateToken(ctx context.Context, userID string, platformID int) (string, error) {
|
func (a *authDatabase) CreateToken(ctx context.Context, userID string, platformID int) (string, error) {
|
||||||
isAdmin := authverify.IsManagerUserID(userID, a.adminUserIDs)
|
tokens, err := a.cache.GetAllTokensWithoutError(ctx, userID)
|
||||||
if !isAdmin {
|
if err != nil {
|
||||||
tokens, err := a.cache.GetAllTokensWithoutError(ctx, userID)
|
return "", err
|
||||||
if err != nil {
|
}
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
deleteTokenKey, kickedTokenKey, adminTokens, err := a.checkToken(ctx, tokens, platformID)
|
deleteTokenKey, kickedTokenKey, err := a.checkToken(ctx, tokens, platformID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
if len(deleteTokenKey) != 0 {
|
if len(deleteTokenKey) != 0 {
|
||||||
err = a.cache.DeleteTokenByTokenMap(ctx, userID, deleteTokenKey)
|
err = a.cache.DeleteTokenByUidPid(ctx, userID, platformID, deleteTokenKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(kickedTokenKey) != 0 {
|
if len(kickedTokenKey) != 0 {
|
||||||
for plt, ks := range kickedTokenKey {
|
for _, k := range kickedTokenKey {
|
||||||
for _, k := range ks {
|
err := a.cache.SetTokenFlagEx(ctx, userID, platformID, k, constant.KickedToken)
|
||||||
err := a.cache.SetTokenFlagEx(ctx, userID, plt, k, constant.KickedToken)
|
if err != nil {
|
||||||
if err != nil {
|
return "", err
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
log.ZDebug(ctx, "kicked token in create token", "token", k)
|
|
||||||
}
|
}
|
||||||
|
log.ZDebug(ctx, "kicked token in create token", "token", k)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(adminTokens) != 0 {
|
if len(adminTokens) != 0 {
|
||||||
@ -126,10 +122,8 @@ func (a *authDatabase) CreateToken(ctx context.Context, userID string, platformI
|
|||||||
return "", errs.WrapMsg(err, "token.SignedString")
|
return "", errs.WrapMsg(err, "token.SignedString")
|
||||||
}
|
}
|
||||||
|
|
||||||
if !isAdmin {
|
if err = a.cache.SetTokenFlagEx(ctx, userID, platformID, tokenString, constant.NormalToken); err != nil {
|
||||||
if err = a.cache.SetTokenFlagEx(ctx, userID, platformID, tokenString, constant.NormalToken); err != nil {
|
return "", err
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return tokenString, nil
|
return tokenString, nil
|
||||||
@ -241,9 +235,6 @@ func (a *authDatabase) checkToken(ctx context.Context, tokens map[int]map[string
|
|||||||
}
|
}
|
||||||
|
|
||||||
//var adminTokenMaxNum = a.multiLogin.MaxNumOneEnd
|
//var adminTokenMaxNum = a.multiLogin.MaxNumOneEnd
|
||||||
//if a.multiLogin.Policy == constant.Customize {
|
|
||||||
// adminTokenMaxNum = a.multiLogin.CustomizeLoginNum[constant.AdminPlatformID]
|
|
||||||
//}
|
|
||||||
//l := len(adminToken)
|
//l := len(adminToken)
|
||||||
//if platformID == constant.AdminPlatformID {
|
//if platformID == constant.AdminPlatformID {
|
||||||
// l++
|
// l++
|
||||||
@ -251,9 +242,8 @@ func (a *authDatabase) checkToken(ctx context.Context, tokens map[int]map[string
|
|||||||
//if l > adminTokenMaxNum {
|
//if l > adminTokenMaxNum {
|
||||||
// kickToken = append(kickToken, adminToken[:l-adminTokenMaxNum]...)
|
// kickToken = append(kickToken, adminToken[:l-adminTokenMaxNum]...)
|
||||||
//}
|
//}
|
||||||
var deleteAdminToken []string
|
|
||||||
if platformID == constant.AdminPlatformID {
|
if platformID == constant.AdminPlatformID {
|
||||||
deleteAdminToken = adminToken
|
kickToken = append(kickToken, adminToken...)
|
||||||
}
|
}
|
||||||
return deleteToken, kickToken, deleteAdminToken, nil
|
return deleteToken, kickToken, nil
|
||||||
}
|
}
|
||||||
|
@ -82,42 +82,10 @@ func (db *msgTransferDatabase) BatchInsertChat2DB(ctx context.Context, conversat
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
seqs[i] = msg.Seq
|
seqs[i] = msg.Seq
|
||||||
var offlinePushModel *model.OfflinePushModel
|
|
||||||
if msg.OfflinePushInfo != nil {
|
|
||||||
offlinePushModel = &model.OfflinePushModel{
|
|
||||||
Title: msg.OfflinePushInfo.Title,
|
|
||||||
Desc: msg.OfflinePushInfo.Desc,
|
|
||||||
Ex: msg.OfflinePushInfo.Ex,
|
|
||||||
IOSPushSound: msg.OfflinePushInfo.IOSPushSound,
|
|
||||||
IOSBadgeCount: msg.OfflinePushInfo.IOSBadgeCount,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if msg.Status == constant.MsgStatusSending {
|
if msg.Status == constant.MsgStatusSending {
|
||||||
msg.Status = constant.MsgStatusSendSuccess
|
msg.Status = constant.MsgStatusSendSuccess
|
||||||
}
|
}
|
||||||
msgs[i] = &model.MsgDataModel{
|
msgs[i] = convert.MsgPb2DB(msg)
|
||||||
SendID: msg.SendID,
|
|
||||||
RecvID: msg.RecvID,
|
|
||||||
GroupID: msg.GroupID,
|
|
||||||
ClientMsgID: msg.ClientMsgID,
|
|
||||||
ServerMsgID: msg.ServerMsgID,
|
|
||||||
SenderPlatformID: msg.SenderPlatformID,
|
|
||||||
SenderNickname: msg.SenderNickname,
|
|
||||||
SenderFaceURL: msg.SenderFaceURL,
|
|
||||||
SessionType: msg.SessionType,
|
|
||||||
MsgFrom: msg.MsgFrom,
|
|
||||||
ContentType: msg.ContentType,
|
|
||||||
Content: string(msg.Content),
|
|
||||||
Seq: msg.Seq,
|
|
||||||
SendTime: msg.SendTime,
|
|
||||||
CreateTime: msg.CreateTime,
|
|
||||||
Status: msg.Status,
|
|
||||||
Options: msg.Options,
|
|
||||||
OfflinePush: offlinePushModel,
|
|
||||||
AtUserIDList: msg.AtUserIDList,
|
|
||||||
AttachedInfo: msg.AttachedInfo,
|
|
||||||
Ex: msg.Ex,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if err := db.BatchInsertBlock(ctx, conversationID, msgs, updateKeyMsg, msgList[0].Seq); err != nil {
|
if err := db.BatchInsertBlock(ctx, conversationID, msgs, updateKeyMsg, msgList[0].Seq); err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -21,12 +21,11 @@ import (
|
|||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/database"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/database"
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/model"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/model"
|
||||||
"github.com/openimsdk/protocol/constant"
|
"github.com/openimsdk/protocol/constant"
|
||||||
|
"github.com/openimsdk/protocol/user"
|
||||||
"github.com/openimsdk/tools/db/pagination"
|
"github.com/openimsdk/tools/db/pagination"
|
||||||
"github.com/openimsdk/tools/db/tx"
|
"github.com/openimsdk/tools/db/tx"
|
||||||
"github.com/openimsdk/tools/utils/datautil"
|
|
||||||
|
|
||||||
"github.com/openimsdk/protocol/user"
|
|
||||||
"github.com/openimsdk/tools/errs"
|
"github.com/openimsdk/tools/errs"
|
||||||
|
"github.com/openimsdk/tools/utils/datautil"
|
||||||
|
|
||||||
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/cache"
|
"github.com/openimsdk/open-im-server/v3/pkg/common/storage/cache"
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user