* feat: Add light mode and dark mode.(#89) Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: make file code len Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: fix scripts support win Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: make build issue Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: golint and format Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * feat: add scripts sudo limits of authority Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: docker images fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> * fix: docker images fix Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com> --------- Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
This commit is contained in:
@@ -16,7 +16,7 @@ package cmd
|
||||
|
||||
import (
|
||||
"github.com/OpenIMSDK/Open-IM-Server/internal/msggateway"
|
||||
//"github.com/OpenIMSDK/Open-IM-Server/internal/msggateway"
|
||||
//"github.com/OpenIMSDK/Open-IM-Server/internal/msggateway".
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
|
||||
@@ -31,7 +31,7 @@ type CallBackConfig struct {
|
||||
|
||||
type NotificationConf struct {
|
||||
IsSendMsg bool `yaml:"isSendMsg"`
|
||||
ReliabilityLevel int `yaml:"reliabilityLevel"` // 1 online 2 presistent
|
||||
ReliabilityLevel int `yaml:"reliabilityLevel"` // 1 online 2 persistent
|
||||
UnreadCount bool `yaml:"unreadCount"`
|
||||
OfflinePush POfflinePush `yaml:"offlinePush"`
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import (
|
||||
|
||||
var (
|
||||
_, b, _, _ = runtime.Caller(0)
|
||||
// Root folder of this project
|
||||
// Root folder of this project.
|
||||
Root = filepath.Join(filepath.Dir(b), "../../..")
|
||||
)
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ const (
|
||||
SignalMsg = 202
|
||||
CustomNotification = 203
|
||||
|
||||
//SysRelated.
|
||||
// SysRelated.
|
||||
NotificationBegin = 1000
|
||||
|
||||
FriendApplicationApprovedNotification = 1201 // add_friend_response
|
||||
@@ -113,37 +113,37 @@ const (
|
||||
|
||||
NotificationEnd = 5000
|
||||
|
||||
//status.
|
||||
// status.
|
||||
MsgNormal = 1
|
||||
MsgDeleted = 4
|
||||
|
||||
//MsgFrom.
|
||||
// MsgFrom.
|
||||
UserMsgType = 100
|
||||
SysMsgType = 200
|
||||
|
||||
//SessionType.
|
||||
// SessionType.
|
||||
SingleChatType = 1
|
||||
GroupChatType = 2
|
||||
SuperGroupChatType = 3
|
||||
NotificationChatType = 4
|
||||
//token.
|
||||
// token.
|
||||
NormalToken = 0
|
||||
InValidToken = 1
|
||||
KickedToken = 2
|
||||
ExpiredToken = 3
|
||||
|
||||
//MultiTerminalLogin.
|
||||
// MultiTerminalLogin.
|
||||
DefalutNotKick = 0
|
||||
//Full-end login, but the same end is mutually exclusive.
|
||||
// Full-end login, but the same end is mutually exclusive.
|
||||
AllLoginButSameTermKick = 1
|
||||
//Only one of the endpoints can log in.
|
||||
// Only one of the endpoints can log in.
|
||||
SingleTerminalLogin = 2
|
||||
//The web side can be online at the same time, and the other side can only log in at one end.
|
||||
// The web side can be online at the same time, and the other side can only log in at one end.
|
||||
WebAndOther = 3
|
||||
// The PC side is mutually exclusive, and the mobile side is mutually exclusive, but the web side can be online at
|
||||
// the same time.
|
||||
PcMobileAndWeb = 4
|
||||
//The PC terminal can be online at the same time,but other terminal only one of the endpoints can login.
|
||||
// The PC terminal can be online at the same time,but other terminal only one of the endpoints can login.
|
||||
PCAndOther = 5
|
||||
|
||||
OnlineStatus = "online"
|
||||
@@ -151,12 +151,12 @@ const (
|
||||
Registered = "registered"
|
||||
UnRegistered = "unregistered"
|
||||
|
||||
//MsgReceiveOpt.
|
||||
// MsgReceiveOpt.
|
||||
ReceiveMessage = 0
|
||||
NotReceiveMessage = 1
|
||||
ReceiveNotNotifyMessage = 2
|
||||
|
||||
//OptionsKey.
|
||||
// OptionsKey.
|
||||
IsHistory = "history"
|
||||
IsPersistent = "persistent"
|
||||
IsOfflinePush = "offlinePush"
|
||||
@@ -170,13 +170,13 @@ const (
|
||||
IsNotNotification = "isNotNotification"
|
||||
IsSendMsg = "isSendMsg"
|
||||
|
||||
//GroupStatus.
|
||||
// GroupStatus.
|
||||
GroupOk = 0
|
||||
GroupBanChat = 1
|
||||
GroupStatusDismissed = 2
|
||||
GroupStatusMuted = 3
|
||||
|
||||
//GroupType.
|
||||
// GroupType.
|
||||
NormalGroup = 0
|
||||
SuperGroup = 1
|
||||
WorkingGroup = 2
|
||||
@@ -184,19 +184,19 @@ const (
|
||||
GroupBaned = 3
|
||||
GroupBanPrivateChat = 4
|
||||
|
||||
//UserJoinGroupSource.
|
||||
// UserJoinGroupSource.
|
||||
JoinByAdmin = 1
|
||||
|
||||
JoinByInvitation = 2
|
||||
JoinBySearch = 3
|
||||
JoinByQRCode = 4
|
||||
|
||||
//Minio.
|
||||
// Minio.
|
||||
MinioDurationTimes = 3600
|
||||
//Aws.
|
||||
// Aws.
|
||||
AwsDurationTimes = 3600
|
||||
|
||||
//callbackCommand.
|
||||
// callbackCommand.
|
||||
CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand"
|
||||
CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand"
|
||||
CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand"
|
||||
@@ -217,10 +217,10 @@ const (
|
||||
CallbackGetMessageListReactionExtensionsCommand = "callbackGetMessageListReactionExtensionsCommand"
|
||||
CallbackAddMessageListReactionExtensionsCommand = "callbackAddMessageListReactionExtensionsCommand"
|
||||
|
||||
//callback actionCode.
|
||||
// callback actionCode.
|
||||
ActionAllow = 0
|
||||
ActionForbidden = 1
|
||||
//callback callbackHandleCode.
|
||||
// callback callbackHandleCode.
|
||||
CallbackHandleSuccess = 0
|
||||
CallbackHandleFailed = 1
|
||||
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
package constant
|
||||
|
||||
// fixme 1<--->IOS 2<--->Android 3<--->Windows
|
||||
// fixme 4<--->OSX 5<--->Web 6<--->MiniWeb 7<--->Linux
|
||||
// fixme 4<--->OSX 5<--->Web 6<--->MiniWeb 7<--->Linux.
|
||||
const (
|
||||
//Platform ID.
|
||||
// Platform ID.
|
||||
IOSPlatformID = 1
|
||||
AndroidPlatformID = 2
|
||||
WindowsPlatformID = 3
|
||||
@@ -29,7 +29,7 @@ const (
|
||||
IPadPlatformID = 9
|
||||
AdminPlatformID = 10
|
||||
|
||||
//Platform string match to Platform ID.
|
||||
// Platform string match to Platform ID.
|
||||
IOSPlatformStr = "IOS"
|
||||
AndroidPlatformStr = "Android"
|
||||
WindowsPlatformStr = "Windows"
|
||||
@@ -41,7 +41,7 @@ const (
|
||||
IPadPlatformStr = "IPad"
|
||||
AdminPlatformStr = "Admin"
|
||||
|
||||
//terminal types.
|
||||
// terminal types.
|
||||
TerminalPC = "PC"
|
||||
TerminalMobile = "Mobile"
|
||||
)
|
||||
|
||||
@@ -76,7 +76,7 @@ func Db2PbGroupMember(m *relation.GroupMemberModel) *sdkws.GroupMemberFullInfo {
|
||||
JoinTime: m.JoinTime.UnixMilli(),
|
||||
Nickname: m.Nickname,
|
||||
FaceURL: m.FaceURL,
|
||||
//AppMangerLevel: m.AppMangerLevel,
|
||||
// AppMangerLevel: m.AppMangerLevel,
|
||||
JoinSource: m.JoinSource,
|
||||
OperatorUserID: m.OperatorUserID,
|
||||
Ex: m.Ex,
|
||||
|
||||
@@ -54,7 +54,6 @@ func MsgPb2DB(msg *sdkws.MsgData) *unrelation.MsgDataModel {
|
||||
msgDataModel.AttachedInfo = msg.AttachedInfo
|
||||
msgDataModel.Ex = msg.Ex
|
||||
return &msgDataModel
|
||||
|
||||
}
|
||||
|
||||
func MsgDB2Pb(msgModel *unrelation.MsgDataModel) *sdkws.MsgData {
|
||||
|
||||
Vendored
+3
-3
@@ -29,13 +29,13 @@ const (
|
||||
blackExpireTime = time.Second * 60 * 60 * 12
|
||||
)
|
||||
|
||||
// args fn will exec when no data in msgCache
|
||||
// args fn will exec when no data in msgCache.
|
||||
type BlackCache interface {
|
||||
//get blackIDs from msgCache
|
||||
// get blackIDs from msgCache
|
||||
metaCache
|
||||
NewCache() BlackCache
|
||||
GetBlackIDs(ctx context.Context, userID string) (blackIDs []string, err error)
|
||||
//del user's blackIDs msgCache, exec when a user's black list changed
|
||||
// del user's blackIDs msgCache, exec when a user's black list changed
|
||||
DelBlackIDs(ctx context.Context, userID string) BlackCache
|
||||
}
|
||||
|
||||
|
||||
Vendored
+1
-1
@@ -41,7 +41,7 @@ const (
|
||||
conversationExpireTime = time.Second * 60 * 60 * 12
|
||||
)
|
||||
|
||||
// arg fn will exec when no data in msgCache
|
||||
// arg fn will exec when no data in msgCache.
|
||||
type ConversationCache interface {
|
||||
metaCache
|
||||
NewCache() ConversationCache
|
||||
|
||||
Vendored
+2
-2
@@ -32,7 +32,7 @@ const (
|
||||
friendKey = "FRIEND_INFO:"
|
||||
)
|
||||
|
||||
// args fn will exec when no data in msgCache
|
||||
// args fn will exec when no data in msgCache.
|
||||
type FriendCache interface {
|
||||
metaCache
|
||||
NewCache() FriendCache
|
||||
@@ -109,7 +109,7 @@ func (f *FriendCacheRedis) DelFriendIDs(ownerUserID ...string) FriendCache {
|
||||
return new
|
||||
}
|
||||
|
||||
// todo
|
||||
// todo.
|
||||
func (f *FriendCacheRedis) GetTwoWayFriendIDs(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
|
||||
Vendored
+6
-5
@@ -106,7 +106,8 @@ func NewGroupCacheRedis(
|
||||
opts rockscache.Options,
|
||||
) GroupCache {
|
||||
rcClient := rockscache.NewClient(rdb, opts)
|
||||
return &GroupCacheRedis{rcClient: rcClient, expireTime: groupExpireTime,
|
||||
return &GroupCacheRedis{
|
||||
rcClient: rcClient, expireTime: groupExpireTime,
|
||||
groupDB: groupDB, groupMemberDB: groupMemberDB, groupRequestDB: groupRequestDB,
|
||||
mongoDB: mongoClient, metaCache: NewMetaCacheRedis(rcClient),
|
||||
}
|
||||
@@ -176,7 +177,7 @@ func (g *GroupCacheRedis) GetGroupMemberIndex(groupMember *relationTb.GroupMembe
|
||||
return 0, errIndex
|
||||
}
|
||||
|
||||
// / groupInfo
|
||||
// / groupInfo.
|
||||
func (g *GroupCacheRedis) GetGroupsInfo(
|
||||
ctx context.Context,
|
||||
groupIDs []string,
|
||||
@@ -265,7 +266,7 @@ func (g *GroupCacheRedis) GetSuperGroupMemberIDs(
|
||||
)
|
||||
}
|
||||
|
||||
// userJoinSuperGroup
|
||||
// userJoinSuperGroup.
|
||||
func (g *GroupCacheRedis) DelJoinedSuperGroupIDs(userIDs ...string) GroupCache {
|
||||
new := g.NewCache()
|
||||
var keys []string
|
||||
@@ -286,7 +287,7 @@ func (g *GroupCacheRedis) DelSuperGroupMemberIDs(groupIDs ...string) GroupCache
|
||||
return new
|
||||
}
|
||||
|
||||
// groupMembersHash
|
||||
// groupMembersHash.
|
||||
func (g *GroupCacheRedis) GetGroupMembersHash(ctx context.Context, groupID string) (hashCode uint64, err error) {
|
||||
return getCache(
|
||||
ctx,
|
||||
@@ -331,7 +332,7 @@ func (g *GroupCacheRedis) DelGroupMembersHash(groupID string) GroupCache {
|
||||
return cache
|
||||
}
|
||||
|
||||
// groupMemberIDs
|
||||
// groupMemberIDs.
|
||||
func (g *GroupCacheRedis) GetGroupMemberIDs(ctx context.Context, groupID string) (groupMemberIDs []string, err error) {
|
||||
return getCache(
|
||||
ctx,
|
||||
|
||||
Vendored
+2
-2
@@ -28,10 +28,10 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
maxRetry = 10 //number of retries
|
||||
maxRetry = 10 // number of retries
|
||||
)
|
||||
|
||||
// NewRedis Initialize redis connection
|
||||
// NewRedis Initialize redis connection.
|
||||
func NewRedis() (redis.UniversalClient, error) {
|
||||
if len(config.Config.Redis.Address) == 0 {
|
||||
return nil, errors.New("redis address is empty")
|
||||
|
||||
+3
-2
@@ -16,11 +16,12 @@ package cache
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"testing"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
)
|
||||
|
||||
//TestNewRedis Test redis connection
|
||||
// TestNewRedis Test redis connection
|
||||
func TestNewRedis(t *testing.T) {
|
||||
err := config.InitConfig("config_folder_path")
|
||||
if err != nil {
|
||||
|
||||
Vendored
+3
-1
@@ -212,6 +212,7 @@ func (c *msgCache) GetMaxSeqs(ctx context.Context, conversationIDs []string) (m
|
||||
func (c *msgCache) GetMaxSeq(ctx context.Context, conversationID string) (int64, error) {
|
||||
return c.getSeq(ctx, conversationID, c.getMaxSeqKey)
|
||||
}
|
||||
|
||||
func (c *msgCache) SetMinSeq(ctx context.Context, conversationID string, minSeq int64) error {
|
||||
return c.setSeq(ctx, conversationID, minSeq, c.getMinSeqKey)
|
||||
}
|
||||
@@ -235,6 +236,7 @@ func (c *msgCache) SetMinSeqs(ctx context.Context, seqs map[string]int64) error
|
||||
func (c *msgCache) GetMinSeqs(ctx context.Context, conversationIDs []string) (map[string]int64, error) {
|
||||
return c.getSeqs(ctx, conversationIDs, c.getMinSeqKey)
|
||||
}
|
||||
|
||||
func (c *msgCache) GetMinSeq(ctx context.Context, conversationID string) (int64, error) {
|
||||
return c.getSeq(ctx, conversationID, c.getMinSeqKey)
|
||||
}
|
||||
@@ -359,7 +361,7 @@ func (c *msgCache) GetMessagesBySeq(
|
||||
) (seqMsgs []*sdkws.MsgData, failedSeqs []int64, err error) {
|
||||
pipe := c.rdb.Pipeline()
|
||||
for _, v := range seqs {
|
||||
//MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
|
||||
// MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
|
||||
key := c.getMessageCacheKey(conversationID, v)
|
||||
if err := pipe.Get(ctx, key).Err(); err != nil && err != redis.Nil {
|
||||
return nil, nil, err
|
||||
|
||||
@@ -26,9 +26,9 @@ import (
|
||||
)
|
||||
|
||||
type AuthDatabase interface {
|
||||
//结果为空 不返回错误
|
||||
// 结果为空 不返回错误
|
||||
GetTokensWithoutError(ctx context.Context, userID string, platformID int) (map[string]int, error)
|
||||
//创建token
|
||||
// 创建token
|
||||
CreateToken(ctx context.Context, userID string, platformID int) (string, error)
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ func NewAuthDatabase(cache cache.MsgModel, accessSecret string, accessExpire int
|
||||
return &authDatabase{cache: cache, accessSecret: accessSecret, accessExpire: accessExpire}
|
||||
}
|
||||
|
||||
// 结果为空 不返回错误
|
||||
// 结果为空 不返回错误.
|
||||
func (a *authDatabase) GetTokensWithoutError(
|
||||
ctx context.Context,
|
||||
userID string,
|
||||
@@ -52,7 +52,7 @@ func (a *authDatabase) GetTokensWithoutError(
|
||||
return a.cache.GetTokensWithoutError(ctx, userID, platformID)
|
||||
}
|
||||
|
||||
// 创建token
|
||||
// 创建token.
|
||||
func (a *authDatabase) CreateToken(ctx context.Context, userID string, platformID int) (string, error) {
|
||||
tokens, err := a.cache.GetTokensWithoutError(ctx, userID, platformID)
|
||||
if err != nil {
|
||||
|
||||
@@ -48,7 +48,7 @@ func NewBlackDatabase(black relation.BlackModelInterface, cache cache.BlackCache
|
||||
return &blackDatabase{black, cache}
|
||||
}
|
||||
|
||||
// Create 增加黑名单
|
||||
// Create 增加黑名单.
|
||||
func (b *blackDatabase) Create(ctx context.Context, blacks []*relation.BlackModel) (err error) {
|
||||
if err := b.black.Create(ctx, blacks); err != nil {
|
||||
return err
|
||||
@@ -56,7 +56,7 @@ func (b *blackDatabase) Create(ctx context.Context, blacks []*relation.BlackMode
|
||||
return b.deleteBlackIDsCache(ctx, blacks)
|
||||
}
|
||||
|
||||
// Delete 删除黑名单
|
||||
// Delete 删除黑名单.
|
||||
func (b *blackDatabase) Delete(ctx context.Context, blacks []*relation.BlackModel) (err error) {
|
||||
if err := b.black.Delete(ctx, blacks); err != nil {
|
||||
return err
|
||||
@@ -72,7 +72,7 @@ func (b *blackDatabase) deleteBlackIDsCache(ctx context.Context, blacks []*relat
|
||||
return cache.ExecDel(ctx)
|
||||
}
|
||||
|
||||
// FindOwnerBlacks 获取黑名单列表
|
||||
// FindOwnerBlacks 获取黑名单列表.
|
||||
func (b *blackDatabase) FindOwnerBlacks(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -81,7 +81,7 @@ func (b *blackDatabase) FindOwnerBlacks(
|
||||
return b.black.FindOwnerBlacks(ctx, ownerUserID, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true)
|
||||
// CheckIn 检查user2是否在user1的黑名单列表中(inUser1Blacks==true) 检查user1是否在user2的黑名单列表中(inUser2Blacks==true).
|
||||
func (b *blackDatabase) CheckIn(
|
||||
ctx context.Context,
|
||||
userID1, userID2 string,
|
||||
|
||||
@@ -27,21 +27,21 @@ import (
|
||||
)
|
||||
|
||||
type ConversationDatabase interface {
|
||||
//UpdateUserConversationFiled 更新用户该会话的属性信息
|
||||
// UpdateUserConversationFiled 更新用户该会话的属性信息
|
||||
UpdateUsersConversationFiled(ctx context.Context, userIDs []string, conversationID string, args map[string]interface{}) error
|
||||
//CreateConversation 创建一批新的会话
|
||||
// CreateConversation 创建一批新的会话
|
||||
CreateConversation(ctx context.Context, conversations []*relationTb.ConversationModel) error
|
||||
//SyncPeerUserPrivateConversation 同步对端私聊会话内部保证事务操作
|
||||
// SyncPeerUserPrivateConversation 同步对端私聊会话内部保证事务操作
|
||||
SyncPeerUserPrivateConversationTx(ctx context.Context, conversation []*relationTb.ConversationModel) error
|
||||
//FindConversations 根据会话ID获取某个用户的多个会话
|
||||
// FindConversations 根据会话ID获取某个用户的多个会话
|
||||
FindConversations(ctx context.Context, ownerUserID string, conversationIDs []string) ([]*relationTb.ConversationModel, error)
|
||||
//FindRecvMsgNotNotifyUserIDs 获取超级大群开启免打扰的用户ID
|
||||
// FindRecvMsgNotNotifyUserIDs 获取超级大群开启免打扰的用户ID
|
||||
FindRecvMsgNotNotifyUserIDs(ctx context.Context, groupID string) ([]string, error)
|
||||
//GetUserAllConversation 获取一个用户在服务器上所有的会话
|
||||
// GetUserAllConversation 获取一个用户在服务器上所有的会话
|
||||
GetUserAllConversation(ctx context.Context, ownerUserID string) ([]*relationTb.ConversationModel, error)
|
||||
//SetUserConversations 设置用户多个会话属性,如果会话不存在则创建,否则更新,内部保证原子性
|
||||
// SetUserConversations 设置用户多个会话属性,如果会话不存在则创建,否则更新,内部保证原子性
|
||||
SetUserConversations(ctx context.Context, ownerUserID string, conversations []*relationTb.ConversationModel) error
|
||||
//SetUsersConversationFiledTx 设置多个用户会话关于某个字段的更新操作,如果会话不存在则创建,否则更新,内部保证事务操作
|
||||
// SetUsersConversationFiledTx 设置多个用户会话关于某个字段的更新操作,如果会话不存在则创建,否则更新,内部保证事务操作
|
||||
SetUsersConversationFiledTx(ctx context.Context, userIDs []string, conversation *relationTb.ConversationModel, filedMap map[string]interface{}) error
|
||||
CreateGroupChatConversation(ctx context.Context, groupID string, userIDs []string) error
|
||||
GetConversationIDs(ctx context.Context, userID string) ([]string, error)
|
||||
@@ -98,7 +98,6 @@ func (c *conversationDatabase) SetUsersConversationFiledTx(ctx context.Context,
|
||||
temp.OwnerUserID = v
|
||||
temp.CreateTime = now
|
||||
conversations = append(conversations, temp)
|
||||
|
||||
}
|
||||
if len(conversations) > 0 {
|
||||
err = conversationTx.Create(ctx, conversations)
|
||||
|
||||
@@ -93,7 +93,7 @@ func NewFriendDatabase(
|
||||
return &friendDatabase{friend: friend, friendRequest: friendRequest, cache: cache, tx: tx}
|
||||
}
|
||||
|
||||
// ok 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true)
|
||||
// ok 检查user2是否在user1的好友列表中(inUser1Friends==true) 检查user1是否在user2的好友列表中(inUser2Friends==true).
|
||||
func (f *friendDatabase) CheckIn(
|
||||
ctx context.Context,
|
||||
userID1, userID2 string,
|
||||
@@ -109,7 +109,7 @@ func (f *friendDatabase) CheckIn(
|
||||
return utils.IsContain(userID2, userID1FriendIDs), utils.IsContain(userID1, userID2FriendIDs), nil
|
||||
}
|
||||
|
||||
// 增加或者更新好友申请 如果之前有记录则更新,没有记录则新增
|
||||
// 增加或者更新好友申请 如果之前有记录则更新,没有记录则新增.
|
||||
func (f *friendDatabase) AddFriendRequest(
|
||||
ctx context.Context,
|
||||
fromUserID, toUserID string,
|
||||
@@ -118,11 +118,11 @@ func (f *friendDatabase) AddFriendRequest(
|
||||
) (err error) {
|
||||
return f.tx.Transaction(func(tx any) error {
|
||||
_, err := f.friendRequest.NewTx(tx).Take(ctx, fromUserID, toUserID)
|
||||
//有db错误
|
||||
// 有db错误
|
||||
if err != nil && errs.Unwrap(err) != gorm.ErrRecordNotFound {
|
||||
return err
|
||||
}
|
||||
//无错误 则更新
|
||||
// 无错误 则更新
|
||||
if err == nil {
|
||||
m := make(map[string]interface{}, 1)
|
||||
m["handle_result"] = 0
|
||||
@@ -135,7 +135,7 @@ func (f *friendDatabase) AddFriendRequest(
|
||||
}
|
||||
return nil
|
||||
}
|
||||
//gorm.ErrRecordNotFound 错误,则新增
|
||||
// gorm.ErrRecordNotFound 错误,则新增
|
||||
if err := f.friendRequest.NewTx(tx).Create(ctx, []*relation.FriendRequestModel{{FromUserID: fromUserID, ToUserID: toUserID, ReqMsg: reqMsg, Ex: ex, CreateTime: time.Now(), HandleTime: time.Unix(0, 0)}}); err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -143,7 +143,7 @@ func (f *friendDatabase) AddFriendRequest(
|
||||
})
|
||||
}
|
||||
|
||||
// (1)先判断是否在好友表 (在不在都不返回错误) (2)对于不在好友列表的 插入即可
|
||||
// (1)先判断是否在好友表 (在不在都不返回错误) (2)对于不在好友列表的 插入即可.
|
||||
func (f *friendDatabase) BecomeFriends(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -152,7 +152,7 @@ func (f *friendDatabase) BecomeFriends(
|
||||
) (err error) {
|
||||
cache := f.cache.NewCache()
|
||||
if err := f.tx.Transaction(func(tx any) error {
|
||||
//先find 找出重复的 去掉重复的
|
||||
// 先find 找出重复的 去掉重复的
|
||||
fs1, err := f.friend.NewTx(tx).FindFriends(ctx, ownerUserID, friendUserIDs)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -194,7 +194,7 @@ func (f *friendDatabase) BecomeFriends(
|
||||
return cache.ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝
|
||||
// 拒绝好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)修改申请记录 已拒绝.
|
||||
func (f *friendDatabase) RefuseFriendRequest(
|
||||
ctx context.Context,
|
||||
friendRequest *relation.FriendRequestModel,
|
||||
@@ -215,7 +215,7 @@ func (f *friendDatabase) RefuseFriendRequest(
|
||||
return nil
|
||||
}
|
||||
|
||||
// AgreeFriendRequest 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 建立双向好友关系(存在的忽略)
|
||||
// AgreeFriendRequest 同意好友申请 (1)检查是否有申请记录且为未处理状态 (没有记录返回错误) (2)检查是否好友(不返回错误) (3) 建立双向好友关系(存在的忽略).
|
||||
func (f *friendDatabase) AgreeFriendRequest(
|
||||
ctx context.Context,
|
||||
friendRequest *relation.FriendRequestModel,
|
||||
@@ -289,7 +289,7 @@ func (f *friendDatabase) AgreeFriendRequest(
|
||||
})
|
||||
}
|
||||
|
||||
// 删除好友 外部判断是否好友关系
|
||||
// 删除好友 外部判断是否好友关系.
|
||||
func (f *friendDatabase) Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) {
|
||||
if err := f.friend.Delete(ctx, ownerUserID, friendUserIDs); err != nil {
|
||||
return err
|
||||
@@ -297,7 +297,7 @@ func (f *friendDatabase) Delete(ctx context.Context, ownerUserID string, friendU
|
||||
return f.cache.DelFriendIDs(append(friendUserIDs, ownerUserID)...).ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 更新好友备注 零值也支持
|
||||
// 更新好友备注 零值也支持.
|
||||
func (f *friendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||
if err := f.friend.UpdateRemark(ctx, ownerUserID, friendUserID, remark); err != nil {
|
||||
return err
|
||||
@@ -305,7 +305,7 @@ func (f *friendDatabase) UpdateRemark(ctx context.Context, ownerUserID, friendUs
|
||||
return f.cache.DelFriend(ownerUserID, friendUserID).ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 获取ownerUserID的好友列表 无结果不返回错误
|
||||
// 获取ownerUserID的好友列表 无结果不返回错误.
|
||||
func (f *friendDatabase) PageOwnerFriends(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -314,7 +314,7 @@ func (f *friendDatabase) PageOwnerFriends(
|
||||
return f.friend.FindOwnerFriends(ctx, ownerUserID, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// friendUserID在哪些人的好友列表中
|
||||
// friendUserID在哪些人的好友列表中.
|
||||
func (f *friendDatabase) PageInWhoseFriends(
|
||||
ctx context.Context,
|
||||
friendUserID string,
|
||||
@@ -323,7 +323,7 @@ func (f *friendDatabase) PageInWhoseFriends(
|
||||
return f.friend.FindInWhoseFriends(ctx, friendUserID, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// 获取我发出去的好友申请 无结果不返回错误
|
||||
// 获取我发出去的好友申请 无结果不返回错误.
|
||||
func (f *friendDatabase) PageFriendRequestFromMe(
|
||||
ctx context.Context,
|
||||
userID string,
|
||||
@@ -332,7 +332,7 @@ func (f *friendDatabase) PageFriendRequestFromMe(
|
||||
return f.friendRequest.FindFromUserID(ctx, userID, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// 获取我收到的的好友申请 无结果不返回错误
|
||||
// 获取我收到的的好友申请 无结果不返回错误.
|
||||
func (f *friendDatabase) PageFriendRequestToMe(
|
||||
ctx context.Context,
|
||||
userID string,
|
||||
@@ -341,7 +341,7 @@ func (f *friendDatabase) PageFriendRequestToMe(
|
||||
return f.friendRequest.FindToUserID(ctx, userID, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// 获取某人指定好友的信息 如果有好友不存在,也返回错误
|
||||
// 获取某人指定好友的信息 如果有好友不存在,也返回错误.
|
||||
func (f *friendDatabase) FindFriendsWithError(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
|
||||
@@ -203,7 +203,7 @@ func (g *groupDatabase) CreateGroup(
|
||||
groups []*relationTb.GroupModel,
|
||||
groupMembers []*relationTb.GroupMemberModel,
|
||||
) error {
|
||||
var cache = g.cache.NewCache()
|
||||
cache := g.cache.NewCache()
|
||||
if err := g.tx.Transaction(func(tx any) error {
|
||||
if len(groups) > 0 {
|
||||
if err := g.groupDB.NewTx(tx).Create(ctx, groups); err != nil {
|
||||
@@ -473,7 +473,7 @@ func (g *groupDatabase) UpdateGroupMember(
|
||||
}
|
||||
|
||||
func (g *groupDatabase) UpdateGroupMembers(ctx context.Context, data []*relationTb.BatchUpdateGroupMember) error {
|
||||
var cache = g.cache.NewCache()
|
||||
cache := g.cache.NewCache()
|
||||
if err := g.tx.Transaction(func(tx any) error {
|
||||
for _, item := range data {
|
||||
if err := g.groupMemberDB.NewTx(tx).Update(ctx, item.GroupID, item.UserID, item.Map); err != nil {
|
||||
|
||||
@@ -15,10 +15,14 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
relation2 "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/relation"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/relation"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
|
||||
"github.com/redis/go-redis/v9"
|
||||
|
||||
@@ -32,13 +36,11 @@ import (
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/prome"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
|
||||
"context"
|
||||
"errors"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
|
||||
pbMsg "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -103,8 +105,23 @@ type CommonMsgDatabase interface {
|
||||
MsgToPushMQ(ctx context.Context, key, conversarionID string, msg2mq *sdkws.MsgData) (int32, int64, error)
|
||||
MsgToMongoMQ(ctx context.Context, key, conversarionID string, msgs []*sdkws.MsgData, lastSeq int64) error
|
||||
|
||||
RangeUserSendCount(ctx context.Context, start time.Time, end time.Time, group bool, ase bool, pageNumber int32, showNumber int32) (msgCount int64, userCount int64, users []*unRelationTb.UserCount, dateCount map[string]int64, err error)
|
||||
RangeGroupSendCount(ctx context.Context, start time.Time, end time.Time, ase bool, pageNumber int32, showNumber int32) (msgCount int64, userCount int64, groups []*unRelationTb.GroupCount, dateCount map[string]int64, err error)
|
||||
RangeUserSendCount(
|
||||
ctx context.Context,
|
||||
start time.Time,
|
||||
end time.Time,
|
||||
group bool,
|
||||
ase bool,
|
||||
pageNumber int32,
|
||||
showNumber int32,
|
||||
) (msgCount int64, userCount int64, users []*unRelationTb.UserCount, dateCount map[string]int64, err error)
|
||||
RangeGroupSendCount(
|
||||
ctx context.Context,
|
||||
start time.Time,
|
||||
end time.Time,
|
||||
ase bool,
|
||||
pageNumber int32,
|
||||
showNumber int32,
|
||||
) (msgCount int64, userCount int64, groups []*unRelationTb.GroupCount, dateCount map[string]int64, err error)
|
||||
}
|
||||
|
||||
func NewCommonMsgDatabase(msgDocModel unRelationTb.MsgDocModelInterface, cacheModel cache.MsgModel, msgMyqModel relation.ChatLogModelInterface) CommonMsgDatabase {
|
||||
@@ -172,7 +189,7 @@ func (db *commonMsgDatabase) BatchInsertBlock(ctx context.Context, conversationI
|
||||
return nil
|
||||
}
|
||||
num := db.msg.GetSingleGocMsgNum()
|
||||
//num = 100
|
||||
// num = 100
|
||||
for i, field := range fields { // 检查类型
|
||||
var ok bool
|
||||
switch key {
|
||||
@@ -390,7 +407,7 @@ func (db *commonMsgDatabase) BatchInsertChat2Cache(ctx context.Context, conversa
|
||||
|
||||
func (db *commonMsgDatabase) getMsgBySeqs(ctx context.Context, userID, conversationID string, seqs []int64) (totalMsgs []*sdkws.MsgData, err error) {
|
||||
for docID, seqs := range db.msg.GetDocIDSeqsMap(conversationID, seqs) {
|
||||
//log.ZDebug(ctx, "getMsgBySeqs", "docID", docID, "seqs", seqs)
|
||||
// log.ZDebug(ctx, "getMsgBySeqs", "docID", docID, "seqs", seqs)
|
||||
msgs, err := db.findMsgInfoBySeq(ctx, userID, docID, seqs)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -575,7 +592,22 @@ func (db *commonMsgDatabase) GetMsgBySeqs(ctx context.Context, userID string, co
|
||||
log.ZError(ctx, "get message from redis exception", err, "failedSeqs", failedSeqs, "conversationID", conversationID)
|
||||
}
|
||||
}
|
||||
log.ZInfo(ctx, "db.cache.GetMessagesBySeq", "userID", userID, "conversationID", conversationID, "seqs", seqs, "successMsgs", len(successMsgs), "failedSeqs", failedSeqs, "conversationID", conversationID)
|
||||
log.ZInfo(
|
||||
ctx,
|
||||
"db.cache.GetMessagesBySeq",
|
||||
"userID",
|
||||
userID,
|
||||
"conversationID",
|
||||
conversationID,
|
||||
"seqs",
|
||||
seqs,
|
||||
"successMsgs",
|
||||
len(successMsgs),
|
||||
"failedSeqs",
|
||||
failedSeqs,
|
||||
"conversationID",
|
||||
conversationID,
|
||||
)
|
||||
prome.Add(prome.MsgPullFromRedisSuccessCounter, len(successMsgs))
|
||||
if len(failedSeqs) > 0 {
|
||||
mongoMsgs, err := db.getMsgBySeqs(ctx, userID, conversationID, failedSeqs)
|
||||
@@ -637,7 +669,6 @@ func (db *commonMsgDatabase) UserMsgsDestruct(ctx context.Context, userID string
|
||||
log.ZDebug(ctx, "deleteMsgRecursion finished", "conversationID", conversationID, "userID", userID, "index", index)
|
||||
break
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -652,7 +683,7 @@ func (db *commonMsgDatabase) UserMsgsDestruct(ctx context.Context, userID string
|
||||
return seqs, nil
|
||||
}
|
||||
|
||||
// this is struct for recursion
|
||||
// this is struct for recursion.
|
||||
type delMsgRecursionStruct struct {
|
||||
minSeq int64
|
||||
delDocIDs []string
|
||||
@@ -665,7 +696,7 @@ func (d *delMsgRecursionStruct) getSetMinSeq() int64 {
|
||||
// index 0....19(del) 20...69
|
||||
// seq 70
|
||||
// set minSeq 21
|
||||
// recursion 删除list并且返回设置的最小seq
|
||||
// recursion 删除list并且返回设置的最小seq.
|
||||
func (db *commonMsgDatabase) deleteMsgRecursion(ctx context.Context, conversationID string, index int64, delStruct *delMsgRecursionStruct, remainTime int64) (int64, error) {
|
||||
// find from oldest list
|
||||
msgDocModel, err := db.msgDocDatabase.GetMsgDocModelByIndex(ctx, conversationID, index, 1)
|
||||
@@ -791,15 +822,19 @@ func (db *commonMsgDatabase) CleanUpUserConversationsMsgs(ctx context.Context, u
|
||||
func (db *commonMsgDatabase) SetMaxSeq(ctx context.Context, conversationID string, maxSeq int64) error {
|
||||
return db.cache.SetMaxSeq(ctx, conversationID, maxSeq)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetMaxSeqs(ctx context.Context, conversationIDs []string) (map[string]int64, error) {
|
||||
return db.cache.GetMaxSeqs(ctx, conversationIDs)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetMaxSeq(ctx context.Context, conversationID string) (int64, error) {
|
||||
return db.cache.GetMaxSeq(ctx, conversationID)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) SetMinSeq(ctx context.Context, conversationID string, minSeq int64) error {
|
||||
return db.cache.SetMinSeq(ctx, conversationID, minSeq)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) SetMinSeqs(ctx context.Context, seqs map[string]int64) error {
|
||||
return db.cache.SetMinSeqs(ctx, seqs)
|
||||
}
|
||||
@@ -807,18 +842,23 @@ func (db *commonMsgDatabase) SetMinSeqs(ctx context.Context, seqs map[string]int
|
||||
func (db *commonMsgDatabase) GetMinSeqs(ctx context.Context, conversationIDs []string) (map[string]int64, error) {
|
||||
return db.cache.GetMinSeqs(ctx, conversationIDs)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetMinSeq(ctx context.Context, conversationID string) (int64, error) {
|
||||
return db.cache.GetMinSeq(ctx, conversationID)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetConversationUserMinSeq(ctx context.Context, conversationID string, userID string) (int64, error) {
|
||||
return db.cache.GetConversationUserMinSeq(ctx, conversationID, userID)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetConversationUserMinSeqs(ctx context.Context, conversationID string, userIDs []string) (map[string]int64, error) {
|
||||
return db.cache.GetConversationUserMinSeqs(ctx, conversationID, userIDs)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) SetConversationUserMinSeq(ctx context.Context, conversationID string, userID string, minSeq int64) error {
|
||||
return db.cache.SetConversationUserMinSeq(ctx, conversationID, userID, minSeq)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) SetConversationUserMinSeqs(ctx context.Context, conversationID string, seqs map[string]int64) (err error) {
|
||||
return db.cache.SetConversationUserMinSeqs(ctx, conversationID, seqs)
|
||||
}
|
||||
@@ -834,6 +874,7 @@ func (db *commonMsgDatabase) UserSetHasReadSeqs(ctx context.Context, userID stri
|
||||
func (db *commonMsgDatabase) SetHasReadSeq(ctx context.Context, userID string, conversationID string, hasReadSeq int64) error {
|
||||
return db.cache.SetHasReadSeq(ctx, userID, conversationID, hasReadSeq)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) GetHasReadSeqs(ctx context.Context, userID string, conversationIDs []string) (map[string]int64, error) {
|
||||
return db.cache.GetHasReadSeqs(ctx, userID, conversationIDs)
|
||||
}
|
||||
@@ -884,11 +925,26 @@ func (db *commonMsgDatabase) GetMinMaxSeqMongo(ctx context.Context, conversation
|
||||
return
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) RangeUserSendCount(ctx context.Context, start time.Time, end time.Time, group bool, ase bool, pageNumber int32, showNumber int32) (msgCount int64, userCount int64, users []*unRelationTb.UserCount, dateCount map[string]int64, err error) {
|
||||
func (db *commonMsgDatabase) RangeUserSendCount(
|
||||
ctx context.Context,
|
||||
start time.Time,
|
||||
end time.Time,
|
||||
group bool,
|
||||
ase bool,
|
||||
pageNumber int32,
|
||||
showNumber int32,
|
||||
) (msgCount int64, userCount int64, users []*unRelationTb.UserCount, dateCount map[string]int64, err error) {
|
||||
return db.msgDocDatabase.RangeUserSendCount(ctx, start, end, group, ase, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
func (db *commonMsgDatabase) RangeGroupSendCount(ctx context.Context, start time.Time, end time.Time, ase bool, pageNumber int32, showNumber int32) (msgCount int64, userCount int64, groups []*unRelationTb.GroupCount, dateCount map[string]int64, err error) {
|
||||
func (db *commonMsgDatabase) RangeGroupSendCount(
|
||||
ctx context.Context,
|
||||
start time.Time,
|
||||
end time.Time,
|
||||
ase bool,
|
||||
pageNumber int32,
|
||||
showNumber int32,
|
||||
) (msgCount int64, userCount int64, groups []*unRelationTb.GroupCount, dateCount map[string]int64, err error) {
|
||||
return db.msgDocDatabase.RangeGroupSendCount(ctx, start, end, ase, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
|
||||
@@ -16,11 +16,12 @@ package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
"path/filepath"
|
||||
"time"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3/cont"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/relation"
|
||||
"path/filepath"
|
||||
"time"
|
||||
)
|
||||
|
||||
type S3Database interface {
|
||||
|
||||
@@ -26,19 +26,19 @@ import (
|
||||
)
|
||||
|
||||
type UserDatabase interface {
|
||||
//获取指定用户的信息 如有userID未找到 也返回错误
|
||||
// 获取指定用户的信息 如有userID未找到 也返回错误
|
||||
FindWithError(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error)
|
||||
//获取指定用户的信息 如有userID未找到 不返回错误
|
||||
// 获取指定用户的信息 如有userID未找到 不返回错误
|
||||
Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error)
|
||||
//插入多条 外部保证userID 不重复 且在db中不存在
|
||||
// 插入多条 外部保证userID 不重复 且在db中不存在
|
||||
Create(ctx context.Context, users []*relation.UserModel) (err error)
|
||||
//更新(非零值) 外部保证userID存在
|
||||
// 更新(非零值) 外部保证userID存在
|
||||
Update(ctx context.Context, user *relation.UserModel) (err error)
|
||||
//更新(零值) 外部保证userID存在
|
||||
// 更新(零值) 外部保证userID存在
|
||||
UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error)
|
||||
//如果没找到,不返回错误
|
||||
// 如果没找到,不返回错误
|
||||
Page(ctx context.Context, pageNumber, showNumber int32) (users []*relation.UserModel, count int64, err error)
|
||||
//只要有一个存在就为true
|
||||
// 只要有一个存在就为true
|
||||
IsExist(ctx context.Context, userIDs []string) (exist bool, err error)
|
||||
//获取所有用户ID
|
||||
GetAllUserID(ctx context.Context, pageNumber, showNumber int32) ([]string, error)
|
||||
@@ -75,7 +75,7 @@ func (u *userDatabase) InitOnce(ctx context.Context, users []*relation.UserModel
|
||||
return nil
|
||||
}
|
||||
|
||||
// 获取指定用户的信息 如有userID未找到 也返回错误
|
||||
// 获取指定用户的信息 如有userID未找到 也返回错误.
|
||||
func (u *userDatabase) FindWithError(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) {
|
||||
users, err = u.cache.GetUsersInfo(ctx, userIDs)
|
||||
if err != nil {
|
||||
@@ -87,13 +87,13 @@ func (u *userDatabase) FindWithError(ctx context.Context, userIDs []string) (use
|
||||
return
|
||||
}
|
||||
|
||||
// 获取指定用户的信息 如有userID未找到 不返回错误
|
||||
// 获取指定用户的信息 如有userID未找到 不返回错误.
|
||||
func (u *userDatabase) Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) {
|
||||
users, err = u.cache.GetUsersInfo(ctx, userIDs)
|
||||
return
|
||||
}
|
||||
|
||||
// 插入多条 外部保证userID 不重复 且在db中不存在
|
||||
// 插入多条 外部保证userID 不重复 且在db中不存在.
|
||||
func (u *userDatabase) Create(ctx context.Context, users []*relation.UserModel) (err error) {
|
||||
if err := u.tx.Transaction(func(tx any) error {
|
||||
err = u.userDB.Create(ctx, users)
|
||||
@@ -111,7 +111,7 @@ func (u *userDatabase) Create(ctx context.Context, users []*relation.UserModel)
|
||||
return u.cache.DelUsersInfo(userIDs...).ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 更新(非零值) 外部保证userID存在
|
||||
// 更新(非零值) 外部保证userID存在.
|
||||
func (u *userDatabase) Update(ctx context.Context, user *relation.UserModel) (err error) {
|
||||
if err := u.userDB.Update(ctx, user); err != nil {
|
||||
return err
|
||||
@@ -119,7 +119,7 @@ func (u *userDatabase) Update(ctx context.Context, user *relation.UserModel) (er
|
||||
return u.cache.DelUsersInfo(user.UserID).ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 更新(零值) 外部保证userID存在
|
||||
// 更新(零值) 外部保证userID存在.
|
||||
func (u *userDatabase) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) {
|
||||
if err := u.userDB.UpdateByMap(ctx, userID, args); err != nil {
|
||||
return err
|
||||
@@ -127,7 +127,7 @@ func (u *userDatabase) UpdateByMap(ctx context.Context, userID string, args map[
|
||||
return u.cache.DelUsersInfo(userID).ExecDel(ctx)
|
||||
}
|
||||
|
||||
// 获取,如果没找到,不返回错误
|
||||
// 获取,如果没找到,不返回错误.
|
||||
func (u *userDatabase) Page(
|
||||
ctx context.Context,
|
||||
pageNumber, showNumber int32,
|
||||
@@ -135,7 +135,7 @@ func (u *userDatabase) Page(
|
||||
return u.userDB.Page(ctx, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
// userIDs是否存在 只要有一个存在就为true
|
||||
// userIDs是否存在 只要有一个存在就为true.
|
||||
func (u *userDatabase) IsExist(ctx context.Context, userIDs []string) (exist bool, err error) {
|
||||
users, err := u.userDB.Find(ctx, userIDs)
|
||||
if err != nil {
|
||||
|
||||
@@ -76,5 +76,4 @@ func (g *ConversationLocalCache) GetConversationIDs(ctx context.Context, userID
|
||||
return conversationIDsResp.ConversationIDs, nil
|
||||
}
|
||||
return hash.ids, nil
|
||||
|
||||
}
|
||||
|
||||
@@ -35,12 +35,12 @@ func (f *FriendGorm) NewTx(tx any) relation.FriendModelInterface {
|
||||
return &FriendGorm{NewMetaDB(tx.(*gorm.DB), &relation.FriendModel{})}
|
||||
}
|
||||
|
||||
// 插入多条记录
|
||||
// 插入多条记录.
|
||||
func (f *FriendGorm) Create(ctx context.Context, friends []*relation.FriendModel) (err error) {
|
||||
return utils.Wrap(f.db(ctx).Create(&friends).Error, "")
|
||||
}
|
||||
|
||||
// 删除ownerUserID指定的好友
|
||||
// 删除ownerUserID指定的好友.
|
||||
func (f *FriendGorm) Delete(ctx context.Context, ownerUserID string, friendUserIDs []string) (err error) {
|
||||
err = utils.Wrap(
|
||||
f.db(ctx).
|
||||
@@ -52,7 +52,7 @@ func (f *FriendGorm) Delete(ctx context.Context, ownerUserID string, friendUserI
|
||||
return err
|
||||
}
|
||||
|
||||
// 更新ownerUserID单个好友信息 更新零值
|
||||
// 更新ownerUserID单个好友信息 更新零值.
|
||||
func (f *FriendGorm) UpdateByMap(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -65,12 +65,12 @@ func (f *FriendGorm) UpdateByMap(
|
||||
)
|
||||
}
|
||||
|
||||
// 更新好友信息的非零值
|
||||
// 更新好友信息的非零值.
|
||||
func (f *FriendGorm) Update(ctx context.Context, friends []*relation.FriendModel) (err error) {
|
||||
return utils.Wrap(f.db(ctx).Updates(&friends).Error, "")
|
||||
}
|
||||
|
||||
// 更新好友备注(也支持零值 )
|
||||
// 更新好友备注(也支持零值 ).
|
||||
func (f *FriendGorm) UpdateRemark(ctx context.Context, ownerUserID, friendUserID, remark string) (err error) {
|
||||
if remark != "" {
|
||||
return utils.Wrap(
|
||||
@@ -86,7 +86,7 @@ func (f *FriendGorm) UpdateRemark(ctx context.Context, ownerUserID, friendUserID
|
||||
return utils.Wrap(f.db(ctx).Where("owner_user_id = ?", ownerUserID).Updates(m).Error, "")
|
||||
}
|
||||
|
||||
// 获取单个好友信息,如没找到 返回错误
|
||||
// 获取单个好友信息,如没找到 返回错误.
|
||||
func (f *FriendGorm) Take(
|
||||
ctx context.Context,
|
||||
ownerUserID, friendUserID string,
|
||||
@@ -98,7 +98,7 @@ func (f *FriendGorm) Take(
|
||||
)
|
||||
}
|
||||
|
||||
// 查找好友关系,如果是双向关系,则都返回
|
||||
// 查找好友关系,如果是双向关系,则都返回.
|
||||
func (f *FriendGorm) FindUserState(
|
||||
ctx context.Context,
|
||||
userID1, userID2 string,
|
||||
@@ -112,7 +112,7 @@ func (f *FriendGorm) FindUserState(
|
||||
)
|
||||
}
|
||||
|
||||
// 获取 owner指定的好友列表 如果有friendUserIDs不存在,也不返回错误
|
||||
// 获取 owner指定的好友列表 如果有friendUserIDs不存在,也不返回错误.
|
||||
func (f *FriendGorm) FindFriends(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -124,7 +124,7 @@ func (f *FriendGorm) FindFriends(
|
||||
)
|
||||
}
|
||||
|
||||
// 获取哪些人添加了friendUserID 如果有ownerUserIDs不存在,也不返回错误
|
||||
// 获取哪些人添加了friendUserID 如果有ownerUserIDs不存在,也不返回错误.
|
||||
func (f *FriendGorm) FindReversalFriends(
|
||||
ctx context.Context,
|
||||
friendUserID string,
|
||||
@@ -136,7 +136,7 @@ func (f *FriendGorm) FindReversalFriends(
|
||||
)
|
||||
}
|
||||
|
||||
// 获取ownerUserID好友列表 支持翻页
|
||||
// 获取ownerUserID好友列表 支持翻页.
|
||||
func (f *FriendGorm) FindOwnerFriends(
|
||||
ctx context.Context,
|
||||
ownerUserID string,
|
||||
@@ -158,7 +158,7 @@ func (f *FriendGorm) FindOwnerFriends(
|
||||
return
|
||||
}
|
||||
|
||||
// 获取哪些人添加了friendUserID 支持翻页
|
||||
// 获取哪些人添加了friendUserID 支持翻页.
|
||||
func (f *FriendGorm) FindInWhoseFriends(
|
||||
ctx context.Context,
|
||||
friendUserID string,
|
||||
|
||||
@@ -35,12 +35,12 @@ func (f *FriendRequestGorm) NewTx(tx any) relation.FriendRequestModelInterface {
|
||||
return &FriendRequestGorm{NewMetaDB(tx.(*gorm.DB), &relation.FriendRequestModel{})}
|
||||
}
|
||||
|
||||
// 插入多条记录
|
||||
// 插入多条记录.
|
||||
func (f *FriendRequestGorm) Create(ctx context.Context, friendRequests []*relation.FriendRequestModel) (err error) {
|
||||
return utils.Wrap(f.db(ctx).Create(&friendRequests).Error, "")
|
||||
}
|
||||
|
||||
// 删除记录
|
||||
// 删除记录.
|
||||
func (f *FriendRequestGorm) Delete(ctx context.Context, fromUserID, toUserID string) (err error) {
|
||||
return utils.Wrap(
|
||||
f.db(ctx).
|
||||
@@ -51,7 +51,7 @@ func (f *FriendRequestGorm) Delete(ctx context.Context, fromUserID, toUserID str
|
||||
)
|
||||
}
|
||||
|
||||
// 更新零值
|
||||
// 更新零值.
|
||||
func (f *FriendRequestGorm) UpdateByMap(
|
||||
ctx context.Context,
|
||||
fromUserID string,
|
||||
@@ -68,7 +68,7 @@ func (f *FriendRequestGorm) UpdateByMap(
|
||||
)
|
||||
}
|
||||
|
||||
// 更新记录 (非零值)
|
||||
// 更新记录 (非零值).
|
||||
func (f *FriendRequestGorm) Update(ctx context.Context, friendRequest *relation.FriendRequestModel) (err error) {
|
||||
return utils.Wrap(
|
||||
f.db(ctx).
|
||||
@@ -79,7 +79,7 @@ func (f *FriendRequestGorm) Update(ctx context.Context, friendRequest *relation.
|
||||
)
|
||||
}
|
||||
|
||||
// 获取来指定用户的好友申请 未找到 不返回错误
|
||||
// 获取来指定用户的好友申请 未找到 不返回错误.
|
||||
func (f *FriendRequestGorm) Find(
|
||||
ctx context.Context,
|
||||
fromUserID, toUserID string,
|
||||
@@ -104,7 +104,7 @@ func (f *FriendRequestGorm) Take(
|
||||
return friendRequest, err
|
||||
}
|
||||
|
||||
// 获取toUserID收到的好友申请列表
|
||||
// 获取toUserID收到的好友申请列表.
|
||||
func (f *FriendRequestGorm) FindToUserID(
|
||||
ctx context.Context,
|
||||
toUserID string,
|
||||
@@ -126,7 +126,7 @@ func (f *FriendRequestGorm) FindToUserID(
|
||||
return
|
||||
}
|
||||
|
||||
// 获取fromUserID发出去的好友申请列表
|
||||
// 获取fromUserID发出去的好友申请列表.
|
||||
func (f *FriendRequestGorm) FindFromUserID(
|
||||
ctx context.Context,
|
||||
fromUserID string,
|
||||
|
||||
@@ -16,9 +16,10 @@ package relation
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
"time"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
|
||||
"gorm.io/gorm"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/ormutil"
|
||||
@@ -67,6 +68,7 @@ func (g *GroupGorm) Search(ctx context.Context, keyword string, pageNumber, show
|
||||
db = db.WithContext(ctx).Where("status!=?", constant.GroupStatusDismissed)
|
||||
return ormutil.GormSearch[relation.GroupModel](db, []string{"name"}, keyword, pageNumber, showNumber)
|
||||
}
|
||||
|
||||
func (g *GroupGorm) GetGroupIDsByGroupType(ctx context.Context, groupType int) (groupIDs []string, err error) {
|
||||
return groupIDs, utils.Wrap(g.DB.Model(&relation.GroupModel{}).Where("group_type = ? ", groupType).Pluck("group_id", &groupIDs).Error, "")
|
||||
}
|
||||
|
||||
@@ -31,10 +31,10 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
maxRetry = 100 //number of retries
|
||||
maxRetry = 100 // number of retries
|
||||
)
|
||||
|
||||
// newMysqlGormDB Initialize the database connection
|
||||
// newMysqlGormDB Initialize the database connection.
|
||||
func newMysqlGormDB() (*gorm.DB, error) {
|
||||
dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&loc=Local",
|
||||
config.Config.Mysql.Username, config.Config.Mysql.Password, config.Config.Mysql.Address[0], "mysql")
|
||||
@@ -84,7 +84,7 @@ func newMysqlGormDB() (*gorm.DB, error) {
|
||||
return db, nil
|
||||
}
|
||||
|
||||
// connectToDatabase Connection retry for mysql
|
||||
// connectToDatabase Connection retry for mysql.
|
||||
func connectToDatabase(dsn string, maxRetry int) (*gorm.DB, error) {
|
||||
var db *gorm.DB
|
||||
var err error
|
||||
@@ -101,7 +101,7 @@ func connectToDatabase(dsn string, maxRetry int) (*gorm.DB, error) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// NewGormDB gorm mysql
|
||||
// NewGormDB gorm mysql.
|
||||
func NewGormDB() (*gorm.DB, error) {
|
||||
specialerror.AddReplace(gorm.ErrRecordNotFound, errs.ErrRecordNotFound)
|
||||
specialerror.AddErrHandler(replaceDuplicateKey)
|
||||
|
||||
@@ -34,35 +34,35 @@ func NewUserGorm(db *gorm.DB) relation.UserModelInterface {
|
||||
return &UserGorm{NewMetaDB(db, &relation.UserModel{})}
|
||||
}
|
||||
|
||||
// 插入多条
|
||||
// 插入多条.
|
||||
func (u *UserGorm) Create(ctx context.Context, users []*relation.UserModel) (err error) {
|
||||
return utils.Wrap(u.db(ctx).Create(&users).Error, "")
|
||||
}
|
||||
|
||||
// 更新用户信息 零值
|
||||
// 更新用户信息 零值.
|
||||
func (u *UserGorm) UpdateByMap(ctx context.Context, userID string, args map[string]interface{}) (err error) {
|
||||
return utils.Wrap(u.db(ctx).Model(&relation.UserModel{}).Where("user_id = ?", userID).Updates(args).Error, "")
|
||||
}
|
||||
|
||||
// 更新多个用户信息 非零值
|
||||
// 更新多个用户信息 非零值.
|
||||
func (u *UserGorm) Update(ctx context.Context, user *relation.UserModel) (err error) {
|
||||
return utils.Wrap(u.db(ctx).Model(user).Updates(user).Error, "")
|
||||
}
|
||||
|
||||
// 获取指定用户信息 不存在,也不返回错误
|
||||
// 获取指定用户信息 不存在,也不返回错误.
|
||||
func (u *UserGorm) Find(ctx context.Context, userIDs []string) (users []*relation.UserModel, err error) {
|
||||
err = utils.Wrap(u.db(ctx).Where("user_id in (?)", userIDs).Find(&users).Error, "")
|
||||
return users, err
|
||||
}
|
||||
|
||||
// 获取某个用户信息 不存在,则返回错误
|
||||
// 获取某个用户信息 不存在,则返回错误.
|
||||
func (u *UserGorm) Take(ctx context.Context, userID string) (user *relation.UserModel, err error) {
|
||||
user = &relation.UserModel{}
|
||||
err = utils.Wrap(u.db(ctx).Where("user_id = ?", userID).Take(&user).Error, "")
|
||||
return user, err
|
||||
}
|
||||
|
||||
// 获取用户信息 不存在,不返回错误
|
||||
// 获取用户信息 不存在,不返回错误.
|
||||
func (u *UserGorm) Page(
|
||||
ctx context.Context,
|
||||
pageNumber, showNumber int32,
|
||||
|
||||
@@ -20,13 +20,15 @@ import (
|
||||
"encoding/hex"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
"github.com/google/uuid"
|
||||
"path"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/google/uuid"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
)
|
||||
|
||||
func New(impl s3.Interface) *Controller {
|
||||
|
||||
@@ -16,6 +16,7 @@ package cont
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
)
|
||||
|
||||
|
||||
@@ -18,14 +18,16 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/tencentyun/cos-go-sdk-v5"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/tencentyun/cos-go-sdk-v5"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -18,16 +18,18 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/minio/minio-go/v7/pkg/credentials"
|
||||
"github.com/minio/minio-go/v7/pkg/signer"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/minio/minio-go/v7/pkg/credentials"
|
||||
"github.com/minio/minio-go/v7/pkg/signer"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -18,14 +18,16 @@ import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/s3"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -146,7 +148,11 @@ func (o *OSS) AuthSign(ctx context.Context, uploadID string, name string, expire
|
||||
}
|
||||
request.Header.Set(oss.HTTPHeaderHost, request.Host)
|
||||
request.Header.Set(oss.HTTPHeaderDate, time.Now().UTC().Format(http.TimeFormat))
|
||||
authorization := fmt.Sprintf(`OSS %s:%s`, o.credentials.GetAccessKeyID(), o.getSignedStr(request, fmt.Sprintf(`/%s/%s?partNumber=%d&uploadId=%s`, o.bucket.BucketName, name, partNumber, uploadID), o.credentials.GetAccessKeySecret()))
|
||||
authorization := fmt.Sprintf(
|
||||
`OSS %s:%s`,
|
||||
o.credentials.GetAccessKeyID(),
|
||||
o.getSignedStr(request, fmt.Sprintf(`/%s/%s?partNumber=%d&uploadId=%s`, o.bucket.BucketName, name, partNumber, uploadID), o.credentials.GetAccessKeySecret()),
|
||||
)
|
||||
request.Header.Set(oss.HTTPHeaderAuthorization, authorization)
|
||||
result.Parts[i] = s3.SignPart{
|
||||
PartNumber: partNumber,
|
||||
|
||||
@@ -19,12 +19,13 @@ import (
|
||||
"crypto/sha1"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||
"hash"
|
||||
"io"
|
||||
"net/http"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"github.com/aliyun/aliyun-oss-go-sdk/oss"
|
||||
)
|
||||
|
||||
func (o *OSS) getAdditionalHeaderKeys(req *http.Request) ([]string, map[string]string) {
|
||||
|
||||
@@ -24,20 +24,20 @@ const (
|
||||
)
|
||||
|
||||
type ConversationModel struct {
|
||||
OwnerUserID string `gorm:"column:owner_user_id;primary_key;type:char(128)" json:"OwnerUserID"`
|
||||
ConversationID string `gorm:"column:conversation_id;primary_key;type:char(128)" json:"conversationID"`
|
||||
ConversationType int32 `gorm:"column:conversation_type" json:"conversationType"`
|
||||
UserID string `gorm:"column:user_id;type:char(64)" json:"userID"`
|
||||
GroupID string `gorm:"column:group_id;type:char(128)" json:"groupID"`
|
||||
RecvMsgOpt int32 `gorm:"column:recv_msg_opt" json:"recvMsgOpt"`
|
||||
IsPinned bool `gorm:"column:is_pinned" json:"isPinned"`
|
||||
IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"`
|
||||
BurnDuration int32 `gorm:"column:burn_duration;default:30" json:"burnDuration"`
|
||||
GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"`
|
||||
AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"`
|
||||
Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"`
|
||||
MaxSeq int64 `gorm:"column:max_seq" json:"maxSeq"`
|
||||
MinSeq int64 `gorm:"column:min_seq" json:"minSeq"`
|
||||
OwnerUserID string `gorm:"column:owner_user_id;primary_key;type:char(128)" json:"OwnerUserID"`
|
||||
ConversationID string `gorm:"column:conversation_id;primary_key;type:char(128)" json:"conversationID"`
|
||||
ConversationType int32 `gorm:"column:conversation_type" json:"conversationType"`
|
||||
UserID string `gorm:"column:user_id;type:char(64)" json:"userID"`
|
||||
GroupID string `gorm:"column:group_id;type:char(128)" json:"groupID"`
|
||||
RecvMsgOpt int32 `gorm:"column:recv_msg_opt" json:"recvMsgOpt"`
|
||||
IsPinned bool `gorm:"column:is_pinned" json:"isPinned"`
|
||||
IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"`
|
||||
BurnDuration int32 `gorm:"column:burn_duration;default:30" json:"burnDuration"`
|
||||
GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"`
|
||||
AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"`
|
||||
Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"`
|
||||
MaxSeq int64 `gorm:"column:max_seq" json:"maxSeq"`
|
||||
MinSeq int64 `gorm:"column:min_seq" json:"minSeq"`
|
||||
CreateTime time.Time `gorm:"column:create_time;index:create_time;autoCreateTime"`
|
||||
IsMsgDestruct bool `gorm:"column:is_msg_destruct;default:false"`
|
||||
MsgDestructTime int64 `gorm:"column:msg_destruct_time;default:604800"`
|
||||
|
||||
@@ -16,10 +16,11 @@ package unrelation
|
||||
|
||||
import (
|
||||
"context"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
|
||||
"go.mongodb.org/mongo-driver/mongo"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
|
||||
@@ -32,14 +32,14 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
maxRetry = 10 //number of retries
|
||||
maxRetry = 10 // number of retries
|
||||
)
|
||||
|
||||
type Mongo struct {
|
||||
db *mongo.Client
|
||||
}
|
||||
|
||||
// NewMongo Initialize MongoDB connection
|
||||
// NewMongo Initialize MongoDB connection.
|
||||
func NewMongo() (*Mongo, error) {
|
||||
specialerror.AddReplace(mongo.ErrNoDocuments, errs.ErrRecordNotFound)
|
||||
uri := "mongodb://sample.host:27017/?maxPoolSize=20&w=majority"
|
||||
|
||||
@@ -19,9 +19,10 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
"time"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson"
|
||||
@@ -80,7 +81,7 @@ func (m *MsgMongoDriver) UpdateMsg(
|
||||
return res, nil
|
||||
}
|
||||
|
||||
// PushUnique value must slice
|
||||
// PushUnique value must slice.
|
||||
func (m *MsgMongoDriver) PushUnique(
|
||||
ctx context.Context,
|
||||
docID string,
|
||||
@@ -555,7 +556,7 @@ func (m *MsgMongoDriver) MarkSingleChatMsgsAsRead(
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// ])
|
||||
// ]).
|
||||
func (m *MsgMongoDriver) RangeUserSendCount(
|
||||
ctx context.Context,
|
||||
start time.Time,
|
||||
@@ -1081,21 +1082,21 @@ func (m *MsgMongoDriver) SearchMessage(ctx context.Context, req *msg.SearchMessa
|
||||
|
||||
func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessageReq) ([]*table.MsgInfoModel, error) {
|
||||
var pipe mongo.Pipeline
|
||||
conditon := bson.A{}
|
||||
condition := bson.A{}
|
||||
if req.SendTime != "" {
|
||||
conditon = append(conditon, bson.M{"$eq": bson.A{bson.M{"$dateToString": bson.M{"format": "%Y-%m-%d", "date": bson.M{"$toDate": "$$item.msg.send_time"}}}, req.SendTime}})
|
||||
condition = append(condition, bson.M{"$eq": bson.A{bson.M{"$dateToString": bson.M{"format": "%Y-%m-%d", "date": bson.M{"$toDate": "$$item.msg.send_time"}}}, req.SendTime}})
|
||||
}
|
||||
if req.MsgType != 0 {
|
||||
conditon = append(conditon, bson.M{"$eq": bson.A{"$$item.msg.content_type", req.MsgType}})
|
||||
condition = append(condition, bson.M{"$eq": bson.A{"$$item.msg.content_type", req.MsgType}})
|
||||
}
|
||||
if req.SessionType != 0 {
|
||||
conditon = append(conditon, bson.M{"$eq": bson.A{"$$item.msg.session_type", req.SessionType}})
|
||||
condition = append(condition, bson.M{"$eq": bson.A{"$$item.msg.session_type", req.SessionType}})
|
||||
}
|
||||
if req.RecvID != "" {
|
||||
conditon = append(conditon, bson.M{"$regexFind": bson.M{"input": "$$item.msg.recv_id", "regex": req.RecvID}})
|
||||
condition = append(condition, bson.M{"$regexFind": bson.M{"input": "$$item.msg.recv_id", "regex": req.RecvID}})
|
||||
}
|
||||
if req.SendID != "" {
|
||||
conditon = append(conditon, bson.M{"$regexFind": bson.M{"input": "$$item.msg.send_id", "regex": req.SendID}})
|
||||
condition = append(condition, bson.M{"$regexFind": bson.M{"input": "$$item.msg.send_id", "regex": req.SendID}})
|
||||
}
|
||||
|
||||
or := bson.A{
|
||||
@@ -1131,15 +1132,20 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa
|
||||
},
|
||||
{
|
||||
{"$project", bson.D{
|
||||
{"msgs", bson.D{
|
||||
{"$filter", bson.D{
|
||||
{"input", "$msgs"},
|
||||
{"as", "item"},
|
||||
{"cond", bson.D{
|
||||
{"$and", conditon},
|
||||
{
|
||||
"msgs", bson.D{
|
||||
{
|
||||
"$filter", bson.D{
|
||||
{"input", "$msgs"},
|
||||
{"as", "item"},
|
||||
{
|
||||
"cond", bson.D{
|
||||
{"$and", condition},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}},
|
||||
}},
|
||||
},
|
||||
},
|
||||
{"doc_id", 1},
|
||||
}},
|
||||
@@ -1159,7 +1165,7 @@ func (m *MsgMongoDriver) searchMessage(ctx context.Context, req *msg.SearchMessa
|
||||
return nil, errs.Wrap(mongo.ErrNoDocuments)
|
||||
}
|
||||
msgs := make([]*table.MsgInfoModel, 0)
|
||||
for index, _ := range msgsDocs {
|
||||
for index := range msgsDocs {
|
||||
for i := range msgsDocs[index].Msg {
|
||||
msg := msgsDocs[index].Msg[i]
|
||||
if msg == nil || msg.Msg == nil {
|
||||
|
||||
@@ -52,7 +52,6 @@ func NewMConsumerGroup(consumerConfig *MConsumerGroupConfig, topics, addrs []str
|
||||
|
||||
func (mc *MConsumerGroup) GetContextFromMsg(cMsg *sarama.ConsumerMessage) context.Context {
|
||||
return GetContextWithMQHeader(cMsg.Headers)
|
||||
|
||||
}
|
||||
|
||||
func (mc *MConsumerGroup) RegisterHandleAndConsumer(handler sarama.ConsumerGroupHandler) {
|
||||
|
||||
@@ -17,12 +17,13 @@ package kafka
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
log "github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/mcontext"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
|
||||
"time"
|
||||
|
||||
"github.com/Shopify/sarama"
|
||||
"google.golang.org/protobuf/proto"
|
||||
@@ -31,7 +32,7 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
maxRetry = 10 //number of retries
|
||||
maxRetry = 10 // number of retries
|
||||
)
|
||||
|
||||
var errEmptyMsg = errors.New("binary msg is empty")
|
||||
@@ -43,14 +44,14 @@ type Producer struct {
|
||||
producer sarama.SyncProducer
|
||||
}
|
||||
|
||||
// NewKafkaProducer Initialize kafka producer
|
||||
// NewKafkaProducer Initialize kafka producer.
|
||||
func NewKafkaProducer(addr []string, topic string) *Producer {
|
||||
p := Producer{}
|
||||
p.config = sarama.NewConfig() //Instantiate a sarama Config
|
||||
p.config.Producer.Return.Successes = true //Whether to enable the successes channel to be notified after the message is sent successfully
|
||||
p.config = sarama.NewConfig() // Instantiate a sarama Config
|
||||
p.config.Producer.Return.Successes = true // Whether to enable the successes channel to be notified after the message is sent successfully
|
||||
p.config.Producer.Return.Errors = true
|
||||
p.config.Producer.RequiredAcks = sarama.WaitForAll //Set producer Message Reply level 0 1 all
|
||||
p.config.Producer.Partitioner = sarama.NewHashPartitioner //Set the hash-key automatic hash partition. When sending a message, you must specify the key value of the message. If there is no key, the partition will be selected randomly
|
||||
p.config.Producer.RequiredAcks = sarama.WaitForAll // Set producer Message Reply level 0 1 all
|
||||
p.config.Producer.Partitioner = sarama.NewHashPartitioner // Set the hash-key automatic hash partition. When sending a message, you must specify the key value of the message. If there is no key, the partition will be selected randomly
|
||||
if config.Config.Kafka.Username != "" && config.Config.Kafka.Password != "" {
|
||||
p.config.Net.SASL.Enable = true
|
||||
p.config.Net.SASL.User = config.Config.Kafka.Username
|
||||
@@ -61,7 +62,7 @@ func NewKafkaProducer(addr []string, topic string) *Producer {
|
||||
var producer sarama.SyncProducer
|
||||
var err error
|
||||
for i := 0; i <= maxRetry; i++ {
|
||||
producer, err = sarama.NewSyncProducer(p.addr, p.config) //Initialize the client
|
||||
producer, err = sarama.NewSyncProducer(p.addr, p.config) // Initialize the client
|
||||
if err == nil {
|
||||
p.producer = producer
|
||||
return &p
|
||||
@@ -92,7 +93,8 @@ func GetMQHeaderWithContext(ctx context.Context) ([]sarama.RecordHeader, error)
|
||||
{Key: []byte(constant.OperationID), Value: []byte(operationID)},
|
||||
{Key: []byte(constant.OpUserID), Value: []byte(opUserID)},
|
||||
{Key: []byte(constant.OpUserPlatform), Value: []byte(platform)},
|
||||
{Key: []byte(constant.ConnID), Value: []byte(connID)}}, err
|
||||
{Key: []byte(constant.ConnID), Value: []byte(connID)},
|
||||
}, err
|
||||
}
|
||||
|
||||
func GetContextWithMQHeader(header []*sarama.RecordHeader) context.Context {
|
||||
|
||||
@@ -45,7 +45,7 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
// InitFromConfig initializes a Zap-based logger
|
||||
// InitFromConfig initializes a Zap-based logger.
|
||||
func InitFromConfig(
|
||||
loggerPrefixName, moduleName string,
|
||||
logLevel int,
|
||||
@@ -183,7 +183,6 @@ func (l *ZapLogger) customCallerEncoder(caller zapcore.EntryCaller, enc zapcore.
|
||||
// color = _levelToColor[zapcore.ErrorLevel]
|
||||
// }
|
||||
enc.AppendString(s)
|
||||
|
||||
}
|
||||
|
||||
func (l *ZapLogger) timeEncoder(t time.Time, enc zapcore.PrimitiveArrayEncoder) {
|
||||
|
||||
@@ -53,7 +53,7 @@ func CorsHandler() gin.HandlerFunc {
|
||||
"content-type",
|
||||
"application/json",
|
||||
) // Set the return format to json.
|
||||
//Release all option pre-requests
|
||||
// Release all option pre-requests
|
||||
if c.Request.Method == http.MethodOptions {
|
||||
c.JSON(http.StatusOK, "Options Request!")
|
||||
c.Abort()
|
||||
|
||||
@@ -20,17 +20,17 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
//auth rpc
|
||||
// auth rpc.
|
||||
UserLoginCounter prometheus.Counter
|
||||
UserRegisterCounter prometheus.Counter
|
||||
|
||||
//seg
|
||||
// seg.
|
||||
SeqGetSuccessCounter prometheus.Counter
|
||||
SeqGetFailedCounter prometheus.Counter
|
||||
SeqSetSuccessCounter prometheus.Counter
|
||||
SeqSetFailedCounter prometheus.Counter
|
||||
|
||||
//msg-db
|
||||
// msg-db.
|
||||
MsgInsertRedisSuccessCounter prometheus.Counter
|
||||
MsgInsertRedisFailedCounter prometheus.Counter
|
||||
MsgInsertMongoSuccessCounter prometheus.Counter
|
||||
@@ -40,7 +40,7 @@ var (
|
||||
MsgPullFromMongoSuccessCounter prometheus.Counter
|
||||
MsgPullFromMongoFailedCounter prometheus.Counter
|
||||
|
||||
//msg-ws
|
||||
// msg-ws.
|
||||
MsgRecvTotalCounter prometheus.Counter
|
||||
GetNewestSeqTotalCounter prometheus.Counter
|
||||
PullMsgBySeqListTotalCounter prometheus.Counter
|
||||
@@ -50,7 +50,7 @@ var (
|
||||
WorkSuperGroupChatMsgRecvSuccessCounter prometheus.Counter
|
||||
OnlineUserGauge prometheus.Gauge
|
||||
|
||||
//msg-msg
|
||||
// msg-msg.
|
||||
SingleChatMsgProcessSuccessCounter prometheus.Counter
|
||||
SingleChatMsgProcessFailedCounter prometheus.Counter
|
||||
GroupChatMsgProcessSuccessCounter prometheus.Counter
|
||||
@@ -58,23 +58,23 @@ var (
|
||||
WorkSuperGroupChatMsgProcessSuccessCounter prometheus.Counter
|
||||
WorkSuperGroupChatMsgProcessFailedCounter prometheus.Counter
|
||||
|
||||
//msg-push
|
||||
// msg-push.
|
||||
MsgOnlinePushSuccessCounter prometheus.Counter
|
||||
MsgOfflinePushSuccessCounter prometheus.Counter
|
||||
MsgOfflinePushFailedCounter prometheus.Counter
|
||||
// api
|
||||
// api.
|
||||
ApiRequestCounter prometheus.Counter
|
||||
ApiRequestSuccessCounter prometheus.Counter
|
||||
ApiRequestFailedCounter prometheus.Counter
|
||||
|
||||
// grpc
|
||||
// grpc.
|
||||
GrpcRequestCounter prometheus.Counter
|
||||
GrpcRequestSuccessCounter prometheus.Counter
|
||||
GrpcRequestFailedCounter prometheus.Counter
|
||||
|
||||
SendMsgCounter prometheus.Counter
|
||||
|
||||
// conversation
|
||||
// conversation.
|
||||
ConversationCreateSuccessCounter prometheus.Counter
|
||||
ConversationCreateFailedCounter prometheus.Counter
|
||||
)
|
||||
@@ -88,6 +88,7 @@ func NewUserLoginCounter() {
|
||||
Help: "The number of user login",
|
||||
})
|
||||
}
|
||||
|
||||
func NewUserRegisterCounter() {
|
||||
if UserRegisterCounter != nil {
|
||||
return
|
||||
@@ -107,6 +108,7 @@ func NewSeqGetSuccessCounter() {
|
||||
Help: "The number of successful get seq",
|
||||
})
|
||||
}
|
||||
|
||||
func NewSeqGetFailedCounter() {
|
||||
if SeqGetFailedCounter != nil {
|
||||
return
|
||||
@@ -126,6 +128,7 @@ func NewSeqSetSuccessCounter() {
|
||||
Help: "The number of successful set seq",
|
||||
})
|
||||
}
|
||||
|
||||
func NewSeqSetFailedCounter() {
|
||||
if SeqSetFailedCounter != nil {
|
||||
return
|
||||
@@ -305,6 +308,7 @@ func NewGetNewestSeqTotalCounter() {
|
||||
Help: "the number of get newest seq",
|
||||
})
|
||||
}
|
||||
|
||||
func NewPullMsgBySeqListTotalCounter() {
|
||||
if PullMsgBySeqListTotalCounter != nil {
|
||||
return
|
||||
@@ -404,6 +408,7 @@ func NewWorkSuperGroupChatMsgProcessSuccessCounter() {
|
||||
Help: "The number of work/super group chat msg successful processed",
|
||||
})
|
||||
}
|
||||
|
||||
func NewWorkSuperGroupChatMsgProcessFailedCounter() {
|
||||
if WorkSuperGroupChatMsgProcessFailedCounter != nil {
|
||||
return
|
||||
@@ -433,6 +438,7 @@ func NewMsgOfflinePushSuccessCounter() {
|
||||
Help: "The number of msg successful offline pushed",
|
||||
})
|
||||
}
|
||||
|
||||
func NewMsgOfflinePushFailedCounter() {
|
||||
if MsgOfflinePushFailedCounter != nil {
|
||||
return
|
||||
|
||||
@@ -29,7 +29,7 @@ import (
|
||||
|
||||
type Claims struct {
|
||||
UserID string
|
||||
PlatformID int //login platform
|
||||
PlatformID int // login platform
|
||||
jwt.RegisteredClaims
|
||||
}
|
||||
|
||||
@@ -40,10 +40,11 @@ func BuildClaims(uid string, platformID int, ttl int64) Claims {
|
||||
UserID: uid,
|
||||
PlatformID: platformID,
|
||||
RegisteredClaims: jwt.RegisteredClaims{
|
||||
ExpiresAt: jwt.NewNumericDate(now.Add(time.Duration(ttl*24) * time.Hour)), //Expiration time
|
||||
IssuedAt: jwt.NewNumericDate(now), //Issuing time
|
||||
NotBefore: jwt.NewNumericDate(before), //Begin Effective time
|
||||
}}
|
||||
ExpiresAt: jwt.NewNumericDate(now.Add(time.Duration(ttl*24) * time.Hour)), // Expiration time
|
||||
IssuedAt: jwt.NewNumericDate(now), // Issuing time
|
||||
NotBefore: jwt.NewNumericDate(before), // Begin Effective time
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func secret() jwt.Keyfunc {
|
||||
@@ -101,9 +102,11 @@ func CheckAdmin(ctx context.Context) error {
|
||||
func ParseRedisInterfaceToken(redisToken interface{}) (*Claims, error) {
|
||||
return GetClaimFromToken(string(redisToken.([]uint8)))
|
||||
}
|
||||
|
||||
func IsManagerUserID(opUserID string) bool {
|
||||
return utils.IsContain(opUserID, config.Config.Manager.UserID)
|
||||
}
|
||||
|
||||
func WsVerifyToken(token, userID string, platformID int) error {
|
||||
claim, err := GetClaimFromToken(token)
|
||||
if err != nil {
|
||||
|
||||
@@ -20,17 +20,20 @@ import (
|
||||
"io"
|
||||
"strings"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
"github.com/pkg/errors"
|
||||
|
||||
"github.com/go-zookeeper/zk"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/resolver"
|
||||
)
|
||||
|
||||
var ErrConnIsNil = errors.New("conn is nil")
|
||||
var ErrConnIsNilButLocalNotNil = errors.New("conn is nil, but local is not nil")
|
||||
var (
|
||||
ErrConnIsNil = errors.New("conn is nil")
|
||||
ErrConnIsNilButLocalNotNil = errors.New("conn is nil, but local is not nil")
|
||||
)
|
||||
|
||||
func (s *ZkClient) watch() {
|
||||
for {
|
||||
@@ -54,7 +57,6 @@ func (s *ZkClient) watch() {
|
||||
case zk.EventNotWatching:
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (s *ZkClient) GetConnsRemote(serviceName string) (conns []resolver.Address, err error) {
|
||||
|
||||
+4
-4
@@ -43,10 +43,10 @@ const (
|
||||
|
||||
CallbackError = 80000
|
||||
|
||||
//通用错误码.
|
||||
ServerInternalError = 500 //服务器内部错误
|
||||
ArgsError = 1001 //输入参数错误
|
||||
NoPermissionError = 1002 //权限不足
|
||||
// 通用错误码.
|
||||
ServerInternalError = 500 // 服务器内部错误
|
||||
ArgsError = 1001 // 输入参数错误
|
||||
NoPermissionError = 1002 // 权限不足
|
||||
DuplicateKeyError = 1003
|
||||
RecordNotFoundError = 1004 // 记录不存在
|
||||
|
||||
|
||||
@@ -22,13 +22,14 @@ package auth
|
||||
|
||||
import (
|
||||
context "context"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -43,9 +44,9 @@ type UserTokenReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret"`
|
||||
Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret"`
|
||||
PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *UserTokenReq) Reset() {
|
||||
@@ -106,7 +107,7 @@ type UserTokenResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token"`
|
||||
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token"`
|
||||
ExpireTimeSeconds int64 `protobuf:"varint,3,opt,name=expireTimeSeconds,proto3" json:"expireTimeSeconds"`
|
||||
}
|
||||
|
||||
@@ -162,7 +163,7 @@ type ForceLogoutReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlatformID int32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *ForceLogoutReq) Reset() {
|
||||
@@ -301,8 +302,8 @@ type ParseTokenResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Platform string `protobuf:"bytes,2,opt,name=platform,proto3" json:"platform"`
|
||||
ExpireTimeSeconds int64 `protobuf:"varint,4,opt,name=expireTimeSeconds,proto3" json:"expireTimeSeconds"`
|
||||
}
|
||||
|
||||
|
||||
@@ -22,14 +22,16 @@ package conversation
|
||||
|
||||
import (
|
||||
context "context"
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -44,23 +46,23 @@ type Conversation struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
ConversationType int32 `protobuf:"varint,4,opt,name=conversationType,proto3" json:"conversationType"`
|
||||
UserID string `protobuf:"bytes,5,opt,name=userID,proto3" json:"userID"`
|
||||
GroupID string `protobuf:"bytes,6,opt,name=groupID,proto3" json:"groupID"`
|
||||
IsPinned bool `protobuf:"varint,7,opt,name=isPinned,proto3" json:"isPinned"`
|
||||
AttachedInfo string `protobuf:"bytes,8,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
IsPrivateChat bool `protobuf:"varint,9,opt,name=isPrivateChat,proto3" json:"isPrivateChat"`
|
||||
GroupAtType int32 `protobuf:"varint,10,opt,name=groupAtType,proto3" json:"groupAtType"`
|
||||
Ex string `protobuf:"bytes,11,opt,name=ex,proto3" json:"ex"`
|
||||
BurnDuration int32 `protobuf:"varint,12,opt,name=burnDuration,proto3" json:"burnDuration"`
|
||||
MinSeq int64 `protobuf:"varint,13,opt,name=minSeq,proto3" json:"minSeq"`
|
||||
MaxSeq int64 `protobuf:"varint,14,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
MsgDestructTime int64 `protobuf:"varint,15,opt,name=msgDestructTime,proto3" json:"msgDestructTime"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
ConversationType int32 `protobuf:"varint,4,opt,name=conversationType,proto3" json:"conversationType"`
|
||||
UserID string `protobuf:"bytes,5,opt,name=userID,proto3" json:"userID"`
|
||||
GroupID string `protobuf:"bytes,6,opt,name=groupID,proto3" json:"groupID"`
|
||||
IsPinned bool `protobuf:"varint,7,opt,name=isPinned,proto3" json:"isPinned"`
|
||||
AttachedInfo string `protobuf:"bytes,8,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
IsPrivateChat bool `protobuf:"varint,9,opt,name=isPrivateChat,proto3" json:"isPrivateChat"`
|
||||
GroupAtType int32 `protobuf:"varint,10,opt,name=groupAtType,proto3" json:"groupAtType"`
|
||||
Ex string `protobuf:"bytes,11,opt,name=ex,proto3" json:"ex"`
|
||||
BurnDuration int32 `protobuf:"varint,12,opt,name=burnDuration,proto3" json:"burnDuration"`
|
||||
MinSeq int64 `protobuf:"varint,13,opt,name=minSeq,proto3" json:"minSeq"`
|
||||
MaxSeq int64 `protobuf:"varint,14,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
MsgDestructTime int64 `protobuf:"varint,15,opt,name=msgDestructTime,proto3" json:"msgDestructTime"`
|
||||
LatestMsgDestructTime int64 `protobuf:"varint,16,opt,name=latestMsgDestructTime,proto3" json:"latestMsgDestructTime"`
|
||||
IsMsgDestruct bool `protobuf:"varint,17,opt,name=isMsgDestruct,proto3" json:"isMsgDestruct"`
|
||||
IsMsgDestruct bool `protobuf:"varint,17,opt,name=isMsgDestruct,proto3" json:"isMsgDestruct"`
|
||||
}
|
||||
|
||||
func (x *Conversation) Reset() {
|
||||
@@ -219,21 +221,21 @@ type ConversationReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
ConversationType int32 `protobuf:"varint,2,opt,name=conversationType,proto3" json:"conversationType"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
GroupID string `protobuf:"bytes,4,opt,name=groupID,proto3" json:"groupID"`
|
||||
RecvMsgOpt *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
IsPinned *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=isPinned,proto3" json:"isPinned"`
|
||||
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
IsPrivateChat *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=isPrivateChat,proto3" json:"isPrivateChat"`
|
||||
Ex *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
BurnDuration *wrapperspb.Int32Value `protobuf:"bytes,10,opt,name=burnDuration,proto3" json:"burnDuration"`
|
||||
MinSeq *wrapperspb.Int64Value `protobuf:"bytes,11,opt,name=minSeq,proto3" json:"minSeq"`
|
||||
MaxSeq *wrapperspb.Int64Value `protobuf:"bytes,12,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
GroupAtType *wrapperspb.Int32Value `protobuf:"bytes,13,opt,name=groupAtType,proto3" json:"groupAtType"`
|
||||
MsgDestructTime *wrapperspb.Int64Value `protobuf:"bytes,14,opt,name=msgDestructTime,proto3" json:"msgDestructTime"`
|
||||
IsMsgDestruct *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=isMsgDestruct,proto3" json:"isMsgDestruct"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
GroupID string `protobuf:"bytes,4,opt,name=groupID,proto3" json:"groupID"`
|
||||
RecvMsgOpt *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
IsPinned *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=isPinned,proto3" json:"isPinned"`
|
||||
AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
IsPrivateChat *wrapperspb.BoolValue `protobuf:"bytes,8,opt,name=isPrivateChat,proto3" json:"isPrivateChat"`
|
||||
Ex *wrapperspb.StringValue `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
BurnDuration *wrapperspb.Int32Value `protobuf:"bytes,10,opt,name=burnDuration,proto3" json:"burnDuration"`
|
||||
MinSeq *wrapperspb.Int64Value `protobuf:"bytes,11,opt,name=minSeq,proto3" json:"minSeq"`
|
||||
MaxSeq *wrapperspb.Int64Value `protobuf:"bytes,12,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
GroupAtType *wrapperspb.Int32Value `protobuf:"bytes,13,opt,name=groupAtType,proto3" json:"groupAtType"`
|
||||
MsgDestructTime *wrapperspb.Int64Value `protobuf:"bytes,14,opt,name=msgDestructTime,proto3" json:"msgDestructTime"`
|
||||
IsMsgDestruct *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=isMsgDestruct,proto3" json:"isMsgDestruct"`
|
||||
}
|
||||
|
||||
func (x *ConversationReq) Reset() {
|
||||
@@ -464,7 +466,7 @@ type GetConversationReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
}
|
||||
|
||||
func (x *GetConversationReq) Reset() {
|
||||
@@ -565,7 +567,7 @@ type GetConversationsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationIDs []string `protobuf:"bytes,2,rep,name=conversationIDs,proto3" json:"conversationIDs"`
|
||||
}
|
||||
|
||||
@@ -1042,8 +1044,8 @@ type SetConversationMaxSeqReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
OwnerUserID []string `protobuf:"bytes,2,rep,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
MaxSeq int64 `protobuf:"varint,3,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
OwnerUserID []string `protobuf:"bytes,2,rep,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
MaxSeq int64 `protobuf:"varint,3,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
}
|
||||
|
||||
func (x *SetConversationMaxSeqReq) Reset() {
|
||||
@@ -1236,7 +1238,7 @@ type SetConversationsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
|
||||
UserIDs []string `protobuf:"bytes,1,rep,name=userIDs,proto3" json:"userIDs"`
|
||||
Conversation *ConversationReq `protobuf:"bytes,2,opt,name=conversation,proto3" json:"conversation"`
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,11 @@
|
||||
package errinfo
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -39,11 +40,11 @@ type ErrorInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path"`
|
||||
Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path"`
|
||||
Line uint32 `protobuf:"varint,2,opt,name=line,proto3" json:"line"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"`
|
||||
Cause string `protobuf:"bytes,4,opt,name=cause,proto3" json:"cause"`
|
||||
Warp []string `protobuf:"bytes,5,rep,name=warp,proto3" json:"warp"`
|
||||
Warp []string `protobuf:"bytes,5,rep,name=warp,proto3" json:"warp"`
|
||||
}
|
||||
|
||||
func (x *ErrorInfo) Reset() {
|
||||
|
||||
@@ -22,14 +22,16 @@ package friend
|
||||
|
||||
import (
|
||||
context "context"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -45,7 +47,7 @@ type GetPaginationFriendsReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *GetPaginationFriendsReq) Reset() {
|
||||
@@ -100,7 +102,7 @@ type GetPaginationFriendsResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FriendsInfo []*sdkws.FriendInfo `protobuf:"bytes,1,rep,name=friendsInfo,proto3" json:"friendsInfo"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
}
|
||||
|
||||
func (x *GetPaginationFriendsResp) Reset() {
|
||||
@@ -155,9 +157,9 @@ type ApplyToAddFriendReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *ApplyToAddFriendReq) Reset() {
|
||||
@@ -263,7 +265,7 @@ type ImportFriendReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
FriendUserIDs []string `protobuf:"bytes,2,rep,name=friendUserIDs,proto3" json:"friendUserIDs"`
|
||||
}
|
||||
|
||||
@@ -356,7 +358,7 @@ type GetPaginationFriendsApplyToReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
@@ -412,7 +414,7 @@ type GetPaginationFriendsApplyToResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FriendRequests []*sdkws.FriendRequest `protobuf:"bytes,1,rep,name=FriendRequests,proto3" json:"FriendRequests"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
}
|
||||
|
||||
func (x *GetPaginationFriendsApplyToResp) Reset() {
|
||||
@@ -466,7 +468,7 @@ type GetDesignatedFriendsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
FriendUserIDs []string `protobuf:"bytes,2,rep,name=friendUserIDs,proto3" json:"friendUserIDs"`
|
||||
}
|
||||
|
||||
@@ -754,7 +756,7 @@ type GetPaginationBlacksReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
@@ -1084,7 +1086,7 @@ type DeleteFriendReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
FriendUserID string `protobuf:"bytes,2,opt,name=friendUserID,proto3" json:"friendUserID"`
|
||||
}
|
||||
|
||||
@@ -1178,10 +1180,10 @@ type RespondFriendApplyReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"` //主动发起的申请者
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"` //被动添加者
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"` //主动发起的申请者
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"` //被动添加者
|
||||
HandleResult int32 `protobuf:"varint,3,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
}
|
||||
|
||||
func (x *RespondFriendApplyReq) Reset() {
|
||||
@@ -1287,9 +1289,9 @@ type SetFriendRemarkReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
FriendUserID string `protobuf:"bytes,2,opt,name=friendUserID,proto3" json:"friendUserID"`
|
||||
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark"`
|
||||
Remark string `protobuf:"bytes,3,opt,name=remark,proto3" json:"remark"`
|
||||
}
|
||||
|
||||
func (x *SetFriendRemarkReq) Reset() {
|
||||
@@ -1388,7 +1390,7 @@ type GetPaginationFriendsApplyFromReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
@@ -1444,7 +1446,7 @@ type GetPaginationFriendsApplyFromResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FriendRequests []*sdkws.FriendRequest `protobuf:"bytes,1,rep,name=friendRequests,proto3" json:"friendRequests"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
}
|
||||
|
||||
func (x *GetPaginationFriendsApplyFromResp) Reset() {
|
||||
|
||||
+51
-49
@@ -22,15 +22,17 @@ package group
|
||||
|
||||
import (
|
||||
context "context"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -46,9 +48,9 @@ type CreateGroupReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MemberUserIDs []string `protobuf:"bytes,1,rep,name=memberUserIDs,proto3" json:"memberUserIDs"`
|
||||
GroupInfo *sdkws.GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
AdminUserIDs []string `protobuf:"bytes,3,rep,name=adminUserIDs,proto3" json:"adminUserIDs"`
|
||||
OwnerUserID string `protobuf:"bytes,4,opt,name=ownerUserID,proto3" json:"ownerUserID"` //owner
|
||||
GroupInfo *sdkws.GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
AdminUserIDs []string `protobuf:"bytes,3,rep,name=adminUserIDs,proto3" json:"adminUserIDs"`
|
||||
OwnerUserID string `protobuf:"bytes,4,opt,name=ownerUserID,proto3" json:"ownerUserID"` //owner
|
||||
}
|
||||
|
||||
func (x *CreateGroupReq) Reset() {
|
||||
@@ -397,7 +399,7 @@ type GetGroupApplicationListResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
GroupRequests []*sdkws.GroupRequest `protobuf:"bytes,2,rep,name=groupRequests,proto3" json:"groupRequests"`
|
||||
}
|
||||
|
||||
@@ -453,7 +455,7 @@ type GetUserReqApplicationListReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *GetUserReqApplicationListReq) Reset() {
|
||||
@@ -507,7 +509,7 @@ type GetUserReqApplicationListResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
GroupRequests []*sdkws.GroupRequest `protobuf:"bytes,2,rep,name=groupRequests,proto3" json:"groupRequests"`
|
||||
}
|
||||
|
||||
@@ -562,7 +564,7 @@ type TransferGroupOwnerReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
OldOwnerUserID string `protobuf:"bytes,2,opt,name=oldOwnerUserID,proto3" json:"oldOwnerUserID"`
|
||||
NewOwnerUserID string `protobuf:"bytes,3,opt,name=newOwnerUserID,proto3" json:"newOwnerUserID"`
|
||||
}
|
||||
@@ -663,9 +665,9 @@ type JoinGroupReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
ReqMessage string `protobuf:"bytes,2,opt,name=reqMessage,proto3" json:"reqMessage"`
|
||||
JoinSource int32 `protobuf:"varint,3,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
ReqMessage string `protobuf:"bytes,2,opt,name=reqMessage,proto3" json:"reqMessage"`
|
||||
JoinSource int32 `protobuf:"varint,3,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
InviterUserID string `protobuf:"bytes,4,opt,name=inviterUserID,proto3" json:"inviterUserID"`
|
||||
}
|
||||
|
||||
@@ -772,9 +774,9 @@ type GroupApplicationResponseReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
FromUserID string `protobuf:"bytes,2,opt,name=fromUserID,proto3" json:"fromUserID"` //
|
||||
HandledMsg string `protobuf:"bytes,3,opt,name=handledMsg,proto3" json:"handledMsg"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
FromUserID string `protobuf:"bytes,2,opt,name=fromUserID,proto3" json:"fromUserID"` //
|
||||
HandledMsg string `protobuf:"bytes,3,opt,name=handledMsg,proto3" json:"handledMsg"`
|
||||
HandleResult int32 `protobuf:"varint,4,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
}
|
||||
|
||||
@@ -967,8 +969,8 @@ type GetGroupMemberListReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
Filter int32 `protobuf:"varint,3,opt,name=filter,proto3" json:"filter"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
Filter int32 `protobuf:"varint,3,opt,name=filter,proto3" json:"filter"`
|
||||
}
|
||||
|
||||
func (x *GetGroupMemberListReq) Reset() {
|
||||
@@ -1029,7 +1031,7 @@ type GetGroupMemberListResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Members []*sdkws.GroupMemberFullInfo `protobuf:"bytes,2,rep,name=members,proto3" json:"members"`
|
||||
}
|
||||
|
||||
@@ -1186,9 +1188,9 @@ type KickGroupMemberReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
KickedUserIDs []string `protobuf:"bytes,2,rep,name=kickedUserIDs,proto3" json:"kickedUserIDs"`
|
||||
Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason"`
|
||||
Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason"`
|
||||
}
|
||||
|
||||
func (x *KickGroupMemberReq) Reset() {
|
||||
@@ -1397,8 +1399,8 @@ type InviteUserToGroupReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason"`
|
||||
InvitedUserIDs []string `protobuf:"bytes,3,rep,name=invitedUserIDs,proto3" json:"invitedUserIDs"`
|
||||
}
|
||||
|
||||
@@ -1499,7 +1501,7 @@ type GetGroupAllMemberReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
}
|
||||
|
||||
func (x *GetGroupAllMemberReq) Reset() {
|
||||
@@ -1600,9 +1602,9 @@ type CMSGroup struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupInfo *sdkws.GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
GroupInfo *sdkws.GroupInfo `protobuf:"bytes,1,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
GroupOwnerUserName string `protobuf:"bytes,2,opt,name=groupOwnerUserName,proto3" json:"groupOwnerUserName"`
|
||||
GroupOwnerUserID string `protobuf:"bytes,3,opt,name=groupOwnerUserID,proto3" json:"groupOwnerUserID"`
|
||||
GroupOwnerUserID string `protobuf:"bytes,3,opt,name=groupOwnerUserID,proto3" json:"groupOwnerUserID"`
|
||||
}
|
||||
|
||||
func (x *CMSGroup) Reset() {
|
||||
@@ -1664,8 +1666,8 @@ type GetGroupsReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
|
||||
}
|
||||
|
||||
func (x *GetGroupsReq) Reset() {
|
||||
@@ -1829,8 +1831,8 @@ type GetGroupMembersCMSReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,1,opt,name=pagination,proto3" json:"pagination"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName"`
|
||||
GroupID string `protobuf:"bytes,2,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName"`
|
||||
}
|
||||
|
||||
func (x *GetGroupMembersCMSReq) Reset() {
|
||||
@@ -1891,7 +1893,7 @@ type GetGroupMembersCMSResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total uint32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Members []*sdkws.GroupMemberFullInfo `protobuf:"bytes,2,rep,name=members,proto3" json:"members"`
|
||||
}
|
||||
|
||||
@@ -1946,7 +1948,7 @@ type DismissGroupReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
DeleteMember bool `protobuf:"varint,2,opt,name=deleteMember,proto3" json:"deleteMember"`
|
||||
}
|
||||
|
||||
@@ -2039,8 +2041,8 @@ type MuteGroupMemberReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
MutedSeconds uint32 `protobuf:"varint,3,opt,name=mutedSeconds,proto3" json:"mutedSeconds"`
|
||||
}
|
||||
|
||||
@@ -2141,7 +2143,7 @@ type CancelMuteGroupMemberReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *CancelMuteGroupMemberReq) Reset() {
|
||||
@@ -2591,12 +2593,12 @@ type SetGroupMemberInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
Nickname *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
Nickname *wrapperspb.StringValue `protobuf:"bytes,3,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL *wrapperspb.StringValue `protobuf:"bytes,4,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
RoleLevel *wrapperspb.Int32Value `protobuf:"bytes,5,opt,name=roleLevel,proto3" json:"roleLevel"`
|
||||
Ex *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
Ex *wrapperspb.StringValue `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *SetGroupMemberInfo) Reset() {
|
||||
@@ -2810,8 +2812,8 @@ type GroupAbstractInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupMemberNumber uint32 `protobuf:"varint,2,opt,name=groupMemberNumber,proto3" json:"groupMemberNumber"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupMemberNumber uint32 `protobuf:"varint,2,opt,name=groupMemberNumber,proto3" json:"groupMemberNumber"`
|
||||
GroupMemberListHash uint64 `protobuf:"varint,3,opt,name=groupMemberListHash,proto3" json:"groupMemberListHash"`
|
||||
}
|
||||
|
||||
@@ -2920,7 +2922,7 @@ type GetUserInGroupMembersReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
GroupIDs []string `protobuf:"bytes,2,rep,name=groupIDs,proto3" json:"groupIDs"`
|
||||
}
|
||||
|
||||
@@ -3116,7 +3118,7 @@ type GetGroupMemberRoleLevelReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
RoleLevels []int32 `protobuf:"varint,2,rep,packed,name=roleLevels,proto3" json:"roleLevels"`
|
||||
}
|
||||
|
||||
@@ -3312,7 +3314,7 @@ type GetGroupMemberCacheReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupMemberID string `protobuf:"bytes,2,opt,name=groupMemberID,proto3" json:"groupMemberID"`
|
||||
}
|
||||
|
||||
@@ -3415,7 +3417,7 @@ type GroupCreateCountReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
}
|
||||
|
||||
func (x *GroupCreateCountReq) Reset() {
|
||||
@@ -3469,9 +3471,9 @@ type GroupCreateCountResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Before int64 `protobuf:"varint,2,opt,name=before,proto3" json:"before"`
|
||||
Count map[string]int64 `protobuf:"bytes,3,rep,name=count,proto3" json:"count" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Count map[string]int64 `protobuf:"bytes,3,rep,name=count,proto3" json:"count" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *GroupCreateCountResp) Reset() {
|
||||
|
||||
+73
-71
@@ -22,14 +22,16 @@ package msg
|
||||
|
||||
import (
|
||||
context "context"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -44,7 +46,7 @@ type MsgDataToMQ struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
|
||||
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token"`
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,2,opt,name=msgData,proto3" json:"msgData"`
|
||||
}
|
||||
|
||||
@@ -146,7 +148,7 @@ type PushMsgDataToMQ struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
}
|
||||
|
||||
@@ -201,9 +203,9 @@ type MsgDataToMongoByMQ struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
LastSeq int64 `protobuf:"varint,1,opt,name=lastSeq,proto3" json:"lastSeq"`
|
||||
LastSeq int64 `protobuf:"varint,1,opt,name=lastSeq,proto3" json:"lastSeq"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
MsgData []*sdkws.MsgData `protobuf:"bytes,3,rep,name=msgData,proto3" json:"msgData"`
|
||||
MsgData []*sdkws.MsgData `protobuf:"bytes,3,rep,name=msgData,proto3" json:"msgData"`
|
||||
}
|
||||
|
||||
func (x *MsgDataToMongoByMQ) Reset() {
|
||||
@@ -415,7 +417,7 @@ type SendMsgResp struct {
|
||||
|
||||
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
}
|
||||
|
||||
func (x *SendMsgResp) Reset() {
|
||||
@@ -646,7 +648,7 @@ type MsgDataToModifyByMQ struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Messages []*sdkws.MsgData `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages"`
|
||||
Messages []*sdkws.MsgData `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
}
|
||||
|
||||
@@ -778,8 +780,8 @@ type RevokeMsgReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seq int64 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
Seq int64 `protobuf:"varint,2,opt,name=seq,proto3" json:"seq"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *RevokeMsgReq) Reset() {
|
||||
@@ -879,8 +881,8 @@ type MarkMsgsAsReadReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
}
|
||||
|
||||
func (x *MarkMsgsAsReadReq) Reset() {
|
||||
@@ -980,9 +982,9 @@ type MarkConversationAsReadReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
Seqs []int64 `protobuf:"varint,4,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
Seqs []int64 `protobuf:"varint,4,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
}
|
||||
|
||||
func (x *MarkConversationAsReadReq) Reset() {
|
||||
@@ -1089,8 +1091,8 @@ type SetConversationHasReadSeqReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
}
|
||||
|
||||
func (x *SetConversationHasReadSeqReq) Reset() {
|
||||
@@ -1189,7 +1191,7 @@ type DeleteSyncOpt struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
IsSyncSelf bool `protobuf:"varint,3,opt,name=IsSyncSelf,proto3" json:"IsSyncSelf"`
|
||||
IsSyncSelf bool `protobuf:"varint,3,opt,name=IsSyncSelf,proto3" json:"IsSyncSelf"`
|
||||
IsSyncOther bool `protobuf:"varint,4,opt,name=IsSyncOther,proto3" json:"IsSyncOther"`
|
||||
}
|
||||
|
||||
@@ -1245,8 +1247,8 @@ type ClearConversationsMsgReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationIDs []string `protobuf:"bytes,1,rep,name=conversationIDs,proto3" json:"conversationIDs"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
DeleteSyncOpt *DeleteSyncOpt `protobuf:"bytes,3,opt,name=deleteSyncOpt,proto3" json:"deleteSyncOpt"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
DeleteSyncOpt *DeleteSyncOpt `protobuf:"bytes,3,opt,name=deleteSyncOpt,proto3" json:"deleteSyncOpt"`
|
||||
}
|
||||
|
||||
func (x *ClearConversationsMsgReq) Reset() {
|
||||
@@ -1345,7 +1347,7 @@ type UserClearAllMsgReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
DeleteSyncOpt *DeleteSyncOpt `protobuf:"bytes,3,opt,name=deleteSyncOpt,proto3" json:"deleteSyncOpt"`
|
||||
}
|
||||
|
||||
@@ -1439,9 +1441,9 @@ type DeleteMsgsReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
DeleteSyncOpt *DeleteSyncOpt `protobuf:"bytes,4,opt,name=deleteSyncOpt,proto3" json:"deleteSyncOpt"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
UserID string `protobuf:"bytes,3,opt,name=userID,proto3" json:"userID"`
|
||||
DeleteSyncOpt *DeleteSyncOpt `protobuf:"bytes,4,opt,name=deleteSyncOpt,proto3" json:"deleteSyncOpt"`
|
||||
}
|
||||
|
||||
func (x *DeleteMsgsReq) Reset() {
|
||||
@@ -1548,7 +1550,7 @@ type DeleteMsgPhysicalReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationIDs []string `protobuf:"bytes,1,rep,name=conversationIDs,proto3" json:"conversationIDs"`
|
||||
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp"`
|
||||
Timestamp int64 `protobuf:"varint,2,opt,name=timestamp,proto3" json:"timestamp"`
|
||||
}
|
||||
|
||||
func (x *DeleteMsgPhysicalReq) Reset() {
|
||||
@@ -1641,7 +1643,7 @@ type DeleteMsgPhysicalBySeqReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
Seqs []int64 `protobuf:"varint,2,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
}
|
||||
|
||||
func (x *DeleteMsgPhysicalBySeqReq) Reset() {
|
||||
@@ -1874,7 +1876,7 @@ type Seqs struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MaxSeq int64 `protobuf:"varint,1,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
MaxSeq int64 `protobuf:"varint,1,opt,name=maxSeq,proto3" json:"maxSeq"`
|
||||
HasReadSeq int64 `protobuf:"varint,2,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
}
|
||||
|
||||
@@ -1976,10 +1978,10 @@ type GetActiveUserReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
Ase bool `protobuf:"varint,3,opt,name=ase,proto3" json:"ase"`
|
||||
Group bool `protobuf:"varint,4,opt,name=group,proto3" json:"group"`
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
Ase bool `protobuf:"varint,3,opt,name=ase,proto3" json:"ase"`
|
||||
Group bool `protobuf:"varint,4,opt,name=group,proto3" json:"group"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
@@ -2055,7 +2057,7 @@ type ActiveUser struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
User *sdkws.UserInfo `protobuf:"bytes,1,opt,name=user,proto3" json:"user"`
|
||||
User *sdkws.UserInfo `protobuf:"bytes,1,opt,name=user,proto3" json:"user"`
|
||||
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"`
|
||||
}
|
||||
|
||||
@@ -2110,10 +2112,10 @@ type GetActiveUserResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgCount int64 `protobuf:"varint,1,opt,name=msgCount,proto3" json:"msgCount"`
|
||||
MsgCount int64 `protobuf:"varint,1,opt,name=msgCount,proto3" json:"msgCount"`
|
||||
UserCount int64 `protobuf:"varint,2,opt,name=userCount,proto3" json:"userCount"`
|
||||
DateCount map[string]int64 `protobuf:"bytes,3,rep,name=dateCount,proto3" json:"dateCount" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Users []*ActiveUser `protobuf:"bytes,4,rep,name=users,proto3" json:"users"`
|
||||
DateCount map[string]int64 `protobuf:"bytes,3,rep,name=dateCount,proto3" json:"dateCount" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Users []*ActiveUser `protobuf:"bytes,4,rep,name=users,proto3" json:"users"`
|
||||
}
|
||||
|
||||
func (x *GetActiveUserResp) Reset() {
|
||||
@@ -2181,9 +2183,9 @@ type GetActiveGroupReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
Ase bool `protobuf:"varint,3,opt,name=ase,proto3" json:"ase"`
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
Ase bool `protobuf:"varint,3,opt,name=ase,proto3" json:"ase"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,4,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
@@ -2252,7 +2254,7 @@ type ActiveGroup struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *sdkws.GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
Group *sdkws.GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count"`
|
||||
}
|
||||
|
||||
@@ -2307,10 +2309,10 @@ type GetActiveGroupResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgCount int64 `protobuf:"varint,1,opt,name=msgCount,proto3" json:"msgCount"`
|
||||
MsgCount int64 `protobuf:"varint,1,opt,name=msgCount,proto3" json:"msgCount"`
|
||||
GroupCount int64 `protobuf:"varint,2,opt,name=groupCount,proto3" json:"groupCount"`
|
||||
DateCount map[string]int64 `protobuf:"bytes,3,rep,name=dateCount,proto3" json:"dateCount" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Groups []*ActiveGroup `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups"`
|
||||
DateCount map[string]int64 `protobuf:"bytes,3,rep,name=dateCount,proto3" json:"dateCount" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Groups []*ActiveGroup `protobuf:"bytes,4,rep,name=groups,proto3" json:"groups"`
|
||||
}
|
||||
|
||||
func (x *GetActiveGroupResp) Reset() {
|
||||
@@ -2378,12 +2380,12 @@ type SearchMessageReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"` //发送者ID
|
||||
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"` //接收者ID
|
||||
MsgType int32 `protobuf:"varint,3,opt,name=msgType,proto3" json:"msgType"`
|
||||
SendTime string `protobuf:"bytes,4,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"` //发送者ID
|
||||
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"` //接收者ID
|
||||
MsgType int32 `protobuf:"varint,3,opt,name=msgType,proto3" json:"msgType"`
|
||||
SendTime string `protobuf:"bytes,4,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
SessionType int32 `protobuf:"varint,5,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination"`
|
||||
Pagination *sdkws.RequestPagination `protobuf:"bytes,6,opt,name=pagination,proto3" json:"pagination"`
|
||||
}
|
||||
|
||||
func (x *SearchMessageReq) Reset() {
|
||||
@@ -2465,7 +2467,7 @@ type SearchMessageResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs,proto3" json:"chatLogs"`
|
||||
ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs,proto3" json:"chatLogs"`
|
||||
ChatLogsNum int32 `protobuf:"varint,2,opt,name=chatLogsNum,proto3" json:"chatLogsNum"`
|
||||
}
|
||||
|
||||
@@ -2520,29 +2522,29 @@ type ChatLog struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
SendID string `protobuf:"bytes,3,opt,name=sendID,proto3" json:"sendID"`
|
||||
RecvID string `protobuf:"bytes,4,opt,name=recvID,proto3" json:"recvID"`
|
||||
GroupID string `protobuf:"bytes,5,opt,name=groupID,proto3" json:"groupID"`
|
||||
RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname,proto3" json:"recvNickname"`
|
||||
SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID,proto3" json:"senderPlatformID"`
|
||||
SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname,proto3" json:"senderNickname"`
|
||||
SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
|
||||
GroupName string `protobuf:"bytes,10,opt,name=groupName,proto3" json:"groupName"`
|
||||
SessionType int32 `protobuf:"varint,11,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom,proto3" json:"msgFrom"`
|
||||
ContentType int32 `protobuf:"varint,13,opt,name=contentType,proto3" json:"contentType"`
|
||||
Content string `protobuf:"bytes,14,opt,name=content,proto3" json:"content"`
|
||||
Status int32 `protobuf:"varint,15,opt,name=status,proto3" json:"status"`
|
||||
SendTime int64 `protobuf:"varint,16,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
CreateTime int64 `protobuf:"varint,17,opt,name=createTime,proto3" json:"createTime"`
|
||||
Ex string `protobuf:"bytes,18,opt,name=ex,proto3" json:"ex"`
|
||||
GroupFaceURL string `protobuf:"bytes,19,opt,name=groupFaceURL,proto3" json:"groupFaceURL"`
|
||||
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
SendID string `protobuf:"bytes,3,opt,name=sendID,proto3" json:"sendID"`
|
||||
RecvID string `protobuf:"bytes,4,opt,name=recvID,proto3" json:"recvID"`
|
||||
GroupID string `protobuf:"bytes,5,opt,name=groupID,proto3" json:"groupID"`
|
||||
RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname,proto3" json:"recvNickname"`
|
||||
SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID,proto3" json:"senderPlatformID"`
|
||||
SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname,proto3" json:"senderNickname"`
|
||||
SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
|
||||
GroupName string `protobuf:"bytes,10,opt,name=groupName,proto3" json:"groupName"`
|
||||
SessionType int32 `protobuf:"varint,11,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom,proto3" json:"msgFrom"`
|
||||
ContentType int32 `protobuf:"varint,13,opt,name=contentType,proto3" json:"contentType"`
|
||||
Content string `protobuf:"bytes,14,opt,name=content,proto3" json:"content"`
|
||||
Status int32 `protobuf:"varint,15,opt,name=status,proto3" json:"status"`
|
||||
SendTime int64 `protobuf:"varint,16,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
CreateTime int64 `protobuf:"varint,17,opt,name=createTime,proto3" json:"createTime"`
|
||||
Ex string `protobuf:"bytes,18,opt,name=ex,proto3" json:"ex"`
|
||||
GroupFaceURL string `protobuf:"bytes,19,opt,name=groupFaceURL,proto3" json:"groupFaceURL"`
|
||||
GroupMemberCount uint32 `protobuf:"varint,20,opt,name=groupMemberCount,proto3" json:"groupMemberCount"`
|
||||
Seq int64 `protobuf:"varint,21,opt,name=seq,proto3" json:"seq"`
|
||||
GroupOwner string `protobuf:"bytes,22,opt,name=groupOwner,proto3" json:"groupOwner"`
|
||||
GroupType int32 `protobuf:"varint,23,opt,name=groupType,proto3" json:"groupType"`
|
||||
Seq int64 `protobuf:"varint,21,opt,name=seq,proto3" json:"seq"`
|
||||
GroupOwner string `protobuf:"bytes,22,opt,name=groupOwner,proto3" json:"groupOwner"`
|
||||
GroupType int32 `protobuf:"varint,23,opt,name=groupType,proto3" json:"groupType"`
|
||||
}
|
||||
|
||||
func (x *ChatLog) Reset() {
|
||||
|
||||
@@ -22,14 +22,16 @@ package msggateway
|
||||
|
||||
import (
|
||||
context "context"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -44,7 +46,7 @@ type OnlinePushMsgReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
PushToUserID string `protobuf:"bytes,2,opt,name=pushToUserID,proto3" json:"pushToUserID"`
|
||||
}
|
||||
|
||||
@@ -146,8 +148,8 @@ type SingleMsgToUserResults struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp,proto3" json:"resp"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp,proto3" json:"resp"`
|
||||
OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush,proto3" json:"onlinePush"`
|
||||
}
|
||||
|
||||
@@ -209,7 +211,7 @@ type OnlineBatchPushOneMsgReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
PushToUserIDs []string `protobuf:"bytes,2,rep,name=pushToUserIDs,proto3" json:"pushToUserIDs"`
|
||||
}
|
||||
|
||||
@@ -311,8 +313,8 @@ type SingleMsgToUserPlatform struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode,proto3" json:"ResultCode"`
|
||||
RecvID string `protobuf:"bytes,2,opt,name=RecvID,proto3" json:"RecvID"`
|
||||
ResultCode int64 `protobuf:"varint,1,opt,name=ResultCode,proto3" json:"ResultCode"`
|
||||
RecvID string `protobuf:"bytes,2,opt,name=RecvID,proto3" json:"RecvID"`
|
||||
RecvPlatFormID int32 `protobuf:"varint,3,opt,name=RecvPlatFormID,proto3" json:"RecvPlatFormID"`
|
||||
}
|
||||
|
||||
@@ -422,7 +424,7 @@ type GetUsersOnlineStatusResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SuccessResult []*GetUsersOnlineStatusResp_SuccessResult `protobuf:"bytes,1,rep,name=successResult,proto3" json:"successResult"`
|
||||
FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,2,rep,name=failedResult,proto3" json:"failedResult"`
|
||||
FailedResult []*GetUsersOnlineStatusResp_FailedDetail `protobuf:"bytes,2,rep,name=failedResult,proto3" json:"failedResult"`
|
||||
}
|
||||
|
||||
func (x *GetUsersOnlineStatusResp) Reset() {
|
||||
@@ -476,8 +478,8 @@ type SingleDetail struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
SinglePlatformToken []*SinglePlatformToken `protobuf:"bytes,3,rep,name=singlePlatformToken,proto3" json:"singlePlatformToken"`
|
||||
}
|
||||
|
||||
@@ -540,8 +542,8 @@ type SinglePlatformToken struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Token []string `protobuf:"bytes,3,rep,name=token,proto3" json:"token"`
|
||||
Total int32 `protobuf:"varint,2,opt,name=total,proto3" json:"total"`
|
||||
Token []string `protobuf:"bytes,3,rep,name=token,proto3" json:"token"`
|
||||
}
|
||||
|
||||
func (x *SinglePlatformToken) Reset() {
|
||||
@@ -602,7 +604,7 @@ type KickUserOfflineReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlatformID int32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
|
||||
PlatformID int32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
|
||||
KickUserIDList []string `protobuf:"bytes,2,rep,name=kickUserIDList,proto3" json:"kickUserIDList"`
|
||||
}
|
||||
|
||||
@@ -695,9 +697,9 @@ type MultiTerminalLoginCheckReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"`
|
||||
Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"`
|
||||
Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token"`
|
||||
OperationID string `protobuf:"bytes,4,opt,name=operationID,proto3" json:"operationID"`
|
||||
}
|
||||
|
||||
@@ -804,11 +806,11 @@ type GetUsersOnlineStatusResp_SuccessDetail struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
ConnID string `protobuf:"bytes,3,opt,name=connID,proto3" json:"connID"`
|
||||
Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
ConnID string `protobuf:"bytes,3,opt,name=connID,proto3" json:"connID"`
|
||||
IsBackground bool `protobuf:"varint,4,opt,name=isBackground,proto3" json:"isBackground"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token"`
|
||||
Token string `protobuf:"bytes,5,opt,name=token,proto3" json:"token"`
|
||||
}
|
||||
|
||||
func (x *GetUsersOnlineStatusResp_SuccessDetail) Reset() {
|
||||
@@ -930,8 +932,8 @@ type GetUsersOnlineStatusResp_SuccessResult struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status"`
|
||||
DetailPlatformStatus []*GetUsersOnlineStatusResp_SuccessDetail `protobuf:"bytes,3,rep,name=detailPlatformStatus,proto3" json:"detailPlatformStatus"`
|
||||
}
|
||||
|
||||
|
||||
@@ -22,14 +22,16 @@ package push
|
||||
|
||||
import (
|
||||
context "context"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -44,7 +46,7 @@ type PushMsgReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
MsgData *sdkws.MsgData `protobuf:"bytes,1,opt,name=msgData,proto3" json:"msgData"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
}
|
||||
|
||||
@@ -137,7 +139,7 @@ type DelUserPushTokenReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
PlatformID int32 `protobuf:"varint,2,opt,name=platformID,proto3" json:"platformID"`
|
||||
}
|
||||
|
||||
|
||||
+199
-197
@@ -21,11 +21,13 @@
|
||||
package sdkws
|
||||
|
||||
import (
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
|
||||
wrapperspb "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/wrapperspb"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -87,23 +89,23 @@ type GroupInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
|
||||
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
|
||||
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
CreateTime int64 `protobuf:"varint,7,opt,name=createTime,proto3" json:"createTime"`
|
||||
MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount,proto3" json:"memberCount"`
|
||||
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"`
|
||||
CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID,proto3" json:"creatorUserID"`
|
||||
GroupType int32 `protobuf:"varint,12,opt,name=groupType,proto3" json:"groupType"`
|
||||
NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification,proto3" json:"needVerification"`
|
||||
LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
|
||||
ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
|
||||
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
|
||||
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
OwnerUserID string `protobuf:"bytes,6,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
CreateTime int64 `protobuf:"varint,7,opt,name=createTime,proto3" json:"createTime"`
|
||||
MemberCount uint32 `protobuf:"varint,8,opt,name=memberCount,proto3" json:"memberCount"`
|
||||
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status"`
|
||||
CreatorUserID string `protobuf:"bytes,11,opt,name=creatorUserID,proto3" json:"creatorUserID"`
|
||||
GroupType int32 `protobuf:"varint,12,opt,name=groupType,proto3" json:"groupType"`
|
||||
NeedVerification int32 `protobuf:"varint,13,opt,name=needVerification,proto3" json:"needVerification"`
|
||||
LookMemberInfo int32 `protobuf:"varint,14,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
|
||||
ApplyMemberFriend int32 `protobuf:"varint,15,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
|
||||
NotificationUpdateTime int64 `protobuf:"varint,16,opt,name=notificationUpdateTime,proto3" json:"notificationUpdateTime"`
|
||||
NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID,proto3" json:"notificationUserID"`
|
||||
NotificationUserID string `protobuf:"bytes,17,opt,name=notificationUserID,proto3" json:"notificationUserID"`
|
||||
}
|
||||
|
||||
func (x *GroupInfo) Reset() {
|
||||
@@ -262,14 +264,14 @@ type GroupInfoForSet struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
|
||||
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
|
||||
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification,proto3" json:"needVerification"`
|
||||
LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
GroupName string `protobuf:"bytes,2,opt,name=groupName,proto3" json:"groupName"`
|
||||
Notification string `protobuf:"bytes,3,opt,name=notification,proto3" json:"notification"`
|
||||
Introduction string `protobuf:"bytes,4,opt,name=introduction,proto3" json:"introduction"`
|
||||
FaceURL string `protobuf:"bytes,5,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
NeedVerification *wrapperspb.Int32Value `protobuf:"bytes,7,opt,name=needVerification,proto3" json:"needVerification"`
|
||||
LookMemberInfo *wrapperspb.Int32Value `protobuf:"bytes,8,opt,name=lookMemberInfo,proto3" json:"lookMemberInfo"`
|
||||
ApplyMemberFriend *wrapperspb.Int32Value `protobuf:"bytes,9,opt,name=applyMemberFriend,proto3" json:"applyMemberFriend"`
|
||||
}
|
||||
|
||||
@@ -373,18 +375,18 @@ type GroupMemberFullInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel,proto3" json:"roleLevel"`
|
||||
JoinTime int64 `protobuf:"varint,4,opt,name=joinTime,proto3" json:"joinTime"`
|
||||
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL string `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
GroupID string `protobuf:"bytes,1,opt,name=groupID,proto3" json:"groupID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
RoleLevel int32 `protobuf:"varint,3,opt,name=roleLevel,proto3" json:"roleLevel"`
|
||||
JoinTime int64 `protobuf:"varint,4,opt,name=joinTime,proto3" json:"joinTime"`
|
||||
Nickname string `protobuf:"bytes,5,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL string `protobuf:"bytes,6,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
AppMangerLevel int32 `protobuf:"varint,7,opt,name=appMangerLevel,proto3" json:"appMangerLevel"` //if >0
|
||||
JoinSource int32 `protobuf:"varint,8,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID,proto3" json:"operatorUserID"`
|
||||
Ex string `protobuf:"bytes,10,opt,name=ex,proto3" json:"ex"`
|
||||
MuteEndTime int64 `protobuf:"varint,11,opt,name=muteEndTime,proto3" json:"muteEndTime"`
|
||||
InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID,proto3" json:"inviterUserID"`
|
||||
JoinSource int32 `protobuf:"varint,8,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
OperatorUserID string `protobuf:"bytes,9,opt,name=operatorUserID,proto3" json:"operatorUserID"`
|
||||
Ex string `protobuf:"bytes,10,opt,name=ex,proto3" json:"ex"`
|
||||
MuteEndTime int64 `protobuf:"varint,11,opt,name=muteEndTime,proto3" json:"muteEndTime"`
|
||||
InviterUserID string `protobuf:"bytes,12,opt,name=inviterUserID,proto3" json:"inviterUserID"`
|
||||
}
|
||||
|
||||
func (x *GroupMemberFullInfo) Reset() {
|
||||
@@ -508,10 +510,10 @@ type PublicUserInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *PublicUserInfo) Reset() {
|
||||
@@ -579,12 +581,12 @@ type UserInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
CreateTime int64 `protobuf:"varint,5,opt,name=createTime,proto3" json:"createTime"`
|
||||
AppMangerLevel int32 `protobuf:"varint,6,opt,name=appMangerLevel,proto3" json:"appMangerLevel"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
Nickname string `protobuf:"bytes,2,opt,name=nickname,proto3" json:"nickname"`
|
||||
FaceURL string `protobuf:"bytes,3,opt,name=faceURL,proto3" json:"faceURL"`
|
||||
Ex string `protobuf:"bytes,4,opt,name=ex,proto3" json:"ex"`
|
||||
CreateTime int64 `protobuf:"varint,5,opt,name=createTime,proto3" json:"createTime"`
|
||||
AppMangerLevel int32 `protobuf:"varint,6,opt,name=appMangerLevel,proto3" json:"appMangerLevel"`
|
||||
GlobalRecvMsgOpt int32 `protobuf:"varint,7,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"`
|
||||
}
|
||||
|
||||
@@ -674,13 +676,13 @@ type FriendInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark"`
|
||||
CreateTime int64 `protobuf:"varint,3,opt,name=createTime,proto3" json:"createTime"`
|
||||
FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser,proto3" json:"friendUser"`
|
||||
AddSource int32 `protobuf:"varint,5,opt,name=addSource,proto3" json:"addSource"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
Remark string `protobuf:"bytes,2,opt,name=remark,proto3" json:"remark"`
|
||||
CreateTime int64 `protobuf:"varint,3,opt,name=createTime,proto3" json:"createTime"`
|
||||
FriendUser *UserInfo `protobuf:"bytes,4,opt,name=friendUser,proto3" json:"friendUser"`
|
||||
AddSource int32 `protobuf:"varint,5,opt,name=addSource,proto3" json:"addSource"`
|
||||
OperatorUserID string `protobuf:"bytes,6,opt,name=operatorUserID,proto3" json:"operatorUserID"`
|
||||
Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex"`
|
||||
Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *FriendInfo) Reset() {
|
||||
@@ -769,12 +771,12 @@ type BlackInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
CreateTime int64 `protobuf:"varint,2,opt,name=createTime,proto3" json:"createTime"`
|
||||
BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo,proto3" json:"blackUserInfo"`
|
||||
AddSource int32 `protobuf:"varint,4,opt,name=addSource,proto3" json:"addSource"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
CreateTime int64 `protobuf:"varint,2,opt,name=createTime,proto3" json:"createTime"`
|
||||
BlackUserInfo *PublicUserInfo `protobuf:"bytes,3,opt,name=blackUserInfo,proto3" json:"blackUserInfo"`
|
||||
AddSource int32 `protobuf:"varint,4,opt,name=addSource,proto3" json:"addSource"`
|
||||
OperatorUserID string `protobuf:"bytes,5,opt,name=operatorUserID,proto3" json:"operatorUserID"`
|
||||
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
Ex string `protobuf:"bytes,6,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *BlackInfo) Reset() {
|
||||
@@ -856,16 +858,16 @@ type GroupRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo,proto3" json:"userInfo"`
|
||||
GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
HandleResult int32 `protobuf:"varint,3,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
ReqTime int64 `protobuf:"varint,6,opt,name=reqTime,proto3" json:"reqTime"`
|
||||
HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID,proto3" json:"handleUserID"`
|
||||
HandleTime int64 `protobuf:"varint,8,opt,name=handleTime,proto3" json:"handleTime"`
|
||||
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
JoinSource int32 `protobuf:"varint,10,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
UserInfo *PublicUserInfo `protobuf:"bytes,1,opt,name=userInfo,proto3" json:"userInfo"`
|
||||
GroupInfo *GroupInfo `protobuf:"bytes,2,opt,name=groupInfo,proto3" json:"groupInfo"`
|
||||
HandleResult int32 `protobuf:"varint,3,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
ReqMsg string `protobuf:"bytes,4,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
HandleMsg string `protobuf:"bytes,5,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
ReqTime int64 `protobuf:"varint,6,opt,name=reqTime,proto3" json:"reqTime"`
|
||||
HandleUserID string `protobuf:"bytes,7,opt,name=handleUserID,proto3" json:"handleUserID"`
|
||||
HandleTime int64 `protobuf:"varint,8,opt,name=handleTime,proto3" json:"handleTime"`
|
||||
Ex string `protobuf:"bytes,9,opt,name=ex,proto3" json:"ex"`
|
||||
JoinSource int32 `protobuf:"varint,10,opt,name=joinSource,proto3" json:"joinSource"`
|
||||
InviterUserID string `protobuf:"bytes,11,opt,name=inviterUserID,proto3" json:"inviterUserID"`
|
||||
}
|
||||
|
||||
@@ -983,19 +985,19 @@ type FriendRequest struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
|
||||
FromNickname string `protobuf:"bytes,2,opt,name=fromNickname,proto3" json:"fromNickname"`
|
||||
FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL,proto3" json:"fromFaceURL"`
|
||||
ToUserID string `protobuf:"bytes,4,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
ToNickname string `protobuf:"bytes,5,opt,name=toNickname,proto3" json:"toNickname"`
|
||||
ToFaceURL string `protobuf:"bytes,6,opt,name=toFaceURL,proto3" json:"toFaceURL"`
|
||||
HandleResult int32 `protobuf:"varint,7,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
ReqMsg string `protobuf:"bytes,8,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
CreateTime int64 `protobuf:"varint,9,opt,name=createTime,proto3" json:"createTime"`
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
|
||||
FromNickname string `protobuf:"bytes,2,opt,name=fromNickname,proto3" json:"fromNickname"`
|
||||
FromFaceURL string `protobuf:"bytes,3,opt,name=fromFaceURL,proto3" json:"fromFaceURL"`
|
||||
ToUserID string `protobuf:"bytes,4,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
ToNickname string `protobuf:"bytes,5,opt,name=toNickname,proto3" json:"toNickname"`
|
||||
ToFaceURL string `protobuf:"bytes,6,opt,name=toFaceURL,proto3" json:"toFaceURL"`
|
||||
HandleResult int32 `protobuf:"varint,7,opt,name=handleResult,proto3" json:"handleResult"`
|
||||
ReqMsg string `protobuf:"bytes,8,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
CreateTime int64 `protobuf:"varint,9,opt,name=createTime,proto3" json:"createTime"`
|
||||
HandlerUserID string `protobuf:"bytes,10,opt,name=handlerUserID,proto3" json:"handlerUserID"`
|
||||
HandleMsg string `protobuf:"bytes,11,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
HandleTime int64 `protobuf:"varint,12,opt,name=handleTime,proto3" json:"handleTime"`
|
||||
Ex string `protobuf:"bytes,13,opt,name=ex,proto3" json:"ex"`
|
||||
HandleMsg string `protobuf:"bytes,11,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
HandleTime int64 `protobuf:"varint,12,opt,name=handleTime,proto3" json:"handleTime"`
|
||||
Ex string `protobuf:"bytes,13,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *FriendRequest) Reset() {
|
||||
@@ -1126,8 +1128,8 @@ type PullMessageBySeqsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
SeqRanges []*SeqRange `protobuf:"bytes,2,rep,name=seqRanges,proto3" json:"seqRanges"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
SeqRanges []*SeqRange `protobuf:"bytes,2,rep,name=seqRanges,proto3" json:"seqRanges"`
|
||||
Order PullOrder `protobuf:"varint,3,opt,name=order,proto3,enum=OpenIMServer.sdkws.PullOrder" json:"order"`
|
||||
}
|
||||
|
||||
@@ -1190,9 +1192,9 @@ type SeqRange struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Begin int64 `protobuf:"varint,2,opt,name=begin,proto3" json:"begin"`
|
||||
End int64 `protobuf:"varint,3,opt,name=end,proto3" json:"end"`
|
||||
Num int64 `protobuf:"varint,4,opt,name=num,proto3" json:"num"`
|
||||
Begin int64 `protobuf:"varint,2,opt,name=begin,proto3" json:"begin"`
|
||||
End int64 `protobuf:"varint,3,opt,name=end,proto3" json:"end"`
|
||||
Num int64 `protobuf:"varint,4,opt,name=num,proto3" json:"num"`
|
||||
}
|
||||
|
||||
func (x *SeqRange) Reset() {
|
||||
@@ -1260,7 +1262,7 @@ type PullMsgs struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msgs []*MsgData `protobuf:"bytes,1,rep,name=Msgs,proto3" json:"Msgs"`
|
||||
Msgs []*MsgData `protobuf:"bytes,1,rep,name=Msgs,proto3" json:"Msgs"`
|
||||
IsEnd bool `protobuf:"varint,2,opt,name=isEnd,proto3" json:"isEnd"`
|
||||
}
|
||||
|
||||
@@ -1315,7 +1317,7 @@ type PullMessageBySeqsResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
NotificationMsgs map[string]*PullMsgs `protobuf:"bytes,2,rep,name=notificationMsgs,proto3" json:"notificationMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
@@ -1474,7 +1476,7 @@ type UserSendMsgResp struct {
|
||||
|
||||
ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
SendTime int64 `protobuf:"varint,3,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
}
|
||||
|
||||
func (x *UserSendMsgResp) Reset() {
|
||||
@@ -1535,28 +1537,28 @@ type MsgData struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"`
|
||||
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"`
|
||||
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
|
||||
ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
SendID string `protobuf:"bytes,1,opt,name=sendID,proto3" json:"sendID"`
|
||||
RecvID string `protobuf:"bytes,2,opt,name=recvID,proto3" json:"recvID"`
|
||||
GroupID string `protobuf:"bytes,3,opt,name=groupID,proto3" json:"groupID"`
|
||||
ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
ServerMsgID string `protobuf:"bytes,5,opt,name=serverMsgID,proto3" json:"serverMsgID"`
|
||||
SenderPlatformID int32 `protobuf:"varint,6,opt,name=senderPlatformID,proto3" json:"senderPlatformID"`
|
||||
SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname,proto3" json:"senderNickname"`
|
||||
SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
|
||||
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom,proto3" json:"msgFrom"`
|
||||
ContentType int32 `protobuf:"varint,11,opt,name=contentType,proto3" json:"contentType"`
|
||||
Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content"`
|
||||
Seq int64 `protobuf:"varint,14,opt,name=seq,proto3" json:"seq"`
|
||||
SendTime int64 `protobuf:"varint,15,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
CreateTime int64 `protobuf:"varint,16,opt,name=createTime,proto3" json:"createTime"`
|
||||
Status int32 `protobuf:"varint,17,opt,name=status,proto3" json:"status"`
|
||||
IsRead bool `protobuf:"varint,18,opt,name=isRead,proto3" json:"isRead"`
|
||||
Options map[string]bool `protobuf:"bytes,19,rep,name=options,proto3" json:"options" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,20,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
|
||||
AtUserIDList []string `protobuf:"bytes,21,rep,name=atUserIDList,proto3" json:"atUserIDList"`
|
||||
AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
Ex string `protobuf:"bytes,23,opt,name=ex,proto3" json:"ex"`
|
||||
SenderNickname string `protobuf:"bytes,7,opt,name=senderNickname,proto3" json:"senderNickname"`
|
||||
SenderFaceURL string `protobuf:"bytes,8,opt,name=senderFaceURL,proto3" json:"senderFaceURL"`
|
||||
SessionType int32 `protobuf:"varint,9,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
MsgFrom int32 `protobuf:"varint,10,opt,name=msgFrom,proto3" json:"msgFrom"`
|
||||
ContentType int32 `protobuf:"varint,11,opt,name=contentType,proto3" json:"contentType"`
|
||||
Content []byte `protobuf:"bytes,12,opt,name=content,proto3" json:"content"`
|
||||
Seq int64 `protobuf:"varint,14,opt,name=seq,proto3" json:"seq"`
|
||||
SendTime int64 `protobuf:"varint,15,opt,name=sendTime,proto3" json:"sendTime"`
|
||||
CreateTime int64 `protobuf:"varint,16,opt,name=createTime,proto3" json:"createTime"`
|
||||
Status int32 `protobuf:"varint,17,opt,name=status,proto3" json:"status"`
|
||||
IsRead bool `protobuf:"varint,18,opt,name=isRead,proto3" json:"isRead"`
|
||||
Options map[string]bool `protobuf:"bytes,19,rep,name=options,proto3" json:"options" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
OfflinePushInfo *OfflinePushInfo `protobuf:"bytes,20,opt,name=offlinePushInfo,proto3" json:"offlinePushInfo"`
|
||||
AtUserIDList []string `protobuf:"bytes,21,rep,name=atUserIDList,proto3" json:"atUserIDList"`
|
||||
AttachedInfo string `protobuf:"bytes,22,opt,name=attachedInfo,proto3" json:"attachedInfo"`
|
||||
Ex string `protobuf:"bytes,23,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *MsgData) Reset() {
|
||||
@@ -1750,7 +1752,7 @@ type PushMessages struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Msgs map[string]*PullMsgs `protobuf:"bytes,1,rep,name=msgs,proto3" json:"msgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
NotificationMsgs map[string]*PullMsgs `protobuf:"bytes,2,rep,name=notificationMsgs,proto3" json:"notificationMsgs" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
@@ -1805,12 +1807,12 @@ type OfflinePushInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
|
||||
Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc"`
|
||||
Ex string `protobuf:"bytes,3,opt,name=ex,proto3" json:"ex"`
|
||||
IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound,proto3" json:"iOSPushSound"`
|
||||
Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title"`
|
||||
Desc string `protobuf:"bytes,2,opt,name=desc,proto3" json:"desc"`
|
||||
Ex string `protobuf:"bytes,3,opt,name=ex,proto3" json:"ex"`
|
||||
IOSPushSound string `protobuf:"bytes,4,opt,name=iOSPushSound,proto3" json:"iOSPushSound"`
|
||||
IOSBadgeCount bool `protobuf:"varint,5,opt,name=iOSBadgeCount,proto3" json:"iOSBadgeCount"`
|
||||
SignalInfo string `protobuf:"bytes,6,opt,name=signalInfo,proto3" json:"signalInfo"`
|
||||
SignalInfo string `protobuf:"bytes,6,opt,name=signalInfo,proto3" json:"signalInfo"`
|
||||
}
|
||||
|
||||
func (x *OfflinePushInfo) Reset() {
|
||||
@@ -1892,9 +1894,9 @@ type TipsComm struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail"`
|
||||
Detail []byte `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail"`
|
||||
DefaultTips string `protobuf:"bytes,2,opt,name=defaultTips,proto3" json:"defaultTips"`
|
||||
JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail,proto3" json:"jsonDetail"`
|
||||
JsonDetail string `protobuf:"bytes,3,opt,name=jsonDetail,proto3" json:"jsonDetail"`
|
||||
}
|
||||
|
||||
func (x *TipsComm) Reset() {
|
||||
@@ -1956,9 +1958,9 @@ type GroupCreatedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
MemberList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=memberList,proto3" json:"memberList"`
|
||||
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
GroupOwnerUser *GroupMemberFullInfo `protobuf:"bytes,5,opt,name=groupOwnerUser,proto3" json:"groupOwnerUser"`
|
||||
}
|
||||
@@ -2036,9 +2038,9 @@ type GroupInfoSetTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
MuteTime int64 `protobuf:"varint,2,opt,name=muteTime,proto3" json:"muteTime"`
|
||||
Group *GroupInfo `protobuf:"bytes,3,opt,name=group,proto3" json:"group"`
|
||||
Group *GroupInfo `protobuf:"bytes,3,opt,name=group,proto3" json:"group"`
|
||||
}
|
||||
|
||||
func (x *GroupInfoSetTips) Reset() {
|
||||
@@ -2100,7 +2102,7 @@ type GroupInfoSetNameTips struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
Group *GroupInfo `protobuf:"bytes,2,opt,name=group,proto3" json:"group"`
|
||||
Group *GroupInfo `protobuf:"bytes,2,opt,name=group,proto3" json:"group"`
|
||||
}
|
||||
|
||||
func (x *GroupInfoSetNameTips) Reset() {
|
||||
@@ -2155,7 +2157,7 @@ type GroupInfoSetAnnouncementTips struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,1,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
Group *GroupInfo `protobuf:"bytes,2,opt,name=group,proto3" json:"group"`
|
||||
Group *GroupInfo `protobuf:"bytes,2,opt,name=group,proto3" json:"group"`
|
||||
}
|
||||
|
||||
func (x *GroupInfoSetAnnouncementTips) Reset() {
|
||||
@@ -2210,9 +2212,9 @@ type JoinGroupApplicationTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
Applicant *PublicUserInfo `protobuf:"bytes,2,opt,name=applicant,proto3" json:"applicant"`
|
||||
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
ReqMsg string `protobuf:"bytes,3,opt,name=reqMsg,proto3" json:"reqMsg"`
|
||||
}
|
||||
|
||||
func (x *JoinGroupApplicationTips) Reset() {
|
||||
@@ -2276,8 +2278,8 @@ type MemberQuitTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser,proto3" json:"quitUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
QuitUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=quitUser,proto3" json:"quitUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -2340,9 +2342,9 @@ type GroupApplicationAcceptedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
|
||||
}
|
||||
|
||||
@@ -2412,9 +2414,9 @@ type GroupApplicationRejectedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
HandleMsg string `protobuf:"bytes,4,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
ReceiverAs int32 `protobuf:"varint,5,opt,name=receiverAs,proto3" json:"receiverAs"` // admin(==1) or applicant(==0)
|
||||
}
|
||||
|
||||
@@ -2484,9 +2486,9 @@ type GroupOwnerTransferredTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner,proto3" json:"newGroupOwner"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
NewGroupOwner *GroupMemberFullInfo `protobuf:"bytes,3,opt,name=newGroupOwner,proto3" json:"newGroupOwner"`
|
||||
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -2556,8 +2558,8 @@ type MemberKickedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
KickedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=kickedUserList,proto3" json:"kickedUserList"`
|
||||
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
@@ -2628,10 +2630,10 @@ type MemberInvitedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
InvitedUserList []*GroupMemberFullInfo `protobuf:"bytes,3,rep,name=invitedUserList,proto3" json:"invitedUserList"`
|
||||
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
OperationTime int64 `protobuf:"varint,4,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
func (x *MemberInvitedTips) Reset() {
|
||||
@@ -2700,8 +2702,8 @@ type MemberEnterTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser,proto3" json:"entrantUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
EntrantUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=entrantUser,proto3" json:"entrantUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -2763,8 +2765,8 @@ type GroupDismissedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -2826,11 +2828,11 @@ type GroupMemberMutedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
|
||||
MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds,proto3" json:"mutedSeconds"`
|
||||
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
|
||||
MutedSeconds uint32 `protobuf:"varint,5,opt,name=mutedSeconds,proto3" json:"mutedSeconds"`
|
||||
}
|
||||
|
||||
func (x *GroupMemberMutedTips) Reset() {
|
||||
@@ -2905,10 +2907,10 @@ type GroupMemberCancelMutedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
|
||||
MutedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=mutedUser,proto3" json:"mutedUser"`
|
||||
}
|
||||
|
||||
func (x *GroupMemberCancelMutedTips) Reset() {
|
||||
@@ -2976,8 +2978,8 @@ type GroupMutedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -3039,8 +3041,8 @@ type GroupCancelMutedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
}
|
||||
|
||||
@@ -3102,10 +3104,10 @@ type GroupMemberInfoSetTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
Group *GroupInfo `protobuf:"bytes,1,opt,name=group,proto3" json:"group"`
|
||||
OpUser *GroupMemberFullInfo `protobuf:"bytes,2,opt,name=opUser,proto3" json:"opUser"`
|
||||
OperationTime int64 `protobuf:"varint,3,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser,proto3" json:"changedUser"`
|
||||
ChangedUser *GroupMemberFullInfo `protobuf:"bytes,4,opt,name=changedUser,proto3" json:"changedUser"`
|
||||
}
|
||||
|
||||
func (x *GroupMemberInfoSetTips) Reset() {
|
||||
@@ -3173,8 +3175,8 @@ type FriendApplication struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
AddTime int64 `protobuf:"varint,1,opt,name=addTime,proto3" json:"addTime"`
|
||||
AddSource string `protobuf:"bytes,2,opt,name=addSource,proto3" json:"addSource"`
|
||||
AddTime int64 `protobuf:"varint,1,opt,name=addTime,proto3" json:"addTime"`
|
||||
AddSource string `protobuf:"bytes,2,opt,name=addSource,proto3" json:"addSource"`
|
||||
AddWording string `protobuf:"bytes,3,opt,name=addWording,proto3" json:"addWording"`
|
||||
}
|
||||
|
||||
@@ -3237,7 +3239,7 @@ type FromToUserID struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromUserID string `protobuf:"bytes,1,opt,name=fromUserID,proto3" json:"fromUserID"`
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
ToUserID string `protobuf:"bytes,2,opt,name=toUserID,proto3" json:"toUserID"`
|
||||
}
|
||||
|
||||
func (x *FromToUserID) Reset() {
|
||||
@@ -3341,7 +3343,7 @@ type FriendApplicationApprovedTips struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from:同意者;to:请求发起者
|
||||
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
}
|
||||
|
||||
func (x *FriendApplicationApprovedTips) Reset() {
|
||||
@@ -3397,7 +3399,7 @@ type FriendApplicationRejectedTips struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
FromToUserID *FromToUserID `protobuf:"bytes,1,opt,name=fromToUserID,proto3" json:"fromToUserID"` //from:拒绝者;to:请求发起者
|
||||
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
HandleMsg string `protobuf:"bytes,2,opt,name=handleMsg,proto3" json:"handleMsg"`
|
||||
}
|
||||
|
||||
func (x *FriendApplicationRejectedTips) Reset() {
|
||||
@@ -3452,9 +3454,9 @@ type FriendAddedTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend,proto3" json:"friend"`
|
||||
Friend *FriendInfo `protobuf:"bytes,1,opt,name=friend,proto3" json:"friend"`
|
||||
OperationTime int64 `protobuf:"varint,2,opt,name=operationTime,proto3" json:"operationTime"`
|
||||
OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
OpUser *PublicUserInfo `protobuf:"bytes,3,opt,name=opUser,proto3" json:"opUser"` //who do this
|
||||
}
|
||||
|
||||
func (x *FriendAddedTips) Reset() {
|
||||
@@ -3753,7 +3755,7 @@ type ConversationUpdateTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
ConversationIDList []string `protobuf:"bytes,2,rep,name=conversationIDList,proto3" json:"conversationIDList"`
|
||||
}
|
||||
|
||||
@@ -3808,8 +3810,8 @@ type ConversationSetPrivateTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RecvID string `protobuf:"bytes,1,opt,name=recvID,proto3" json:"recvID"`
|
||||
SendID string `protobuf:"bytes,2,opt,name=sendID,proto3" json:"sendID"`
|
||||
RecvID string `protobuf:"bytes,1,opt,name=recvID,proto3" json:"recvID"`
|
||||
SendID string `protobuf:"bytes,2,opt,name=sendID,proto3" json:"sendID"`
|
||||
IsPrivate bool `protobuf:"varint,3,opt,name=isPrivate,proto3" json:"isPrivate"`
|
||||
}
|
||||
|
||||
@@ -3871,9 +3873,9 @@ type ConversationHasReadTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
HasReadSeq int64 `protobuf:"varint,3,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
UnreadCountTime int64 `protobuf:"varint,4,opt,name=unreadCountTime,proto3" json:"unreadCountTime"`
|
||||
}
|
||||
|
||||
@@ -4037,8 +4039,8 @@ type DeleteMessageTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID"`
|
||||
UserID string `protobuf:"bytes,2,opt,name=userID,proto3" json:"userID"`
|
||||
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
}
|
||||
|
||||
@@ -4100,11 +4102,11 @@ type RevokeMsgTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RevokerUserID string `protobuf:"bytes,1,opt,name=revokerUserID,proto3" json:"revokerUserID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
RevokeTime int64 `protobuf:"varint,3,opt,name=revokeTime,proto3" json:"revokeTime"`
|
||||
SesstionType int32 `protobuf:"varint,5,opt,name=sesstionType,proto3" json:"sesstionType"`
|
||||
Seq int64 `protobuf:"varint,6,opt,name=seq,proto3" json:"seq"`
|
||||
RevokerUserID string `protobuf:"bytes,1,opt,name=revokerUserID,proto3" json:"revokerUserID"`
|
||||
ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
RevokeTime int64 `protobuf:"varint,3,opt,name=revokeTime,proto3" json:"revokeTime"`
|
||||
SesstionType int32 `protobuf:"varint,5,opt,name=sesstionType,proto3" json:"sesstionType"`
|
||||
Seq int64 `protobuf:"varint,6,opt,name=seq,proto3" json:"seq"`
|
||||
ConversationID string `protobuf:"bytes,7,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
}
|
||||
|
||||
@@ -4187,17 +4189,17 @@ type MessageRevokedContent struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
RevokerID string `protobuf:"bytes,1,opt,name=revokerID,proto3" json:"revokerID"`
|
||||
RevokerRole int32 `protobuf:"varint,2,opt,name=revokerRole,proto3" json:"revokerRole"`
|
||||
ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
RevokerNickname string `protobuf:"bytes,4,opt,name=revokerNickname,proto3" json:"revokerNickname"`
|
||||
RevokeTime int64 `protobuf:"varint,5,opt,name=revokeTime,proto3" json:"revokeTime"`
|
||||
SourceMessageSendTime int64 `protobuf:"varint,6,opt,name=sourceMessageSendTime,proto3" json:"sourceMessageSendTime"`
|
||||
SourceMessageSendID string `protobuf:"bytes,7,opt,name=sourceMessageSendID,proto3" json:"sourceMessageSendID"`
|
||||
RevokerID string `protobuf:"bytes,1,opt,name=revokerID,proto3" json:"revokerID"`
|
||||
RevokerRole int32 `protobuf:"varint,2,opt,name=revokerRole,proto3" json:"revokerRole"`
|
||||
ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID,proto3" json:"clientMsgID"`
|
||||
RevokerNickname string `protobuf:"bytes,4,opt,name=revokerNickname,proto3" json:"revokerNickname"`
|
||||
RevokeTime int64 `protobuf:"varint,5,opt,name=revokeTime,proto3" json:"revokeTime"`
|
||||
SourceMessageSendTime int64 `protobuf:"varint,6,opt,name=sourceMessageSendTime,proto3" json:"sourceMessageSendTime"`
|
||||
SourceMessageSendID string `protobuf:"bytes,7,opt,name=sourceMessageSendID,proto3" json:"sourceMessageSendID"`
|
||||
SourceMessageSenderNickname string `protobuf:"bytes,8,opt,name=sourceMessageSenderNickname,proto3" json:"sourceMessageSenderNickname"`
|
||||
SessionType int32 `protobuf:"varint,10,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
Seq int64 `protobuf:"varint,11,opt,name=seq,proto3" json:"seq"`
|
||||
Ex string `protobuf:"bytes,12,opt,name=ex,proto3" json:"ex"`
|
||||
SessionType int32 `protobuf:"varint,10,opt,name=sessionType,proto3" json:"sessionType"`
|
||||
Seq int64 `protobuf:"varint,11,opt,name=seq,proto3" json:"seq"`
|
||||
Ex string `protobuf:"bytes,12,opt,name=ex,proto3" json:"ex"`
|
||||
}
|
||||
|
||||
func (x *MessageRevokedContent) Reset() {
|
||||
@@ -4314,7 +4316,7 @@ type ClearConversationTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
ConversationIDs []string `protobuf:"bytes,2,rep,name=conversationIDs,proto3" json:"conversationIDs"`
|
||||
}
|
||||
|
||||
@@ -4369,9 +4371,9 @@ type DeleteMsgsTips struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
}
|
||||
|
||||
func (x *DeleteMsgsTips) Reset() {
|
||||
@@ -4433,9 +4435,9 @@ type MarkAsReadTips struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
MarkAsReadUserID string `protobuf:"bytes,1,opt,name=markAsReadUserID,proto3" json:"markAsReadUserID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
HasReadSeq int64 `protobuf:"varint,4,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
Seqs []int64 `protobuf:"varint,3,rep,packed,name=seqs,proto3" json:"seqs"`
|
||||
HasReadSeq int64 `protobuf:"varint,4,opt,name=hasReadSeq,proto3" json:"hasReadSeq"`
|
||||
}
|
||||
|
||||
func (x *MarkAsReadTips) Reset() {
|
||||
@@ -4503,7 +4505,7 @@ type SetAppBackgroundStatusReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
IsBackground bool `protobuf:"varint,2,opt,name=isBackground,proto3" json:"isBackground"`
|
||||
}
|
||||
|
||||
|
||||
@@ -21,9 +21,10 @@
|
||||
package statistics
|
||||
|
||||
import (
|
||||
reflect "reflect"
|
||||
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
+33
-32
@@ -22,13 +22,14 @@ package third
|
||||
|
||||
import (
|
||||
context "context"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -43,7 +44,7 @@ type KeyValues struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key"`
|
||||
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key"`
|
||||
Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values"`
|
||||
}
|
||||
|
||||
@@ -99,9 +100,9 @@ type SignPart struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PartNumber int32 `protobuf:"varint,1,opt,name=partNumber,proto3" json:"partNumber"`
|
||||
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,3,rep,name=query,proto3" json:"query"`
|
||||
Header []*KeyValues `protobuf:"bytes,4,rep,name=header,proto3" json:"header"`
|
||||
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,3,rep,name=query,proto3" json:"query"`
|
||||
Header []*KeyValues `protobuf:"bytes,4,rep,name=header,proto3" json:"header"`
|
||||
}
|
||||
|
||||
func (x *SignPart) Reset() {
|
||||
@@ -169,10 +170,10 @@ type AuthSignParts struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,2,rep,name=query,proto3" json:"query"`
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,2,rep,name=query,proto3" json:"query"`
|
||||
Header []*KeyValues `protobuf:"bytes,3,rep,name=header,proto3" json:"header"`
|
||||
Parts []*SignPart `protobuf:"bytes,4,rep,name=parts,proto3" json:"parts"`
|
||||
Parts []*SignPart `protobuf:"bytes,4,rep,name=parts,proto3" json:"parts"`
|
||||
}
|
||||
|
||||
func (x *AuthSignParts) Reset() {
|
||||
@@ -280,7 +281,7 @@ type PartLimitResp struct {
|
||||
|
||||
MinPartSize int64 `protobuf:"varint,1,opt,name=minPartSize,proto3" json:"minPartSize"`
|
||||
MaxPartSize int64 `protobuf:"varint,2,opt,name=maxPartSize,proto3" json:"maxPartSize"`
|
||||
MaxNumSize int32 `protobuf:"varint,3,opt,name=maxNumSize,proto3" json:"maxNumSize"`
|
||||
MaxNumSize int32 `protobuf:"varint,3,opt,name=maxNumSize,proto3" json:"maxNumSize"`
|
||||
}
|
||||
|
||||
func (x *PartLimitResp) Reset() {
|
||||
@@ -435,12 +436,12 @@ type InitiateMultipartUploadReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash"`
|
||||
Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size"`
|
||||
PartSize int64 `protobuf:"varint,3,opt,name=partSize,proto3" json:"partSize"`
|
||||
MaxParts int32 `protobuf:"varint,4,opt,name=maxParts,proto3" json:"maxParts"`
|
||||
Cause string `protobuf:"bytes,5,opt,name=cause,proto3" json:"cause"`
|
||||
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name"`
|
||||
Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash"`
|
||||
Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size"`
|
||||
PartSize int64 `protobuf:"varint,3,opt,name=partSize,proto3" json:"partSize"`
|
||||
MaxParts int32 `protobuf:"varint,4,opt,name=maxParts,proto3" json:"maxParts"`
|
||||
Cause string `protobuf:"bytes,5,opt,name=cause,proto3" json:"cause"`
|
||||
Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name"`
|
||||
ContentType string `protobuf:"bytes,7,opt,name=contentType,proto3" json:"contentType"`
|
||||
}
|
||||
|
||||
@@ -530,9 +531,9 @@ type UploadInfo struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
PartSize int64 `protobuf:"varint,2,opt,name=partSize,proto3" json:"partSize"`
|
||||
Sign *AuthSignParts `protobuf:"bytes,3,opt,name=sign,proto3" json:"sign"`
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
PartSize int64 `protobuf:"varint,2,opt,name=partSize,proto3" json:"partSize"`
|
||||
Sign *AuthSignParts `protobuf:"bytes,3,opt,name=sign,proto3" json:"sign"`
|
||||
ExpireTime int64 `protobuf:"varint,4,opt,name=expireTime,proto3" json:"expireTime"`
|
||||
}
|
||||
|
||||
@@ -601,7 +602,7 @@ type InitiateMultipartUploadResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Upload *UploadInfo `protobuf:"bytes,2,opt,name=upload,proto3" json:"upload"`
|
||||
}
|
||||
|
||||
@@ -656,7 +657,7 @@ type AuthSignReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
PartNumbers []int32 `protobuf:"varint,2,rep,packed,name=partNumbers,proto3" json:"partNumbers"`
|
||||
}
|
||||
|
||||
@@ -711,10 +712,10 @@ type AuthSignResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,2,rep,name=query,proto3" json:"query"`
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Query []*KeyValues `protobuf:"bytes,2,rep,name=query,proto3" json:"query"`
|
||||
Header []*KeyValues `protobuf:"bytes,3,rep,name=header,proto3" json:"header"`
|
||||
Parts []*SignPart `protobuf:"bytes,4,rep,name=parts,proto3" json:"parts"`
|
||||
Parts []*SignPart `protobuf:"bytes,4,rep,name=parts,proto3" json:"parts"`
|
||||
}
|
||||
|
||||
func (x *AuthSignResp) Reset() {
|
||||
@@ -782,11 +783,11 @@ type CompleteMultipartUploadReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
Parts []string `protobuf:"bytes,2,rep,name=parts,proto3" json:"parts"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"`
|
||||
UploadID string `protobuf:"bytes,1,opt,name=uploadID,proto3" json:"uploadID"`
|
||||
Parts []string `protobuf:"bytes,2,rep,name=parts,proto3" json:"parts"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name"`
|
||||
ContentType string `protobuf:"bytes,4,opt,name=contentType,proto3" json:"contentType"`
|
||||
Cause string `protobuf:"bytes,5,opt,name=cause,proto3" json:"cause"`
|
||||
Cause string `protobuf:"bytes,5,opt,name=cause,proto3" json:"cause"`
|
||||
}
|
||||
|
||||
func (x *CompleteMultipartUploadReq) Reset() {
|
||||
@@ -955,7 +956,7 @@ type AccessURLResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"`
|
||||
ExpireTime int64 `protobuf:"varint,2,opt,name=expireTime,proto3" json:"expireTime"`
|
||||
}
|
||||
|
||||
@@ -1011,8 +1012,8 @@ type FcmUpdateTokenReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
PlatformID int32 `protobuf:"varint,1,opt,name=platformID,proto3" json:"platformID"`
|
||||
FcmToken string `protobuf:"bytes,2,opt,name=fcmToken,proto3" json:"fcmToken"`
|
||||
Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account"`
|
||||
FcmToken string `protobuf:"bytes,2,opt,name=fcmToken,proto3" json:"fcmToken"`
|
||||
Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account"`
|
||||
ExpireTime int64 `protobuf:"varint,4,opt,name=expireTime,proto3" json:"expireTime"`
|
||||
}
|
||||
|
||||
@@ -1119,7 +1120,7 @@ type SetAppBadgeReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
AppUnreadCount int32 `protobuf:"varint,2,opt,name=appUnreadCount,proto3" json:"appUnreadCount"`
|
||||
}
|
||||
|
||||
|
||||
+28
-26
@@ -22,15 +22,17 @@ package user
|
||||
|
||||
import (
|
||||
context "context"
|
||||
conversation "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
conversation "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation"
|
||||
sdkws "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -92,7 +94,7 @@ type GetAllUserIDResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
UserIDs []string `protobuf:"bytes,2,rep,name=userIDs,proto3" json:"userIDs"`
|
||||
}
|
||||
|
||||
@@ -420,7 +422,7 @@ type SetGlobalRecvMessageOptReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
GlobalRecvMsgOpt int32 `protobuf:"varint,3,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt"`
|
||||
}
|
||||
|
||||
@@ -513,9 +515,9 @@ type SetConversationReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Conversation *conversation.Conversation `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation"`
|
||||
Conversation *conversation.Conversation `protobuf:"bytes,1,opt,name=conversation,proto3" json:"conversation"`
|
||||
NotificationType int32 `protobuf:"varint,2,opt,name=notificationType,proto3" json:"notificationType"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
}
|
||||
|
||||
func (x *SetConversationReq) Reset() {
|
||||
@@ -614,11 +616,11 @@ type SetRecvMsgOptReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationID string `protobuf:"bytes,2,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt,proto3" json:"recvMsgOpt"`
|
||||
NotificationType int32 `protobuf:"varint,4,opt,name=notificationType,proto3" json:"notificationType"`
|
||||
OperationID string `protobuf:"bytes,5,opt,name=operationID,proto3" json:"operationID"`
|
||||
OperationID string `protobuf:"bytes,5,opt,name=operationID,proto3" json:"operationID"`
|
||||
}
|
||||
|
||||
func (x *SetRecvMsgOptReq) Reset() {
|
||||
@@ -732,8 +734,8 @@ type GetConversationReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ConversationID string `protobuf:"bytes,1,opt,name=conversationID,proto3" json:"conversationID"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
}
|
||||
|
||||
func (x *GetConversationReq) Reset() {
|
||||
@@ -841,9 +843,9 @@ type GetConversationsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID,proto3" json:"ownerUserID"`
|
||||
ConversationIDs []string `protobuf:"bytes,2,rep,name=conversationIDs,proto3" json:"conversationIDs"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID"`
|
||||
}
|
||||
|
||||
func (x *GetConversationsReq) Reset() {
|
||||
@@ -1053,10 +1055,10 @@ type BatchSetConversationsReq struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Conversations []*conversation.Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID"`
|
||||
Conversations []*conversation.Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations"`
|
||||
OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID"`
|
||||
NotificationType int32 `protobuf:"varint,3,opt,name=notificationType,proto3" json:"notificationType"`
|
||||
OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID"`
|
||||
OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID"`
|
||||
}
|
||||
|
||||
func (x *BatchSetConversationsReq) Reset() {
|
||||
@@ -1125,7 +1127,7 @@ type BatchSetConversationsResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Success []string `protobuf:"bytes,2,rep,name=Success,proto3" json:"Success"`
|
||||
Failed []string `protobuf:"bytes,3,rep,name=Failed,proto3" json:"Failed"`
|
||||
Failed []string `protobuf:"bytes,3,rep,name=Failed,proto3" json:"Failed"`
|
||||
}
|
||||
|
||||
func (x *BatchSetConversationsResp) Reset() {
|
||||
@@ -1227,7 +1229,7 @@ type GetPaginationUsersResp struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
|
||||
Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
|
||||
}
|
||||
|
||||
func (x *GetPaginationUsersResp) Reset() {
|
||||
@@ -1282,7 +1284,7 @@ type UserRegisterReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Secret string `protobuf:"bytes,1,opt,name=secret,proto3" json:"secret"`
|
||||
Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
|
||||
Users []*sdkws.UserInfo `protobuf:"bytes,2,rep,name=users,proto3" json:"users"`
|
||||
}
|
||||
|
||||
func (x *UserRegisterReq) Reset() {
|
||||
@@ -1469,7 +1471,7 @@ type UserRegisterCountReq struct {
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end"`
|
||||
}
|
||||
|
||||
func (x *UserRegisterCountReq) Reset() {
|
||||
@@ -1523,9 +1525,9 @@ type UserRegisterCountResp struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"`
|
||||
Before int64 `protobuf:"varint,2,opt,name=before,proto3" json:"before"`
|
||||
Count map[string]int64 `protobuf:"bytes,3,rep,name=count,proto3" json:"count" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
Count map[string]int64 `protobuf:"bytes,3,rep,name=count,proto3" json:"count" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
|
||||
}
|
||||
|
||||
func (x *UserRegisterCountResp) Reset() {
|
||||
@@ -1586,7 +1588,7 @@ type AccountCheckRespSingleUserStatus struct {
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID"`
|
||||
AccountStatus string `protobuf:"bytes,2,opt,name=accountStatus,proto3" json:"accountStatus"`
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,11 @@
|
||||
package wrapperspb
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
@@ -18,11 +18,12 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/errs"
|
||||
pbConversation "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/conversation"
|
||||
"google.golang.org/grpc"
|
||||
)
|
||||
|
||||
type Conversation struct {
|
||||
@@ -71,6 +72,7 @@ func (c *ConversationRpcClient) SetConversationMaxSeq(ctx context.Context, owner
|
||||
_, err := c.Client.SetConversationMaxSeq(ctx, &pbConversation.SetConversationMaxSeqReq{OwnerUserID: ownerUserIDs, ConversationID: conversationID, MaxSeq: maxSeq})
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *ConversationRpcClient) SetConversations(ctx context.Context, userIDs []string, conversation *pbConversation.ConversationReq) error {
|
||||
_, err := c.Client.SetConversations(ctx, &pbConversation.SetConversationsReq{UserIDs: userIDs, Conversation: conversation})
|
||||
return err
|
||||
|
||||
@@ -61,14 +61,13 @@ func (f *FriendRpcClient) GetFriendsInfo(
|
||||
return
|
||||
}
|
||||
|
||||
// possibleFriendUserID是否在userID的好友中
|
||||
// possibleFriendUserID是否在userID的好友中.
|
||||
func (f *FriendRpcClient) IsFriend(ctx context.Context, possibleFriendUserID, userID string) (bool, error) {
|
||||
resp, err := f.Client.IsFriend(ctx, &friend.IsFriendReq{UserID1: userID, UserID2: possibleFriendUserID})
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
return resp.InUser1Friends, nil
|
||||
|
||||
}
|
||||
|
||||
func (f *FriendRpcClient) GetFriendIDs(ctx context.Context, ownerUserID string) (friendIDs []string, err error) {
|
||||
|
||||
@@ -18,6 +18,9 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/protobuf/proto"
|
||||
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||
@@ -25,9 +28,7 @@ import (
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msg"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/sdkws"
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/protobuf/proto"
|
||||
// "google.golang.org/protobuf/proto"
|
||||
// "google.golang.org/protobuf/proto".
|
||||
)
|
||||
|
||||
func newContentTypeConf() map[int32]config.NotificationConf {
|
||||
|
||||
@@ -30,7 +30,7 @@ func NewConversationNotificationSender(msgRpcClient *rpcclient.MessageRpcClient)
|
||||
return &ConversationNotificationSender{rpcclient.NewNotificationSender(rpcclient.WithRpcClient(msgRpcClient))}
|
||||
}
|
||||
|
||||
// SetPrivate调用
|
||||
// SetPrivate调用.
|
||||
func (c *ConversationNotificationSender) ConversationSetPrivateNotification(
|
||||
ctx context.Context,
|
||||
sendID, recvID string,
|
||||
@@ -44,7 +44,7 @@ func (c *ConversationNotificationSender) ConversationSetPrivateNotification(
|
||||
return c.Notification(ctx, sendID, recvID, constant.ConversationPrivateChatNotification, tips)
|
||||
}
|
||||
|
||||
// 会话改变
|
||||
// 会话改变.
|
||||
func (c *ConversationNotificationSender) ConversationChangeNotification(ctx context.Context, userID string) error {
|
||||
tips := &sdkws.ConversationUpdateTips{
|
||||
UserID: userID,
|
||||
@@ -52,7 +52,7 @@ func (c *ConversationNotificationSender) ConversationChangeNotification(ctx cont
|
||||
return c.Notification(ctx, userID, userID, constant.ConversationChangeNotification, tips)
|
||||
}
|
||||
|
||||
// 会话未读数同步
|
||||
// 会话未读数同步.
|
||||
func (c *ConversationNotificationSender) ConversationUnreadChangeNotification(
|
||||
ctx context.Context,
|
||||
userID, conversationID string,
|
||||
|
||||
@@ -30,7 +30,12 @@ import (
|
||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
|
||||
)
|
||||
|
||||
func NewGroupNotificationSender(db controller.GroupDatabase, msgRpcClient *rpcclient.MessageRpcClient, userRpcClient *rpcclient.UserRpcClient, fn func(ctx context.Context, userIDs []string) ([]CommonUser, error)) *GroupNotificationSender {
|
||||
func NewGroupNotificationSender(
|
||||
db controller.GroupDatabase,
|
||||
msgRpcClient *rpcclient.MessageRpcClient,
|
||||
userRpcClient *rpcclient.UserRpcClient,
|
||||
fn func(ctx context.Context, userIDs []string) ([]CommonUser, error),
|
||||
) *GroupNotificationSender {
|
||||
return &GroupNotificationSender{
|
||||
NotificationSender: rpcclient.NewNotificationSender(rpcclient.WithRpcClient(msgRpcClient), rpcclient.WithUserRpcClient(userRpcClient)),
|
||||
getUsersInfo: fn,
|
||||
@@ -442,8 +447,10 @@ func (g *GroupNotificationSender) GroupMemberMutedNotification(ctx context.Conte
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
tips := &sdkws.GroupMemberMutedTips{Group: group, MutedSeconds: mutedSeconds,
|
||||
OpUser: user[mcontext.GetOpUserID(ctx)], MutedUser: user[groupMemberUserID]}
|
||||
tips := &sdkws.GroupMemberMutedTips{
|
||||
Group: group, MutedSeconds: mutedSeconds,
|
||||
OpUser: user[mcontext.GetOpUserID(ctx)], MutedUser: user[groupMemberUserID],
|
||||
}
|
||||
if err := g.fillOpUser(ctx, &tips.OpUser, tips.Group.GroupID); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -16,9 +16,10 @@ package rpcclient
|
||||
|
||||
import (
|
||||
"context"
|
||||
"net/url"
|
||||
|
||||
"github.com/minio/minio-go/v7"
|
||||
"github.com/minio/minio-go/v7/pkg/credentials"
|
||||
"net/url"
|
||||
|
||||
"google.golang.org/grpc"
|
||||
|
||||
@@ -54,7 +55,7 @@ func minioInit() (*minio.Client, error) {
|
||||
}
|
||||
opts := &minio.Options{
|
||||
Creds: credentials.NewStaticV4(config.Config.Object.Minio.AccessKeyID, config.Config.Object.Minio.SecretAccessKey, ""),
|
||||
//Region: config.Config.Credential.Minio.Location,
|
||||
// Region: config.Config.Credential.Minio.Location,
|
||||
}
|
||||
if minioUrl.Scheme == "http" {
|
||||
opts.Secure = false
|
||||
|
||||
Reference in New Issue
Block a user