From 9f15f50f9d2cd6ce12fd191d4796041942e27e1b Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 23 Aug 2022 15:42:05 +0800 Subject: [PATCH 01/44] fix conversation --- pkg/common/db/mysql_model/im_mysql_model/conversation_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go index 0f1b7374a..2a645d54f 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/conversation_model.go @@ -99,6 +99,6 @@ func UpdateColumnsConversations(ownerUserIDList []string, conversationID string, func GetConversationIDListByUserID(userID string) ([]string, error) { var IDList []string - err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("user_id=?", userID).Pluck("conversation_id", &IDList).Error + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Conversation{}).Where("owner_user_id=?", userID).Pluck("conversation_id", &IDList).Error return IDList, err } From 1d0d063a6c66d7d5f903e162ae2e09b82faf1a7c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 23 Aug 2022 15:46:10 +0800 Subject: [PATCH 02/44] add --- internal/rpc/user/user.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 4c86c36f8..800965e57 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -266,7 +266,7 @@ func (s *userServer) SetConversation(ctx context.Context, req *pbUser.SetConvers return resp, nil } if isUpdate { - err = rocksCache.DelConversationFromCache(req.Conversation.OwnerUserID ,req.Conversation.ConversationID) + err = rocksCache.DelConversationFromCache(req.Conversation.OwnerUserID, req.Conversation.ConversationID) } else { err = rocksCache.DelUserConversationIDListFromCache(req.Conversation.OwnerUserID) } @@ -318,6 +318,7 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) resp.CommonResp = &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg} return resp, nil + } if err = rocksCache.DelConversationFromCache(conversation.OwnerUserID, conversation.ConversationID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), conversation.ConversationID, err.Error()) } From d542cdd898af9b5e77f30b56fa239bcb20f697a8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 23 Aug 2022 17:32:21 +0800 Subject: [PATCH 03/44] conversation --- internal/api/conversation/conversation.go | 2 +- internal/rpc/conversation/conversaion.go | 6 + internal/rpc/user/user.go | 11 +- pkg/common/db/model_struct.go | 29 +- pkg/proto/conversation/conversation.pb.go | 117 +- pkg/proto/conversation/conversation.proto | 2 + pkg/proto/user/user.pb.go | 7243 ++++++++------------- pkg/proto/user/user.proto | 42 +- 8 files changed, 2852 insertions(+), 4600 deletions(-) diff --git a/internal/api/conversation/conversation.go b/internal/api/conversation/conversation.go index e150a20e1..cfda0abb8 100644 --- a/internal/api/conversation/conversation.go +++ b/internal/api/conversation/conversation.go @@ -26,7 +26,7 @@ func SetConversation(c *gin.Context) { return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.Conversation = &pbUser.Conversation{} + reqPb.Conversation = &pbConversation.Conversation{} err := utils.CopyStructFields(&reqPb, req) err = utils.CopyStructFields(reqPb.Conversation, req.Conversation) if err != nil { diff --git a/internal/rpc/conversation/conversaion.go b/internal/rpc/conversation/conversaion.go index 5fcab9eb4..6fb04dfd4 100644 --- a/internal/rpc/conversation/conversaion.go +++ b/internal/rpc/conversation/conversaion.go @@ -74,6 +74,7 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"attached_info": conversation.AttachedInfo}) case constant.FieldUnread: isSyncConversation = false + err = imdb.UpdateColumnsConversations(haveUserID, req.Conversation.ConversationID, map[string]interface{}{"update_unread_count_time": utils.GetCurrentTimestampByMill()}) } if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "UpdateColumnsConversations error", err.Error()) @@ -82,6 +83,11 @@ func (rpc *rpcConversation) ModifyConversationField(c context.Context, req *pbCo } for _, v := range utils.DifferenceString(haveUserID, req.UserIDList) { conversation.OwnerUserID = v + conversation.UpdateUnreadCountTime = utils.GetCurrentTimestampByMill() + err = rocksCache.DelUserConversationIDListFromCache(v) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), v, req.Conversation.ConversationID, err.Error()) + } err := imdb.SetOneConversation(conversation) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation error", err.Error()) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 800965e57..e303816d8 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -11,6 +11,7 @@ import ( "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbConversation "Open_IM/pkg/proto/conversation" pbFriend "Open_IM/pkg/proto/friend" sdkws "Open_IM/pkg/proto/sdk_ws" pbUser "Open_IM/pkg/proto/user" @@ -83,7 +84,7 @@ func (s *userServer) Run() { log.NewInfo("0", "rpc user success") } -func syncPeerUserConversation(conversation *pbUser.Conversation, operationID string) error { +func syncPeerUserConversation(conversation *pbConversation.Conversation, operationID string) error { peerUserConversation := db.Conversation{ OwnerUserID: conversation.UserID, ConversationID: utils.GetConversationIDBySessionType(conversation.OwnerUserID, constant.SingleChatType), @@ -178,7 +179,7 @@ func (s *userServer) BatchSetConversations(ctx context.Context, req *pbUser.Batc func (s *userServer) GetAllConversations(ctx context.Context, req *pbUser.GetAllConversationsReq) (*pbUser.GetAllConversationsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetAllConversationsResp{Conversations: []*pbUser.Conversation{}} + resp := &pbUser.GetAllConversationsResp{Conversations: []*pbConversation.Conversation{}} conversations, err := rocksCache.GetUserAllConversationList(req.OwnerUserID) log.NewDebug(req.OperationID, "conversations: ", conversations) if err != nil { @@ -196,7 +197,7 @@ func (s *userServer) GetAllConversations(ctx context.Context, req *pbUser.GetAll func (s *userServer) GetConversation(ctx context.Context, req *pbUser.GetConversationReq) (*pbUser.GetConversationResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetConversationResp{Conversation: &pbUser.Conversation{}} + resp := &pbUser.GetConversationResp{Conversation: &pbConversation.Conversation{}} conversation, err := rocksCache.GetConversationFromCache(req.OwnerUserID, req.ConversationID) log.NewDebug("", utils.GetSelfFuncName(), "conversation", conversation) if err != nil { @@ -214,7 +215,7 @@ func (s *userServer) GetConversation(ctx context.Context, req *pbUser.GetConvers func (s *userServer) GetConversations(ctx context.Context, req *pbUser.GetConversationsReq) (*pbUser.GetConversationsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetConversationsResp{Conversations: []*pbUser.Conversation{}} + resp := &pbUser.GetConversationsResp{Conversations: []*pbConversation.Conversation{}} conversations, err := rocksCache.GetConversationsFromCache(req.OwnerUserID, req.ConversationIDs) log.NewDebug("", utils.GetSelfFuncName(), "conversations", conversations) if err != nil { @@ -683,7 +684,7 @@ func (s *userServer) AlterUser(ctx context.Context, req *pbUser.AlterUserReq) (* log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbUser.AlterUserResp{} user := db.User{ - PhoneNumber: strconv.FormatInt(req.PhoneNumber, 10), + PhoneNumber: req.PhoneNumber, Nickname: req.Nickname, Email: req.Email, UserID: req.UserId, diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index ea2c0734d..e29c8ba35 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -243,20 +243,21 @@ type BlackList struct { EndDisableTime time.Time `gorm:"column:end_disable_time"` } type Conversation 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"` - UnreadCount int32 `gorm:"column:unread_count" json:"unreadCount"` - DraftTextTime int64 `gorm:"column:draft_text_time" json:"draftTextTime"` - IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` - IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"` - GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"` - IsNotInGroup bool `gorm:"column:is_not_in_group" json:"isNotInGroup"` - AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"` - Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` + 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"` + UnreadCount int32 `gorm:"column:unread_count" json:"unreadCount"` + DraftTextTime int64 `gorm:"column:draft_text_time" json:"draftTextTime"` + IsPinned bool `gorm:"column:is_pinned" json:"isPinned"` + IsPrivateChat bool `gorm:"column:is_private_chat" json:"isPrivateChat"` + GroupAtType int32 `gorm:"column:group_at_type" json:"groupAtType"` + IsNotInGroup bool `gorm:"column:is_not_in_group" json:"isNotInGroup"` + UpdateUnreadCountTime int64 `gorm:"column:update_unread_count_time" json:"updateUnreadCountTime"` + AttachedInfo string `gorm:"column:attached_info;type:varchar(1024)" json:"attachedInfo"` + Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } func (Conversation) TableName() string { diff --git a/pkg/proto/conversation/conversation.pb.go b/pkg/proto/conversation/conversation.pb.go index bf76bfe67..de4d4a793 100644 --- a/pkg/proto/conversation/conversation.pb.go +++ b/pkg/proto/conversation/conversation.pb.go @@ -35,7 +35,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_conversation_e6bf38f800b9bed2, []int{0} + return fileDescriptor_conversation_ac55165355a1b6e6, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -70,30 +70,31 @@ func (m *CommonResp) GetErrMsg() string { } type Conversation struct { - OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` - ConversationID string `protobuf:"bytes,2,opt,name=conversationID" json:"conversationID,omitempty"` - RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt" json:"recvMsgOpt,omitempty"` - ConversationType int32 `protobuf:"varint,4,opt,name=conversationType" json:"conversationType,omitempty"` - UserID string `protobuf:"bytes,5,opt,name=userID" json:"userID,omitempty"` - GroupID string `protobuf:"bytes,6,opt,name=groupID" json:"groupID,omitempty"` - UnreadCount int32 `protobuf:"varint,7,opt,name=unreadCount" json:"unreadCount,omitempty"` - DraftTextTime int64 `protobuf:"varint,8,opt,name=draftTextTime" json:"draftTextTime,omitempty"` - IsPinned bool `protobuf:"varint,9,opt,name=isPinned" json:"isPinned,omitempty"` - AttachedInfo string `protobuf:"bytes,10,opt,name=attachedInfo" json:"attachedInfo,omitempty"` - IsPrivateChat bool `protobuf:"varint,11,opt,name=isPrivateChat" json:"isPrivateChat,omitempty"` - GroupAtType int32 `protobuf:"varint,12,opt,name=groupAtType" json:"groupAtType,omitempty"` - IsNotInGroup bool `protobuf:"varint,13,opt,name=isNotInGroup" json:"isNotInGroup,omitempty"` - Ex string `protobuf:"bytes,14,opt,name=ex" json:"ex,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` + ConversationID string `protobuf:"bytes,2,opt,name=conversationID" json:"conversationID,omitempty"` + RecvMsgOpt int32 `protobuf:"varint,3,opt,name=recvMsgOpt" json:"recvMsgOpt,omitempty"` + ConversationType int32 `protobuf:"varint,4,opt,name=conversationType" json:"conversationType,omitempty"` + UserID string `protobuf:"bytes,5,opt,name=userID" json:"userID,omitempty"` + GroupID string `protobuf:"bytes,6,opt,name=groupID" json:"groupID,omitempty"` + UnreadCount int32 `protobuf:"varint,7,opt,name=unreadCount" json:"unreadCount,omitempty"` + DraftTextTime int64 `protobuf:"varint,8,opt,name=draftTextTime" json:"draftTextTime,omitempty"` + IsPinned bool `protobuf:"varint,9,opt,name=isPinned" json:"isPinned,omitempty"` + AttachedInfo string `protobuf:"bytes,10,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsPrivateChat bool `protobuf:"varint,11,opt,name=isPrivateChat" json:"isPrivateChat,omitempty"` + GroupAtType int32 `protobuf:"varint,12,opt,name=groupAtType" json:"groupAtType,omitempty"` + IsNotInGroup bool `protobuf:"varint,13,opt,name=isNotInGroup" json:"isNotInGroup,omitempty"` + Ex string `protobuf:"bytes,14,opt,name=ex" json:"ex,omitempty"` + UpdateUnreadCountTime int64 `protobuf:"varint,15,opt,name=updateUnreadCountTime" json:"updateUnreadCountTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Conversation) Reset() { *m = Conversation{} } func (m *Conversation) String() string { return proto.CompactTextString(m) } func (*Conversation) ProtoMessage() {} func (*Conversation) Descriptor() ([]byte, []int) { - return fileDescriptor_conversation_e6bf38f800b9bed2, []int{1} + return fileDescriptor_conversation_ac55165355a1b6e6, []int{1} } func (m *Conversation) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Conversation.Unmarshal(m, b) @@ -211,6 +212,13 @@ func (m *Conversation) GetEx() string { return "" } +func (m *Conversation) GetUpdateUnreadCountTime() int64 { + if m != nil { + return m.UpdateUnreadCountTime + } + return 0 +} + type ModifyConversationFieldReq struct { Conversation *Conversation `protobuf:"bytes,1,opt,name=conversation" json:"conversation,omitempty"` FieldType int32 `protobuf:"varint,2,opt,name=fieldType" json:"fieldType,omitempty"` @@ -225,7 +233,7 @@ func (m *ModifyConversationFieldReq) Reset() { *m = ModifyConversationFi func (m *ModifyConversationFieldReq) String() string { return proto.CompactTextString(m) } func (*ModifyConversationFieldReq) ProtoMessage() {} func (*ModifyConversationFieldReq) Descriptor() ([]byte, []int) { - return fileDescriptor_conversation_e6bf38f800b9bed2, []int{2} + return fileDescriptor_conversation_ac55165355a1b6e6, []int{2} } func (m *ModifyConversationFieldReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyConversationFieldReq.Unmarshal(m, b) @@ -284,7 +292,7 @@ func (m *ModifyConversationFieldResp) Reset() { *m = ModifyConversationF func (m *ModifyConversationFieldResp) String() string { return proto.CompactTextString(m) } func (*ModifyConversationFieldResp) ProtoMessage() {} func (*ModifyConversationFieldResp) Descriptor() ([]byte, []int) { - return fileDescriptor_conversation_e6bf38f800b9bed2, []int{3} + return fileDescriptor_conversation_ac55165355a1b6e6, []int{3} } func (m *ModifyConversationFieldResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyConversationFieldResp.Unmarshal(m, b) @@ -391,39 +399,40 @@ var _Conversation_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_e6bf38f800b9bed2) + proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_ac55165355a1b6e6) } -var fileDescriptor_conversation_e6bf38f800b9bed2 = []byte{ - // 475 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xdf, 0x8a, 0xd3, 0x40, - 0x14, 0x87, 0x49, 0xbb, 0xdb, 0x6d, 0x4e, 0xbb, 0x45, 0xe6, 0x42, 0x87, 0xae, 0x7f, 0x42, 0x10, - 0x89, 0x5e, 0x54, 0x58, 0x6f, 0x04, 0x61, 0x41, 0x53, 0x94, 0x80, 0xd5, 0x65, 0xa8, 0x08, 0xde, - 0xc5, 0xe6, 0xb4, 0x3b, 0x60, 0x67, 0xe2, 0xcc, 0xb4, 0x76, 0x6f, 0x7c, 0x32, 0x9f, 0xc4, 0xa7, - 0x91, 0x99, 0xb4, 0xbb, 0x33, 0x95, 0xc2, 0x5e, 0x9e, 0x2f, 0x27, 0xbf, 0xf9, 0x26, 0xe7, 0x04, - 0x9e, 0xcc, 0xa4, 0x58, 0xa3, 0xd2, 0xa5, 0xe1, 0x52, 0xbc, 0xf4, 0x8b, 0x51, 0xad, 0xa4, 0x91, - 0xa4, 0xef, 0xb3, 0xf4, 0x02, 0x20, 0x97, 0xcb, 0xa5, 0x14, 0x0c, 0x75, 0x4d, 0x28, 0x9c, 0xa0, - 0x52, 0xb9, 0xac, 0x90, 0x46, 0x49, 0x94, 0x1d, 0xb3, 0x5d, 0x49, 0xee, 0x43, 0x07, 0x95, 0x9a, - 0xe8, 0x05, 0x6d, 0x25, 0x51, 0x16, 0xb3, 0x6d, 0x95, 0xfe, 0x6d, 0x43, 0x3f, 0xf7, 0x02, 0x49, - 0x02, 0x3d, 0xf9, 0x4b, 0xa0, 0xfa, 0xa2, 0x51, 0x15, 0x63, 0x17, 0x13, 0x33, 0x1f, 0x91, 0x67, - 0x30, 0xf0, 0x15, 0x8a, 0xf1, 0x36, 0x72, 0x8f, 0x92, 0xc7, 0x00, 0x0a, 0x67, 0xeb, 0x89, 0x5e, - 0x7c, 0xae, 0x0d, 0x6d, 0x3b, 0x1f, 0x8f, 0x90, 0x17, 0x70, 0xcf, 0x7f, 0x63, 0x7a, 0x5d, 0x23, - 0x3d, 0x72, 0x5d, 0xff, 0x71, 0xab, 0xbf, 0x6a, 0x84, 0x8e, 0x1b, 0xfd, 0xa6, 0xb2, 0x17, 0x5e, - 0x28, 0xb9, 0xaa, 0x8b, 0x31, 0xed, 0xb8, 0x07, 0xbb, 0xd2, 0xde, 0x63, 0x25, 0x14, 0x96, 0x55, - 0x2e, 0x57, 0xc2, 0xd0, 0x13, 0x17, 0xec, 0x23, 0xf2, 0x14, 0x4e, 0x2b, 0x55, 0xce, 0xcd, 0x14, - 0x37, 0x66, 0xca, 0x97, 0x48, 0xbb, 0x49, 0x94, 0xb5, 0x59, 0x08, 0xc9, 0x10, 0xba, 0x5c, 0x5f, - 0x72, 0x21, 0xb0, 0xa2, 0x71, 0x12, 0x65, 0x5d, 0x76, 0x53, 0x93, 0x14, 0xfa, 0xa5, 0x31, 0xe5, - 0xec, 0x0a, 0xab, 0x42, 0xcc, 0x25, 0x05, 0xa7, 0x10, 0x30, 0x7b, 0x0a, 0xd7, 0x97, 0x8a, 0xaf, - 0x4b, 0x83, 0xf9, 0x55, 0x69, 0x68, 0xcf, 0x85, 0x84, 0xd0, 0xda, 0x3a, 0xf1, 0xb7, 0xc6, 0x7d, - 0x86, 0x7e, 0x63, 0xeb, 0x21, 0x7b, 0x16, 0xd7, 0x9f, 0xa4, 0x29, 0xc4, 0x07, 0x4b, 0xe9, 0xa9, - 0x8b, 0x09, 0x18, 0x19, 0x40, 0x0b, 0x37, 0x74, 0xe0, 0x2c, 0x5a, 0xb8, 0x49, 0xff, 0x44, 0x30, - 0x9c, 0xc8, 0x8a, 0xcf, 0xaf, 0xfd, 0x11, 0xbf, 0xe7, 0xf8, 0xa3, 0x62, 0xf8, 0x93, 0x5c, 0x40, - 0xb0, 0x4b, 0x6e, 0xd6, 0xbd, 0xf3, 0xe1, 0x28, 0x58, 0x3a, 0xff, 0x4d, 0x16, 0xf4, 0x93, 0x87, - 0x10, 0xcf, 0x6d, 0x96, 0x53, 0x6e, 0x39, 0xe5, 0x5b, 0x60, 0xc7, 0xdf, 0x0c, 0xe9, 0x23, 0xd7, - 0x76, 0xfc, 0xed, 0x2c, 0x66, 0x1e, 0x71, 0x8b, 0x56, 0xa3, 0xda, 0xed, 0xd0, 0xd1, 0x76, 0xd1, - 0x6e, 0x51, 0xfa, 0x15, 0xce, 0x0e, 0xda, 0xeb, 0x9a, 0xbc, 0x06, 0x98, 0xdd, 0xac, 0xfe, 0x56, - 0x9e, 0xee, 0xcb, 0xef, 0x9e, 0x33, 0xaf, 0xf7, 0xfc, 0x77, 0x78, 0x71, 0x22, 0xe0, 0xc1, 0x81, - 0x83, 0x48, 0x16, 0x06, 0x1e, 0xfe, 0x9a, 0xc3, 0xe7, 0x77, 0xec, 0xd4, 0xf5, 0xbb, 0x47, 0xdf, - 0xce, 0x46, 0xc1, 0xaf, 0xfd, 0xc6, 0x2f, 0xbe, 0x77, 0xdc, 0x8f, 0xfe, 0xea, 0x5f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x8d, 0x8a, 0xf6, 0x60, 0x0b, 0x04, 0x00, 0x00, +var fileDescriptor_conversation_ac55165355a1b6e6 = []byte{ + // 494 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0x5f, 0x8b, 0x13, 0x31, + 0x14, 0xc5, 0x99, 0x6e, 0xb7, 0xdb, 0xde, 0x76, 0xab, 0x04, 0xd4, 0xd0, 0xf5, 0x4f, 0x19, 0x44, + 0x46, 0x1f, 0x2a, 0xac, 0x3e, 0x08, 0xc2, 0x82, 0x4e, 0x51, 0x06, 0xac, 0x2e, 0xa1, 0x8b, 0xe0, + 0xdb, 0xd8, 0xb9, 0xed, 0x06, 0x6c, 0x32, 0x26, 0x99, 0xda, 0x7d, 0xf1, 0x33, 0xf8, 0x81, 0xfc, + 0x70, 0x92, 0x4c, 0xbb, 0x4d, 0x56, 0x0b, 0x3e, 0xde, 0x5f, 0xee, 0x9c, 0x9c, 0x33, 0x3d, 0x1d, + 0x78, 0x34, 0x93, 0x62, 0x85, 0x4a, 0xe7, 0x86, 0x4b, 0xf1, 0xdc, 0x1f, 0x46, 0xa5, 0x92, 0x46, + 0x92, 0x9e, 0xcf, 0xe2, 0x33, 0x80, 0x54, 0x2e, 0x97, 0x52, 0x30, 0xd4, 0x25, 0xa1, 0x70, 0x84, + 0x4a, 0xa5, 0xb2, 0x40, 0x1a, 0x0d, 0xa3, 0xe4, 0x90, 0x6d, 0x47, 0x72, 0x17, 0x5a, 0xa8, 0xd4, + 0x44, 0x2f, 0x68, 0x63, 0x18, 0x25, 0x1d, 0xb6, 0x99, 0xe2, 0x5f, 0x4d, 0xe8, 0xa5, 0x9e, 0x20, + 0x19, 0x42, 0x57, 0xfe, 0x10, 0xa8, 0x2e, 0x34, 0xaa, 0x6c, 0xec, 0x64, 0x3a, 0xcc, 0x47, 0xe4, + 0x09, 0xf4, 0x7d, 0x0b, 0xd9, 0x78, 0x23, 0x79, 0x83, 0x92, 0x87, 0x00, 0x0a, 0x67, 0xab, 0x89, + 0x5e, 0x7c, 0x2a, 0x0d, 0x3d, 0x70, 0x7e, 0x3c, 0x42, 0x9e, 0xc1, 0x6d, 0xff, 0x89, 0xe9, 0x55, + 0x89, 0xb4, 0xe9, 0xb6, 0xfe, 0xe2, 0xd6, 0x7e, 0x55, 0x1b, 0x3a, 0xac, 0xed, 0xd7, 0x93, 0x0d, + 0xbc, 0x50, 0xb2, 0x2a, 0xb3, 0x31, 0x6d, 0xb9, 0x83, 0xed, 0x68, 0x73, 0x54, 0x42, 0x61, 0x5e, + 0xa4, 0xb2, 0x12, 0x86, 0x1e, 0x39, 0x61, 0x1f, 0x91, 0xc7, 0x70, 0x5c, 0xa8, 0x7c, 0x6e, 0xa6, + 0xb8, 0x36, 0x53, 0xbe, 0x44, 0xda, 0x1e, 0x46, 0xc9, 0x01, 0x0b, 0x21, 0x19, 0x40, 0x9b, 0xeb, + 0x73, 0x2e, 0x04, 0x16, 0xb4, 0x33, 0x8c, 0x92, 0x36, 0xbb, 0x9e, 0x49, 0x0c, 0xbd, 0xdc, 0x98, + 0x7c, 0x76, 0x89, 0x45, 0x26, 0xe6, 0x92, 0x82, 0xb3, 0x10, 0x30, 0x7b, 0x0b, 0xd7, 0xe7, 0x8a, + 0xaf, 0x72, 0x83, 0xe9, 0x65, 0x6e, 0x68, 0xd7, 0x89, 0x84, 0xd0, 0xba, 0x75, 0xc6, 0xdf, 0x18, + 0xf7, 0x1a, 0x7a, 0xb5, 0x5b, 0x0f, 0xd9, 0xbb, 0xb8, 0xfe, 0x28, 0x4d, 0x26, 0xde, 0x5b, 0x4a, + 0x8f, 0x9d, 0x4c, 0xc0, 0x48, 0x1f, 0x1a, 0xb8, 0xa6, 0x7d, 0xe7, 0xa2, 0x81, 0x6b, 0xf2, 0x12, + 0xee, 0x54, 0x65, 0x91, 0x1b, 0xbc, 0xd8, 0xc5, 0x76, 0x49, 0x6f, 0xb9, 0xa4, 0xff, 0x3e, 0x8c, + 0x7f, 0x47, 0x30, 0x98, 0xc8, 0x82, 0xcf, 0xaf, 0xfc, 0x62, 0xbc, 0xe3, 0xf8, 0xad, 0x60, 0xf8, + 0x9d, 0x9c, 0x41, 0xd0, 0x40, 0xd7, 0x90, 0xee, 0xe9, 0x60, 0x14, 0x54, 0xd5, 0x7f, 0x92, 0x05, + 0xfb, 0xe4, 0x3e, 0x74, 0xe6, 0x56, 0xcb, 0x05, 0x6d, 0xb8, 0xa0, 0x3b, 0x60, 0x4b, 0x53, 0xff, + 0xb4, 0x1f, 0xb8, 0xb6, 0xa5, 0x39, 0x48, 0x3a, 0xcc, 0x23, 0xae, 0x9e, 0x25, 0xaa, 0x6d, 0xf3, + 0x9a, 0x9b, 0x7a, 0xee, 0x50, 0xfc, 0x19, 0x4e, 0xf6, 0xba, 0xd7, 0x25, 0x79, 0x05, 0x30, 0xbb, + 0xfe, 0xc3, 0x6c, 0xcc, 0xd3, 0x9b, 0xe6, 0xb7, 0xe7, 0xcc, 0xdb, 0x3d, 0xfd, 0x19, 0x06, 0x27, + 0x02, 0xee, 0xed, 0xb9, 0x88, 0x24, 0xa1, 0xe0, 0xfe, 0xb7, 0x39, 0x78, 0xfa, 0x9f, 0x9b, 0xba, + 0x7c, 0xfb, 0xe0, 0xcb, 0xc9, 0x28, 0xf8, 0x20, 0xbc, 0xf6, 0x87, 0xaf, 0x2d, 0xf7, 0x79, 0x78, + 0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0x12, 0x56, 0xaa, 0x7b, 0x41, 0x04, 0x00, 0x00, } diff --git a/pkg/proto/conversation/conversation.proto b/pkg/proto/conversation/conversation.proto index 5ae5f1142..48973fdc1 100644 --- a/pkg/proto/conversation/conversation.proto +++ b/pkg/proto/conversation/conversation.proto @@ -21,6 +21,8 @@ message Conversation{ int32 groupAtType = 12; bool isNotInGroup = 13; string ex = 14; + int64 updateUnreadCountTime = 15; + } message ModifyConversationFieldReq{ Conversation conversation = 1; diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index c77d3e4af..dc064a136 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -1,4548 +1,2737 @@ // Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.15.5 // source: user/user.proto -package user +package user // import "./user" + +import proto "github.com/golang/protobuf/proto" +import fmt "fmt" +import math "math" +import conversation "Open_IM/pkg/proto/conversation" +import sdk_ws "Open_IM/pkg/proto/sdk_ws" import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "context" + context "golang.org/x/net/context" 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 ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type CommonResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ErrCode int32 `protobuf:"varint,1,opt,name=errCode,proto3" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg,proto3" json:"errMsg,omitempty"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *CommonResp) Reset() { - *x = CommonResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonResp) ProtoMessage() {} - -func (x *CommonResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommonResp.ProtoReflect.Descriptor instead. +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{0} + return fileDescriptor_user_862a17c60dc96c16, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) } -func (x *CommonResp) GetErrCode() int32 { - if x != nil { - return x.ErrCode +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode } return 0 } -func (x *CommonResp) GetErrMsg() string { - if x != nil { - return x.ErrMsg +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg } return "" } type DeleteUsersReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeleteUserIDList []string `protobuf:"bytes,2,rep,name=DeleteUserIDList,proto3" json:"DeleteUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + DeleteUserIDList []string `protobuf:"bytes,2,rep,name=DeleteUserIDList" json:"DeleteUserIDList,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DeleteUsersReq) Reset() { - *x = DeleteUsersReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUsersReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUsersReq) ProtoMessage() {} - -func (x *DeleteUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteUsersReq.ProtoReflect.Descriptor instead. +func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} } +func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) } +func (*DeleteUsersReq) ProtoMessage() {} func (*DeleteUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{1} + return fileDescriptor_user_862a17c60dc96c16, []int{1} +} +func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b) +} +func (m *DeleteUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteUsersReq.Marshal(b, m, deterministic) +} +func (dst *DeleteUsersReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteUsersReq.Merge(dst, src) +} +func (m *DeleteUsersReq) XXX_Size() int { + return xxx_messageInfo_DeleteUsersReq.Size(m) +} +func (m *DeleteUsersReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteUsersReq.DiscardUnknown(m) } -func (x *DeleteUsersReq) GetDeleteUserIDList() []string { - if x != nil { - return x.DeleteUserIDList +var xxx_messageInfo_DeleteUsersReq proto.InternalMessageInfo + +func (m *DeleteUsersReq) GetDeleteUserIDList() []string { + if m != nil { + return m.DeleteUserIDList } return nil } -func (x *DeleteUsersReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *DeleteUsersReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *DeleteUsersReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *DeleteUsersReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type DeleteUsersResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - FailedUserIDList []string `protobuf:"bytes,2,rep,name=FailedUserIDList,proto3" json:"FailedUserIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + FailedUserIDList []string `protobuf:"bytes,2,rep,name=FailedUserIDList" json:"FailedUserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *DeleteUsersResp) Reset() { - *x = DeleteUsersResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUsersResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUsersResp) ProtoMessage() {} - -func (x *DeleteUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteUsersResp.ProtoReflect.Descriptor instead. +func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} } +func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) } +func (*DeleteUsersResp) ProtoMessage() {} func (*DeleteUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{2} + return fileDescriptor_user_862a17c60dc96c16, []int{2} +} +func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b) +} +func (m *DeleteUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteUsersResp.Marshal(b, m, deterministic) +} +func (dst *DeleteUsersResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteUsersResp.Merge(dst, src) +} +func (m *DeleteUsersResp) XXX_Size() int { + return xxx_messageInfo_DeleteUsersResp.Size(m) +} +func (m *DeleteUsersResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteUsersResp.DiscardUnknown(m) } -func (x *DeleteUsersResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_DeleteUsersResp proto.InternalMessageInfo + +func (m *DeleteUsersResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *DeleteUsersResp) GetFailedUserIDList() []string { - if x != nil { - return x.FailedUserIDList +func (m *DeleteUsersResp) GetFailedUserIDList() []string { + if m != nil { + return m.FailedUserIDList } return nil } type GetAllUserIDReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OpUserID string `protobuf:"bytes,1,opt,name=opUserID,proto3" json:"opUserID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetAllUserIDReq) Reset() { - *x = GetAllUserIDReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserIDReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserIDReq) ProtoMessage() {} - -func (x *GetAllUserIDReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllUserIDReq.ProtoReflect.Descriptor instead. +func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} } +func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } +func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{3} + return fileDescriptor_user_862a17c60dc96c16, []int{3} +} +func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) +} +func (m *GetAllUserIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAllUserIDReq.Marshal(b, m, deterministic) +} +func (dst *GetAllUserIDReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAllUserIDReq.Merge(dst, src) +} +func (m *GetAllUserIDReq) XXX_Size() int { + return xxx_messageInfo_GetAllUserIDReq.Size(m) +} +func (m *GetAllUserIDReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetAllUserIDReq.DiscardUnknown(m) } -func (x *GetAllUserIDReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +var xxx_messageInfo_GetAllUserIDReq proto.InternalMessageInfo + +func (m *GetAllUserIDReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *GetAllUserIDReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *GetAllUserIDReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type GetAllUserIDResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList,proto3" json:"UserIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList" json:"UserIDList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *GetAllUserIDResp) Reset() { - *x = GetAllUserIDResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllUserIDResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllUserIDResp) ProtoMessage() {} - -func (x *GetAllUserIDResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllUserIDResp.ProtoReflect.Descriptor instead. +func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} } +func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } +func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{4} + return fileDescriptor_user_862a17c60dc96c16, []int{4} +} +func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) +} +func (m *GetAllUserIDResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAllUserIDResp.Marshal(b, m, deterministic) +} +func (dst *GetAllUserIDResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAllUserIDResp.Merge(dst, src) +} +func (m *GetAllUserIDResp) XXX_Size() int { + return xxx_messageInfo_GetAllUserIDResp.Size(m) +} +func (m *GetAllUserIDResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetAllUserIDResp.DiscardUnknown(m) } -func (x *GetAllUserIDResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_GetAllUserIDResp proto.InternalMessageInfo + +func (m *GetAllUserIDResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *GetAllUserIDResp) GetUserIDList() []string { - if x != nil { - return x.UserIDList +func (m *GetAllUserIDResp) GetUserIDList() []string { + if m != nil { + return m.UserIDList } return nil } type AccountCheckReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CheckUserIDList []string `protobuf:"bytes,1,rep,name=CheckUserIDList,proto3" json:"CheckUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + CheckUserIDList []string `protobuf:"bytes,1,rep,name=CheckUserIDList" json:"CheckUserIDList,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AccountCheckReq) Reset() { - *x = AccountCheckReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountCheckReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountCheckReq) ProtoMessage() {} - -func (x *AccountCheckReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountCheckReq.ProtoReflect.Descriptor instead. +func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} } +func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } +func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{5} + return fileDescriptor_user_862a17c60dc96c16, []int{5} +} +func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) +} +func (m *AccountCheckReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountCheckReq.Marshal(b, m, deterministic) +} +func (dst *AccountCheckReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountCheckReq.Merge(dst, src) +} +func (m *AccountCheckReq) XXX_Size() int { + return xxx_messageInfo_AccountCheckReq.Size(m) +} +func (m *AccountCheckReq) XXX_DiscardUnknown() { + xxx_messageInfo_AccountCheckReq.DiscardUnknown(m) } -func (x *AccountCheckReq) GetCheckUserIDList() []string { - if x != nil { - return x.CheckUserIDList +var xxx_messageInfo_AccountCheckReq proto.InternalMessageInfo + +func (m *AccountCheckReq) GetCheckUserIDList() []string { + if m != nil { + return m.CheckUserIDList } return nil } -func (x *AccountCheckReq) GetOpUserID() string { - if x != nil { - return x.OpUserID +func (m *AccountCheckReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } return "" } -func (x *AccountCheckReq) GetOperationID() string { - if x != nil { - return x.OperationID +func (m *AccountCheckReq) GetOperationID() string { + if m != nil { + return m.OperationID } return "" } type AccountCheckResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - ResultList []*AccountCheckResp_SingleUserStatus `protobuf:"bytes,2,rep,name=ResultList,proto3" json:"ResultList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + ResultList []*AccountCheckResp_SingleUserStatus `protobuf:"bytes,2,rep,name=ResultList" json:"ResultList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AccountCheckResp) Reset() { - *x = AccountCheckResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountCheckResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountCheckResp) ProtoMessage() {} - -func (x *AccountCheckResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountCheckResp.ProtoReflect.Descriptor instead. +func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} } +func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } +func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{6} + return fileDescriptor_user_862a17c60dc96c16, []int{6} +} +func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) +} +func (m *AccountCheckResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountCheckResp.Marshal(b, m, deterministic) +} +func (dst *AccountCheckResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountCheckResp.Merge(dst, src) +} +func (m *AccountCheckResp) XXX_Size() int { + return xxx_messageInfo_AccountCheckResp.Size(m) +} +func (m *AccountCheckResp) XXX_DiscardUnknown() { + xxx_messageInfo_AccountCheckResp.DiscardUnknown(m) } -func (x *AccountCheckResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +var xxx_messageInfo_AccountCheckResp proto.InternalMessageInfo + +func (m *AccountCheckResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp } return nil } -func (x *AccountCheckResp) GetResultList() []*AccountCheckResp_SingleUserStatus { - if x != nil { - return x.ResultList - } - return nil -} - -type GetUserInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserIDList []string `protobuf:"bytes,1,rep,name=userIDList,proto3" json:"userIDList,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetUserInfoReq) Reset() { - *x = GetUserInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserInfoReq) ProtoMessage() {} - -func (x *GetUserInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserInfoReq.ProtoReflect.Descriptor instead. -func (*GetUserInfoReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{7} -} - -func (x *GetUserInfoReq) GetUserIDList() []string { - if x != nil { - return x.UserIDList - } - return nil -} - -func (x *GetUserInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID - } - return "" -} - -func (x *GetUserInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetUserInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,3,rep,name=UserInfoList,proto3" json:"UserInfoList,omitempty"` -} - -func (x *GetUserInfoResp) Reset() { - *x = GetUserInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserInfoResp) ProtoMessage() {} - -func (x *GetUserInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserInfoResp.ProtoReflect.Descriptor instead. -func (*GetUserInfoResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{8} -} - -func (x *GetUserInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetUserInfoResp) GetUserInfoList() []*sdk_ws.UserInfo { - if x != nil { - return x.UserInfoList - } - return nil -} - -type UpdateUserInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo,proto3" json:"UserInfo,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID,proto3" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=operationID,proto3" json:"operationID,omitempty"` -} - -func (x *UpdateUserInfoReq) Reset() { - *x = UpdateUserInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserInfoReq) ProtoMessage() {} - -func (x *UpdateUserInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserInfoReq.ProtoReflect.Descriptor instead. -func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{9} -} - -func (x *UpdateUserInfoReq) GetUserInfo() *sdk_ws.UserInfo { - if x != nil { - return x.UserInfo - } - return nil -} - -func (x *UpdateUserInfoReq) GetOpUserID() string { - if x != nil { - return x.OpUserID - } - return "" -} - -func (x *UpdateUserInfoReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type UpdateUserInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` -} - -func (x *UpdateUserInfoResp) Reset() { - *x = UpdateUserInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserInfoResp) ProtoMessage() {} - -func (x *UpdateUserInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UpdateUserInfoResp.ProtoReflect.Descriptor instead. -func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{10} -} - -func (x *UpdateUserInfoResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type SetGlobalRecvMessageOptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` - GlobalRecvMsgOpt int32 `protobuf:"varint,3,opt,name=globalRecvMsgOpt,proto3" json:"globalRecvMsgOpt,omitempty"` -} - -func (x *SetGlobalRecvMessageOptReq) Reset() { - *x = SetGlobalRecvMessageOptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetGlobalRecvMessageOptReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} - -func (x *SetGlobalRecvMessageOptReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetGlobalRecvMessageOptReq.ProtoReflect.Descriptor instead. -func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{11} -} - -func (x *SetGlobalRecvMessageOptReq) GetUserID() string { - if x != nil { - return x.UserID - } - return "" -} - -func (x *SetGlobalRecvMessageOptReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *SetGlobalRecvMessageOptReq) GetGlobalRecvMsgOpt() int32 { - if x != nil { - return x.GlobalRecvMsgOpt - } - return 0 -} - -type SetGlobalRecvMessageOptResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` -} - -func (x *SetGlobalRecvMessageOptResp) Reset() { - *x = SetGlobalRecvMessageOptResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetGlobalRecvMessageOptResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} - -func (x *SetGlobalRecvMessageOptResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetGlobalRecvMessageOptResp.ProtoReflect.Descriptor instead. -func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{12} -} - -func (x *SetGlobalRecvMessageOptResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type Conversation struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - ConversationID string `protobuf:"bytes,2,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` - RecvMsgOpt int32 `protobuf:"varint,3,opt,name=RecvMsgOpt,proto3" json:"RecvMsgOpt,omitempty"` - ConversationType int32 `protobuf:"varint,4,opt,name=ConversationType,proto3" json:"ConversationType,omitempty"` - UserID string `protobuf:"bytes,5,opt,name=UserID,proto3" json:"UserID,omitempty"` - GroupID string `protobuf:"bytes,6,opt,name=GroupID,proto3" json:"GroupID,omitempty"` - UnreadCount int32 `protobuf:"varint,7,opt,name=UnreadCount,proto3" json:"UnreadCount,omitempty"` - DraftTextTime int64 `protobuf:"varint,8,opt,name=DraftTextTime,proto3" json:"DraftTextTime,omitempty"` - IsPinned bool `protobuf:"varint,9,opt,name=IsPinned,proto3" json:"IsPinned,omitempty"` - AttachedInfo string `protobuf:"bytes,10,opt,name=AttachedInfo,proto3" json:"AttachedInfo,omitempty"` - IsPrivateChat bool `protobuf:"varint,11,opt,name=IsPrivateChat,proto3" json:"IsPrivateChat,omitempty"` - GroupAtType int32 `protobuf:"varint,12,opt,name=GroupAtType,proto3" json:"GroupAtType,omitempty"` - IsNotInGroup bool `protobuf:"varint,13,opt,name=IsNotInGroup,proto3" json:"IsNotInGroup,omitempty"` - Ex string `protobuf:"bytes,14,opt,name=Ex,proto3" json:"Ex,omitempty"` -} - -func (x *Conversation) Reset() { - *x = Conversation{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Conversation) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Conversation) ProtoMessage() {} - -func (x *Conversation) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Conversation.ProtoReflect.Descriptor instead. -func (*Conversation) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{13} -} - -func (x *Conversation) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *Conversation) GetConversationID() string { - if x != nil { - return x.ConversationID - } - return "" -} - -func (x *Conversation) GetRecvMsgOpt() int32 { - if x != nil { - return x.RecvMsgOpt - } - return 0 -} - -func (x *Conversation) GetConversationType() int32 { - if x != nil { - return x.ConversationType - } - return 0 -} - -func (x *Conversation) GetUserID() string { - if x != nil { - return x.UserID - } - return "" -} - -func (x *Conversation) GetGroupID() string { - if x != nil { - return x.GroupID - } - return "" -} - -func (x *Conversation) GetUnreadCount() int32 { - if x != nil { - return x.UnreadCount - } - return 0 -} - -func (x *Conversation) GetDraftTextTime() int64 { - if x != nil { - return x.DraftTextTime - } - return 0 -} - -func (x *Conversation) GetIsPinned() bool { - if x != nil { - return x.IsPinned - } - return false -} - -func (x *Conversation) GetAttachedInfo() string { - if x != nil { - return x.AttachedInfo - } - return "" -} - -func (x *Conversation) GetIsPrivateChat() bool { - if x != nil { - return x.IsPrivateChat - } - return false -} - -func (x *Conversation) GetGroupAtType() int32 { - if x != nil { - return x.GroupAtType - } - return 0 -} - -func (x *Conversation) GetIsNotInGroup() bool { - if x != nil { - return x.IsNotInGroup - } - return false -} - -func (x *Conversation) GetEx() string { - if x != nil { - return x.Ex - } - return "" -} - -type SetConversationReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conversation *Conversation `protobuf:"bytes,1,opt,name=Conversation,proto3" json:"Conversation,omitempty"` - NotificationType int32 `protobuf:"varint,2,opt,name=notificationType,proto3" json:"notificationType,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *SetConversationReq) Reset() { - *x = SetConversationReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetConversationReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetConversationReq) ProtoMessage() {} - -func (x *SetConversationReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetConversationReq.ProtoReflect.Descriptor instead. -func (*SetConversationReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{14} -} - -func (x *SetConversationReq) GetConversation() *Conversation { - if x != nil { - return x.Conversation - } - return nil -} - -func (x *SetConversationReq) GetNotificationType() int32 { - if x != nil { - return x.NotificationType - } - return 0 -} - -func (x *SetConversationReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type SetConversationResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` -} - -func (x *SetConversationResp) Reset() { - *x = SetConversationResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetConversationResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetConversationResp) ProtoMessage() {} - -func (x *SetConversationResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetConversationResp.ProtoReflect.Descriptor instead. -func (*SetConversationResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{15} -} - -func (x *SetConversationResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type SetRecvMsgOptReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - ConversationID string `protobuf:"bytes,2,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` - RecvMsgOpt int32 `protobuf:"varint,3,opt,name=RecvMsgOpt,proto3" json:"RecvMsgOpt,omitempty"` - NotificationType int32 `protobuf:"varint,4,opt,name=notificationType,proto3" json:"notificationType,omitempty"` - OperationID string `protobuf:"bytes,5,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *SetRecvMsgOptReq) Reset() { - *x = SetRecvMsgOptReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetRecvMsgOptReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetRecvMsgOptReq) ProtoMessage() {} - -func (x *SetRecvMsgOptReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetRecvMsgOptReq.ProtoReflect.Descriptor instead. -func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{16} -} - -func (x *SetRecvMsgOptReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *SetRecvMsgOptReq) GetConversationID() string { - if x != nil { - return x.ConversationID - } - return "" -} - -func (x *SetRecvMsgOptReq) GetRecvMsgOpt() int32 { - if x != nil { - return x.RecvMsgOpt - } - return 0 -} - -func (x *SetRecvMsgOptReq) GetNotificationType() int32 { - if x != nil { - return x.NotificationType - } - return 0 -} - -func (x *SetRecvMsgOptReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type SetRecvMsgOptResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` -} - -func (x *SetRecvMsgOptResp) Reset() { - *x = SetRecvMsgOptResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetRecvMsgOptResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetRecvMsgOptResp) ProtoMessage() {} - -func (x *SetRecvMsgOptResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetRecvMsgOptResp.ProtoReflect.Descriptor instead. -func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{17} -} - -func (x *SetRecvMsgOptResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type GetConversationReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ConversationID string `protobuf:"bytes,1,opt,name=ConversationID,proto3" json:"ConversationID,omitempty"` - OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetConversationReq) Reset() { - *x = GetConversationReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetConversationReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetConversationReq) ProtoMessage() {} - -func (x *GetConversationReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetConversationReq.ProtoReflect.Descriptor instead. -func (*GetConversationReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{18} -} - -func (x *GetConversationReq) GetConversationID() string { - if x != nil { - return x.ConversationID - } - return "" -} - -func (x *GetConversationReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *GetConversationReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetConversationResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - Conversation *Conversation `protobuf:"bytes,2,opt,name=Conversation,proto3" json:"Conversation,omitempty"` -} - -func (x *GetConversationResp) Reset() { - *x = GetConversationResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetConversationResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetConversationResp) ProtoMessage() {} - -func (x *GetConversationResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetConversationResp.ProtoReflect.Descriptor instead. -func (*GetConversationResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{19} -} - -func (x *GetConversationResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetConversationResp) GetConversation() *Conversation { - if x != nil { - return x.Conversation - } - return nil -} - -type GetConversationsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - ConversationIDs []string `protobuf:"bytes,2,rep,name=ConversationIDs,proto3" json:"ConversationIDs,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetConversationsReq) Reset() { - *x = GetConversationsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetConversationsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetConversationsReq) ProtoMessage() {} - -func (x *GetConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetConversationsReq.ProtoReflect.Descriptor instead. -func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{20} -} - -func (x *GetConversationsReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *GetConversationsReq) GetConversationIDs() []string { - if x != nil { - return x.ConversationIDs - } - return nil -} - -func (x *GetConversationsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetConversationsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations,proto3" json:"Conversations,omitempty"` -} - -func (x *GetConversationsResp) Reset() { - *x = GetConversationsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetConversationsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetConversationsResp) ProtoMessage() {} - -func (x *GetConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetConversationsResp.ProtoReflect.Descriptor instead. -func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{21} -} - -func (x *GetConversationsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetConversationsResp) GetConversations() []*Conversation { - if x != nil { - return x.Conversations - } - return nil -} - -type GetAllConversationsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetAllConversationsReq) Reset() { - *x = GetAllConversationsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllConversationsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllConversationsReq) ProtoMessage() {} - -func (x *GetAllConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllConversationsReq.ProtoReflect.Descriptor instead. -func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{22} -} - -func (x *GetAllConversationsReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *GetAllConversationsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetAllConversationsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations,proto3" json:"Conversations,omitempty"` -} - -func (x *GetAllConversationsResp) Reset() { - *x = GetAllConversationsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllConversationsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllConversationsResp) ProtoMessage() {} - -func (x *GetAllConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllConversationsResp.ProtoReflect.Descriptor instead. -func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{23} -} - -func (x *GetAllConversationsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetAllConversationsResp) GetConversations() []*Conversation { - if x != nil { - return x.Conversations - } - return nil -} - -type BatchSetConversationsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conversations []*Conversation `protobuf:"bytes,1,rep,name=Conversations,proto3" json:"Conversations,omitempty"` - OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID,proto3" json:"OwnerUserID,omitempty"` - NotificationType int32 `protobuf:"varint,3,opt,name=notificationType,proto3" json:"notificationType,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *BatchSetConversationsReq) Reset() { - *x = BatchSetConversationsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchSetConversationsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchSetConversationsReq) ProtoMessage() {} - -func (x *BatchSetConversationsReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchSetConversationsReq.ProtoReflect.Descriptor instead. -func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{24} -} - -func (x *BatchSetConversationsReq) GetConversations() []*Conversation { - if x != nil { - return x.Conversations - } - return nil -} - -func (x *BatchSetConversationsReq) GetOwnerUserID() string { - if x != nil { - return x.OwnerUserID - } - return "" -} - -func (x *BatchSetConversationsReq) GetNotificationType() int32 { - if x != nil { - return x.NotificationType - } - return 0 -} - -func (x *BatchSetConversationsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type BatchSetConversationsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` - Success []string `protobuf:"bytes,2,rep,name=Success,proto3" json:"Success,omitempty"` - Failed []string `protobuf:"bytes,3,rep,name=Failed,proto3" json:"Failed,omitempty"` -} - -func (x *BatchSetConversationsResp) Reset() { - *x = BatchSetConversationsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchSetConversationsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchSetConversationsResp) ProtoMessage() {} - -func (x *BatchSetConversationsResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchSetConversationsResp.ProtoReflect.Descriptor instead. -func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{25} -} - -func (x *BatchSetConversationsResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *BatchSetConversationsResp) GetSuccess() []string { - if x != nil { - return x.Success - } - return nil -} - -func (x *BatchSetConversationsResp) GetFailed() []string { - if x != nil { - return x.Failed - } - return nil -} - -type ResignUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *ResignUserReq) Reset() { - *x = ResignUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResignUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResignUserReq) ProtoMessage() {} - -func (x *ResignUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResignUserReq.ProtoReflect.Descriptor instead. -func (*ResignUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{26} -} - -func (x *ResignUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *ResignUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type ResignUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp,proto3" json:"commonResp,omitempty"` -} - -func (x *ResignUserResp) Reset() { - *x = ResignUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResignUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResignUserResp) ProtoMessage() {} - -func (x *ResignUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResignUserResp.ProtoReflect.Descriptor instead. -func (*ResignUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{27} -} - -func (x *ResignUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type GetUserByIdReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetUserByIdReq) Reset() { - *x = GetUserByIdReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserByIdReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserByIdReq) ProtoMessage() {} - -func (x *GetUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserByIdReq.ProtoReflect.Descriptor instead. -func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{28} -} - -func (x *GetUserByIdReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *GetUserByIdReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type User struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProfilePhoto string `protobuf:"bytes,1,opt,name=ProfilePhoto,proto3" json:"ProfilePhoto,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=Nickname,proto3" json:"Nickname,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId,omitempty"` - CreateTime string `protobuf:"bytes,4,opt,name=CreateTime,proto3" json:"CreateTime,omitempty"` - PhoneNumber string `protobuf:"bytes,5,opt,name=PhoneNumber,proto3" json:"PhoneNumber,omitempty"` - Email string `protobuf:"bytes,6,opt,name=Email,proto3" json:"Email,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth,proto3" json:"Birth,omitempty"` - CreateIp string `protobuf:"bytes,8,opt,name=CreateIp,proto3" json:"CreateIp,omitempty"` - LastLoginTime string `protobuf:"bytes,9,opt,name=LastLoginTime,proto3" json:"LastLoginTime,omitempty"` - LastLoginIp string `protobuf:"bytes,10,opt,name=LastLoginIp,proto3" json:"LastLoginIp,omitempty"` - LoginTimes int32 `protobuf:"varint,11,opt,name=LoginTimes,proto3" json:"LoginTimes,omitempty"` - Gender int32 `protobuf:"varint,12,opt,name=Gender,proto3" json:"Gender,omitempty"` - LoginLimit int32 `protobuf:"varint,13,opt,name=LoginLimit,proto3" json:"LoginLimit,omitempty"` - IsBlock bool `protobuf:"varint,14,opt,name=IsBlock,proto3" json:"IsBlock,omitempty"` -} - -func (x *User) Reset() { - *x = User{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *User) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*User) ProtoMessage() {} - -func (x *User) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use User.ProtoReflect.Descriptor instead. -func (*User) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{29} -} - -func (x *User) GetProfilePhoto() string { - if x != nil { - return x.ProfilePhoto - } - return "" -} - -func (x *User) GetNickname() string { - if x != nil { - return x.Nickname - } - return "" -} - -func (x *User) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *User) GetCreateTime() string { - if x != nil { - return x.CreateTime - } - return "" -} - -func (x *User) GetPhoneNumber() string { - if x != nil { - return x.PhoneNumber - } - return "" -} - -func (x *User) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *User) GetBirth() string { - if x != nil { - return x.Birth - } - return "" -} - -func (x *User) GetCreateIp() string { - if x != nil { - return x.CreateIp - } - return "" -} - -func (x *User) GetLastLoginTime() string { - if x != nil { - return x.LastLoginTime - } - return "" -} - -func (x *User) GetLastLoginIp() string { - if x != nil { - return x.LastLoginIp - } - return "" -} - -func (x *User) GetLoginTimes() int32 { - if x != nil { - return x.LoginTimes - } - return 0 -} - -func (x *User) GetGender() int32 { - if x != nil { - return x.Gender - } - return 0 -} - -func (x *User) GetLoginLimit() int32 { - if x != nil { - return x.LoginLimit - } - return 0 -} - -func (x *User) GetIsBlock() bool { - if x != nil { - return x.IsBlock - } - return false -} - -type GetUserByIdResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - User *User `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` -} - -func (x *GetUserByIdResp) Reset() { - *x = GetUserByIdResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserByIdResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserByIdResp) ProtoMessage() {} - -func (x *GetUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserByIdResp.ProtoReflect.Descriptor instead. -func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{30} -} - -func (x *GetUserByIdResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetUserByIdResp) GetUser() *User { - if x != nil { - return x.User - } - return nil -} - -type GetUsersByNameReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserName string `protobuf:"bytes,1,opt,name=UserName,proto3" json:"UserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetUsersByNameReq) Reset() { - *x = GetUsersByNameReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersByNameReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersByNameReq) ProtoMessage() {} - -func (x *GetUsersByNameReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersByNameReq.ProtoReflect.Descriptor instead. -func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{31} -} - -func (x *GetUsersByNameReq) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -func (x *GetUsersByNameReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetUsersByNameReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetUsersByNameResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Users []*User `protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,3,opt,name=UserNums,proto3" json:"UserNums,omitempty"` -} - -func (x *GetUsersByNameResp) Reset() { - *x = GetUsersByNameResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersByNameResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersByNameResp) ProtoMessage() {} - -func (x *GetUsersByNameResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersByNameResp.ProtoReflect.Descriptor instead. -func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{32} -} - -func (x *GetUsersByNameResp) GetUsers() []*User { - if x != nil { - return x.Users - } - return nil -} - -func (x *GetUsersByNameResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetUsersByNameResp) GetUserNums() int32 { - if x != nil { - return x.UserNums - } - return 0 -} - -type AlterUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - PhoneNumber int64 `protobuf:"varint,3,opt,name=PhoneNumber,proto3" json:"PhoneNumber,omitempty"` - Nickname string `protobuf:"bytes,4,opt,name=Nickname,proto3" json:"Nickname,omitempty"` - Email string `protobuf:"bytes,5,opt,name=Email,proto3" json:"Email,omitempty"` - OpUserId string `protobuf:"bytes,6,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` -} - -func (x *AlterUserReq) Reset() { - *x = AlterUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AlterUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AlterUserReq) ProtoMessage() {} - -func (x *AlterUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AlterUserReq.ProtoReflect.Descriptor instead. -func (*AlterUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{33} -} - -func (x *AlterUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *AlterUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *AlterUserReq) GetPhoneNumber() int64 { - if x != nil { - return x.PhoneNumber - } - return 0 -} - -func (x *AlterUserReq) GetNickname() string { - if x != nil { - return x.Nickname - } - return "" -} - -func (x *AlterUserReq) GetEmail() string { - if x != nil { - return x.Email - } - return "" -} - -func (x *AlterUserReq) GetOpUserId() string { - if x != nil { - return x.OpUserId - } - return "" -} - -type AlterUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` -} - -func (x *AlterUserResp) Reset() { - *x = AlterUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AlterUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AlterUserResp) ProtoMessage() {} - -func (x *AlterUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AlterUserResp.ProtoReflect.Descriptor instead. -func (*AlterUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{34} -} - -func (x *AlterUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type GetUsersReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - UserName string `protobuf:"bytes,3,opt,name=UserName,proto3" json:"UserName,omitempty"` -} - -func (x *GetUsersReq) Reset() { - *x = GetUsersReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersReq) ProtoMessage() {} - -func (x *GetUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersReq.ProtoReflect.Descriptor instead. -func (*GetUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{35} -} - -func (x *GetUsersReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *GetUsersReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetUsersReq) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -type GetUsersResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - User []*User `protobuf:"bytes,2,rep,name=user,proto3" json:"user,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,4,opt,name=UserNums,proto3" json:"UserNums,omitempty"` -} - -func (x *GetUsersResp) Reset() { - *x = GetUsersResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUsersResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUsersResp) ProtoMessage() {} - -func (x *GetUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUsersResp.ProtoReflect.Descriptor instead. -func (*GetUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{36} -} - -func (x *GetUsersResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetUsersResp) GetUser() []*User { - if x != nil { - return x.User - } - return nil -} - -func (x *GetUsersResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetUsersResp) GetUserNums() int32 { - if x != nil { - return x.UserNums - } - return 0 -} - -type AddUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - PhoneNumber string `protobuf:"bytes,2,opt,name=PhoneNumber,proto3" json:"PhoneNumber,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId,proto3" json:"UserId,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - OpUserId string `protobuf:"bytes,5,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` -} - -func (x *AddUserReq) Reset() { - *x = AddUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserReq) ProtoMessage() {} - -func (x *AddUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserReq.ProtoReflect.Descriptor instead. -func (*AddUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{37} -} - -func (x *AddUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *AddUserReq) GetPhoneNumber() string { - if x != nil { - return x.PhoneNumber - } - return "" -} - -func (x *AddUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *AddUserReq) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AddUserReq) GetOpUserId() string { - if x != nil { - return x.OpUserId - } - return "" -} - -type AddUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` -} - -func (x *AddUserResp) Reset() { - *x = AddUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddUserResp) ProtoMessage() {} - -func (x *AddUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddUserResp.ProtoReflect.Descriptor instead. -func (*AddUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{38} -} - -func (x *AddUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type BlockUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` - EndDisableTime string `protobuf:"bytes,2,opt,name=EndDisableTime,proto3" json:"EndDisableTime,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,4,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` -} - -func (x *BlockUserReq) Reset() { - *x = BlockUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlockUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlockUserReq) ProtoMessage() {} - -func (x *BlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlockUserReq.ProtoReflect.Descriptor instead. -func (*BlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{39} -} - -func (x *BlockUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *BlockUserReq) GetEndDisableTime() string { - if x != nil { - return x.EndDisableTime - } - return "" -} - -func (x *BlockUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *BlockUserReq) GetOpUserId() string { - if x != nil { - return x.OpUserId - } - return "" -} - -type BlockUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` -} - -func (x *BlockUserResp) Reset() { - *x = BlockUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlockUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlockUserResp) ProtoMessage() {} - -func (x *BlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlockUserResp.ProtoReflect.Descriptor instead. -func (*BlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{40} -} - -func (x *BlockUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type UnBlockUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=UserId,proto3" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` -} - -func (x *UnBlockUserReq) Reset() { - *x = UnBlockUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnBlockUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnBlockUserReq) ProtoMessage() {} - -func (x *UnBlockUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnBlockUserReq.ProtoReflect.Descriptor instead. -func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{41} -} - -func (x *UnBlockUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *UnBlockUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *UnBlockUserReq) GetOpUserId() string { - if x != nil { - return x.OpUserId - } - return "" -} - -type UnBlockUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` -} - -func (x *UnBlockUserResp) Reset() { - *x = UnBlockUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnBlockUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnBlockUserResp) ProtoMessage() {} - -func (x *UnBlockUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnBlockUserResp.ProtoReflect.Descriptor instead. -func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{42} -} - -func (x *UnBlockUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -type GetBlockUsersReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - BlockUserNum int32 `protobuf:"varint,3,opt,name=BlockUserNum,proto3" json:"BlockUserNum,omitempty"` -} - -func (x *GetBlockUsersReq) Reset() { - *x = GetBlockUsersReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBlockUsersReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBlockUsersReq) ProtoMessage() {} - -func (x *GetBlockUsersReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBlockUsersReq.ProtoReflect.Descriptor instead. -func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{43} -} - -func (x *GetBlockUsersReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetBlockUsersReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *GetBlockUsersReq) GetBlockUserNum() int32 { - if x != nil { - return x.BlockUserNum - } - return 0 -} - -type BlockUser struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - User *User `protobuf:"bytes,1,opt,name=User,proto3" json:"User,omitempty"` - BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime,proto3" json:"BeginDisableTime,omitempty"` - EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime,proto3" json:"EndDisableTime,omitempty"` -} - -func (x *BlockUser) Reset() { - *x = BlockUser{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlockUser) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlockUser) ProtoMessage() {} - -func (x *BlockUser) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlockUser.ProtoReflect.Descriptor instead. -func (*BlockUser) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{44} -} - -func (x *BlockUser) GetUser() *User { - if x != nil { - return x.User - } - return nil -} - -func (x *BlockUser) GetBeginDisableTime() string { - if x != nil { - return x.BeginDisableTime - } - return "" -} - -func (x *BlockUser) GetEndDisableTime() string { - if x != nil { - return x.EndDisableTime - } - return "" -} - -type GetBlockUsersResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` - BlockUsers []*BlockUser `protobuf:"bytes,2,rep,name=BlockUsers,proto3" json:"BlockUsers,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,4,opt,name=UserNums,proto3" json:"UserNums,omitempty"` -} - -func (x *GetBlockUsersResp) Reset() { - *x = GetBlockUsersResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBlockUsersResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBlockUsersResp) ProtoMessage() {} - -func (x *GetBlockUsersResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBlockUsersResp.ProtoReflect.Descriptor instead. -func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{45} -} - -func (x *GetBlockUsersResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp - } - return nil -} - -func (x *GetBlockUsersResp) GetBlockUsers() []*BlockUser { - if x != nil { - return x.BlockUsers - } - return nil -} - -func (x *GetBlockUsersResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetBlockUsersResp) GetUserNums() int32 { - if x != nil { - return x.UserNums - } - return 0 -} - -type GetBlockUserByIdReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId,proto3" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetBlockUserByIdReq) Reset() { - *x = GetBlockUserByIdReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBlockUserByIdReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBlockUserByIdReq) ProtoMessage() {} - -func (x *GetBlockUserByIdReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBlockUserByIdReq.ProtoReflect.Descriptor instead. -func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{46} -} - -func (x *GetBlockUserByIdReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *GetBlockUserByIdReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetBlockUserByIdResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BlockUser *BlockUser `protobuf:"bytes,2,opt,name=BlockUser,proto3" json:"BlockUser,omitempty"` -} - -func (x *GetBlockUserByIdResp) Reset() { - *x = GetBlockUserByIdResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetBlockUserByIdResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetBlockUserByIdResp) ProtoMessage() {} - -func (x *GetBlockUserByIdResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetBlockUserByIdResp.ProtoReflect.Descriptor instead. -func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{47} -} - -func (x *GetBlockUserByIdResp) GetBlockUser() *BlockUser { - if x != nil { - return x.BlockUser - } - return nil -} - -type DeleteUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId,proto3" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId,proto3" json:"OpUserId,omitempty"` -} - -func (x *DeleteUserReq) Reset() { - *x = DeleteUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserReq) ProtoMessage() {} - -func (x *DeleteUserReq) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteUserReq.ProtoReflect.Descriptor instead. -func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{48} -} - -func (x *DeleteUserReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *DeleteUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -func (x *DeleteUserReq) GetOpUserId() string { - if x != nil { - return x.OpUserId - } - return "" -} - -type DeleteUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp,proto3" json:"CommonResp,omitempty"` -} - -func (x *DeleteUserResp) Reset() { - *x = DeleteUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteUserResp) ProtoMessage() {} - -func (x *DeleteUserResp) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteUserResp.ProtoReflect.Descriptor instead. -func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{49} -} - -func (x *DeleteUserResp) GetCommonResp() *CommonResp { - if x != nil { - return x.CommonResp +func (m *AccountCheckResp) GetResultList() []*AccountCheckResp_SingleUserStatus { + if m != nil { + return m.ResultList } return nil } type AccountCheckResp_SingleUserStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty"` - AccountStatus string `protobuf:"bytes,2,opt,name=accountStatus,proto3" json:"accountStatus,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + AccountStatus string `protobuf:"bytes,2,opt,name=accountStatus" json:"accountStatus,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (x *AccountCheckResp_SingleUserStatus) Reset() { - *x = AccountCheckResp_SingleUserStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_user_user_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AccountCheckResp_SingleUserStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} - -func (x *AccountCheckResp_SingleUserStatus) ProtoReflect() protoreflect.Message { - mi := &file_user_user_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AccountCheckResp_SingleUserStatus.ProtoReflect.Descriptor instead. +func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckResp_SingleUserStatus{} } +func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } +func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { - return file_user_user_proto_rawDescGZIP(), []int{6, 0} + return fileDescriptor_user_862a17c60dc96c16, []int{6, 0} +} +func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) +} +func (m *AccountCheckResp_SingleUserStatus) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Marshal(b, m, deterministic) +} +func (dst *AccountCheckResp_SingleUserStatus) XXX_Merge(src proto.Message) { + xxx_messageInfo_AccountCheckResp_SingleUserStatus.Merge(dst, src) +} +func (m *AccountCheckResp_SingleUserStatus) XXX_Size() int { + return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Size(m) +} +func (m *AccountCheckResp_SingleUserStatus) XXX_DiscardUnknown() { + xxx_messageInfo_AccountCheckResp_SingleUserStatus.DiscardUnknown(m) } -func (x *AccountCheckResp_SingleUserStatus) GetUserID() string { - if x != nil { - return x.UserID +var xxx_messageInfo_AccountCheckResp_SingleUserStatus proto.InternalMessageInfo + +func (m *AccountCheckResp_SingleUserStatus) GetUserID() string { + if m != nil { + return m.UserID } return "" } -func (x *AccountCheckResp_SingleUserStatus) GetAccountStatus() string { - if x != nil { - return x.AccountStatus +func (m *AccountCheckResp_SingleUserStatus) GetAccountStatus() string { + if m != nil { + return m.AccountStatus } return "" } -var File_user_user_proto protoreflect.FileDescriptor - -var file_user_user_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x04, 0x75, 0x73, 0x65, 0x72, 0x1a, 0x21, 0x4f, 0x70, 0x65, 0x6e, 0x5f, 0x49, 0x4d, - 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x64, 0x6b, 0x5f, 0x77, - 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x72, 0x72, 0x43, - 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x72, 0x72, 0x43, 0x6f, - 0x64, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x65, 0x72, 0x72, 0x4d, 0x73, 0x67, 0x22, 0x7a, 0x0a, 0x0e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x2a, 0x0a, 0x10, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x6f, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x4f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x70, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x64, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, - 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x79, - 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, - 0x71, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x68, 0x65, 0x63, - 0x6b, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xdf, 0x01, 0x0a, 0x10, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x47, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x2e, 0x53, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x52, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x50, 0x0a, 0x10, 0x53, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6e, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1e, 0x0a, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x84, 0x01, 0x0a, 0x0f, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x8a, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x37, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, - 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, - 0x46, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, - 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x82, 0x01, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x47, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, - 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x12, 0x2a, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, - 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x22, 0x4f, 0x0a, 0x1b, - 0x53, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0xda, 0x03, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, - 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x76, - 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, - 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x64, - 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x55, 0x6e, 0x72, - 0x65, 0x61, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x44, 0x72, 0x61, 0x66, - 0x74, 0x54, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x44, 0x72, 0x61, 0x66, 0x74, 0x54, 0x65, 0x78, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x49, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x49, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x41, 0x74, - 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x68, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, - 0x0a, 0x0d, 0x49, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x74, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x49, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x43, 0x68, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x41, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x41, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4e, 0x6f, 0x74, 0x49, - 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x49, 0x73, - 0x4e, 0x6f, 0x74, 0x49, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x45, 0x78, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x45, 0x78, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x53, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x12, 0x36, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x47, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0xca, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, - 0x70, 0x74, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, - 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, - 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, - 0x1e, 0x0a, 0x0a, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x12, - 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x45, 0x0a, - 0x11, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x22, 0x80, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0e, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x7f, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x36, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x82, - 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0x5c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, - 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x12, 0x38, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, - 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0d, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x7f, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, - 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x22, 0x49, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x42, 0x0a, 0x0e, - 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x4a, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xa2, 0x03, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x50, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, - 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x42, 0x69, 0x72, 0x74, 0x68, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x42, 0x69, 0x72, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x70, 0x12, 0x24, 0x0a, 0x0d, 0x4c, 0x61, 0x73, 0x74, 0x4c, - 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x70, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x70, 0x12, - 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x12, - 0x16, 0x0a, 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x06, 0x47, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x69, 0x6e, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4c, 0x6f, 0x67, - 0x69, 0x6e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x49, 0x73, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x22, 0x63, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x97, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x12, 0x1a, 0x0a, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, - 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x22, 0x99, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0xb8, 0x01, 0x0a, - 0x0c, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, - 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x50, 0x68, - 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, - 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, - 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x0d, 0x41, 0x6c, 0x74, 0x65, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x91, 0x01, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x44, 0x0a, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xc3, - 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1e, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x0a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, - 0x72, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, - 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x50, 0x68, 0x6f, 0x6e, - 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x3f, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, - 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, - 0x41, 0x0a, 0x0d, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x66, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1a, - 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0f, 0x55, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, - 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, - 0x9e, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, 0x0a, 0x0c, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x22, 0x7f, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x04, 0x55, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x0a, - 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x44, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x45, 0x6e, 0x64, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x45, 0x6e, 0x64, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, - 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x73, 0x22, 0x50, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, - 0x64, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, - 0x45, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, - 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x55, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x4f, 0x70, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x42, - 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x30, 0x0a, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x52, 0x0a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x32, 0xf7, 0x0b, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x3a, 0x0a, 0x0b, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x5e, 0x0a, 0x17, - 0x53, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x12, 0x20, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, - 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x53, 0x65, 0x74, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x14, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x52, 0x65, 0x71, 0x1a, - 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3d, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x1a, 0x16, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x68, 0x65, - 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x52, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1c, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x71, 0x1a, 0x1d, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x58, 0x0a, - 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1f, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x46, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x40, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, - 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, - 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x53, 0x65, 0x74, 0x52, 0x65, 0x63, 0x76, 0x4d, 0x73, 0x67, 0x4f, 0x70, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, - 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, - 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x43, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, - 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, - 0x69, 0x67, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x41, - 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, - 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x31, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x11, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, - 0x1a, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x2e, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x10, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x1a, 0x11, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x12, 0x34, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x12, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0b, 0x55, 0x6e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x15, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x55, 0x6e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, - 0x17, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, - 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x12, 0x19, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, - 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x47, - 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x49, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x13, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, - 0x2e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, +type GetUserInfoReq struct { + UserIDList []string `protobuf:"bytes,1,rep,name=userIDList" json:"userIDList,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -var ( - file_user_user_proto_rawDescOnce sync.Once - file_user_user_proto_rawDescData = file_user_user_proto_rawDesc -) - -func file_user_user_proto_rawDescGZIP() []byte { - file_user_user_proto_rawDescOnce.Do(func() { - file_user_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_user_user_proto_rawDescData) - }) - return file_user_user_proto_rawDescData +func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} } +func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } +func (*GetUserInfoReq) ProtoMessage() {} +func (*GetUserInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{7} +} +func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) +} +func (m *GetUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserInfoReq.Marshal(b, m, deterministic) +} +func (dst *GetUserInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserInfoReq.Merge(dst, src) +} +func (m *GetUserInfoReq) XXX_Size() int { + return xxx_messageInfo_GetUserInfoReq.Size(m) +} +func (m *GetUserInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserInfoReq.DiscardUnknown(m) } -var file_user_user_proto_msgTypes = make([]protoimpl.MessageInfo, 51) -var file_user_user_proto_goTypes = []interface{}{ - (*CommonResp)(nil), // 0: user.CommonResp - (*DeleteUsersReq)(nil), // 1: user.DeleteUsersReq - (*DeleteUsersResp)(nil), // 2: user.DeleteUsersResp - (*GetAllUserIDReq)(nil), // 3: user.GetAllUserIDReq - (*GetAllUserIDResp)(nil), // 4: user.GetAllUserIDResp - (*AccountCheckReq)(nil), // 5: user.AccountCheckReq - (*AccountCheckResp)(nil), // 6: user.AccountCheckResp - (*GetUserInfoReq)(nil), // 7: user.GetUserInfoReq - (*GetUserInfoResp)(nil), // 8: user.GetUserInfoResp - (*UpdateUserInfoReq)(nil), // 9: user.UpdateUserInfoReq - (*UpdateUserInfoResp)(nil), // 10: user.UpdateUserInfoResp - (*SetGlobalRecvMessageOptReq)(nil), // 11: user.SetGlobalRecvMessageOptReq - (*SetGlobalRecvMessageOptResp)(nil), // 12: user.SetGlobalRecvMessageOptResp - (*Conversation)(nil), // 13: user.Conversation - (*SetConversationReq)(nil), // 14: user.SetConversationReq - (*SetConversationResp)(nil), // 15: user.SetConversationResp - (*SetRecvMsgOptReq)(nil), // 16: user.SetRecvMsgOptReq - (*SetRecvMsgOptResp)(nil), // 17: user.SetRecvMsgOptResp - (*GetConversationReq)(nil), // 18: user.GetConversationReq - (*GetConversationResp)(nil), // 19: user.GetConversationResp - (*GetConversationsReq)(nil), // 20: user.GetConversationsReq - (*GetConversationsResp)(nil), // 21: user.GetConversationsResp - (*GetAllConversationsReq)(nil), // 22: user.GetAllConversationsReq - (*GetAllConversationsResp)(nil), // 23: user.GetAllConversationsResp - (*BatchSetConversationsReq)(nil), // 24: user.BatchSetConversationsReq - (*BatchSetConversationsResp)(nil), // 25: user.BatchSetConversationsResp - (*ResignUserReq)(nil), // 26: user.ResignUserReq - (*ResignUserResp)(nil), // 27: user.ResignUserResp - (*GetUserByIdReq)(nil), // 28: user.GetUserByIdReq - (*User)(nil), // 29: user.User - (*GetUserByIdResp)(nil), // 30: user.GetUserByIdResp - (*GetUsersByNameReq)(nil), // 31: user.GetUsersByNameReq - (*GetUsersByNameResp)(nil), // 32: user.GetUsersByNameResp - (*AlterUserReq)(nil), // 33: user.AlterUserReq - (*AlterUserResp)(nil), // 34: user.AlterUserResp - (*GetUsersReq)(nil), // 35: user.GetUsersReq - (*GetUsersResp)(nil), // 36: user.GetUsersResp - (*AddUserReq)(nil), // 37: user.AddUserReq - (*AddUserResp)(nil), // 38: user.AddUserResp - (*BlockUserReq)(nil), // 39: user.BlockUserReq - (*BlockUserResp)(nil), // 40: user.BlockUserResp - (*UnBlockUserReq)(nil), // 41: user.UnBlockUserReq - (*UnBlockUserResp)(nil), // 42: user.UnBlockUserResp - (*GetBlockUsersReq)(nil), // 43: user.GetBlockUsersReq - (*BlockUser)(nil), // 44: user.BlockUser - (*GetBlockUsersResp)(nil), // 45: user.GetBlockUsersResp - (*GetBlockUserByIdReq)(nil), // 46: user.GetBlockUserByIdReq - (*GetBlockUserByIdResp)(nil), // 47: user.GetBlockUserByIdResp - (*DeleteUserReq)(nil), // 48: user.DeleteUserReq - (*DeleteUserResp)(nil), // 49: user.DeleteUserResp - (*AccountCheckResp_SingleUserStatus)(nil), // 50: user.AccountCheckResp.SingleUserStatus - (*sdk_ws.UserInfo)(nil), // 51: server_api_params.UserInfo - (*sdk_ws.RequestPagination)(nil), // 52: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 53: server_api_params.ResponsePagination -} -var file_user_user_proto_depIdxs = []int32{ - 0, // 0: user.DeleteUsersResp.CommonResp:type_name -> user.CommonResp - 0, // 1: user.GetAllUserIDResp.CommonResp:type_name -> user.CommonResp - 0, // 2: user.AccountCheckResp.commonResp:type_name -> user.CommonResp - 50, // 3: user.AccountCheckResp.ResultList:type_name -> user.AccountCheckResp.SingleUserStatus - 0, // 4: user.GetUserInfoResp.commonResp:type_name -> user.CommonResp - 51, // 5: user.GetUserInfoResp.UserInfoList:type_name -> server_api_params.UserInfo - 51, // 6: user.UpdateUserInfoReq.UserInfo:type_name -> server_api_params.UserInfo - 0, // 7: user.UpdateUserInfoResp.commonResp:type_name -> user.CommonResp - 0, // 8: user.SetGlobalRecvMessageOptResp.commonResp:type_name -> user.CommonResp - 13, // 9: user.SetConversationReq.Conversation:type_name -> user.Conversation - 0, // 10: user.SetConversationResp.commonResp:type_name -> user.CommonResp - 0, // 11: user.SetRecvMsgOptResp.commonResp:type_name -> user.CommonResp - 0, // 12: user.GetConversationResp.commonResp:type_name -> user.CommonResp - 13, // 13: user.GetConversationResp.Conversation:type_name -> user.Conversation - 0, // 14: user.GetConversationsResp.commonResp:type_name -> user.CommonResp - 13, // 15: user.GetConversationsResp.Conversations:type_name -> user.Conversation - 0, // 16: user.GetAllConversationsResp.commonResp:type_name -> user.CommonResp - 13, // 17: user.GetAllConversationsResp.Conversations:type_name -> user.Conversation - 13, // 18: user.BatchSetConversationsReq.Conversations:type_name -> user.Conversation - 0, // 19: user.BatchSetConversationsResp.commonResp:type_name -> user.CommonResp - 0, // 20: user.ResignUserResp.commonResp:type_name -> user.CommonResp - 0, // 21: user.GetUserByIdResp.CommonResp:type_name -> user.CommonResp - 29, // 22: user.GetUserByIdResp.user:type_name -> user.User - 52, // 23: user.GetUsersByNameReq.Pagination:type_name -> server_api_params.RequestPagination - 29, // 24: user.GetUsersByNameResp.users:type_name -> user.User - 53, // 25: user.GetUsersByNameResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 26: user.AlterUserResp.CommonResp:type_name -> user.CommonResp - 52, // 27: user.GetUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 0, // 28: user.GetUsersResp.CommonResp:type_name -> user.CommonResp - 29, // 29: user.GetUsersResp.user:type_name -> user.User - 53, // 30: user.GetUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 31: user.AddUserResp.CommonResp:type_name -> user.CommonResp - 0, // 32: user.BlockUserResp.CommonResp:type_name -> user.CommonResp - 0, // 33: user.UnBlockUserResp.CommonResp:type_name -> user.CommonResp - 52, // 34: user.GetBlockUsersReq.Pagination:type_name -> server_api_params.RequestPagination - 29, // 35: user.BlockUser.User:type_name -> user.User - 0, // 36: user.GetBlockUsersResp.CommonResp:type_name -> user.CommonResp - 44, // 37: user.GetBlockUsersResp.BlockUsers:type_name -> user.BlockUser - 53, // 38: user.GetBlockUsersResp.Pagination:type_name -> server_api_params.ResponsePagination - 44, // 39: user.GetBlockUserByIdResp.BlockUser:type_name -> user.BlockUser - 0, // 40: user.DeleteUserResp.CommonResp:type_name -> user.CommonResp - 7, // 41: user.user.GetUserInfo:input_type -> user.GetUserInfoReq - 9, // 42: user.user.UpdateUserInfo:input_type -> user.UpdateUserInfoReq - 11, // 43: user.user.SetGlobalRecvMessageOpt:input_type -> user.SetGlobalRecvMessageOptReq - 1, // 44: user.user.DeleteUsers:input_type -> user.DeleteUsersReq - 3, // 45: user.user.GetAllUserID:input_type -> user.GetAllUserIDReq - 5, // 46: user.user.AccountCheck:input_type -> user.AccountCheckReq - 18, // 47: user.user.GetConversation:input_type -> user.GetConversationReq - 22, // 48: user.user.GetAllConversations:input_type -> user.GetAllConversationsReq - 20, // 49: user.user.GetConversations:input_type -> user.GetConversationsReq - 24, // 50: user.user.BatchSetConversations:input_type -> user.BatchSetConversationsReq - 14, // 51: user.user.SetConversation:input_type -> user.SetConversationReq - 16, // 52: user.user.SetRecvMsgOpt:input_type -> user.SetRecvMsgOptReq - 28, // 53: user.user.GetUserById:input_type -> user.GetUserByIdReq - 31, // 54: user.user.GetUsersByName:input_type -> user.GetUsersByNameReq - 26, // 55: user.user.ResignUser:input_type -> user.ResignUserReq - 33, // 56: user.user.AlterUser:input_type -> user.AlterUserReq - 35, // 57: user.user.GetUsers:input_type -> user.GetUsersReq - 37, // 58: user.user.AddUser:input_type -> user.AddUserReq - 39, // 59: user.user.BlockUser:input_type -> user.BlockUserReq - 41, // 60: user.user.UnBlockUser:input_type -> user.UnBlockUserReq - 43, // 61: user.user.GetBlockUsers:input_type -> user.GetBlockUsersReq - 46, // 62: user.user.GetBlockUserById:input_type -> user.GetBlockUserByIdReq - 48, // 63: user.user.DeleteUser:input_type -> user.DeleteUserReq - 8, // 64: user.user.GetUserInfo:output_type -> user.GetUserInfoResp - 10, // 65: user.user.UpdateUserInfo:output_type -> user.UpdateUserInfoResp - 12, // 66: user.user.SetGlobalRecvMessageOpt:output_type -> user.SetGlobalRecvMessageOptResp - 2, // 67: user.user.DeleteUsers:output_type -> user.DeleteUsersResp - 4, // 68: user.user.GetAllUserID:output_type -> user.GetAllUserIDResp - 6, // 69: user.user.AccountCheck:output_type -> user.AccountCheckResp - 19, // 70: user.user.GetConversation:output_type -> user.GetConversationResp - 23, // 71: user.user.GetAllConversations:output_type -> user.GetAllConversationsResp - 21, // 72: user.user.GetConversations:output_type -> user.GetConversationsResp - 25, // 73: user.user.BatchSetConversations:output_type -> user.BatchSetConversationsResp - 15, // 74: user.user.SetConversation:output_type -> user.SetConversationResp - 17, // 75: user.user.SetRecvMsgOpt:output_type -> user.SetRecvMsgOptResp - 30, // 76: user.user.GetUserById:output_type -> user.GetUserByIdResp - 32, // 77: user.user.GetUsersByName:output_type -> user.GetUsersByNameResp - 27, // 78: user.user.ResignUser:output_type -> user.ResignUserResp - 34, // 79: user.user.AlterUser:output_type -> user.AlterUserResp - 36, // 80: user.user.GetUsers:output_type -> user.GetUsersResp - 38, // 81: user.user.AddUser:output_type -> user.AddUserResp - 40, // 82: user.user.BlockUser:output_type -> user.BlockUserResp - 42, // 83: user.user.UnBlockUser:output_type -> user.UnBlockUserResp - 45, // 84: user.user.GetBlockUsers:output_type -> user.GetBlockUsersResp - 47, // 85: user.user.GetBlockUserById:output_type -> user.GetBlockUserByIdResp - 49, // 86: user.user.DeleteUser:output_type -> user.DeleteUserResp - 64, // [64:87] is the sub-list for method output_type - 41, // [41:64] is the sub-list for method input_type - 41, // [41:41] is the sub-list for extension type_name - 41, // [41:41] is the sub-list for extension extendee - 0, // [0:41] is the sub-list for field type_name -} +var xxx_messageInfo_GetUserInfoReq proto.InternalMessageInfo -func init() { file_user_user_proto_init() } -func file_user_user_proto_init() { - if File_user_user_proto != nil { - return +func (m *GetUserInfoReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList } - if !protoimpl.UnsafeEnabled { - file_user_user_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUsersReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUsersResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserIDReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllUserIDResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountCheckReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountCheckResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGlobalRecvMessageOptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetGlobalRecvMessageOptResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Conversation); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetConversationReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetConversationResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRecvMsgOptReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetRecvMsgOptResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetConversationsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllConversationsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchSetConversationsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchSetConversationsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResignUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*User); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserByIdResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersByNameResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AlterUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUsersResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnBlockUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlockUser); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUsersResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetBlockUserByIdResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_user_user_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AccountCheckResp_SingleUserStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } + return nil +} + +func (m *GetUserInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_user_user_proto_rawDesc, - NumEnums: 0, - NumMessages: 51, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_user_user_proto_goTypes, - DependencyIndexes: file_user_user_proto_depIdxs, - MessageInfos: file_user_user_proto_msgTypes, - }.Build() - File_user_user_proto = out.File - file_user_user_proto_rawDesc = nil - file_user_user_proto_goTypes = nil - file_user_user_proto_depIdxs = nil + return "" +} + +func (m *GetUserInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUserInfoResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,3,rep,name=UserInfoList" json:"UserInfoList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} } +func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } +func (*GetUserInfoResp) ProtoMessage() {} +func (*GetUserInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{8} +} +func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) +} +func (m *GetUserInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserInfoResp.Marshal(b, m, deterministic) +} +func (dst *GetUserInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserInfoResp.Merge(dst, src) +} +func (m *GetUserInfoResp) XXX_Size() int { + return xxx_messageInfo_GetUserInfoResp.Size(m) +} +func (m *GetUserInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserInfoResp proto.InternalMessageInfo + +func (m *GetUserInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUserInfoResp) GetUserInfoList() []*sdk_ws.UserInfo { + if m != nil { + return m.UserInfoList + } + return nil +} + +type UpdateUserInfoReq struct { + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo" json:"UserInfo,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} } +func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } +func (*UpdateUserInfoReq) ProtoMessage() {} +func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{9} +} +func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) +} +func (m *UpdateUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserInfoReq.Marshal(b, m, deterministic) +} +func (dst *UpdateUserInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserInfoReq.Merge(dst, src) +} +func (m *UpdateUserInfoReq) XXX_Size() int { + return xxx_messageInfo_UpdateUserInfoReq.Size(m) +} +func (m *UpdateUserInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserInfoReq.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserInfoReq proto.InternalMessageInfo + +func (m *UpdateUserInfoReq) GetUserInfo() *sdk_ws.UserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + +func (m *UpdateUserInfoReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *UpdateUserInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type UpdateUserInfoResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} } +func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } +func (*UpdateUserInfoResp) ProtoMessage() {} +func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{10} +} +func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) +} +func (m *UpdateUserInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserInfoResp.Marshal(b, m, deterministic) +} +func (dst *UpdateUserInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserInfoResp.Merge(dst, src) +} +func (m *UpdateUserInfoResp) XXX_Size() int { + return xxx_messageInfo_UpdateUserInfoResp.Size(m) +} +func (m *UpdateUserInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserInfoResp proto.InternalMessageInfo + +func (m *UpdateUserInfoResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetGlobalRecvMessageOptReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + GlobalRecvMsgOpt int32 `protobuf:"varint,3,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessageOptReq{} } +func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } +func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} +func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{11} +} +func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) +} +func (m *SetGlobalRecvMessageOptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Marshal(b, m, deterministic) +} +func (dst *SetGlobalRecvMessageOptReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGlobalRecvMessageOptReq.Merge(dst, src) +} +func (m *SetGlobalRecvMessageOptReq) XXX_Size() int { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Size(m) +} +func (m *SetGlobalRecvMessageOptReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGlobalRecvMessageOptReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetGlobalRecvMessageOptReq proto.InternalMessageInfo + +func (m *SetGlobalRecvMessageOptReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SetGlobalRecvMessageOptReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetGlobalRecvMessageOptReq) GetGlobalRecvMsgOpt() int32 { + if m != nil { + return m.GlobalRecvMsgOpt + } + return 0 +} + +type SetGlobalRecvMessageOptResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessageOptResp{} } +func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } +func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} +func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{12} +} +func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) +} +func (m *SetGlobalRecvMessageOptResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Marshal(b, m, deterministic) +} +func (dst *SetGlobalRecvMessageOptResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGlobalRecvMessageOptResp.Merge(dst, src) +} +func (m *SetGlobalRecvMessageOptResp) XXX_Size() int { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Size(m) +} +func (m *SetGlobalRecvMessageOptResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGlobalRecvMessageOptResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetGlobalRecvMessageOptResp proto.InternalMessageInfo + +func (m *SetGlobalRecvMessageOptResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetConversationReq struct { + Conversation *conversation.Conversation `protobuf:"bytes,1,opt,name=Conversation" json:"Conversation,omitempty"` + NotificationType int32 `protobuf:"varint,2,opt,name=notificationType" json:"notificationType,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetConversationReq) Reset() { *m = SetConversationReq{} } +func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } +func (*SetConversationReq) ProtoMessage() {} +func (*SetConversationReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{13} +} +func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) +} +func (m *SetConversationReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetConversationReq.Marshal(b, m, deterministic) +} +func (dst *SetConversationReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetConversationReq.Merge(dst, src) +} +func (m *SetConversationReq) XXX_Size() int { + return xxx_messageInfo_SetConversationReq.Size(m) +} +func (m *SetConversationReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetConversationReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetConversationReq proto.InternalMessageInfo + +func (m *SetConversationReq) GetConversation() *conversation.Conversation { + if m != nil { + return m.Conversation + } + return nil +} + +func (m *SetConversationReq) GetNotificationType() int32 { + if m != nil { + return m.NotificationType + } + return 0 +} + +func (m *SetConversationReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type SetConversationResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetConversationResp) Reset() { *m = SetConversationResp{} } +func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } +func (*SetConversationResp) ProtoMessage() {} +func (*SetConversationResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{14} +} +func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) +} +func (m *SetConversationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetConversationResp.Marshal(b, m, deterministic) +} +func (dst *SetConversationResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetConversationResp.Merge(dst, src) +} +func (m *SetConversationResp) XXX_Size() int { + return xxx_messageInfo_SetConversationResp.Size(m) +} +func (m *SetConversationResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetConversationResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetConversationResp proto.InternalMessageInfo + +func (m *SetConversationResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetRecvMsgOptReq struct { + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + ConversationID string `protobuf:"bytes,2,opt,name=ConversationID" json:"ConversationID,omitempty"` + RecvMsgOpt int32 `protobuf:"varint,3,opt,name=RecvMsgOpt" json:"RecvMsgOpt,omitempty"` + NotificationType int32 `protobuf:"varint,4,opt,name=notificationType" json:"notificationType,omitempty"` + OperationID string `protobuf:"bytes,5,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} } +func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } +func (*SetRecvMsgOptReq) ProtoMessage() {} +func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{15} +} +func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) +} +func (m *SetRecvMsgOptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetRecvMsgOptReq.Marshal(b, m, deterministic) +} +func (dst *SetRecvMsgOptReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetRecvMsgOptReq.Merge(dst, src) +} +func (m *SetRecvMsgOptReq) XXX_Size() int { + return xxx_messageInfo_SetRecvMsgOptReq.Size(m) +} +func (m *SetRecvMsgOptReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetRecvMsgOptReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetRecvMsgOptReq proto.InternalMessageInfo + +func (m *SetRecvMsgOptReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *SetRecvMsgOptReq) GetConversationID() string { + if m != nil { + return m.ConversationID + } + return "" +} + +func (m *SetRecvMsgOptReq) GetRecvMsgOpt() int32 { + if m != nil { + return m.RecvMsgOpt + } + return 0 +} + +func (m *SetRecvMsgOptReq) GetNotificationType() int32 { + if m != nil { + return m.NotificationType + } + return 0 +} + +func (m *SetRecvMsgOptReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type SetRecvMsgOptResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} } +func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } +func (*SetRecvMsgOptResp) ProtoMessage() {} +func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{16} +} +func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) +} +func (m *SetRecvMsgOptResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetRecvMsgOptResp.Marshal(b, m, deterministic) +} +func (dst *SetRecvMsgOptResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetRecvMsgOptResp.Merge(dst, src) +} +func (m *SetRecvMsgOptResp) XXX_Size() int { + return xxx_messageInfo_SetRecvMsgOptResp.Size(m) +} +func (m *SetRecvMsgOptResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetRecvMsgOptResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetRecvMsgOptResp proto.InternalMessageInfo + +func (m *SetRecvMsgOptResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetConversationReq struct { + ConversationID string `protobuf:"bytes,1,opt,name=ConversationID" json:"ConversationID,omitempty"` + OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetConversationReq) Reset() { *m = GetConversationReq{} } +func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } +func (*GetConversationReq) ProtoMessage() {} +func (*GetConversationReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{17} +} +func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) +} +func (m *GetConversationReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetConversationReq.Marshal(b, m, deterministic) +} +func (dst *GetConversationReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetConversationReq.Merge(dst, src) +} +func (m *GetConversationReq) XXX_Size() int { + return xxx_messageInfo_GetConversationReq.Size(m) +} +func (m *GetConversationReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetConversationReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetConversationReq proto.InternalMessageInfo + +func (m *GetConversationReq) GetConversationID() string { + if m != nil { + return m.ConversationID + } + return "" +} + +func (m *GetConversationReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *GetConversationReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetConversationResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Conversation *conversation.Conversation `protobuf:"bytes,2,opt,name=Conversation" json:"Conversation,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetConversationResp) Reset() { *m = GetConversationResp{} } +func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } +func (*GetConversationResp) ProtoMessage() {} +func (*GetConversationResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{18} +} +func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) +} +func (m *GetConversationResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetConversationResp.Marshal(b, m, deterministic) +} +func (dst *GetConversationResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetConversationResp.Merge(dst, src) +} +func (m *GetConversationResp) XXX_Size() int { + return xxx_messageInfo_GetConversationResp.Size(m) +} +func (m *GetConversationResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetConversationResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetConversationResp proto.InternalMessageInfo + +func (m *GetConversationResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetConversationResp) GetConversation() *conversation.Conversation { + if m != nil { + return m.Conversation + } + return nil +} + +type GetConversationsReq struct { + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + ConversationIDs []string `protobuf:"bytes,2,rep,name=ConversationIDs" json:"ConversationIDs,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} } +func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } +func (*GetConversationsReq) ProtoMessage() {} +func (*GetConversationsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{19} +} +func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) +} +func (m *GetConversationsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetConversationsReq.Marshal(b, m, deterministic) +} +func (dst *GetConversationsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetConversationsReq.Merge(dst, src) +} +func (m *GetConversationsReq) XXX_Size() int { + return xxx_messageInfo_GetConversationsReq.Size(m) +} +func (m *GetConversationsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetConversationsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetConversationsReq proto.InternalMessageInfo + +func (m *GetConversationsReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *GetConversationsReq) GetConversationIDs() []string { + if m != nil { + return m.ConversationIDs + } + return nil +} + +func (m *GetConversationsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetConversationsResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Conversations []*conversation.Conversation `protobuf:"bytes,2,rep,name=Conversations" json:"Conversations,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} } +func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } +func (*GetConversationsResp) ProtoMessage() {} +func (*GetConversationsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{20} +} +func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) +} +func (m *GetConversationsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetConversationsResp.Marshal(b, m, deterministic) +} +func (dst *GetConversationsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetConversationsResp.Merge(dst, src) +} +func (m *GetConversationsResp) XXX_Size() int { + return xxx_messageInfo_GetConversationsResp.Size(m) +} +func (m *GetConversationsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetConversationsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetConversationsResp proto.InternalMessageInfo + +func (m *GetConversationsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetConversationsResp) GetConversations() []*conversation.Conversation { + if m != nil { + return m.Conversations + } + return nil +} + +type GetAllConversationsReq struct { + OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{} } +func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } +func (*GetAllConversationsReq) ProtoMessage() {} +func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{21} +} +func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) +} +func (m *GetAllConversationsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAllConversationsReq.Marshal(b, m, deterministic) +} +func (dst *GetAllConversationsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAllConversationsReq.Merge(dst, src) +} +func (m *GetAllConversationsReq) XXX_Size() int { + return xxx_messageInfo_GetAllConversationsReq.Size(m) +} +func (m *GetAllConversationsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetAllConversationsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAllConversationsReq proto.InternalMessageInfo + +func (m *GetAllConversationsReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *GetAllConversationsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetAllConversationsResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Conversations []*conversation.Conversation `protobuf:"bytes,2,rep,name=Conversations" json:"Conversations,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp{} } +func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } +func (*GetAllConversationsResp) ProtoMessage() {} +func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{22} +} +func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) +} +func (m *GetAllConversationsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetAllConversationsResp.Marshal(b, m, deterministic) +} +func (dst *GetAllConversationsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetAllConversationsResp.Merge(dst, src) +} +func (m *GetAllConversationsResp) XXX_Size() int { + return xxx_messageInfo_GetAllConversationsResp.Size(m) +} +func (m *GetAllConversationsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetAllConversationsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetAllConversationsResp proto.InternalMessageInfo + +func (m *GetAllConversationsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetAllConversationsResp) GetConversations() []*conversation.Conversation { + if m != nil { + return m.Conversations + } + return nil +} + +type BatchSetConversationsReq struct { + Conversations []*conversation.Conversation `protobuf:"bytes,1,rep,name=Conversations" json:"Conversations,omitempty"` + OwnerUserID string `protobuf:"bytes,2,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` + NotificationType int32 `protobuf:"varint,3,opt,name=notificationType" json:"notificationType,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsReq{} } +func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } +func (*BatchSetConversationsReq) ProtoMessage() {} +func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{23} +} +func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) +} +func (m *BatchSetConversationsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchSetConversationsReq.Marshal(b, m, deterministic) +} +func (dst *BatchSetConversationsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchSetConversationsReq.Merge(dst, src) +} +func (m *BatchSetConversationsReq) XXX_Size() int { + return xxx_messageInfo_BatchSetConversationsReq.Size(m) +} +func (m *BatchSetConversationsReq) XXX_DiscardUnknown() { + xxx_messageInfo_BatchSetConversationsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchSetConversationsReq proto.InternalMessageInfo + +func (m *BatchSetConversationsReq) GetConversations() []*conversation.Conversation { + if m != nil { + return m.Conversations + } + return nil +} + +func (m *BatchSetConversationsReq) GetOwnerUserID() string { + if m != nil { + return m.OwnerUserID + } + return "" +} + +func (m *BatchSetConversationsReq) GetNotificationType() int32 { + if m != nil { + return m.NotificationType + } + return 0 +} + +func (m *BatchSetConversationsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type BatchSetConversationsResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + Success []string `protobuf:"bytes,2,rep,name=Success" json:"Success,omitempty"` + Failed []string `protobuf:"bytes,3,rep,name=Failed" json:"Failed,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversationsResp{} } +func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } +func (*BatchSetConversationsResp) ProtoMessage() {} +func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{24} +} +func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) +} +func (m *BatchSetConversationsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BatchSetConversationsResp.Marshal(b, m, deterministic) +} +func (dst *BatchSetConversationsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_BatchSetConversationsResp.Merge(dst, src) +} +func (m *BatchSetConversationsResp) XXX_Size() int { + return xxx_messageInfo_BatchSetConversationsResp.Size(m) +} +func (m *BatchSetConversationsResp) XXX_DiscardUnknown() { + xxx_messageInfo_BatchSetConversationsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_BatchSetConversationsResp proto.InternalMessageInfo + +func (m *BatchSetConversationsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *BatchSetConversationsResp) GetSuccess() []string { + if m != nil { + return m.Success + } + return nil +} + +func (m *BatchSetConversationsResp) GetFailed() []string { + if m != nil { + return m.Failed + } + return nil +} + +type ResignUserReq struct { + UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResignUserReq) Reset() { *m = ResignUserReq{} } +func (m *ResignUserReq) String() string { return proto.CompactTextString(m) } +func (*ResignUserReq) ProtoMessage() {} +func (*ResignUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{25} +} +func (m *ResignUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResignUserReq.Unmarshal(m, b) +} +func (m *ResignUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResignUserReq.Marshal(b, m, deterministic) +} +func (dst *ResignUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResignUserReq.Merge(dst, src) +} +func (m *ResignUserReq) XXX_Size() int { + return xxx_messageInfo_ResignUserReq.Size(m) +} +func (m *ResignUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_ResignUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ResignUserReq proto.InternalMessageInfo + +func (m *ResignUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *ResignUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type ResignUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ResignUserResp) Reset() { *m = ResignUserResp{} } +func (m *ResignUserResp) String() string { return proto.CompactTextString(m) } +func (*ResignUserResp) ProtoMessage() {} +func (*ResignUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{26} +} +func (m *ResignUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ResignUserResp.Unmarshal(m, b) +} +func (m *ResignUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ResignUserResp.Marshal(b, m, deterministic) +} +func (dst *ResignUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ResignUserResp.Merge(dst, src) +} +func (m *ResignUserResp) XXX_Size() int { + return xxx_messageInfo_ResignUserResp.Size(m) +} +func (m *ResignUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_ResignUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_ResignUserResp proto.InternalMessageInfo + +func (m *ResignUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUserByIdReq struct { + UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserByIdReq) Reset() { *m = GetUserByIdReq{} } +func (m *GetUserByIdReq) String() string { return proto.CompactTextString(m) } +func (*GetUserByIdReq) ProtoMessage() {} +func (*GetUserByIdReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{27} +} +func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b) +} +func (m *GetUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserByIdReq.Marshal(b, m, deterministic) +} +func (dst *GetUserByIdReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserByIdReq.Merge(dst, src) +} +func (m *GetUserByIdReq) XXX_Size() int { + return xxx_messageInfo_GetUserByIdReq.Size(m) +} +func (m *GetUserByIdReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserByIdReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserByIdReq proto.InternalMessageInfo + +func (m *GetUserByIdReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *GetUserByIdReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type User struct { + ProfilePhoto string `protobuf:"bytes,1,opt,name=ProfilePhoto" json:"ProfilePhoto,omitempty"` + Nickname string `protobuf:"bytes,2,opt,name=Nickname" json:"Nickname,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` + CreateTime string `protobuf:"bytes,4,opt,name=CreateTime" json:"CreateTime,omitempty"` + PhoneNumber string `protobuf:"bytes,5,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` + Email string `protobuf:"bytes,6,opt,name=Email" json:"Email,omitempty"` + Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` + CreateIp string `protobuf:"bytes,8,opt,name=CreateIp" json:"CreateIp,omitempty"` + LastLoginTime string `protobuf:"bytes,9,opt,name=LastLoginTime" json:"LastLoginTime,omitempty"` + LastLoginIp string `protobuf:"bytes,10,opt,name=LastLoginIp" json:"LastLoginIp,omitempty"` + LoginTimes int32 `protobuf:"varint,11,opt,name=LoginTimes" json:"LoginTimes,omitempty"` + Gender int32 `protobuf:"varint,12,opt,name=Gender" json:"Gender,omitempty"` + LoginLimit int32 `protobuf:"varint,13,opt,name=LoginLimit" json:"LoginLimit,omitempty"` + IsBlock bool `protobuf:"varint,14,opt,name=IsBlock" json:"IsBlock,omitempty"` + RegisterIp string `protobuf:"bytes,15,opt,name=RegisterIp" json:"RegisterIp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *User) Reset() { *m = User{} } +func (m *User) String() string { return proto.CompactTextString(m) } +func (*User) ProtoMessage() {} +func (*User) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{28} +} +func (m *User) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_User.Unmarshal(m, b) +} +func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_User.Marshal(b, m, deterministic) +} +func (dst *User) XXX_Merge(src proto.Message) { + xxx_messageInfo_User.Merge(dst, src) +} +func (m *User) XXX_Size() int { + return xxx_messageInfo_User.Size(m) +} +func (m *User) XXX_DiscardUnknown() { + xxx_messageInfo_User.DiscardUnknown(m) +} + +var xxx_messageInfo_User proto.InternalMessageInfo + +func (m *User) GetProfilePhoto() string { + if m != nil { + return m.ProfilePhoto + } + return "" +} + +func (m *User) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *User) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *User) GetCreateTime() string { + if m != nil { + return m.CreateTime + } + return "" +} + +func (m *User) GetPhoneNumber() string { + if m != nil { + return m.PhoneNumber + } + return "" +} + +func (m *User) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *User) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *User) GetCreateIp() string { + if m != nil { + return m.CreateIp + } + return "" +} + +func (m *User) GetLastLoginTime() string { + if m != nil { + return m.LastLoginTime + } + return "" +} + +func (m *User) GetLastLoginIp() string { + if m != nil { + return m.LastLoginIp + } + return "" +} + +func (m *User) GetLoginTimes() int32 { + if m != nil { + return m.LoginTimes + } + return 0 +} + +func (m *User) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *User) GetLoginLimit() int32 { + if m != nil { + return m.LoginLimit + } + return 0 +} + +func (m *User) GetIsBlock() bool { + if m != nil { + return m.IsBlock + } + return false +} + +func (m *User) GetRegisterIp() string { + if m != nil { + return m.RegisterIp + } + return "" +} + +type GetUserByIdResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserByIdResp) Reset() { *m = GetUserByIdResp{} } +func (m *GetUserByIdResp) String() string { return proto.CompactTextString(m) } +func (*GetUserByIdResp) ProtoMessage() {} +func (*GetUserByIdResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{29} +} +func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b) +} +func (m *GetUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserByIdResp.Marshal(b, m, deterministic) +} +func (dst *GetUserByIdResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserByIdResp.Merge(dst, src) +} +func (m *GetUserByIdResp) XXX_Size() int { + return xxx_messageInfo_GetUserByIdResp.Size(m) +} +func (m *GetUserByIdResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserByIdResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserByIdResp proto.InternalMessageInfo + +func (m *GetUserByIdResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUserByIdResp) GetUser() *User { + if m != nil { + return m.User + } + return nil +} + +type GetUsersByNameReq struct { + UserName string `protobuf:"bytes,1,opt,name=UserName" json:"UserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersByNameReq) Reset() { *m = GetUsersByNameReq{} } +func (m *GetUsersByNameReq) String() string { return proto.CompactTextString(m) } +func (*GetUsersByNameReq) ProtoMessage() {} +func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{30} +} +func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b) +} +func (m *GetUsersByNameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersByNameReq.Marshal(b, m, deterministic) +} +func (dst *GetUsersByNameReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersByNameReq.Merge(dst, src) +} +func (m *GetUsersByNameReq) XXX_Size() int { + return xxx_messageInfo_GetUsersByNameReq.Size(m) +} +func (m *GetUsersByNameReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersByNameReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersByNameReq proto.InternalMessageInfo + +func (m *GetUsersByNameReq) GetUserName() string { + if m != nil { + return m.UserName + } + return "" +} + +func (m *GetUsersByNameReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUsersByNameReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUsersByNameResp struct { + Users []*User `protobuf:"bytes,1,rep,name=users" json:"users,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + UserNums int32 `protobuf:"varint,3,opt,name=UserNums" json:"UserNums,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersByNameResp) Reset() { *m = GetUsersByNameResp{} } +func (m *GetUsersByNameResp) String() string { return proto.CompactTextString(m) } +func (*GetUsersByNameResp) ProtoMessage() {} +func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{31} +} +func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b) +} +func (m *GetUsersByNameResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersByNameResp.Marshal(b, m, deterministic) +} +func (dst *GetUsersByNameResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersByNameResp.Merge(dst, src) +} +func (m *GetUsersByNameResp) XXX_Size() int { + return xxx_messageInfo_GetUsersByNameResp.Size(m) +} +func (m *GetUsersByNameResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersByNameResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersByNameResp proto.InternalMessageInfo + +func (m *GetUsersByNameResp) GetUsers() []*User { + if m != nil { + return m.Users + } + return nil +} + +func (m *GetUsersByNameResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUsersByNameResp) GetUserNums() int32 { + if m != nil { + return m.UserNums + } + return 0 +} + +type AlterUserReq struct { + UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + PhoneNumber string `protobuf:"bytes,3,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` + Nickname string `protobuf:"bytes,4,opt,name=Nickname" json:"Nickname,omitempty"` + Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` + Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` + Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` + Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` + OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterUserReq) Reset() { *m = AlterUserReq{} } +func (m *AlterUserReq) String() string { return proto.CompactTextString(m) } +func (*AlterUserReq) ProtoMessage() {} +func (*AlterUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{32} +} +func (m *AlterUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterUserReq.Unmarshal(m, b) +} +func (m *AlterUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterUserReq.Marshal(b, m, deterministic) +} +func (dst *AlterUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterUserReq.Merge(dst, src) +} +func (m *AlterUserReq) XXX_Size() int { + return xxx_messageInfo_AlterUserReq.Size(m) +} +func (m *AlterUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_AlterUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterUserReq proto.InternalMessageInfo + +func (m *AlterUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *AlterUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AlterUserReq) GetPhoneNumber() string { + if m != nil { + return m.PhoneNumber + } + return "" +} + +func (m *AlterUserReq) GetNickname() string { + if m != nil { + return m.Nickname + } + return "" +} + +func (m *AlterUserReq) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *AlterUserReq) GetGender() string { + if m != nil { + return m.Gender + } + return "" +} + +func (m *AlterUserReq) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *AlterUserReq) GetPhoto() string { + if m != nil { + return m.Photo + } + return "" +} + +func (m *AlterUserReq) GetOpUserId() string { + if m != nil { + return m.OpUserId + } + return "" +} + +type AlterUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AlterUserResp) Reset() { *m = AlterUserResp{} } +func (m *AlterUserResp) String() string { return proto.CompactTextString(m) } +func (*AlterUserResp) ProtoMessage() {} +func (*AlterUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{33} +} +func (m *AlterUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AlterUserResp.Unmarshal(m, b) +} +func (m *AlterUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AlterUserResp.Marshal(b, m, deterministic) +} +func (dst *AlterUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AlterUserResp.Merge(dst, src) +} +func (m *AlterUserResp) XXX_Size() int { + return xxx_messageInfo_AlterUserResp.Size(m) +} +func (m *AlterUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_AlterUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AlterUserResp proto.InternalMessageInfo + +func (m *AlterUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUsersReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + UserName string `protobuf:"bytes,3,opt,name=UserName" json:"UserName,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersReq) Reset() { *m = GetUsersReq{} } +func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } +func (*GetUsersReq) ProtoMessage() {} +func (*GetUsersReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{34} +} +func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) +} +func (m *GetUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersReq.Marshal(b, m, deterministic) +} +func (dst *GetUsersReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersReq.Merge(dst, src) +} +func (m *GetUsersReq) XXX_Size() int { + return xxx_messageInfo_GetUsersReq.Size(m) +} +func (m *GetUsersReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersReq proto.InternalMessageInfo + +func (m *GetUsersReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetUsersReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUsersReq) GetUserName() string { + if m != nil { + return m.UserName + } + return "" +} + +type GetUsersResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + User []*User `protobuf:"bytes,2,rep,name=user" json:"user,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,omitempty"` + UserNums int32 `protobuf:"varint,4,opt,name=UserNums" json:"UserNums,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUsersResp) Reset() { *m = GetUsersResp{} } +func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } +func (*GetUsersResp) ProtoMessage() {} +func (*GetUsersResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{35} +} +func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) +} +func (m *GetUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUsersResp.Marshal(b, m, deterministic) +} +func (dst *GetUsersResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUsersResp.Merge(dst, src) +} +func (m *GetUsersResp) XXX_Size() int { + return xxx_messageInfo_GetUsersResp.Size(m) +} +func (m *GetUsersResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUsersResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUsersResp proto.InternalMessageInfo + +func (m *GetUsersResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetUsersResp) GetUser() []*User { + if m != nil { + return m.User + } + return nil +} + +func (m *GetUsersResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUsersResp) GetUserNums() int32 { + if m != nil { + return m.UserNums + } + return 0 +} + +type AddUserReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` + PhoneNumber string `protobuf:"bytes,2,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` + Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` + Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` + Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` + Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` + OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserReq) Reset() { *m = AddUserReq{} } +func (m *AddUserReq) String() string { return proto.CompactTextString(m) } +func (*AddUserReq) ProtoMessage() {} +func (*AddUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{36} +} +func (m *AddUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserReq.Unmarshal(m, b) +} +func (m *AddUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserReq.Marshal(b, m, deterministic) +} +func (dst *AddUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserReq.Merge(dst, src) +} +func (m *AddUserReq) XXX_Size() int { + return xxx_messageInfo_AddUserReq.Size(m) +} +func (m *AddUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserReq proto.InternalMessageInfo + +func (m *AddUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddUserReq) GetPhoneNumber() string { + if m != nil { + return m.PhoneNumber + } + return "" +} + +func (m *AddUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *AddUserReq) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *AddUserReq) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *AddUserReq) GetGender() string { + if m != nil { + return m.Gender + } + return "" +} + +func (m *AddUserReq) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *AddUserReq) GetPhoto() string { + if m != nil { + return m.Photo + } + return "" +} + +func (m *AddUserReq) GetOpUserId() string { + if m != nil { + return m.OpUserId + } + return "" +} + +type AddUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserResp) Reset() { *m = AddUserResp{} } +func (m *AddUserResp) String() string { return proto.CompactTextString(m) } +func (*AddUserResp) ProtoMessage() {} +func (*AddUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{37} +} +func (m *AddUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserResp.Unmarshal(m, b) +} +func (m *AddUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserResp.Marshal(b, m, deterministic) +} +func (dst *AddUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserResp.Merge(dst, src) +} +func (m *AddUserResp) XXX_Size() int { + return xxx_messageInfo_AddUserResp.Size(m) +} +func (m *AddUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserResp proto.InternalMessageInfo + +func (m *AddUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type BlockUserReq struct { + UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` + EndDisableTime string `protobuf:"bytes,2,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserId string `protobuf:"bytes,4,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockUserReq) Reset() { *m = BlockUserReq{} } +func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } +func (*BlockUserReq) ProtoMessage() {} +func (*BlockUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{38} +} +func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) +} +func (m *BlockUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockUserReq.Marshal(b, m, deterministic) +} +func (dst *BlockUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockUserReq.Merge(dst, src) +} +func (m *BlockUserReq) XXX_Size() int { + return xxx_messageInfo_BlockUserReq.Size(m) +} +func (m *BlockUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_BlockUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockUserReq proto.InternalMessageInfo + +func (m *BlockUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *BlockUserReq) GetEndDisableTime() string { + if m != nil { + return m.EndDisableTime + } + return "" +} + +func (m *BlockUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *BlockUserReq) GetOpUserId() string { + if m != nil { + return m.OpUserId + } + return "" +} + +type BlockUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockUserResp) Reset() { *m = BlockUserResp{} } +func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } +func (*BlockUserResp) ProtoMessage() {} +func (*BlockUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{39} +} +func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) +} +func (m *BlockUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockUserResp.Marshal(b, m, deterministic) +} +func (dst *BlockUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockUserResp.Merge(dst, src) +} +func (m *BlockUserResp) XXX_Size() int { + return xxx_messageInfo_BlockUserResp.Size(m) +} +func (m *BlockUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_BlockUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockUserResp proto.InternalMessageInfo + +func (m *BlockUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type UnBlockUserReq struct { + UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} } +func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } +func (*UnBlockUserReq) ProtoMessage() {} +func (*UnBlockUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{40} +} +func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) +} +func (m *UnBlockUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnBlockUserReq.Marshal(b, m, deterministic) +} +func (dst *UnBlockUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnBlockUserReq.Merge(dst, src) +} +func (m *UnBlockUserReq) XXX_Size() int { + return xxx_messageInfo_UnBlockUserReq.Size(m) +} +func (m *UnBlockUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_UnBlockUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_UnBlockUserReq proto.InternalMessageInfo + +func (m *UnBlockUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *UnBlockUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *UnBlockUserReq) GetOpUserId() string { + if m != nil { + return m.OpUserId + } + return "" +} + +type UnBlockUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} } +func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } +func (*UnBlockUserResp) ProtoMessage() {} +func (*UnBlockUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{41} +} +func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) +} +func (m *UnBlockUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UnBlockUserResp.Marshal(b, m, deterministic) +} +func (dst *UnBlockUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UnBlockUserResp.Merge(dst, src) +} +func (m *UnBlockUserResp) XXX_Size() int { + return xxx_messageInfo_UnBlockUserResp.Size(m) +} +func (m *UnBlockUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_UnBlockUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_UnBlockUserResp proto.InternalMessageInfo + +func (m *UnBlockUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetBlockUsersReq struct { + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + BlockUserNum int32 `protobuf:"varint,3,opt,name=BlockUserNum" json:"BlockUserNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} } +func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } +func (*GetBlockUsersReq) ProtoMessage() {} +func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{42} +} +func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) +} +func (m *GetBlockUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlockUsersReq.Marshal(b, m, deterministic) +} +func (dst *GetBlockUsersReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlockUsersReq.Merge(dst, src) +} +func (m *GetBlockUsersReq) XXX_Size() int { + return xxx_messageInfo_GetBlockUsersReq.Size(m) +} +func (m *GetBlockUsersReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlockUsersReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlockUsersReq proto.InternalMessageInfo + +func (m *GetBlockUsersReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetBlockUsersReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetBlockUsersReq) GetBlockUserNum() int32 { + if m != nil { + return m.BlockUserNum + } + return 0 +} + +type BlockUser struct { + User *User `protobuf:"bytes,1,opt,name=User" json:"User,omitempty"` + BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime" json:"BeginDisableTime,omitempty"` + EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *BlockUser) Reset() { *m = BlockUser{} } +func (m *BlockUser) String() string { return proto.CompactTextString(m) } +func (*BlockUser) ProtoMessage() {} +func (*BlockUser) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{43} +} +func (m *BlockUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_BlockUser.Unmarshal(m, b) +} +func (m *BlockUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_BlockUser.Marshal(b, m, deterministic) +} +func (dst *BlockUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_BlockUser.Merge(dst, src) +} +func (m *BlockUser) XXX_Size() int { + return xxx_messageInfo_BlockUser.Size(m) +} +func (m *BlockUser) XXX_DiscardUnknown() { + xxx_messageInfo_BlockUser.DiscardUnknown(m) +} + +var xxx_messageInfo_BlockUser proto.InternalMessageInfo + +func (m *BlockUser) GetUser() *User { + if m != nil { + return m.User + } + return nil +} + +func (m *BlockUser) GetBeginDisableTime() string { + if m != nil { + return m.BeginDisableTime + } + return "" +} + +func (m *BlockUser) GetEndDisableTime() string { + if m != nil { + return m.EndDisableTime + } + return "" +} + +type GetBlockUsersResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + BlockUsers []*BlockUser `protobuf:"bytes,2,rep,name=BlockUsers" json:"BlockUsers,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,omitempty"` + UserNums int32 `protobuf:"varint,4,opt,name=UserNums" json:"UserNums,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} } +func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } +func (*GetBlockUsersResp) ProtoMessage() {} +func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{44} +} +func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) +} +func (m *GetBlockUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlockUsersResp.Marshal(b, m, deterministic) +} +func (dst *GetBlockUsersResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlockUsersResp.Merge(dst, src) +} +func (m *GetBlockUsersResp) XXX_Size() int { + return xxx_messageInfo_GetBlockUsersResp.Size(m) +} +func (m *GetBlockUsersResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlockUsersResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlockUsersResp proto.InternalMessageInfo + +func (m *GetBlockUsersResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func (m *GetBlockUsersResp) GetBlockUsers() []*BlockUser { + if m != nil { + return m.BlockUsers + } + return nil +} + +func (m *GetBlockUsersResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetBlockUsersResp) GetUserNums() int32 { + if m != nil { + return m.UserNums + } + return 0 +} + +type GetBlockUserByIdReq struct { + UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlockUserByIdReq) Reset() { *m = GetBlockUserByIdReq{} } +func (m *GetBlockUserByIdReq) String() string { return proto.CompactTextString(m) } +func (*GetBlockUserByIdReq) ProtoMessage() {} +func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{45} +} +func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b) +} +func (m *GetBlockUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlockUserByIdReq.Marshal(b, m, deterministic) +} +func (dst *GetBlockUserByIdReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlockUserByIdReq.Merge(dst, src) +} +func (m *GetBlockUserByIdReq) XXX_Size() int { + return xxx_messageInfo_GetBlockUserByIdReq.Size(m) +} +func (m *GetBlockUserByIdReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlockUserByIdReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlockUserByIdReq proto.InternalMessageInfo + +func (m *GetBlockUserByIdReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *GetBlockUserByIdReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetBlockUserByIdResp struct { + BlockUser *BlockUser `protobuf:"bytes,2,opt,name=BlockUser" json:"BlockUser,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlockUserByIdResp) Reset() { *m = GetBlockUserByIdResp{} } +func (m *GetBlockUserByIdResp) String() string { return proto.CompactTextString(m) } +func (*GetBlockUserByIdResp) ProtoMessage() {} +func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{46} +} +func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b) +} +func (m *GetBlockUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlockUserByIdResp.Marshal(b, m, deterministic) +} +func (dst *GetBlockUserByIdResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlockUserByIdResp.Merge(dst, src) +} +func (m *GetBlockUserByIdResp) XXX_Size() int { + return xxx_messageInfo_GetBlockUserByIdResp.Size(m) +} +func (m *GetBlockUserByIdResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlockUserByIdResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlockUserByIdResp proto.InternalMessageInfo + +func (m *GetBlockUserByIdResp) GetBlockUser() *BlockUser { + if m != nil { + return m.BlockUser + } + return nil +} + +type DeleteUserReq struct { + UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteUserReq) Reset() { *m = DeleteUserReq{} } +func (m *DeleteUserReq) String() string { return proto.CompactTextString(m) } +func (*DeleteUserReq) ProtoMessage() {} +func (*DeleteUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{47} +} +func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b) +} +func (m *DeleteUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteUserReq.Marshal(b, m, deterministic) +} +func (dst *DeleteUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteUserReq.Merge(dst, src) +} +func (m *DeleteUserReq) XXX_Size() int { + return xxx_messageInfo_DeleteUserReq.Size(m) +} +func (m *DeleteUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteUserReq proto.InternalMessageInfo + +func (m *DeleteUserReq) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *DeleteUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *DeleteUserReq) GetOpUserId() string { + if m != nil { + return m.OpUserId + } + return "" +} + +type DeleteUserResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteUserResp) Reset() { *m = DeleteUserResp{} } +func (m *DeleteUserResp) String() string { return proto.CompactTextString(m) } +func (*DeleteUserResp) ProtoMessage() {} +func (*DeleteUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_862a17c60dc96c16, []int{48} +} +func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b) +} +func (m *DeleteUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteUserResp.Marshal(b, m, deterministic) +} +func (dst *DeleteUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteUserResp.Merge(dst, src) +} +func (m *DeleteUserResp) XXX_Size() int { + return xxx_messageInfo_DeleteUserResp.Size(m) +} +func (m *DeleteUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteUserResp proto.InternalMessageInfo + +func (m *DeleteUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +func init() { + proto.RegisterType((*CommonResp)(nil), "user.CommonResp") + proto.RegisterType((*DeleteUsersReq)(nil), "user.DeleteUsersReq") + proto.RegisterType((*DeleteUsersResp)(nil), "user.DeleteUsersResp") + proto.RegisterType((*GetAllUserIDReq)(nil), "user.GetAllUserIDReq") + proto.RegisterType((*GetAllUserIDResp)(nil), "user.GetAllUserIDResp") + proto.RegisterType((*AccountCheckReq)(nil), "user.AccountCheckReq") + proto.RegisterType((*AccountCheckResp)(nil), "user.AccountCheckResp") + proto.RegisterType((*AccountCheckResp_SingleUserStatus)(nil), "user.AccountCheckResp.SingleUserStatus") + proto.RegisterType((*GetUserInfoReq)(nil), "user.GetUserInfoReq") + proto.RegisterType((*GetUserInfoResp)(nil), "user.GetUserInfoResp") + proto.RegisterType((*UpdateUserInfoReq)(nil), "user.UpdateUserInfoReq") + proto.RegisterType((*UpdateUserInfoResp)(nil), "user.UpdateUserInfoResp") + proto.RegisterType((*SetGlobalRecvMessageOptReq)(nil), "user.SetGlobalRecvMessageOptReq") + proto.RegisterType((*SetGlobalRecvMessageOptResp)(nil), "user.SetGlobalRecvMessageOptResp") + proto.RegisterType((*SetConversationReq)(nil), "user.SetConversationReq") + proto.RegisterType((*SetConversationResp)(nil), "user.SetConversationResp") + proto.RegisterType((*SetRecvMsgOptReq)(nil), "user.SetRecvMsgOptReq") + proto.RegisterType((*SetRecvMsgOptResp)(nil), "user.SetRecvMsgOptResp") + proto.RegisterType((*GetConversationReq)(nil), "user.GetConversationReq") + proto.RegisterType((*GetConversationResp)(nil), "user.GetConversationResp") + proto.RegisterType((*GetConversationsReq)(nil), "user.GetConversationsReq") + proto.RegisterType((*GetConversationsResp)(nil), "user.GetConversationsResp") + proto.RegisterType((*GetAllConversationsReq)(nil), "user.GetAllConversationsReq") + proto.RegisterType((*GetAllConversationsResp)(nil), "user.GetAllConversationsResp") + proto.RegisterType((*BatchSetConversationsReq)(nil), "user.BatchSetConversationsReq") + proto.RegisterType((*BatchSetConversationsResp)(nil), "user.BatchSetConversationsResp") + proto.RegisterType((*ResignUserReq)(nil), "user.ResignUserReq") + proto.RegisterType((*ResignUserResp)(nil), "user.ResignUserResp") + proto.RegisterType((*GetUserByIdReq)(nil), "user.GetUserByIdReq") + proto.RegisterType((*User)(nil), "user.User") + proto.RegisterType((*GetUserByIdResp)(nil), "user.GetUserByIdResp") + proto.RegisterType((*GetUsersByNameReq)(nil), "user.GetUsersByNameReq") + proto.RegisterType((*GetUsersByNameResp)(nil), "user.GetUsersByNameResp") + proto.RegisterType((*AlterUserReq)(nil), "user.AlterUserReq") + proto.RegisterType((*AlterUserResp)(nil), "user.AlterUserResp") + proto.RegisterType((*GetUsersReq)(nil), "user.GetUsersReq") + proto.RegisterType((*GetUsersResp)(nil), "user.GetUsersResp") + proto.RegisterType((*AddUserReq)(nil), "user.AddUserReq") + proto.RegisterType((*AddUserResp)(nil), "user.AddUserResp") + proto.RegisterType((*BlockUserReq)(nil), "user.BlockUserReq") + proto.RegisterType((*BlockUserResp)(nil), "user.BlockUserResp") + proto.RegisterType((*UnBlockUserReq)(nil), "user.UnBlockUserReq") + proto.RegisterType((*UnBlockUserResp)(nil), "user.UnBlockUserResp") + proto.RegisterType((*GetBlockUsersReq)(nil), "user.GetBlockUsersReq") + proto.RegisterType((*BlockUser)(nil), "user.BlockUser") + proto.RegisterType((*GetBlockUsersResp)(nil), "user.GetBlockUsersResp") + proto.RegisterType((*GetBlockUserByIdReq)(nil), "user.GetBlockUserByIdReq") + proto.RegisterType((*GetBlockUserByIdResp)(nil), "user.GetBlockUserByIdResp") + proto.RegisterType((*DeleteUserReq)(nil), "user.DeleteUserReq") + proto.RegisterType((*DeleteUserResp)(nil), "user.DeleteUserResp") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context -var _ grpc.ClientConnInterface +var _ grpc.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 +const _ = grpc.SupportPackageIsVersion4 + +// Client API for User service -// UserClient is the client API for User service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type UserClient interface { GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) @@ -4570,16 +2759,16 @@ type UserClient interface { } type userClient struct { - cc grpc.ClientConnInterface + cc *grpc.ClientConn } -func NewUserClient(cc grpc.ClientConnInterface) UserClient { +func NewUserClient(cc *grpc.ClientConn) UserClient { return &userClient{cc} } func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) { out := new(GetUserInfoResp) - err := c.cc.Invoke(ctx, "/user.user/GetUserInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetUserInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4588,7 +2777,7 @@ func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts . func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) { out := new(UpdateUserInfoResp) - err := c.cc.Invoke(ctx, "/user.user/UpdateUserInfo", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/UpdateUserInfo", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4597,7 +2786,7 @@ func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) { out := new(SetGlobalRecvMessageOptResp) - err := c.cc.Invoke(ctx, "/user.user/SetGlobalRecvMessageOpt", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/SetGlobalRecvMessageOpt", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4606,7 +2795,7 @@ func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalR func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) { out := new(DeleteUsersResp) - err := c.cc.Invoke(ctx, "/user.user/DeleteUsers", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/DeleteUsers", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4615,7 +2804,7 @@ func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts . func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) { out := new(GetAllUserIDResp) - err := c.cc.Invoke(ctx, "/user.user/GetAllUserID", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetAllUserID", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4624,7 +2813,7 @@ func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts func (c *userClient) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) { out := new(AccountCheckResp) - err := c.cc.Invoke(ctx, "/user.user/AccountCheck", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/AccountCheck", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4633,7 +2822,7 @@ func (c *userClient) AccountCheck(ctx context.Context, in *AccountCheckReq, opts func (c *userClient) GetConversation(ctx context.Context, in *GetConversationReq, opts ...grpc.CallOption) (*GetConversationResp, error) { out := new(GetConversationResp) - err := c.cc.Invoke(ctx, "/user.user/GetConversation", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetConversation", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4642,7 +2831,7 @@ func (c *userClient) GetConversation(ctx context.Context, in *GetConversationReq func (c *userClient) GetAllConversations(ctx context.Context, in *GetAllConversationsReq, opts ...grpc.CallOption) (*GetAllConversationsResp, error) { out := new(GetAllConversationsResp) - err := c.cc.Invoke(ctx, "/user.user/GetAllConversations", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetAllConversations", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4651,7 +2840,7 @@ func (c *userClient) GetAllConversations(ctx context.Context, in *GetAllConversa func (c *userClient) GetConversations(ctx context.Context, in *GetConversationsReq, opts ...grpc.CallOption) (*GetConversationsResp, error) { out := new(GetConversationsResp) - err := c.cc.Invoke(ctx, "/user.user/GetConversations", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetConversations", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4660,7 +2849,7 @@ func (c *userClient) GetConversations(ctx context.Context, in *GetConversationsR func (c *userClient) BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) { out := new(BatchSetConversationsResp) - err := c.cc.Invoke(ctx, "/user.user/BatchSetConversations", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/BatchSetConversations", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4669,7 +2858,7 @@ func (c *userClient) BatchSetConversations(ctx context.Context, in *BatchSetConv func (c *userClient) SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) { out := new(SetConversationResp) - err := c.cc.Invoke(ctx, "/user.user/SetConversation", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/SetConversation", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4678,7 +2867,7 @@ func (c *userClient) SetConversation(ctx context.Context, in *SetConversationReq func (c *userClient) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, opts ...grpc.CallOption) (*SetRecvMsgOptResp, error) { out := new(SetRecvMsgOptResp) - err := c.cc.Invoke(ctx, "/user.user/SetRecvMsgOpt", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/SetRecvMsgOpt", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4687,7 +2876,7 @@ func (c *userClient) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, op func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) { out := new(GetUserByIdResp) - err := c.cc.Invoke(ctx, "/user.user/GetUserById", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetUserById", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4696,7 +2885,7 @@ func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts . func (c *userClient) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) { out := new(GetUsersByNameResp) - err := c.cc.Invoke(ctx, "/user.user/GetUsersByName", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetUsersByName", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4705,7 +2894,7 @@ func (c *userClient) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, func (c *userClient) ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) { out := new(ResignUserResp) - err := c.cc.Invoke(ctx, "/user.user/ResignUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/ResignUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4714,7 +2903,7 @@ func (c *userClient) ResignUser(ctx context.Context, in *ResignUserReq, opts ... func (c *userClient) AlterUser(ctx context.Context, in *AlterUserReq, opts ...grpc.CallOption) (*AlterUserResp, error) { out := new(AlterUserResp) - err := c.cc.Invoke(ctx, "/user.user/AlterUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/AlterUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4723,7 +2912,7 @@ func (c *userClient) AlterUser(ctx context.Context, in *AlterUserReq, opts ...gr func (c *userClient) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersResp, error) { out := new(GetUsersResp) - err := c.cc.Invoke(ctx, "/user.user/GetUsers", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetUsers", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4732,7 +2921,7 @@ func (c *userClient) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc func (c *userClient) AddUser(ctx context.Context, in *AddUserReq, opts ...grpc.CallOption) (*AddUserResp, error) { out := new(AddUserResp) - err := c.cc.Invoke(ctx, "/user.user/AddUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/AddUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4741,7 +2930,7 @@ func (c *userClient) AddUser(ctx context.Context, in *AddUserReq, opts ...grpc.C func (c *userClient) BlockUser(ctx context.Context, in *BlockUserReq, opts ...grpc.CallOption) (*BlockUserResp, error) { out := new(BlockUserResp) - err := c.cc.Invoke(ctx, "/user.user/BlockUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/BlockUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4750,7 +2939,7 @@ func (c *userClient) BlockUser(ctx context.Context, in *BlockUserReq, opts ...gr func (c *userClient) UnBlockUser(ctx context.Context, in *UnBlockUserReq, opts ...grpc.CallOption) (*UnBlockUserResp, error) { out := new(UnBlockUserResp) - err := c.cc.Invoke(ctx, "/user.user/UnBlockUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/UnBlockUser", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4759,7 +2948,7 @@ func (c *userClient) UnBlockUser(ctx context.Context, in *UnBlockUserReq, opts . func (c *userClient) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, opts ...grpc.CallOption) (*GetBlockUsersResp, error) { out := new(GetBlockUsersResp) - err := c.cc.Invoke(ctx, "/user.user/GetBlockUsers", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetBlockUsers", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4768,7 +2957,7 @@ func (c *userClient) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, op func (c *userClient) GetBlockUserById(ctx context.Context, in *GetBlockUserByIdReq, opts ...grpc.CallOption) (*GetBlockUserByIdResp, error) { out := new(GetBlockUserByIdResp) - err := c.cc.Invoke(ctx, "/user.user/GetBlockUserById", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/GetBlockUserById", in, out, c.cc, opts...) if err != nil { return nil, err } @@ -4777,14 +2966,15 @@ func (c *userClient) GetBlockUserById(ctx context.Context, in *GetBlockUserByIdR func (c *userClient) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) { out := new(DeleteUserResp) - err := c.cc.Invoke(ctx, "/user.user/DeleteUser", in, out, opts...) + err := grpc.Invoke(ctx, "/user.user/DeleteUser", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } -// UserServer is the server API for User service. +// Server API for User service + type UserServer interface { GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) @@ -4811,80 +3001,6 @@ type UserServer interface { DeleteUser(context.Context, *DeleteUserReq) (*DeleteUserResp, error) } -// UnimplementedUserServer can be embedded to have forward compatible implementations. -type UnimplementedUserServer struct { -} - -func (*UnimplementedUserServer) GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserInfo not implemented") -} -func (*UnimplementedUserServer) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateUserInfo not implemented") -} -func (*UnimplementedUserServer) SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetGlobalRecvMessageOpt not implemented") -} -func (*UnimplementedUserServer) DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteUsers not implemented") -} -func (*UnimplementedUserServer) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllUserID not implemented") -} -func (*UnimplementedUserServer) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AccountCheck not implemented") -} -func (*UnimplementedUserServer) GetConversation(context.Context, *GetConversationReq) (*GetConversationResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetConversation not implemented") -} -func (*UnimplementedUserServer) GetAllConversations(context.Context, *GetAllConversationsReq) (*GetAllConversationsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAllConversations not implemented") -} -func (*UnimplementedUserServer) GetConversations(context.Context, *GetConversationsReq) (*GetConversationsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetConversations not implemented") -} -func (*UnimplementedUserServer) BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchSetConversations not implemented") -} -func (*UnimplementedUserServer) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetConversation not implemented") -} -func (*UnimplementedUserServer) SetRecvMsgOpt(context.Context, *SetRecvMsgOptReq) (*SetRecvMsgOptResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetRecvMsgOpt not implemented") -} -func (*UnimplementedUserServer) GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserById not implemented") -} -func (*UnimplementedUserServer) GetUsersByName(context.Context, *GetUsersByNameReq) (*GetUsersByNameResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUsersByName not implemented") -} -func (*UnimplementedUserServer) ResignUser(context.Context, *ResignUserReq) (*ResignUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method ResignUser not implemented") -} -func (*UnimplementedUserServer) AlterUser(context.Context, *AlterUserReq) (*AlterUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AlterUser not implemented") -} -func (*UnimplementedUserServer) GetUsers(context.Context, *GetUsersReq) (*GetUsersResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUsers not implemented") -} -func (*UnimplementedUserServer) AddUser(context.Context, *AddUserReq) (*AddUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddUser not implemented") -} -func (*UnimplementedUserServer) BlockUser(context.Context, *BlockUserReq) (*BlockUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method BlockUser not implemented") -} -func (*UnimplementedUserServer) UnBlockUser(context.Context, *UnBlockUserReq) (*UnBlockUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnBlockUser not implemented") -} -func (*UnimplementedUserServer) GetBlockUsers(context.Context, *GetBlockUsersReq) (*GetBlockUsersResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBlockUsers not implemented") -} -func (*UnimplementedUserServer) GetBlockUserById(context.Context, *GetBlockUserByIdReq) (*GetBlockUserByIdResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetBlockUserById not implemented") -} -func (*UnimplementedUserServer) DeleteUser(context.Context, *DeleteUserReq) (*DeleteUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteUser not implemented") -} - func RegisterUserServer(s *grpc.Server, srv UserServer) { s.RegisterService(&_User_serviceDesc, srv) } @@ -5403,3 +3519,128 @@ var _User_serviceDesc = grpc.ServiceDesc{ Streams: []grpc.StreamDesc{}, Metadata: "user/user.proto", } + +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_862a17c60dc96c16) } + +var fileDescriptor_user_862a17c60dc96c16 = []byte{ + // 1900 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0x23, 0x49, + 0x19, 0x57, 0xc7, 0xf6, 0x24, 0xf9, 0x1c, 0x3f, 0x52, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0x90, 0x6d, + 0x2d, 0x4b, 0x34, 0x12, 0x0e, 0x3b, 0x20, 0x8d, 0xb4, 0x88, 0xdd, 0x89, 0x9d, 0x8c, 0x65, 0x34, + 0x33, 0x89, 0xda, 0x3b, 0x12, 0x42, 0x88, 0xa8, 0x63, 0x57, 0x9c, 0x56, 0xec, 0xee, 0xde, 0xae, + 0xf6, 0x8c, 0xc2, 0x65, 0x11, 0x20, 0x21, 0xad, 0xe0, 0xc0, 0x09, 0x71, 0xe1, 0xc0, 0x9f, 0x02, + 0x37, 0xc4, 0x3f, 0xc0, 0x89, 0xff, 0x81, 0x0b, 0x17, 0x0e, 0xa8, 0x1e, 0xdd, 0x5d, 0xd5, 0xd5, + 0x8e, 0x3d, 0x9d, 0x88, 0xb9, 0x24, 0xfe, 0x7e, 0xf5, 0xe8, 0xef, 0xf7, 0xd5, 0xf7, 0xa8, 0x07, + 0xb4, 0xe6, 0x04, 0x47, 0x07, 0xf4, 0x4f, 0x27, 0x8c, 0x82, 0x38, 0x40, 0x55, 0xfa, 0xdb, 0xfa, + 0xf0, 0x24, 0xc4, 0xfe, 0xd9, 0xe0, 0xc5, 0x41, 0x78, 0x35, 0x39, 0x60, 0x0d, 0x07, 0x64, 0x7c, + 0x75, 0xf6, 0x86, 0x1c, 0xbc, 0x21, 0xbc, 0xa3, 0xf5, 0x89, 0xde, 0x65, 0x14, 0xf8, 0xaf, 0x71, + 0x44, 0xdc, 0xd8, 0x0b, 0x7c, 0x45, 0xe0, 0x43, 0xec, 0xcf, 0x00, 0x7a, 0xc1, 0x6c, 0x16, 0xf8, + 0x0e, 0x26, 0x21, 0x32, 0x61, 0x1d, 0x47, 0x51, 0x2f, 0x18, 0x63, 0xd3, 0xd8, 0x33, 0xf6, 0x6b, + 0x4e, 0x22, 0xa2, 0x07, 0x70, 0x0f, 0x47, 0xd1, 0x0b, 0x32, 0x31, 0xd7, 0xf6, 0x8c, 0xfd, 0x4d, + 0x47, 0x48, 0xf6, 0x2f, 0xa0, 0x79, 0x84, 0xa7, 0x38, 0xc6, 0xaf, 0x08, 0x8e, 0x88, 0x83, 0xbf, + 0x44, 0x8f, 0xa0, 0x9d, 0x21, 0x83, 0xa3, 0xe7, 0x1e, 0x89, 0xcd, 0xb5, 0xbd, 0xca, 0xfe, 0xa6, + 0xa3, 0xe1, 0xc8, 0x82, 0x8d, 0x93, 0x90, 0xcb, 0x66, 0x85, 0xcd, 0x9b, 0xca, 0x68, 0x0f, 0xea, + 0x27, 0x21, 0x8e, 0x98, 0xb2, 0x83, 0x23, 0xb3, 0xca, 0x9a, 0x65, 0xc8, 0x0e, 0xa0, 0xa5, 0x7c, + 0x9b, 0x84, 0xe8, 0x7b, 0x32, 0x1d, 0xc6, 0xa1, 0xfe, 0xb8, 0xdd, 0x61, 0xb6, 0xcc, 0x70, 0x47, + 0xa6, 0xfc, 0x08, 0xda, 0xcf, 0x5c, 0x6f, 0x8a, 0xc7, 0xba, 0xba, 0x79, 0xdc, 0x3e, 0x81, 0x56, + 0x1f, 0xc7, 0x87, 0xd3, 0x29, 0xc7, 0x28, 0x5b, 0x0b, 0x36, 0x82, 0x84, 0x81, 0xc1, 0x19, 0x04, + 0x12, 0x83, 0x40, 0x62, 0xc0, 0x0d, 0x27, 0x43, 0xf6, 0x18, 0xda, 0xea, 0x84, 0xa5, 0x28, 0x3c, + 0x04, 0xd0, 0x94, 0x97, 0x10, 0xfb, 0x1a, 0x5a, 0x87, 0xa3, 0x51, 0x30, 0xf7, 0xe3, 0xde, 0x25, + 0x1e, 0x5d, 0x51, 0xb5, 0xf7, 0xa1, 0xc5, 0x7e, 0x4b, 0xe3, 0x0c, 0x36, 0x2e, 0x0f, 0x2b, 0x4b, + 0xb4, 0x76, 0xf3, 0x12, 0x55, 0xf4, 0x25, 0xfa, 0x97, 0x01, 0x6d, 0xf5, 0xdb, 0x9c, 0xe1, 0x68, + 0x05, 0x86, 0x59, 0x1f, 0xd4, 0x07, 0x70, 0x30, 0x99, 0x4f, 0xe3, 0x94, 0x61, 0xfd, 0xf1, 0x77, + 0xf8, 0x88, 0xfc, 0xec, 0x9d, 0xa1, 0xe7, 0x4f, 0xa6, 0xcc, 0x25, 0x86, 0xb1, 0x1b, 0xcf, 0x89, + 0x23, 0x0d, 0xb5, 0x4e, 0xa1, 0x9d, 0x6f, 0xa7, 0xae, 0x3d, 0x97, 0x17, 0x50, 0x48, 0xe8, 0x23, + 0x68, 0xb8, 0x7c, 0x72, 0xde, 0x51, 0xd0, 0x57, 0x41, 0xdb, 0x87, 0x66, 0x1f, 0xc7, 0xcc, 0x20, + 0xfe, 0x45, 0x40, 0x6d, 0xfb, 0x10, 0x60, 0x9e, 0x37, 0xab, 0x84, 0xdc, 0xd2, 0xa2, 0xbf, 0x31, + 0x98, 0x13, 0x66, 0x1f, 0x2c, 0x65, 0xd0, 0xcf, 0x61, 0x2b, 0x99, 0x81, 0x69, 0x59, 0x61, 0x26, + 0xfd, 0xa0, 0x43, 0x70, 0xf4, 0x1a, 0x47, 0x67, 0x6e, 0xe8, 0x9d, 0x85, 0x6e, 0xe4, 0xce, 0x48, + 0x27, 0xfd, 0x90, 0x32, 0xc0, 0xfe, 0xda, 0x80, 0xed, 0x57, 0xe1, 0xd8, 0x15, 0xe1, 0x2c, 0xa8, + 0x3f, 0x81, 0x8d, 0x44, 0x14, 0x6a, 0xdc, 0x38, 0x65, 0xda, 0x79, 0x99, 0x4d, 0x02, 0xdd, 0x26, + 0x72, 0x18, 0x3d, 0x03, 0x94, 0xd7, 0xa5, 0x8c, 0x55, 0xec, 0x5f, 0x19, 0x60, 0x0d, 0x71, 0xdc, + 0x9f, 0x06, 0xe7, 0xee, 0xd4, 0xc1, 0xa3, 0xd7, 0x2f, 0x30, 0x21, 0xee, 0x04, 0x9f, 0x84, 0x31, + 0x65, 0xb7, 0xc8, 0x51, 0x96, 0xc6, 0x39, 0x4d, 0x32, 0x93, 0x6c, 0x52, 0x32, 0x39, 0x09, 0x63, + 0xc6, 0xa3, 0xe6, 0x68, 0xb8, 0x7d, 0x02, 0x1f, 0x2c, 0xd4, 0xa1, 0x14, 0xab, 0xbf, 0x18, 0x80, + 0x86, 0x38, 0xee, 0x49, 0xc9, 0x9f, 0xb2, 0xf9, 0x0c, 0xb6, 0x64, 0x48, 0x4c, 0x65, 0x75, 0x94, + 0x22, 0xa1, 0x0c, 0x52, 0xfa, 0x53, 0x4e, 0x7e, 0x10, 0x7b, 0x17, 0xde, 0x88, 0xc9, 0x5f, 0x5c, + 0x87, 0x98, 0x51, 0xaf, 0x39, 0x1a, 0xbe, 0x82, 0x5b, 0xf7, 0xe1, 0xbe, 0xa6, 0x63, 0x29, 0xb6, + 0x7f, 0x37, 0xa0, 0x3d, 0xc4, 0x71, 0x66, 0x50, 0xca, 0x95, 0x7e, 0xff, 0x8d, 0x8f, 0x23, 0x25, + 0x51, 0xcb, 0x10, 0xfa, 0x18, 0x9a, 0xf2, 0xc7, 0xd3, 0x65, 0xcc, 0xa1, 0x34, 0xb8, 0xb5, 0x35, + 0x94, 0x90, 0x42, 0xab, 0x54, 0x57, 0xb3, 0x4a, 0x4d, 0xb7, 0xca, 0x31, 0x6c, 0xe7, 0xb8, 0x94, + 0xb2, 0xc9, 0x2f, 0x0d, 0x40, 0x7d, 0xdd, 0x03, 0x74, 0xce, 0x46, 0x21, 0xe7, 0x9c, 0xf5, 0xd6, + 0x74, 0xeb, 0x2d, 0x5f, 0xdf, 0xdf, 0x1a, 0x70, 0xbf, 0x7f, 0x17, 0x0b, 0xac, 0xf9, 0xed, 0xda, + 0xdb, 0xf9, 0xad, 0xfd, 0x6b, 0x5d, 0x13, 0xb2, 0x9a, 0x8f, 0xd0, 0xa2, 0xa9, 0x58, 0x86, 0x88, + 0x62, 0x9b, 0x87, 0x57, 0xb0, 0xc7, 0xd7, 0x06, 0xec, 0xe8, 0x5a, 0x94, 0x32, 0xc8, 0x53, 0x68, + 0x28, 0xd3, 0x88, 0xfa, 0x78, 0x93, 0x45, 0xd4, 0x01, 0xf6, 0xcf, 0xe0, 0x01, 0xdf, 0x86, 0x94, + 0x30, 0x4a, 0x8e, 0xea, 0x9a, 0x4e, 0xf5, 0xf7, 0x06, 0xec, 0x16, 0x4e, 0xff, 0x8e, 0xd8, 0xfe, + 0xc3, 0x00, 0xb3, 0xeb, 0xc6, 0xa3, 0xcb, 0x61, 0x81, 0x17, 0x68, 0xd3, 0x1b, 0x6f, 0x39, 0xfd, + 0x0a, 0xd1, 0x52, 0x94, 0x23, 0x2a, 0xab, 0xe5, 0x88, 0x82, 0x5d, 0xf0, 0x57, 0xf0, 0xfe, 0x02, + 0x36, 0xa5, 0xec, 0x6b, 0xc2, 0xfa, 0x70, 0x3e, 0x1a, 0x61, 0x92, 0x38, 0x77, 0x22, 0xd2, 0xf2, + 0xc7, 0x77, 0xc4, 0x6c, 0xb7, 0xb0, 0xe9, 0x08, 0xc9, 0x1e, 0x40, 0xc3, 0xc1, 0xc4, 0x9b, 0xf8, + 0x94, 0x9e, 0xa8, 0x93, 0x8c, 0xe9, 0x38, 0xa9, 0x93, 0x5c, 0x5a, 0xc1, 0x55, 0xba, 0xd0, 0x94, + 0xa7, 0x2a, 0x95, 0xec, 0x7e, 0x9c, 0x6e, 0xc8, 0xba, 0xd7, 0x83, 0xf1, 0xed, 0xf4, 0xf9, 0x6b, + 0x05, 0xaa, 0xb4, 0x33, 0xb2, 0x61, 0xeb, 0x34, 0x0a, 0x2e, 0xbc, 0x29, 0x3e, 0xbd, 0x0c, 0xe2, + 0x40, 0x4c, 0xa4, 0x60, 0x74, 0x0f, 0xf3, 0xd2, 0x1b, 0x5d, 0xf9, 0xee, 0x0c, 0x27, 0x7b, 0x98, + 0x44, 0x96, 0x54, 0xa8, 0x28, 0x2a, 0x3c, 0x04, 0xe8, 0x45, 0xd8, 0x8d, 0xf1, 0x17, 0xde, 0x0c, + 0x8b, 0xd5, 0x95, 0x10, 0xaa, 0xe2, 0xe9, 0x65, 0xe0, 0xe3, 0x97, 0xf3, 0xd9, 0x39, 0x8e, 0x92, + 0x12, 0x21, 0x41, 0x68, 0x07, 0x6a, 0xc7, 0x33, 0xd7, 0x9b, 0x9a, 0xf7, 0x58, 0x1b, 0x17, 0x28, + 0xda, 0xf5, 0xa2, 0xf8, 0xd2, 0x5c, 0xe7, 0x28, 0x13, 0xa8, 0x86, 0x7c, 0xee, 0x41, 0x68, 0x6e, + 0x70, 0x0d, 0x13, 0x99, 0xee, 0x76, 0x9f, 0xbb, 0x24, 0x7e, 0x1e, 0x4c, 0x3c, 0x9f, 0x29, 0xb3, + 0xc9, 0x77, 0xbb, 0x0a, 0x48, 0xf5, 0x49, 0x81, 0x41, 0x68, 0x02, 0xd7, 0x47, 0x82, 0x28, 0xa3, + 0xb4, 0x3b, 0x31, 0xeb, 0xbc, 0x40, 0x66, 0x08, 0xb5, 0x44, 0x1f, 0xfb, 0x63, 0x1c, 0x99, 0x5b, + 0xac, 0x4d, 0x48, 0xe9, 0xb8, 0xe7, 0xde, 0xcc, 0x8b, 0xcd, 0x86, 0x34, 0x8e, 0x21, 0xd4, 0x2f, + 0x07, 0xa4, 0x3b, 0x0d, 0x46, 0x57, 0x66, 0x73, 0xcf, 0xd8, 0xdf, 0x70, 0x12, 0x91, 0x97, 0xe4, + 0x89, 0x47, 0x62, 0x1c, 0x0d, 0x42, 0xb3, 0xc5, 0x6d, 0x98, 0x21, 0xf6, 0x28, 0xdd, 0x30, 0x73, + 0x87, 0x28, 0x79, 0xc6, 0x62, 0xa7, 0x70, 0x51, 0x6d, 0x80, 0xf7, 0x65, 0x5e, 0xca, 0x70, 0xfb, + 0x8f, 0x06, 0x6c, 0x8b, 0xaf, 0x90, 0xee, 0xf5, 0x4b, 0x77, 0x86, 0xc5, 0xe9, 0x90, 0x22, 0x54, + 0x4c, 0x4e, 0x87, 0x89, 0x8c, 0x8e, 0x00, 0x4e, 0xdd, 0x89, 0xe7, 0xcb, 0x55, 0xec, 0xa3, 0x82, + 0xdd, 0xb2, 0x83, 0xbf, 0x9c, 0x63, 0x12, 0x67, 0x7d, 0x1d, 0x69, 0xdc, 0x0a, 0x95, 0xe6, 0x4f, + 0xbc, 0xf8, 0x2b, 0x9a, 0x91, 0x10, 0xed, 0x41, 0x8d, 0x2a, 0x9e, 0x24, 0x38, 0x99, 0x11, 0x6f, + 0x40, 0xc7, 0x05, 0x0a, 0x7e, 0xbb, 0x50, 0x41, 0x12, 0x06, 0x3e, 0xc1, 0x0b, 0x34, 0x4c, 0x6c, + 0x30, 0x9f, 0x11, 0x91, 0xe5, 0x52, 0xd9, 0xfe, 0xaf, 0x01, 0x5b, 0x87, 0xd3, 0x98, 0x67, 0xc6, + 0x5b, 0x85, 0x6a, 0x3e, 0x52, 0x2a, 0x7a, 0xa4, 0xc8, 0xf1, 0x59, 0xcd, 0xc5, 0x67, 0x1a, 0x45, + 0x35, 0x39, 0x8a, 0x32, 0x5f, 0xe5, 0xc1, 0x95, 0xf8, 0x6a, 0x71, 0x74, 0xed, 0x40, 0x8d, 0x27, + 0x07, 0x1e, 0x5a, 0xb5, 0x34, 0x2b, 0x88, 0x93, 0xcc, 0x58, 0x84, 0x54, 0x2a, 0xdb, 0x87, 0xd0, + 0x90, 0xd8, 0x97, 0xf1, 0x4b, 0xfb, 0x0f, 0x06, 0xd4, 0x93, 0xd5, 0x4d, 0x0a, 0xb6, 0x64, 0x28, + 0x43, 0x37, 0xd4, 0xdd, 0xf8, 0x9d, 0xec, 0xd9, 0x15, 0xd5, 0xb3, 0xed, 0xbf, 0x19, 0xb0, 0x95, + 0xe9, 0x74, 0xcb, 0x70, 0xab, 0x14, 0x85, 0x5b, 0xce, 0x37, 0x2b, 0x77, 0xe1, 0x9b, 0xd5, 0x9c, + 0x6f, 0xfe, 0xdb, 0x00, 0x38, 0x1c, 0x8f, 0x13, 0xcf, 0x5c, 0x6e, 0xd8, 0x9c, 0x07, 0xae, 0xe9, + 0x1e, 0xb8, 0xa8, 0x0a, 0x20, 0xa8, 0x4a, 0x5e, 0x59, 0x7d, 0x87, 0x1e, 0xf9, 0x39, 0xd4, 0x53, + 0xce, 0xa5, 0xfc, 0xf1, 0x77, 0x06, 0x6c, 0xb1, 0xb4, 0xbc, 0x2c, 0xa2, 0x3f, 0x86, 0xe6, 0xb1, + 0x3f, 0x3e, 0xf2, 0x88, 0x7b, 0x3e, 0xe5, 0xd5, 0x4f, 0x1c, 0xb8, 0x54, 0x74, 0x79, 0x82, 0x53, + 0xf8, 0x54, 0xf5, 0x08, 0x93, 0xb4, 0x29, 0xc5, 0xe8, 0x02, 0x9a, 0xaf, 0xfc, 0x95, 0x28, 0x2d, + 0x4f, 0x52, 0xb2, 0xaa, 0x95, 0x9c, 0xaa, 0x3d, 0x68, 0x29, 0xdf, 0x29, 0xa5, 0xec, 0x9f, 0x0d, + 0x76, 0xa3, 0x98, 0x4e, 0xc3, 0x72, 0x82, 0x1a, 0xf1, 0xc6, 0xdd, 0x54, 0x9a, 0x02, 0x76, 0xb6, + 0xb4, 0xf4, 0x2f, 0xe7, 0x33, 0x91, 0xed, 0x15, 0xcc, 0xfe, 0x0a, 0x36, 0x53, 0x99, 0x46, 0x39, + 0xfd, 0x2f, 0x54, 0x52, 0xa2, 0x9c, 0xb5, 0x3f, 0x82, 0x76, 0x17, 0x4f, 0x3c, 0x5f, 0xf7, 0x12, + 0x0d, 0x2f, 0xf0, 0xa7, 0x4a, 0x91, 0x3f, 0xd9, 0xff, 0xe4, 0x85, 0x5a, 0xb6, 0x50, 0xa9, 0x0c, + 0x75, 0x00, 0x90, 0xcd, 0x21, 0xf2, 0x54, 0x8b, 0x8f, 0xc8, 0x16, 0x51, 0xea, 0xf2, 0xff, 0x48, + 0x59, 0xa7, 0xec, 0x64, 0x9b, 0x7e, 0x33, 0xd9, 0xff, 0xee, 0xc2, 0x3a, 0x15, 0xcf, 0xbc, 0xb7, + 0xdf, 0x00, 0x1f, 0xb3, 0x53, 0x6a, 0x6e, 0x46, 0x12, 0xa2, 0xef, 0x4a, 0xcb, 0x28, 0x6a, 0x88, + 0x46, 0x3e, 0xeb, 0x61, 0x5f, 0x40, 0x23, 0xbb, 0xa9, 0xbf, 0x9d, 0x4a, 0x37, 0xc6, 0x50, 0x57, + 0x7e, 0x8d, 0x28, 0xb7, 0xb0, 0x8f, 0xff, 0x53, 0xe7, 0xb5, 0x07, 0x7d, 0x9a, 0x56, 0x56, 0x76, + 0x45, 0xb9, 0xc3, 0x47, 0xa9, 0x97, 0xbd, 0xd6, 0x7b, 0x05, 0x28, 0x09, 0x51, 0x0f, 0x9a, 0xea, + 0x8d, 0x24, 0xda, 0x15, 0xde, 0x9d, 0xbf, 0x33, 0xb5, 0xcc, 0xe2, 0x06, 0x12, 0xa2, 0x9f, 0xc3, + 0xee, 0x82, 0x9b, 0x40, 0xb4, 0xc7, 0x07, 0x2d, 0xbe, 0xac, 0xb4, 0x3e, 0x5c, 0xd2, 0x83, 0x84, + 0x94, 0xa0, 0xf4, 0x7e, 0x92, 0x10, 0x54, 0x9f, 0x73, 0x12, 0x82, 0xf9, 0x87, 0x96, 0x1f, 0xb1, + 0x12, 0x9f, 0xbe, 0x5c, 0xa0, 0xcc, 0x0e, 0xf2, 0xf3, 0x88, 0xf5, 0xa0, 0x08, 0xe6, 0xc3, 0xe5, + 0x8b, 0xfb, 0x64, 0x78, 0xee, 0x99, 0x22, 0x19, 0xae, 0xbd, 0x20, 0x3c, 0x63, 0x5b, 0x7a, 0xe5, + 0x3a, 0xd2, 0x4c, 0xbf, 0x94, 0xbb, 0xe6, 0xb2, 0xde, 0x5f, 0xd0, 0x42, 0x42, 0xe4, 0xb0, 0x80, + 0xc9, 0xdf, 0x4c, 0xa0, 0x6f, 0xc8, 0x5a, 0xe7, 0xaf, 0x08, 0xac, 0x6f, 0xde, 0xd0, 0x4a, 0x42, + 0x34, 0x60, 0x19, 0x58, 0x9d, 0xb0, 0x58, 0x05, 0x36, 0x9b, 0xb5, 0xa8, 0x89, 0x84, 0xe8, 0x27, + 0xf0, 0x5e, 0xe1, 0xd1, 0x1e, 0x3d, 0x14, 0xb1, 0xb6, 0xe0, 0x16, 0xc3, 0xfa, 0xd6, 0x8d, 0xed, + 0xdc, 0x80, 0xc3, 0x62, 0x03, 0x0e, 0x17, 0x1a, 0xb0, 0xe8, 0x7e, 0xf6, 0x29, 0x34, 0x94, 0x0b, + 0x4a, 0xf4, 0x20, 0xed, 0xab, 0xdc, 0xc0, 0x5a, 0xbb, 0x85, 0x38, 0x77, 0x42, 0xe9, 0x74, 0x96, + 0x8b, 0x32, 0x91, 0xc1, 0x72, 0x51, 0x96, 0x66, 0xa1, 0x5e, 0x7a, 0xd4, 0x17, 0x27, 0x9b, 0x24, + 0xca, 0xb4, 0x93, 0x98, 0x65, 0x16, 0x37, 0x90, 0x10, 0x3d, 0x61, 0x6f, 0x4b, 0xe2, 0xce, 0x01, + 0xdd, 0xe7, 0xfd, 0x94, 0x0b, 0x0d, 0x6b, 0x47, 0x07, 0x49, 0x88, 0x7e, 0x00, 0x9b, 0xe9, 0xee, + 0x1d, 0x21, 0xe1, 0xa9, 0xd2, 0x61, 0xc6, 0xba, 0xaf, 0x61, 0x24, 0x44, 0x9f, 0xc0, 0x46, 0xa2, + 0x04, 0xda, 0x56, 0x95, 0xa2, 0x63, 0x50, 0x1e, 0x22, 0x21, 0xea, 0xc0, 0xba, 0xd8, 0x94, 0x21, + 0x91, 0xba, 0xb2, 0x7d, 0xa9, 0xb5, 0x9d, 0x43, 0xb8, 0x62, 0x59, 0x8d, 0x45, 0xf9, 0xb4, 0x9c, + 0x29, 0xa6, 0x6e, 0x36, 0x3e, 0x85, 0xba, 0xb4, 0xff, 0x48, 0x16, 0x42, 0xdd, 0xfa, 0x24, 0x0b, + 0x91, 0xdf, 0xa8, 0x3c, 0x85, 0x86, 0x52, 0x53, 0x51, 0x16, 0xf7, 0xca, 0x56, 0xc4, 0xda, 0x2d, + 0xc4, 0xd3, 0xa8, 0x51, 0x0a, 0x8d, 0x14, 0x35, 0xf9, 0x92, 0x26, 0x45, 0x8d, 0x5e, 0x9b, 0x9e, + 0x00, 0x64, 0xd9, 0x2a, 0x59, 0x50, 0xa5, 0xfc, 0x58, 0x3b, 0x3a, 0x48, 0xc2, 0x6e, 0xe3, 0xa7, + 0xf5, 0x0e, 0x7b, 0x77, 0xff, 0x21, 0xfd, 0x73, 0x7e, 0x8f, 0xbd, 0x90, 0x7f, 0xff, 0x7f, 0x01, + 0x00, 0x00, 0xff, 0xff, 0xb3, 0xba, 0x11, 0x76, 0x90, 0x1f, 0x00, 0x00, +} diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index de5367105..a404a0c9e 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -1,5 +1,6 @@ syntax = "proto3"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; +import "Open_IM/pkg/proto/conversation/conversation.proto"; option go_package = "./user;user"; package user; @@ -75,25 +76,8 @@ message SetGlobalRecvMessageOptResp{ CommonResp commonResp = 1; } -message Conversation{ - string OwnerUserID = 1; - string ConversationID = 2; - int32 RecvMsgOpt = 3; - int32 ConversationType = 4; - string UserID = 5; - string GroupID = 6; - int32 UnreadCount = 7; - int64 DraftTextTime = 8; - bool IsPinned = 9; - string AttachedInfo = 10; - bool IsPrivateChat = 11; - int32 GroupAtType = 12; - bool IsNotInGroup = 13; - string Ex = 14; -} - message SetConversationReq{ - Conversation Conversation = 1; + conversation.Conversation Conversation = 1; int32 notificationType = 2; string OperationID = 3; } @@ -122,7 +106,7 @@ message GetConversationReq{ message GetConversationResp{ CommonResp commonResp = 1; - Conversation Conversation = 2; + conversation.Conversation Conversation = 2; } message GetConversationsReq{ @@ -133,7 +117,7 @@ message GetConversationsReq{ message GetConversationsResp{ CommonResp commonResp = 1; - repeated Conversation Conversations = 2; + repeated conversation.Conversation Conversations = 2; } message GetAllConversationsReq{ @@ -143,11 +127,11 @@ message GetAllConversationsReq{ message GetAllConversationsResp{ CommonResp commonResp = 1; - repeated Conversation Conversations = 2; + repeated conversation.Conversation Conversations = 2; } message BatchSetConversationsReq{ - repeated Conversation Conversations = 1; + repeated conversation.Conversation Conversations = 1; string OwnerUserID = 2; int32 notificationType = 3; string OperationID = 4; @@ -188,6 +172,7 @@ message User{ int32 Gender = 12; int32 LoginLimit = 13; bool IsBlock = 14; + string RegisterIp = 15; } message GetUserByIdResp{ @@ -210,10 +195,13 @@ message GetUsersByNameResp { message AlterUserReq{ string UserId = 1; string OperationID = 2; - int64 PhoneNumber = 3; + string PhoneNumber = 3; string Nickname = 4; string Email = 5; - string OpUserId = 6; + string Gender = 6; + string Birth =7; + string Photo = 8; + string OpUserId = 9; } message AlterUserResp{ @@ -238,7 +226,11 @@ message AddUserReq{ string PhoneNumber = 2; string UserId = 3; string name = 4; - string OpUserId = 5; + string Email = 5; + string Gender = 6; + string Birth =7; + string Photo = 8; + string OpUserId = 9; } message AddUserResp{ From 9590d2865ad4cd2a61b7002efc03a092d9050e8d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 23 Aug 2022 19:08:20 +0800 Subject: [PATCH 04/44] conversation --- internal/push/getui/push.go | 10 +++++++++- internal/rpc/group/group.go | 17 +++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/internal/push/getui/push.go b/internal/push/getui/push.go index 93a55b084..7f7012bb2 100644 --- a/internal/push/getui/push.go +++ b/internal/push/getui/push.go @@ -102,7 +102,10 @@ type Options struct { } `json:"HW"` XM struct { ChannelID string `json:"/extra.channel_id"` - } `json:""` + } `json:"XM"` + VV struct { + Classification int `json:"/classification"` + } `json:"VV"` } type PushResp struct { @@ -156,6 +159,11 @@ func (g *Getui) Push(userIDList []string, alert, detailContent, operationID stri XM: struct { ChannelID string `json:"/extra.channel_id"` }{ChannelID: "high_system"}, + VV: struct { + Classification int "json:\"/classification\"" + }{ + Classification: 1, + }, } pushResp := PushResp{} err = g.request(PushURL, pushReq, token, &pushResp, operationID) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index b93720f32..f8e953c68 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/db/rocks_cache" + rocksCache "Open_IM/pkg/common/db/rocks_cache" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" @@ -19,12 +19,13 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "google.golang.org/grpc" "math/big" "net" "strconv" "strings" "time" + + "google.golang.org/grpc" ) type groupServer struct { @@ -381,7 +382,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite haveConUserID = append(haveConUserID, v.OwnerUserID) } var reqPb pbUser.SetConversationReq - var c pbUser.Conversation + var c pbConversation.Conversation for _, v := range conversations { reqPb.OperationID = req.OperationID c.OwnerUserID = v.OwnerUserID @@ -634,7 +635,7 @@ func (s *groupServer) KickGroupMember(ctx context.Context, req *pbGroup.KickGrou } } var reqPb pbUser.SetConversationReq - var c pbUser.Conversation + var c pbConversation.Conversation for _, v := range okUserIDList { reqPb.OperationID = req.OperationID c.OwnerUserID = v @@ -867,7 +868,7 @@ func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.G } var reqPb pbUser.SetConversationReq reqPb.OperationID = req.OperationID - var c pbUser.Conversation + var c pbConversation.Conversation conversation, err := imdb.GetConversation(req.FromUserID, utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType)) if err != nil { c.OwnerUserID = req.FromUserID @@ -1061,7 +1062,7 @@ func (s *groupServer) QuitGroup(ctx context.Context, req *pbGroup.QuitGroupReq) } //modify quitter conversation info var reqPb pbUser.SetConversationReq - var c pbUser.Conversation + var c pbConversation.Conversation reqPb.OperationID = req.OperationID c.OwnerUserID = req.OpUserID c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) @@ -1515,7 +1516,7 @@ func (s *groupServer) RemoveGroupMembersCMS(_ context.Context, req *pbGroup.Remo OpUserID: req.OpUserID, } var reqPb pbUser.SetConversationReq - var c pbUser.Conversation + var c pbConversation.Conversation for _, v := range resp.Success { reqPb.OperationID = req.OperationID c.OwnerUserID = v @@ -1700,7 +1701,7 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou } //modify quitter conversation info var reqPb pbUser.SetConversationReq - var c pbUser.Conversation + var c pbConversation.Conversation for _, v := range memberList { reqPb.OperationID = req.OperationID c.OwnerUserID = v.UserID From 3739127044e98388ffeec26ff7b2731a4092fdf2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 23 Aug 2022 19:17:52 +0800 Subject: [PATCH 05/44] conversation --- pkg/base_info/conversation_api_struct.go | 29 ++++++++++++------------ 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/pkg/base_info/conversation_api_struct.go b/pkg/base_info/conversation_api_struct.go index 30890f7eb..e1307bb16 100644 --- a/pkg/base_info/conversation_api_struct.go +++ b/pkg/base_info/conversation_api_struct.go @@ -33,20 +33,21 @@ type SetReceiveMessageOptResp struct { } type Conversation struct { - OwnerUserID string `json:"ownerUserID" binding:"required"` - ConversationID string `json:"conversationID" binding:"required"` - ConversationType int32 `json:"conversationType" binding:"required"` - UserID string `json:"userID"` - GroupID string `json:"groupID"` - RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` - UnreadCount int32 `json:"unreadCount" binding:"omitempty"` - DraftTextTime int64 `json:"draftTextTime"` - IsPinned bool `json:"isPinned" binding:"omitempty"` - IsPrivateChat bool `json:"isPrivateChat"` - GroupAtType int32 `json:"groupAtType"` - IsNotInGroup bool `json:"isNotInGroup"` - AttachedInfo string `json:"attachedInfo"` - Ex string `json:"ex"` + OwnerUserID string `json:"ownerUserID" binding:"required"` + ConversationID string `json:"conversationID" binding:"required"` + ConversationType int32 `json:"conversationType" binding:"required"` + UserID string `json:"userID"` + GroupID string `json:"groupID"` + RecvMsgOpt int32 `json:"recvMsgOpt" binding:"omitempty,oneof=0 1 2"` + UnreadCount int32 `json:"unreadCount" binding:"omitempty"` + DraftTextTime int64 `json:"draftTextTime"` + IsPinned bool `json:"isPinned" binding:"omitempty"` + IsPrivateChat bool `json:"isPrivateChat"` + GroupAtType int32 `json:"groupAtType"` + UpdateUnreadCountTime int64 `json:"updateUnreadCountTime"` + IsNotInGroup bool `json:"isNotInGroup"` + AttachedInfo string `json:"attachedInfo"` + Ex string `json:"ex"` } type SetConversationReq struct { From 3886d49b0a745910974df8aa1f9728739cf6b9ea Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 26 Aug 2022 17:51:01 +0800 Subject: [PATCH 06/44] admin cms --- cmd/open_im_api/main.go | 1 + cmd/rpc/open_im_message_cms/Makefile | 23 - cmd/rpc/open_im_message_cms/main.go | 17 - cmd/rpc/open_im_statistics/Makefile | 23 - cmd/rpc/open_im_statistics/main.go | 17 - internal/api/user/user.go | 54 + internal/cms_api/message_cms/message.go | 95 +- internal/cms_api/router.go | 24 - internal/cms_api/user/user.go | 205 --- internal/rpc/admin_cms/admin_cms.go | 423 ++++- internal/rpc/message_cms/message_cms.go | 182 -- internal/rpc/statistics/statistics.go | 399 ---- internal/rpc/user/user.go | 323 +--- pkg/base_info/common.go | 11 + pkg/base_info/manage_api_struct.go | 21 + pkg/cms_api_struct/common.go | 9 +- pkg/cms_api_struct/message_cms.go | 56 +- pkg/common/db/model_struct.go | 14 +- .../mysql_model/im_mysql_model/user_model.go | 65 +- pkg/common/db/rocks_cache/rocks_cache.go | 65 +- pkg/proto/admin_cms/admin_cms.pb.go | 1521 +++++++++++++++- pkg/proto/admin_cms/admin_cms.proto | 154 +- pkg/proto/base/base.proto | 5 - pkg/proto/message_cms/message_cms.pb.go | 1083 ----------- pkg/proto/message_cms/message_cms.proto | 71 - pkg/proto/statistics/statistics.pb.go | 1498 --------------- pkg/proto/statistics/statistics.proto | 93 - pkg/proto/user/user.pb.go | 1598 +++-------------- pkg/proto/user/user.proto | 155 +- script/check_all.sh | 2 - script/path_info.cfg | 4 - script/start_rpc_service.sh | 4 - 32 files changed, 2590 insertions(+), 5625 deletions(-) delete mode 100644 cmd/rpc/open_im_message_cms/Makefile delete mode 100644 cmd/rpc/open_im_message_cms/main.go delete mode 100644 cmd/rpc/open_im_statistics/Makefile delete mode 100644 cmd/rpc/open_im_statistics/main.go delete mode 100644 internal/rpc/message_cms/message_cms.go delete mode 100644 internal/rpc/statistics/statistics.go create mode 100644 pkg/base_info/common.go delete mode 100644 pkg/proto/base/base.proto delete mode 100644 pkg/proto/message_cms/message_cms.pb.go delete mode 100644 pkg/proto/message_cms/message_cms.proto delete mode 100644 pkg/proto/statistics/statistics.pb.go delete mode 100644 pkg/proto/statistics/statistics.proto diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 6b9b5894b..5154841c2 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -64,6 +64,7 @@ func main() { userRouterGroup.POST("/get_all_users_uid", manage.GetAllUsersUid) //1 userRouterGroup.POST("/account_check", manage.AccountCheck) //1 // userRouterGroup.POST("/get_users_online_status", manage.GetUsersOnlineStatus) //1 + userRouterGroup.POST("/get_users", user.GetUsers) } //friend routing group friendRouterGroup := r.Group("/friend") diff --git a/cmd/rpc/open_im_message_cms/Makefile b/cmd/rpc/open_im_message_cms/Makefile deleted file mode 100644 index 4ac4cba3a..000000000 --- a/cmd/rpc/open_im_message_cms/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -.PHONY: all build run gotool install clean help - -BINARY_NAME=open_im_message_cms -BIN_DIR=../../../bin/ - -all: gotool build - -build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" - -run: - @go run ./ - -gotool: - go fmt ./ - go vet ./ - -install: - make build - mv ${BINARY_NAME} ${BIN_DIR} - -clean: - @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/cmd/rpc/open_im_message_cms/main.go b/cmd/rpc/open_im_message_cms/main.go deleted file mode 100644 index 9c39a99e4..000000000 --- a/cmd/rpc/open_im_message_cms/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - rpcMessageCMS "Open_IM/internal/rpc/message_cms" - "Open_IM/pkg/common/config" - "flag" - "fmt" -) - -func main() { - defaultPorts := config.Config.RpcPort.OpenImMessageCmsPort[0] - rpcPort := flag.Int("port", defaultPorts, "rpc listening port") - flag.Parse() - fmt.Println("start msg cms rpc server, port: ", *rpcPort) - rpcServer := rpcMessageCMS.NewMessageCMSServer(*rpcPort) - rpcServer.Run() -} diff --git a/cmd/rpc/open_im_statistics/Makefile b/cmd/rpc/open_im_statistics/Makefile deleted file mode 100644 index 37dbb3efe..000000000 --- a/cmd/rpc/open_im_statistics/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -.PHONY: all build run gotool install clean help - -BINARY_NAME=open_im_statistics -BIN_DIR=../../../bin/ - -all: gotool build - -build: - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" - -run: - @go run ./ - -gotool: - go fmt ./ - go vet ./ - -install: - make build - mv ${BINARY_NAME} ${BIN_DIR} - -clean: - @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/cmd/rpc/open_im_statistics/main.go b/cmd/rpc/open_im_statistics/main.go deleted file mode 100644 index f9b0e8539..000000000 --- a/cmd/rpc/open_im_statistics/main.go +++ /dev/null @@ -1,17 +0,0 @@ -package main - -import ( - "Open_IM/internal/rpc/statistics" - "Open_IM/pkg/common/config" - "flag" - "fmt" -) - -func main() { - defaultPorts := config.Config.RpcPort.OpenImStatisticsPort - rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port") - flag.Parse() - fmt.Println("start statistics rpc server, port: ", *rpcPort) - rpcServer := statistics.NewStatisticsServer(*rpcPort) - rpcServer.Run() -} diff --git a/internal/api/user/user.go b/internal/api/user/user.go index bef11c3a9..f39419f28 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -456,3 +456,57 @@ func GetUsersOnlineStatus(c *gin.Context) { log.NewInfo(req.OperationID, "GetUsersOnlineStatus api return", resp) c.JSON(http.StatusOK, resp) } + +func GetUsers(c *gin.Context) { + var ( + req api.GetUsersReq + resp api.GetUsersResp + reqPb rpc.GetUsersReq + ) + + if err := c.Bind(&req); err != nil { + log.NewError(req.OperationID, "Bind failed ", err.Error(), req) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + + var ok bool + var errInfo string + ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) + + reqPb.OperationID = req.OperationID + reqPb.UserID = req.UserID + reqPb.UserName = req.UserName + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) + if etcdConn == nil { + errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(reqPb.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + client := rpc.NewUserClient(etcdConn) + respPb, err := client.GetUsers(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + + utils.CopyStructFields(&resp.Data.UserList, respPb.UserList) + resp.CommResp.ErrCode = respPb.CommonResp.ErrCode + resp.CommResp.ErrMsg = respPb.CommonResp.ErrMsg + resp.Data.TotalNum = respPb.TotalNums + resp.Data.CurrentPage = respPb.Pagination.CurrentPage + resp.Data.ShowNumber = respPb.Pagination.ShowNumber + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) + return +} diff --git a/internal/cms_api/message_cms/message.go b/internal/cms_api/message_cms/message.go index 6cfda0ebc..d5dfadc92 100644 --- a/internal/cms_api/message_cms/message.go +++ b/internal/cms_api/message_cms/message.go @@ -6,7 +6,7 @@ import ( openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbMessage "Open_IM/pkg/proto/message_cms" + pbAdminCMS "Open_IM/pkg/proto/admin_cms" pbCommon "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" @@ -18,77 +18,11 @@ import ( "github.com/gin-gonic/gin" ) -func BroadcastMessage(c *gin.Context) { - var ( - reqPb pbMessage.BoradcastMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.BoradcastMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func MassSendMassage(c *gin.Context) { - var ( - reqPb pbMessage.MassSendMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.MassSendMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func WithdrawMessage(c *gin.Context) { - var ( - reqPb pbMessage.WithdrawMessageReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbMessage.NewMessageCMSClient(etcdConn) - _, err := client.WithdrawMessage(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - func GetChatLogs(c *gin.Context) { var ( - req cms_api_struct.GetChatLogsRequest - resp cms_api_struct.GetChatLogsResponse - reqPb pbMessage.GetChatLogsReq + req cms_api_struct.GetChatLogsReq + resp cms_api_struct.GetChatLogsResp + reqPb pbAdminCMS.GetChatLogsReq ) if err := c.ShouldBindQuery(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) @@ -108,28 +42,17 @@ func GetChatLogs(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pbMessage.NewMessageCMSClient(etcdConn) + client := pbAdminCMS.NewAdminCMSClient(etcdConn) respPb, err := client.GetChatLogs(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) openIMHttp.RespHttp200(c, err, resp) return } - //utils.CopyStructFields(&resp, &respPb) - for _, chatLog := range respPb.ChatLogs { - resp.ChatLogs = append(resp.ChatLogs, cms_api_struct.ChatLog{ - SessionType: int(chatLog.SessionType), - ContentType: int(chatLog.ContentType), - SenderNickName: chatLog.SenderNickName, - SenderId: chatLog.SenderId, - SearchContent: chatLog.SearchContent, - WholeContent: chatLog.WholeContent, - ReceiverNickName: chatLog.ReciverNickName, - ReceiverID: chatLog.ReciverId, - GroupName: chatLog.GroupName, - GroupId: chatLog.GroupId, - Date: chatLog.Date, - }) + for _, v := range respPb.ChatLogs { + chatLog := pbCommon.MsgData{} + utils.CopyStructFields(&chatLog, v) + resp.ChatLogs = append(resp.ChatLogs, &chatLog) } resp.ShowNumber = int(respPb.Pagination.ShowNumber) resp.CurrentPage = int(respPb.Pagination.CurrentPage) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index b21e4a2a0..9a8cdfc0c 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -5,7 +5,6 @@ import ( "Open_IM/internal/cms_api/group" messageCMS "Open_IM/internal/cms_api/message_cms" "Open_IM/internal/cms_api/middleware" - "Open_IM/internal/cms_api/organization" "Open_IM/internal/cms_api/statistics" "Open_IM/internal/cms_api/user" @@ -35,20 +34,6 @@ func NewGinRouter() *gin.Engine { statisticsRouterGroup.GET("/get_active_user", statistics.GetActiveUser) statisticsRouterGroup.GET("/get_active_group", statistics.GetActiveGroup) } - organizationRouterGroup := r2.Group("/organization") - { - organizationRouterGroup.GET("/get_staffs", organization.GetStaffs) - organizationRouterGroup.GET("/get_organizations", organization.GetOrganizations) - organizationRouterGroup.GET("/get_squad", organization.GetSquads) - organizationRouterGroup.POST("/add_organization", organization.AddOrganization) - organizationRouterGroup.POST("/alter_staff", organization.AlterStaff) - organizationRouterGroup.GET("/inquire_organization", organization.InquireOrganization) - organizationRouterGroup.POST("/alter_organization", organization.AlterOrganization) - organizationRouterGroup.POST("/delete_organization", organization.DeleteOrganization) - organizationRouterGroup.POST("/get_organization_squad", organization.GetOrganizationSquads) - organizationRouterGroup.PATCH("/alter_corps_info", organization.AlterStaffsInfo) - organizationRouterGroup.POST("/add_child_org", organization.AddChildOrganization) - } groupRouterGroup := r2.Group("/group") { groupRouterGroup.GET("/get_group_by_id", group.GetGroupByID) @@ -65,24 +50,15 @@ func NewGinRouter() *gin.Engine { } userRouterGroup := r2.Group("/user") { - userRouterGroup.POST("/resign", user.ResignUser) - userRouterGroup.GET("/get_user", user.GetUserById) - userRouterGroup.POST("/alter_user", user.AlterUser) - userRouterGroup.GET("/get_users", user.GetUsers) userRouterGroup.POST("/add_user", user.AddUser) userRouterGroup.POST("/unblock_user", user.UnblockUser) userRouterGroup.POST("/block_user", user.BlockUser) userRouterGroup.GET("/get_block_users", user.GetBlockUsers) userRouterGroup.GET("/get_block_user", user.GetBlockUserById) - userRouterGroup.POST("/delete_user", user.DeleteUser) - userRouterGroup.GET("/get_users_by_name", user.GetUsersByName) } messageCMSRouterGroup := r2.Group("/message") { messageCMSRouterGroup.GET("/get_chat_logs", messageCMS.GetChatLogs) - messageCMSRouterGroup.POST("/broadcast_message", messageCMS.BroadcastMessage) - messageCMSRouterGroup.POST("/mass_send_message", messageCMS.MassSendMassage) - messageCMSRouterGroup.POST("/withdraw_message", messageCMS.WithdrawMessage) } return baseRouter } diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index f6d2071ad..73ed0edd5 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -18,181 +18,6 @@ import ( "github.com/gin-gonic/gin" ) -func GetUserById(c *gin.Context) { - var ( - req cms_api_struct.GetUserRequest - resp cms_api_struct.GetUserResponse - reqPb pb.GetUserByIdReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUserById(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - if respPb.User.UserId == "" { - openIMHttp.RespHttp200(c, constant.OK, nil) - return - } - utils.CopyStructFields(&resp, respPb.User) - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetUsersByName(c *gin.Context) { - var ( - req cms_api_struct.GetUsersByNameRequest - resp cms_api_struct.GetUsersByNameResponse - reqPb pb.GetUsersByNameReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.UserName = req.UserName - reqPb.Pagination = &commonPb.RequestPagination{ - PageNumber: int32(req.PageNumber), - ShowNumber: int32(req.ShowNumber), - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUsersByName(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "rpc", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - utils.CopyStructFields(&resp.Users, respPb.Users) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.CurrentPage = int(respPb.Pagination.CurrentPage) - resp.UserNums = respPb.UserNums - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetUsers(c *gin.Context) { - var ( - req cms_api_struct.GetUsersRequest - resp cms_api_struct.GetUsersResponse - reqPb pb.GetUsersReq - ) - reqPb.Pagination = &commonPb.RequestPagination{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb.Pagination, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetUsers(context.Background(), &reqPb) - if err != nil { - openIMHttp.RespHttp200(c, err, resp) - return - } - utils.CopyStructFields(&resp.Users, respPb.User) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.CurrentPage = int(respPb.Pagination.CurrentPage) - resp.UserNums = respPb.UserNums - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) - -} - -func ResignUser(c *gin.Context) { - var ( - req cms_api_struct.ResignUserRequest - resp cms_api_struct.ResignUserResponse - reqPb pb.ResignUserReq - ) - if err := c.ShouldBind(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": http.StatusBadRequest, "errMsg": err.Error()}) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.ResignUser(context.Background(), &reqPb) - if err != nil { - openIMHttp.RespHttp200(c, err, resp) - } - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func AlterUser(c *gin.Context) { - var ( - req cms_api_struct.AlterUserRequest - resp cms_api_struct.AlterUserResponse - reqPb pb.AlterUserReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - utils.CopyStructFields(&reqPb, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.AlterUser(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "microserver failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - func AddUser(c *gin.Context) { var ( req cms_api_struct.AddUserRequest @@ -374,33 +199,3 @@ func GetBlockUserById(c *gin.Context) { log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) openIMHttp.RespHttp200(c, constant.OK, resp) } - -func DeleteUser(c *gin.Context) { - var ( - req cms_api_struct.DeleteUserRequest - reqPb pb.DeleteUserReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserId = req.UserId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - _, err := client.DeleteUser(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "DeleteUser rpc failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 19e2dc46b..34871c135 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -3,8 +3,8 @@ package admin_cms import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -15,6 +15,8 @@ import ( "net" "strconv" "strings" + "sync" + "time" "google.golang.org/grpc" ) @@ -81,23 +83,26 @@ func (s *adminCMSServer) Run() { func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLoginReq) (*pbAdminCMS.AdminLoginResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.AdminLoginResp{} + resp := &pbAdminCMS.AdminLoginResp{CommonResp: &pbAdminCMS.CommonResp{}} for i, adminID := range config.Config.Manager.AppManagerUid { if adminID == req.AdminID && config.Config.Manager.Secrets[i] == req.Secret { token, expTime, err := token_verify.CreateToken(adminID, constant.SingleChatType) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "generate token success", "token: ", token, "expTime:", expTime) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "generate token failed", "adminID: ", adminID, err.Error()) - return resp, openIMHttp.WrapError(constant.ErrTokenUnknown) + resp.CommonResp.ErrCode = constant.ErrTokenUnknown.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "generate token success", "token: ", token, "expTime:", expTime) resp.Token = token break } } - if resp.Token == "" { log.NewError(req.OperationID, utils.GetSelfFuncName(), "failed") - return resp, openIMHttp.WrapError(constant.ErrTokenMalformed) + resp.CommonResp.ErrCode = constant.ErrTokenUnknown.ErrCode + resp.CommonResp.ErrMsg = constant.ErrTokenMalformed.ErrMsg + return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil @@ -108,7 +113,9 @@ func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req * resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{} if err := imdb.AddUserRegisterAddFriendIDList(req.UserIDList...); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) return resp, nil @@ -120,12 +127,16 @@ func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, re if req.Operation == 0 { if err := imdb.ReduceUserRegisterAddFriendIDList(req.UserIDList...); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } } else { if err := imdb.DeleteAllRegisterAddFriendIDList(); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) @@ -138,12 +149,15 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * userIDList, err := imdb.GetRegisterAddFriendList(req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } userList, err := imdb.GetUsersByUserIDList(userIDList) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userIDList) - return resp, openIMHttp.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), userList, userIDList) resp.Pagination = &server_api_params.ResponsePagination{ @@ -154,3 +168,388 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) return resp, nil } + +func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) + resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}} + time, err := utils.TimeStringToTime(req.SendTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrArgs.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + chatLog := db.ChatLog{ + Content: req.Content, + SendTime: time, + ContentType: req.ContentType, + SessionType: req.SessionType, + RecvID: req.RecvID, + SendID: req.SendID, + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) + nums, err := imdb.GetChatLogCount(chatLog) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.ChatLogsNum = int32(nums) + chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) + return resp, nil + } + for _, chatLog := range chatLogs { + pbChatLog := &pbAdminCMS.ChatLog{} + utils.CopyStructFields(pbChatLog, chatLog) + pbChatLog.SendTime = chatLog.SendTime.Unix() + pbChatLog.CreateTime = chatLog.CreateTime.Unix() + if chatLog.SenderNickname == "" { + sendUser, err := imdb.GetUserByUserID(chatLog.SendID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) + continue + } + pbChatLog.SenderNickname = sendUser.Nickname + } + switch chatLog.SessionType { + case constant.SingleChatType: + recvUser, err := imdb.GetUserByUserID(chatLog.RecvID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) + continue + } + pbChatLog.SenderNickname = recvUser.Nickname + + case constant.GroupChatType: + group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") + continue + } + pbChatLog.RecvID = group.GroupID + pbChatLog.gr = group.GroupName + } + resp.ChatLogs = append(resp.ChatLogs, pbChatLog) + } + resp.Pagination = &open_im_sdk.ResponsePagination{ + CurrentPage: req.Pagination.PageNumber, + ShowNumber: req.Pagination.ShowNumber, + } + + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) + return resp, nil +} + +func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetActiveGroupReq) (*pbAdminCMS.GetActiveGroupResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) + resp := &pbAdminCMS.GetActiveGroupResp{CommonResp: &pbAdminCMS.CommonResp{}} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + return resp, errors.WrapError(constant.ErrArgs) + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) + activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + for _, activeGroup := range activeGroups { + resp.Groups = append(resp.Groups, + &pbAdminCMS.GroupResp{ + GroupName: activeGroup.Name, + GroupId: activeGroup.Id, + MessageNum: int32(activeGroup.MessageNum), + }) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) + return resp, nil +} + +func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetActiveUserReq) (*pbAdminCMS.GetActiveUserResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetActiveUserResp{} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) + activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + for _, activeUser := range activeUsers { + resp.Users = append(resp.Users, + &pbAdminCMS.UserResp{ + UserId: activeUser.Id, + NickName: activeUser.Name, + MessageNum: int32(activeUser.MessageNum), + }, + ) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) + return resp, nil +} + +func ParseTimeFromTo(from, to string) (time.Time, time.Time, error) { + var fromTime time.Time + var toTime time.Time + fromTime, err := utils.TimeStringToTime(from) + if err != nil { + return fromTime, toTime, err + } + toTime, err = utils.TimeStringToTime(to) + if err != nil { + return fromTime, toTime, err + } + return fromTime, toTime, nil +} + +func isInOneMonth(from, to time.Time) bool { + return from.Month() == to.Month() && from.Year() == to.Year() +} + +func GetRangeDate(from, to time.Time) [][2]time.Time { + interval := to.Sub(from) + var times [][2]time.Time + switch { + // today + case interval == 0: + times = append(times, [2]time.Time{ + from, from.Add(time.Hour * 24), + }) + // days + case isInOneMonth(from, to): + for i := 0; ; i++ { + fromTime := from.Add(time.Hour * 24 * time.Duration(i)) + toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) + if toTime.After(to.Add(time.Hour * 24)) { + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + // month + case !isInOneMonth(from, to): + if to.Sub(from) < time.Hour*24*30 { + for i := 0; ; i++ { + fromTime := from.Add(time.Hour * 24 * time.Duration(i)) + toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) + if toTime.After(to.Add(time.Hour * 24)) { + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + } else { + for i := 0; ; i++ { + if i == 0 { + fromTime := from + toTime := getFirstDateOfNextNMonth(fromTime, 1) + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } else { + fromTime := getFirstDateOfNextNMonth(from, i) + toTime := getFirstDateOfNextNMonth(fromTime, 1) + if toTime.After(to) { + toTime = to + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + break + } + times = append(times, [2]time.Time{ + fromTime, toTime, + }) + } + + } + } + } + return times +} + +func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { + lastOfMonth := time.Date(currentTime.Year(), currentTime.Month(), 1, 0, 0, 0, 0, currentTime.Location()).AddDate(0, n, 0) + return lastOfMonth +} + +func (s *adminCMSServer) GetGroupStatistics(_ context.Context, req *pbAdminCMS.GetGroupStatisticsReq) (*pbAdminCMS.GetGroupStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetGroupStatisticsResp{} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) + return resp, errors.WrapError(constant.ErrArgs) + } + increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) + return resp, errors.WrapError(constant.ErrDB) + } + totalGroupNum, err := imdb.GetTotalGroupNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + resp.IncreaseGroupNum = increaseGroupNum + resp.TotalGroupNum = totalGroupNum + times := GetRangeDate(fromTime, toTime) + log.NewDebug(req.OperationID, "times:", times) + wg := &sync.WaitGroup{} + resp.IncreaseGroupNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.TotalGroupNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + num, err := imdb.GetIncreaseGroupNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.IncreaseGroupNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetGroupNum(v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.TotalGroupNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + return resp, nil +} + +func (s *adminCMSServer) GetMessageStatistics(_ context.Context, req *pbAdminCMS.GetMessageStatisticsReq) (*pbAdminCMS.GetMessageStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) + resp := &pbAdminCMS.GetMessageStatisticsResp{} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + return resp, errors.WrapError(constant.ErrArgs) + } + privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) + resp.PrivateMessageNum = privateMessageNum + resp.GroupMessageNum = groupMessageNum + times := GetRangeDate(fromTime, toTime) + resp.GroupMessageNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.PrivateMessageNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg := &sync.WaitGroup{} + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + + num, err := imdb.GetPrivateMessageNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.PrivateMessageNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetGroupMessageNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.GroupMessageNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + return resp, nil +} + +func (s *adminCMSServer) GetUserStatistics(_ context.Context, req *pbAdminCMS.GetUserStatisticsReq) (*pbAdminCMS.GetUserStatisticsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbAdminCMS.GetUserStatisticsResp{} + fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + return resp, errors.WrapError(constant.ErrArgs) + } + activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + totalUserNum, err := imdb.GetTotalUserNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) + return resp, errors.WrapError(constant.ErrDB) + } + resp.ActiveUserNum = activeUserNum + resp.TotalUserNum = totalUserNum + resp.IncreaseUserNum = increaseUserNum + times := GetRangeDate(fromTime, toTime) + resp.TotalUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.ActiveUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + resp.IncreaseUserNumList = make([]*pbAdminCMS.DateNumList, len(times), len(times)) + wg := &sync.WaitGroup{} + wg.Add(len(times)) + for i, v := range times { + go func(wg *sync.WaitGroup, index int, v [2]time.Time) { + defer wg.Done() + num, err := imdb.GetActiveUserNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) + } + resp.ActiveUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + + num, err = imdb.GetTotalUserNumByDate(v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNumByDate", v, err.Error()) + } + resp.TotalUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + num, err = imdb.GetIncreaseUserNum(v[0], v[1]) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum", v, err.Error()) + } + resp.IncreaseUserNumList[index] = &pbAdminCMS.DateNumList{ + Date: v[0].String(), + Num: num, + } + }(wg, i, v) + } + wg.Wait() + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + return resp, nil +} diff --git a/internal/rpc/message_cms/message_cms.go b/internal/rpc/message_cms/message_cms.go deleted file mode 100644 index f0757e421..000000000 --- a/internal/rpc/message_cms/message_cms.go +++ /dev/null @@ -1,182 +0,0 @@ -package messageCMS - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - errors "Open_IM/pkg/common/http" - "context" - "strconv" - - "Open_IM/pkg/common/log" - - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbMessageCMS "Open_IM/pkg/proto/message_cms" - open_im_sdk "Open_IM/pkg/proto/sdk_ws" - - "Open_IM/pkg/utils" - - "net" - "strings" - - "google.golang.org/grpc" -) - -type messageCMSServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewMessageCMSServer(port int) *messageCMSServer { - log.NewPrivateLog(constant.LogFileName) - return &messageCMSServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImMessageCMSName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *messageCMSServer) Run() { - log.NewInfo("0", "messageCMS rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbMessageCMS.RegisterMessageCMSServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - log.NewInfo("", "rpcRegisterIP", rpcRegisterIP) - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - return - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "message cms rpc success") -} - -func (s *messageCMSServer) BoradcastMessage(_ context.Context, req *pbMessageCMS.BoradcastMessageReq) (*pbMessageCMS.BoradcastMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "BoradcastMessage", req.String()) - resp := &pbMessageCMS.BoradcastMessageResp{} - return resp, errors.WrapError(constant.ErrDB) -} - -func (s *messageCMSServer) GetChatLogs(_ context.Context, req *pbMessageCMS.GetChatLogsReq) (*pbMessageCMS.GetChatLogsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) - resp := &pbMessageCMS.GetChatLogsResp{} - time, err := utils.TimeStringToTime(req.Date) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) - } - chatLog := db.ChatLog{ - Content: req.Content, - SendTime: time, - ContentType: req.ContentType, - SessionType: req.SessionType, - } - switch chatLog.SessionType { - case constant.SingleChatType: - chatLog.SendID = req.UserId - case constant.GroupChatType: - chatLog.RecvID = req.GroupId - chatLog.SendID = req.UserId - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) - nums, err := imdb.GetChatLogCount(chatLog) - resp.ChatLogsNum = int32(nums) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) - } - chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, chatLog := range chatLogs { - pbChatLog := &pbMessageCMS.ChatLogs{ - SessionType: chatLog.SessionType, - ContentType: chatLog.ContentType, - SearchContent: req.Content, - WholeContent: chatLog.Content, - Date: chatLog.CreateTime.String(), - SenderNickName: chatLog.SenderNickname, - SenderId: chatLog.SendID, - } - if chatLog.SenderNickname == "" { - sendUser, err := imdb.GetUserByUserID(chatLog.SendID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.SenderNickName = sendUser.Nickname - } - switch chatLog.SessionType { - case constant.SingleChatType: - recvUser, err := imdb.GetUserByUserID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.ReciverId = recvUser.UserID - pbChatLog.ReciverNickName = recvUser.Nickname - - case constant.GroupChatType: - group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") - continue - } - pbChatLog.GroupId = group.GroupID - pbChatLog.GroupName = group.GroupName - } - resp.ChatLogs = append(resp.ChatLogs, pbChatLog) - } - resp.Pagination = &open_im_sdk.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) - return resp, nil -} - -func (s *messageCMSServer) MassSendMessage(_ context.Context, req *pbMessageCMS.MassSendMessageReq) (*pbMessageCMS.MassSendMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "MassSendMessage", req.String()) - resp := &pbMessageCMS.MassSendMessageResp{} - return resp, nil -} - -func (s *messageCMSServer) WithdrawMessage(_ context.Context, req *pbMessageCMS.WithdrawMessageReq) (*pbMessageCMS.WithdrawMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "WithdrawMessage", req.String()) - resp := &pbMessageCMS.WithdrawMessageResp{} - return resp, nil -} diff --git a/internal/rpc/statistics/statistics.go b/internal/rpc/statistics/statistics.go deleted file mode 100644 index 920fc9d73..000000000 --- a/internal/rpc/statistics/statistics.go +++ /dev/null @@ -1,399 +0,0 @@ -package statistics - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "context" - "strconv" - "sync" - "time" - - //"Open_IM/pkg/common/constant" - //"Open_IM/pkg/common/db" - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - - //cp "Open_IM/pkg/common/utils" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbStatistics "Open_IM/pkg/proto/statistics" - - //open_im_sdk "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" - //"context" - errors "Open_IM/pkg/common/http" - "net" - "strings" - - "google.golang.org/grpc" -) - -type statisticsServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewStatisticsServer(port int) *statisticsServer { - log.NewPrivateLog(constant.LogFileName) - return &statisticsServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImStatisticsName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *statisticsServer) Run() { - log.NewInfo("0", "Statistics rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbStatistics.RegisterUserServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - return - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "statistics rpc success") -} - -func (s *statisticsServer) GetActiveGroup(_ context.Context, req *pbStatistics.GetActiveGroupReq) (*pbStatistics.GetActiveGroupResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) - resp := &pbStatistics.GetActiveGroupResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeGroup := range activeGroups { - resp.Groups = append(resp.Groups, - &pbStatistics.GroupResp{ - GroupName: activeGroup.Name, - GroupId: activeGroup.Id, - MessageNum: int32(activeGroup.MessageNum), - }) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func (s *statisticsServer) GetActiveUser(_ context.Context, req *pbStatistics.GetActiveUserReq) (*pbStatistics.GetActiveUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetActiveUserResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeUser := range activeUsers { - resp.Users = append(resp.Users, - &pbStatistics.UserResp{ - UserId: activeUser.Id, - NickName: activeUser.Name, - MessageNum: int32(activeUser.MessageNum), - }, - ) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func ParseTimeFromTo(from, to string) (time.Time, time.Time, error) { - var fromTime time.Time - var toTime time.Time - fromTime, err := utils.TimeStringToTime(from) - if err != nil { - return fromTime, toTime, err - } - toTime, err = utils.TimeStringToTime(to) - if err != nil { - return fromTime, toTime, err - } - return fromTime, toTime, nil -} - -func isInOneMonth(from, to time.Time) bool { - return from.Month() == to.Month() && from.Year() == to.Year() -} - -func GetRangeDate(from, to time.Time) [][2]time.Time { - interval := to.Sub(from) - var times [][2]time.Time - switch { - // today - case interval == 0: - times = append(times, [2]time.Time{ - from, from.Add(time.Hour * 24), - }) - // days - case isInOneMonth(from, to): - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - // month - case !isInOneMonth(from, to): - if to.Sub(from) < time.Hour*24*30 { - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - } else { - for i := 0; ; i++ { - if i == 0 { - fromTime := from - toTime := getFirstDateOfNextNMonth(fromTime, 1) - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } else { - fromTime := getFirstDateOfNextNMonth(from, i) - toTime := getFirstDateOfNextNMonth(fromTime, 1) - if toTime.After(to) { - toTime = to - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - - } - } - } - return times -} - -func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { - lastOfMonth := time.Date(currentTime.Year(), currentTime.Month(), 1, 0, 0, 0, 0, currentTime.Location()).AddDate(0, n, 0) - return lastOfMonth -} - -func (s *statisticsServer) GetGroupStatistics(_ context.Context, req *pbStatistics.GetGroupStatisticsReq) (*pbStatistics.GetGroupStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetGroupStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) - return resp, errors.WrapError(constant.ErrDB) - } - totalGroupNum, err := imdb.GetTotalGroupNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.IncreaseGroupNum = increaseGroupNum - resp.TotalGroupNum = totalGroupNum - times := GetRangeDate(fromTime, toTime) - log.NewDebug(req.OperationID, "times:", times) - wg := &sync.WaitGroup{} - resp.IncreaseGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.TotalGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetIncreaseGroupNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.IncreaseGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupNum(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.TotalGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *statisticsServer) GetMessageStatistics(_ context.Context, req *pbStatistics.GetMessageStatisticsReq) (*pbStatistics.GetMessageStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetMessageStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) - resp.PrivateMessageNum = privateMessageNum - resp.GroupMessageNum = groupMessageNum - times := GetRangeDate(fromTime, toTime) - resp.GroupMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.PrivateMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - - num, err := imdb.GetPrivateMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.PrivateMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.GroupMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - return resp, nil -} - -func (s *statisticsServer) GetUserStatistics(_ context.Context, req *pbStatistics.GetUserStatisticsReq) (*pbStatistics.GetUserStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbStatistics.GetUserStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - totalUserNum, err := imdb.GetTotalUserNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.ActiveUserNum = activeUserNum - resp.TotalUserNum = totalUserNum - resp.IncreaseUserNum = increaseUserNum - times := GetRangeDate(fromTime, toTime) - resp.TotalUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.ActiveUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.IncreaseUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetActiveUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.ActiveUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - - num, err = imdb.GetTotalUserNumByDate(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNumByDate", v, err.Error()) - } - resp.TotalUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetIncreaseUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum", v, err.Error()) - } - resp.IncreaseUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 9bf06b8fc..10078a170 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -21,8 +21,8 @@ import ( "net" "strconv" "strings" - "time" + "github.com/jinzhu/gorm" "google.golang.org/grpc" ) @@ -331,27 +331,6 @@ func (s *userServer) SetRecvMsgOpt(ctx context.Context, req *pbUser.SetRecvMsgOp return resp, nil } -func (s *userServer) DeleteUsers(_ context.Context, req *pbUser.DeleteUsersReq) (*pbUser.DeleteUsersResp, error) { - log.NewInfo(req.OperationID, "DeleteUsers args ", req.String()) - if !token_verify.IsManagerUserID(req.OpUserID) { - log.NewError(req.OperationID, "IsManagerUserID false ", req.OpUserID) - return &pbUser.DeleteUsersResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, FailedUserIDList: req.DeleteUserIDList}, nil - } - var common pbUser.CommonResp - resp := pbUser.DeleteUsersResp{CommonResp: &common} - for _, userID := range req.DeleteUserIDList { - i := imdb.DeleteUser(userID) - if i == 0 { - log.NewError(req.OperationID, "delete user error", userID) - common.ErrCode = 201 - common.ErrMsg = "some uid deleted failed" - resp.FailedUserIDList = append(resp.FailedUserIDList, userID) - } - } - log.NewInfo(req.OperationID, "DeleteUsers rpc return ", resp.String()) - return &resp, nil -} - func (s *userServer) GetAllUserID(_ context.Context, req *pbUser.GetAllUserIDReq) (*pbUser.GetAllUserIDResp, error) { log.NewInfo(req.OperationID, "GetAllUserID args ", req.String()) if !token_verify.IsManagerUserID(req.OpUserID) { @@ -564,164 +543,80 @@ func (s *userServer) SyncJoinedGroupMemberNickname(userID string, newNickname, o } } -func (s *userServer) GetUsersByName(ctx context.Context, req *pbUser.GetUsersByNameReq) (*pbUser.GetUsersByNameResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - resp := &pbUser.GetUsersByNameResp{} - users, err := imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByName failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, user := range users { - isBlock, err := imdb.UserIsBlock(user.UserID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - continue - } - resp.Users = append(resp.Users, &pbUser.User{ - ProfilePhoto: user.FaceURL, - Nickname: user.Nickname, - UserId: user.UserID, - CreateTime: user.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: user.CreateIp, - IsBlock: isBlock, - Birth: user.Birth.Format("2006-01-02"), - PhoneNumber: user.PhoneNumber, - Email: user.Email, - LastLoginIp: user.LastLoginIp, - LastLoginTime: user.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: user.LoginTimes, - Gender: user.Gender, - LoginLimit: user.LoginLimit, - }) - } - user := db.User{Nickname: req.UserName} - userNums, err := imdb.GetUsersCount(user) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.UserNums = userNums - resp.Pagination = &sdkws.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *userServer) GetUserById(ctx context.Context, req *pbUser.GetUserByIdReq) (*pbUser.GetUserByIdResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - resp := &pbUser.GetUserByIdResp{User: &pbUser.User{}} - user, err := imdb.GetUserByUserID(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - return resp, errors.WrapError(constant.ErrDB) - } - isBlock, err := imdb.UserIsBlock(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "req:", req.String()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.User = &pbUser.User{ - ProfilePhoto: user.FaceURL, - Nickname: user.Nickname, - UserId: user.UserID, - CreateTime: user.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: user.CreateIp, - IsBlock: isBlock, - Birth: user.Birth.Format("2006-01-02"), - PhoneNumber: user.PhoneNumber, - Email: user.Email, - LastLoginIp: user.LastLoginIp, - LastLoginTime: user.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: user.LoginTimes, - Gender: user.Gender, - LoginLimit: user.LoginLimit, - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetUsersResp{User: []*pbUser.User{}} - users, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - - for _, v := range users { - isBlock, err := imdb.UserIsBlock(v.UserID) - if err == nil { - registerIP := "" - registerInfo, err := imdb.GetRegisterInfo(v.UserID) - if registerInfo != nil && err == nil { - registerIP = registerInfo.RegisterIP - } - - user := &pbUser.User{ - ProfilePhoto: v.FaceURL, - UserId: v.UserID, - CreateTime: v.CreateTime.Format("2006-01-02 15:04:05"), - CreateIp: v.CreateIp, - Nickname: v.Nickname, - Birth: v.Birth.Format("2006-01-02"), - PhoneNumber: v.PhoneNumber, - Email: v.Email, - IsBlock: isBlock, - LastLoginIp: v.LastLoginIp, - LastLoginTime: v.LastLoginTime.Format("2006-01-02 15:04:05"), - LoginTimes: v.LoginTimes, - Gender: v.Gender, - LoginLimit: v.LoginLimit, - RegisterIp: registerIP, - } - resp.User = append(resp.User, user) - } else { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "UserIsBlock failed", err.Error()) + resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}} + if req.UserID != "" { + userDB, err := imdb.GetUserByUserID(req.UserID) + if err != nil && !gorm.IsRecordNotFoundError(err) { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserID, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + return resp, nil + } + user := pbUser.CmsUser{User: &sdkws.UserInfo{}} + utils.CopyStructFields(&user.User, userDB) + resp.UserList = append(resp.UserList, &user) + resp.TotalNums = 1 + } else if req.UserName != "" { + usersDB, err := imdb.GetUserByName(req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg + return resp, nil + } + resp.TotalNums, err = imdb.GetUsersCount(req.UserName) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserName, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, userDB := range usersDB { + var user sdkws.UserInfo + utils.CopyStructFields(&user, userDB) + resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) + } + } else { + usersDB, err := imdb.GetUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsers failed", req.Pagination.ShowNumber, req.Pagination.PageNumber, err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.TotalNums, err = imdb.GetTotalUserNum() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + for _, userDB := range usersDB { + var user sdkws.UserInfo + utils.CopyStructFields(&user, userDB) + resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) } } - user := db.User{} - nums, err := imdb.GetUsersCount(user) + var userIDList []string + for _, v := range resp.UserList { + userIDList = append(userIDList, v.User.UserID) + } + isBlockUser, err := imdb.UsersIsBlock(userIDList) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUsersCount failed", err.Error(), user) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), userIDList) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } - resp.UserNums = nums - resp.Pagination = &sdkws.ResponsePagination{ShowNumber: req.Pagination.ShowNumber, CurrentPage: req.Pagination.PageNumber} - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} -func (s *userServer) ResignUser(ctx context.Context, req *pbUser.ResignUserReq) (*pbUser.ResignUserResp, error) { - log.NewInfo(req.OperationID, "ResignUser args ", req.String()) - return &pbUser.ResignUserResp{}, nil -} - -func (s *userServer) AlterUser(ctx context.Context, req *pbUser.AlterUserReq) (*pbUser.AlterUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.AlterUserResp{} - birth, _ := time.ParseInLocation("2006-01-02", req.Birth, time.Local) - gender, gendererr := strconv.Atoi(req.Gender) - if gendererr != nil { - gender = 0 + for _, v := range resp.UserList { + if utils.IsContain(v.User.UserID, isBlockUser) { + v.IsBlock = true + } } - user := db.User{ - PhoneNumber: req.PhoneNumber, - Nickname: req.Nickname, - Email: req.Email, - UserID: req.UserId, - Gender: int32(gender), - FaceURL: req.Photo, - Birth: birth, - } - if err := imdb.UpdateUserInfo(user); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "UpdateUserInfo", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - chat.UserInfoUpdatedNotification(req.OperationID, req.UserId, req.OpUserId) + resp.Pagination = &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber} log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } @@ -729,33 +624,41 @@ func (s *userServer) AlterUser(ctx context.Context, req *pbUser.AlterUserReq) (* func (s *userServer) AddUser(ctx context.Context, req *pbUser.AddUserReq) (*pbUser.AddUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbUser.AddUserResp{} - err := imdb.AddUser(req.UserId, req.PhoneNumber, req.Name, req.Email, req.Gender, req.Photo, req.Birth) + err := imdb.AddUser(req.UserInfo.UserID, req.UserInfo.PhoneNumber, req.UserInfo.Nickname, req.UserInfo.Email, req.UserInfo.Gender, req.UserInfo.FaceURL, req.UserInfo.Birth) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddUser", err.Error(), req.String()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } return resp, nil } func (s *userServer) BlockUser(ctx context.Context, req *pbUser.BlockUserReq) (*pbUser.BlockUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.BlockUserResp{} - err := imdb.BlockUser(req.UserId, req.EndDisableTime) + resp := &pbUser.BlockUserResp{CommonResp: &pbUser.CommonResp{}} + err := imdb.BlockUser(req.UserID, req.EndDisableTime) if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "BlockUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BlockUser", err.Error(), req.UserID, req.EndDisableTime) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } func (s *userServer) UnBlockUser(ctx context.Context, req *pbUser.UnBlockUserReq) (*pbUser.UnBlockUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbUser.UnBlockUserResp{} - err := imdb.UnBlockUser(req.UserId) + err := imdb.UnBlockUser(req.UserID) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "unBlockUser", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } @@ -764,20 +667,20 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser resp := &pbUser.GetBlockUsersResp{} blockUsers, err := imdb.GetBlockUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { - log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error(), req.Pagination.ShowNumber, req.Pagination.PageNumber) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } for _, v := range blockUsers { resp.BlockUsers = append(resp.BlockUsers, &pbUser.BlockUser{ - User: &pbUser.User{ - ProfilePhoto: v.User.FaceURL, - Nickname: v.User.Nickname, - UserId: v.User.UserID, - IsBlock: true, - Birth: v.User.Birth.Format("2006-01-02"), - PhoneNumber: v.User.PhoneNumber, - Email: v.User.Email, - Gender: v.User.Gender, + UserInfo: &sdkws.UserInfo{ + FaceURL: v.User.FaceURL, + Nickname: v.User.Nickname, + UserID: v.User.UserID, + PhoneNumber: v.User.PhoneNumber, + Email: v.User.Email, + Gender: v.User.Gender, }, BeginDisableTime: (v.BeginDisableTime).String(), EndDisableTime: (v.EndDisableTime).String(), @@ -795,39 +698,3 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) return resp, nil } - -func (s *userServer) GetBlockUserById(_ context.Context, req *pbUser.GetBlockUserByIdReq) (*pbUser.GetBlockUserByIdResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetBlockUserByIdResp{} - user, err := imdb.GetBlockUserById(req.UserId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUserById", err) - return resp, errors.WrapError(constant.ErrDB) - } - resp.BlockUser = &pbUser.BlockUser{ - User: &pbUser.User{ - ProfilePhoto: user.User.FaceURL, - Nickname: user.User.Nickname, - UserId: user.User.UserID, - IsBlock: true, - Birth: user.User.Birth.Format("2006-01-02"), - PhoneNumber: user.User.PhoneNumber, - Email: user.User.Email, - Gender: user.User.Gender, - }, - BeginDisableTime: (user.BeginDisableTime).String(), - EndDisableTime: (user.EndDisableTime).String(), - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) - return resp, nil -} - -func (s *userServer) DeleteUser(_ context.Context, req *pbUser.DeleteUserReq) (*pbUser.DeleteUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbUser.DeleteUserResp{} - if row := imdb.DeleteUser(req.UserId); row == 0 { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "delete failed", "delete rows:", row) - return resp, errors.WrapError(constant.ErrDB) - } - return resp, nil -} diff --git a/pkg/base_info/common.go b/pkg/base_info/common.go new file mode 100644 index 000000000..a90a845a3 --- /dev/null +++ b/pkg/base_info/common.go @@ -0,0 +1,11 @@ +package base_info + +type RequestPagination struct { + PageNumber int `json:"pageNumber" binding:"required"` + ShowNumber int `json:"showNumber" binding:"required"` +} + +type ResponsePagination struct { + CurrentPage int `json:"currentPage"` + ShowNumber int `json:"showNumber"` +} diff --git a/pkg/base_info/manage_api_struct.go b/pkg/base_info/manage_api_struct.go index cc7ba5129..47cd20ba2 100644 --- a/pkg/base_info/manage_api_struct.go +++ b/pkg/base_info/manage_api_struct.go @@ -93,3 +93,24 @@ type CheckMsgIsSendSuccessResp struct { CommResp Status int32 `json:"status"` } + +type GetUsersReq struct { + OperationID string `json:"operationID" binding:"required"` + UserName string `json:"userName"` + UserID string `json:"userID"` + PageNumber int32 `json:"pageNumber" binding:"required"` + ShowNumber int32 `json:"showNumber" binding:"required"` +} + +type GetUsersResp struct { + CommResp + Data struct { + UserList []*struct { + server_api_params.UserInfo + IsBlock bool `json:"isBlock"` + } `json:"userList"` + TotalNum int32 `json:"totalNum"` + CurrentPage int32 `json:"currentPage"` + ShowNumber int32 `json:"showNumber"` + } `json:"data"` +} diff --git a/pkg/cms_api_struct/common.go b/pkg/cms_api_struct/common.go index 812e212ab..cbce2dfa3 100644 --- a/pkg/cms_api_struct/common.go +++ b/pkg/cms_api_struct/common.go @@ -1,16 +1,11 @@ package cms_api_struct type RequestPagination struct { - PageNumber int `form:"page_number" binding:"required"` - ShowNumber int `form:"show_number" binding:"required"` -} - -type RequestPaginationBody struct { PageNumber int `json:"pageNumber" binding:"required"` ShowNumber int `json:"showNumber" binding:"required"` } type ResponsePagination struct { - CurrentPage int `json:"current_number" binding:"required"` - ShowNumber int `json:"show_number" binding:"required"` + CurrentPage int `json:"currentPage"` + ShowNumber int `json:"showNumber"` } diff --git a/pkg/cms_api_struct/message_cms.go b/pkg/cms_api_struct/message_cms.go index 164c75011..81778a8c8 100644 --- a/pkg/cms_api_struct/message_cms.go +++ b/pkg/cms_api_struct/message_cms.go @@ -1,50 +1,22 @@ package cms_api_struct -type BroadcastRequest struct { - Message string `json:"message"` -} - -type BroadcastResponse struct { -} - -type MassSendMassageRequest struct { - Message string `json:"message"` - Users []string `json:"users"` -} - -type MassSendMassageResponse struct { -} - -type GetChatLogsRequest struct { - SessionType int `form:"session_type"` - ContentType int `form:"content_type"` - Content string `form:"content"` - UserId string `form:"user_id"` - GroupId string `form:"group_id"` - Date string `form:"date"` +import ( + pbCommon "Open_IM/pkg/proto/sdk_ws" +) +type GetChatLogsReq struct { + SessionType int `json:"sessionType"` + ContentType int `json:"contentType"` + Content string `json:"content"` + SendID string `json:"userID"` + RecvID string `json:"recvID"` + GroupID string `json:"groupID"` + SendTime string `json:"sendTime"` RequestPagination } -type ChatLog struct { - SessionType int `json:"session_type"` - ContentType int `json:"content_type"` - SenderNickName string `json:"sender_nick_name"` - SenderId string `json:"sender_id"` - SearchContent string `json:"search_content"` - WholeContent string `json:"whole_content"` - - ReceiverNickName string `json:"receiver_nick_name,omitempty"` - ReceiverID string `json:"receiver_id,omitempty"` - - GroupName string `json:"group_name,omitempty"` - GroupId string `json:"group_id,omitempty"` - - Date string `json:"date"` -} - -type GetChatLogsResponse struct { - ChatLogs []ChatLog `json:"chat_logs"` - ChatLogsNum int `json:"log_nums"` +type GetChatLogsResp struct { + ChatLogs []*pbCommon.MsgData `json:"chat_logs"` + ChatLogsNum int `json:"log_nums"` ResponsePagination } diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index a58899607..489c27c47 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -177,17 +177,21 @@ type User struct { Email string `gorm:"column:email;size:64"` Ex string `gorm:"column:ex;size:1024"` CreateTime time.Time `gorm:"column:create_time"` - CreateIp string `gorm:"column:create_ip;size:15"` - LastLoginTime time.Time `gorm:"column:last_login_time"` - LastLoginIp string `gorm:"column:last_login_ip;size:15"` - LoginTimes int32 `gorm:"column:login_times"` - LoginLimit int32 `gorm:"column:login_limit"` AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` InvitationCode string `gorm:"column:invitation_code"` status int32 `gorm:"column:status"` } +type UserIpRecord struct { + UserID string `gorm:"column:user_id;primary_key;size:64"` + CreateIp string `gorm:"column:create_ip;size:15"` + LastLoginTime time.Time `gorm:"column:last_login_time"` + LastLoginIp string `gorm:"column:last_login_ip;size:15"` + LoginTimes int32 `gorm:"column:login_times"` + LoginLimit int32 `gorm:"column:login_limit"` +} + type IpLimit struct { Ip string `gorm:"column:ip;primary_key;size:15"` LimitRegister int32 `gorm:"column:limit_register;size:1"` diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index 9e132ad03..d328e311e 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -43,9 +43,9 @@ func UserRegister(user db.User) error { if user.Birth.Unix() < 0 { user.Birth = utils.UnixSecondToTime(0) } - user.LastLoginTime = time.Now() - user.LoginTimes = 0 - user.LastLoginIp = user.CreateIp + // user.LastLoginTime = time.Now() + // user.LoginTimes = 0 + // user.LastLoginIp = user.CreateIp err := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user).Error if err != nil { return err @@ -124,47 +124,34 @@ func GetUsers(showNumber, pageNumber int32) ([]db.User, error) { return users, err } -func AddUser(userId string, phoneNumber string, name string, email string, gender string, photo string, birth string) error { - _gender, _err := strconv.Atoi(gender) - if _err != nil { - _gender = 0 - } - _birth, _err := time.ParseInLocation("2006-01-02", birth, time.Local) +func AddUser(userID string, phoneNumber string, name string, email string, gender int32, faceURL string, birth uint32) error { + _birth, _err := time.ParseInLocation("2006-01-02", strconv.Itoa(int(birth)), time.Local) if _err != nil { _birth = time.Now() } user := db.User{ - UserID: userId, + UserID: userID, Nickname: name, - FaceURL: photo, - Gender: int32(_gender), + FaceURL: faceURL, + Gender: gender, PhoneNumber: phoneNumber, Birth: _birth, Email: email, Ex: "", CreateTime: time.Now(), - CreateIp: "", - LastLoginTime: time.Now(), - LastLoginIp: "", - LoginTimes: 0, - LoginLimit: 0, InvitationCode: "", } result := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user) return result.Error } -func UserIsBlock(userId string) (bool, error) { - var user db.BlackList - rows := db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&user).RowsAffected - if rows >= 1 { - return user.EndDisableTime.After(time.Now()), nil - } - return false, nil +func UsersIsBlock(userIDList []string) (inBlockUserIDList []string, err error) { + err = db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid in (?) and end_disable_time > now()", userIDList).Pluck("uid", &inBlockUserIDList).Error + return inBlockUserIDList, err } -func BlockUser(userId, endDisableTime string) error { - user, err := GetUserByUserID(userId) +func BlockUser(userID, endDisableTime string) error { + user, err := GetUserByUserID(userID) if err != nil || user.UserID == "" { return err } @@ -176,34 +163,34 @@ func BlockUser(userId, endDisableTime string) error { return constant.ErrDB } var blockUser db.BlackList - db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&blockUser) + db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userID).First(&blockUser) if blockUser.UserId != "" { db.DB.MysqlDB.DefaultGormDB().Model(&blockUser).Where("uid=?", blockUser.UserId).Update("end_disable_time", end) - if user.LoginLimit != 2 { - db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) - } + // if user.LoginLimit != 2 { + // db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) + // } return nil } blockUser = db.BlackList{ - UserId: userId, + UserId: userID, BeginDisableTime: time.Now(), EndDisableTime: end, } result := db.DB.MysqlDB.DefaultGormDB().Create(&blockUser) if result.Error == nil { - if user.LoginLimit != 2 { - db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) - } + // if user.LoginLimit != 2 { + // db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", blockUser.UserId).Update("login_limit", 2) + // } } return result.Error } -func UnBlockUser(userId string) error { - err := db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userId).Delete(&db.BlackList{}).Error +func UnBlockUser(userID string) error { + err := db.DB.MysqlDB.DefaultGormDB().Where("uid=?", userID).Delete(&db.BlackList{}).Error if err != nil { return err } - return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userId).Update("login_limit", 0).Error + return db.DB.MysqlDB.DefaultGormDB().Table("users").Where("user_id=?", userID).Update("login_limit", 0).Error } type BlockUserInfo struct { @@ -271,9 +258,9 @@ func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, er return users, err } -func GetUsersCount(user db.User) (int32, error) { +func GetUsersCount(nickname string) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", user.Nickname)).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", nickname)).Count(&count).Error; err != nil { return 0, err } return int32(count), nil diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 0cb41a8b5..8ebfbc23a 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -75,7 +75,10 @@ func GetFriendIDListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(friendIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } friendIDListStr, err := db.DB.Rc.Fetch(friendRelationCache+userID, time.Second*30*60, getFriendIDList) if err != nil { @@ -98,7 +101,10 @@ func GetBlackListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(blackIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } blackIDListStr, err := db.DB.Rc.Fetch(blackListCache+userID, time.Second*30*60, getBlackIDList) if err != nil { @@ -120,7 +126,10 @@ func GetJoinedGroupIDListFromCache(userID string) ([]string, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(joinedGroupList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } joinedGroupIDListStr, err := db.DB.Rc.Fetch(joinedGroupListCache+userID, time.Second*30*60, getJoinedGroupIDList) if err != nil { @@ -155,7 +164,10 @@ func GetGroupMemberIDListFromCache(groupID string) ([]string, error) { } } bytes, err := json.Marshal(groupMemberIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupIDListStr, err := db.DB.Rc.Fetch(groupCache+groupID, time.Second*30*60, f) if err != nil { @@ -178,7 +190,10 @@ func GetUserInfoFromCache(userID string) (*db.User, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(userInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } userInfoStr, err := db.DB.Rc.Fetch(userInfoCache+userID, time.Second*30*60, getUserInfo) if err != nil { @@ -200,7 +215,10 @@ func GetGroupMemberInfoFromCache(groupID, userID string) (*db.GroupMember, error return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupMemberInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupMemberInfoStr, err := db.DB.Rc.Fetch(groupMemberInfoCache+groupID+"-"+userID, time.Second*30*60, getGroupMemberInfo) if err != nil { @@ -266,7 +284,10 @@ func GetAllGroupMembersInfoFromCache(groupID string) ([]*db.GroupMember, error) return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupMembers) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupMembersStr, err := db.DB.Rc.Fetch(groupAllMemberInfoCache+groupID, time.Second*30*60, getGroupMemberInfo) if err != nil { @@ -288,7 +309,10 @@ func GetGroupInfoFromCache(groupID string) (*db.Group, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(groupInfo) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } groupInfoStr, err := db.DB.Rc.Fetch(groupInfoCache+groupID, time.Second*30*60, getGroupInfo) if err != nil { @@ -310,7 +334,10 @@ func GetAllFriendsInfoFromCache(userID string) ([]*db.Friend, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(friendInfoList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allFriendInfoStr, err := db.DB.Rc.Fetch(allFriendInfoCache+userID, time.Second*30*60, getAllFriendInfo) if err != nil { @@ -332,7 +359,10 @@ func GetAllDepartmentsFromCache() ([]db.Department, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(departmentList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allDepartmentsStr, err := db.DB.Rc.Fetch(allDepartmentCache, time.Second*30*60, getAllDepartments) if err != nil { @@ -354,7 +384,10 @@ func GetAllDepartmentMembersFromCache() ([]db.DepartmentMember, error) { return "", utils.Wrap(err, "") } bytes, err := json.Marshal(departmentMembers) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } allDepartmentMembersStr, err := db.DB.Rc.Fetch(allDepartmentMemberCache, time.Second*30*60, getAllDepartmentMembers) if err != nil { @@ -379,7 +412,10 @@ func GetJoinedSuperGroupListFromCache(userID string) ([]string, error) { return "", errors.New("GroupIDList == 0") } bytes, err := json.Marshal(userToSuperGroup.GroupIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } joinedSuperGroupListStr, err := db.DB.Rc.Fetch(joinedSuperGroupListCache+userID, time.Second*30*60, getJoinedSuperGroupIDList) var joinedSuperGroupList []string @@ -442,7 +478,10 @@ func GetUserConversationIDListFromCache(userID string) ([]string, error) { } log.NewDebug("", utils.GetSelfFuncName(), conversationIDList) bytes, err := json.Marshal(conversationIDList) - return string(bytes), utils.Wrap(err, "") + if err != nil { + return "", utils.Wrap(err, "") + } + return string(bytes), nil } conversationIDListStr, err := db.DB.Rc.Fetch(conversationIDListCache+userID, time.Second*30*60, getConversationIDList) var conversationIDList []string diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 06522567a..0ab31b3d1 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -24,6 +24,52 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package +type CommonResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CommonResp) Reset() { *m = CommonResp{} } +func (m *CommonResp) String() string { return proto.CompactTextString(m) } +func (*CommonResp) ProtoMessage() {} +func (*CommonResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{0} +} +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (dst *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(dst, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *CommonResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + type AdminLoginReq struct { OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` AdminID string `protobuf:"bytes,2,opt,name=AdminID" json:"AdminID,omitempty"` @@ -37,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{0} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -79,17 +125,18 @@ func (m *AdminLoginReq) GetSecret() string { } type AdminLoginResp struct { - Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Token string `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{1} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -116,6 +163,13 @@ func (m *AdminLoginResp) GetToken() string { return "" } +func (m *AdminLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type AddUserRegisterAddFriendIDListReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` UserIDList []string `protobuf:"bytes,2,rep,name=userIDList" json:"userIDList,omitempty"` @@ -128,7 +182,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{2} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -163,16 +217,17 @@ func (m *AddUserRegisterAddFriendIDListReq) GetUserIDList() []string { } type AddUserRegisterAddFriendIDListResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegisterAddFriendIDListResp{} } func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{3} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -192,6 +247,13 @@ func (m *AddUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { var xxx_messageInfo_AddUserRegisterAddFriendIDListResp proto.InternalMessageInfo +func (m *AddUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type ReduceUserRegisterAddFriendIDListReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` Operation int32 `protobuf:"varint,2,opt,name=operation" json:"operation,omitempty"` @@ -205,7 +267,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{4} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -247,16 +309,17 @@ func (m *ReduceUserRegisterAddFriendIDListReq) GetUserIDList() []string { } type ReduceUserRegisterAddFriendIDListResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUserRegisterAddFriendIDListResp{} } func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{5} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -276,9 +339,16 @@ func (m *ReduceUserRegisterAddFriendIDListResp) XXX_DiscardUnknown() { var xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp proto.InternalMessageInfo +func (m *ReduceUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type GetUserRegisterAddFriendIDListReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -288,7 +358,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{6} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -323,8 +393,9 @@ func (m *GetUserRegisterAddFriendIDListReq) GetPagination() *sdk_ws.RequestPagin } type GetUserRegisterAddFriendIDListResp struct { - UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=UserInfoList" json:"UserInfoList,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + UserInfoList []*sdk_ws.UserInfo `protobuf:"bytes,1,rep,name=userInfoList" json:"userInfoList,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -334,7 +405,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_e0cc6ee28c5c634b, []int{7} + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -368,7 +439,1077 @@ func (m *GetUserRegisterAddFriendIDListResp) GetPagination() *sdk_ws.ResponsePag return nil } +func (m *GetUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetChatLogsReq struct { + Content string `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=SendID" json:"SendID,omitempty"` + RecvID string `protobuf:"bytes,3,opt,name=RecvID" json:"RecvID,omitempty"` + SendTime string `protobuf:"bytes,4,opt,name=SendTime" json:"SendTime,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=SessionType" json:"SessionType,omitempty"` + ContentType int32 `protobuf:"varint,6,opt,name=ContentType" json:"ContentType,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=Pagination" json:"Pagination,omitempty"` + OperationID string `protobuf:"bytes,8,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } +func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsReq) ProtoMessage() {} +func (*GetChatLogsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{9} +} +func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) +} +func (m *GetChatLogsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsReq.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsReq.Merge(dst, src) +} +func (m *GetChatLogsReq) XXX_Size() int { + return xxx_messageInfo_GetChatLogsReq.Size(m) +} +func (m *GetChatLogsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetChatLogsReq proto.InternalMessageInfo + +func (m *GetChatLogsReq) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *GetChatLogsReq) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *GetChatLogsReq) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *GetChatLogsReq) GetSendTime() string { + if m != nil { + return m.SendTime + } + return "" +} + +func (m *GetChatLogsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *GetChatLogsReq) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetChatLogsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type ChatLog struct { + ServerMsgID string `protobuf:"bytes,1,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"` + StringClientMsgID string `protobuf:"bytes,2,opt,name=stringClientMsgID" json:"stringClientMsgID,omitempty"` + SendID string `protobuf:"bytes,3,opt,name=SendID" json:"SendID,omitempty"` + RecvID string `protobuf:"bytes,4,opt,name=RecvID" json:"RecvID,omitempty"` + SenderPlatformID int32 `protobuf:"varint,5,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,6,opt,name=SenderNickname" json:"SenderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,7,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"` + SessionType int32 `protobuf:"varint,8,opt,name=SessionType" json:"SessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,9,opt,name=MsgFrom" json:"MsgFrom,omitempty"` + ContentType int32 `protobuf:"varint,10,opt,name=ContentType" json:"ContentType,omitempty"` + Content string `protobuf:"bytes,11,opt,name=Content" json:"Content,omitempty"` + Status int32 `protobuf:"varint,12,opt,name=Status" json:"Status,omitempty"` + SendTime int64 `protobuf:"varint,13,opt,name=SendTime" json:"SendTime,omitempty"` + CreateTime int64 `protobuf:"varint,14,opt,name=CreateTime" json:"CreateTime,omitempty"` + Ex string `protobuf:"bytes,15,opt,name=Ex" json:"Ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ChatLog) Reset() { *m = ChatLog{} } +func (m *ChatLog) String() string { return proto.CompactTextString(m) } +func (*ChatLog) ProtoMessage() {} +func (*ChatLog) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{10} +} +func (m *ChatLog) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ChatLog.Unmarshal(m, b) +} +func (m *ChatLog) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ChatLog.Marshal(b, m, deterministic) +} +func (dst *ChatLog) XXX_Merge(src proto.Message) { + xxx_messageInfo_ChatLog.Merge(dst, src) +} +func (m *ChatLog) XXX_Size() int { + return xxx_messageInfo_ChatLog.Size(m) +} +func (m *ChatLog) XXX_DiscardUnknown() { + xxx_messageInfo_ChatLog.DiscardUnknown(m) +} + +var xxx_messageInfo_ChatLog proto.InternalMessageInfo + +func (m *ChatLog) GetServerMsgID() string { + if m != nil { + return m.ServerMsgID + } + return "" +} + +func (m *ChatLog) GetStringClientMsgID() string { + if m != nil { + return m.StringClientMsgID + } + return "" +} + +func (m *ChatLog) GetSendID() string { + if m != nil { + return m.SendID + } + return "" +} + +func (m *ChatLog) GetRecvID() string { + if m != nil { + return m.RecvID + } + return "" +} + +func (m *ChatLog) GetSenderPlatformID() int32 { + if m != nil { + return m.SenderPlatformID + } + return 0 +} + +func (m *ChatLog) GetSenderNickname() string { + if m != nil { + return m.SenderNickname + } + return "" +} + +func (m *ChatLog) GetSenderFaceURL() string { + if m != nil { + return m.SenderFaceURL + } + return "" +} + +func (m *ChatLog) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ChatLog) GetMsgFrom() int32 { + if m != nil { + return m.MsgFrom + } + return 0 +} + +func (m *ChatLog) GetContentType() int32 { + if m != nil { + return m.ContentType + } + return 0 +} + +func (m *ChatLog) GetContent() string { + if m != nil { + return m.Content + } + return "" +} + +func (m *ChatLog) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *ChatLog) GetSendTime() int64 { + if m != nil { + return m.SendTime + } + return 0 +} + +func (m *ChatLog) GetCreateTime() int64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *ChatLog) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type GetChatLogsResp struct { + ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=ChatLogs" json:"ChatLogs,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + ChatLogsNum int32 `protobuf:"varint,3,opt,name=ChatLogsNum" json:"ChatLogsNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } +func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } +func (*GetChatLogsResp) ProtoMessage() {} +func (*GetChatLogsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{11} +} +func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) +} +func (m *GetChatLogsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetChatLogsResp.Marshal(b, m, deterministic) +} +func (dst *GetChatLogsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetChatLogsResp.Merge(dst, src) +} +func (m *GetChatLogsResp) XXX_Size() int { + return xxx_messageInfo_GetChatLogsResp.Size(m) +} +func (m *GetChatLogsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetChatLogsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetChatLogsResp proto.InternalMessageInfo + +func (m *GetChatLogsResp) GetChatLogs() []*ChatLog { + if m != nil { + return m.ChatLogs + } + return nil +} + +func (m *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetChatLogsResp) GetChatLogsNum() int32 { + if m != nil { + return m.ChatLogsNum + } + return 0 +} + +func (m *GetChatLogsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type StatisticsReq struct { + From string `protobuf:"bytes,1,opt,name=from" json:"from,omitempty"` + To string `protobuf:"bytes,2,opt,name=to" json:"to,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } +func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } +func (*StatisticsReq) ProtoMessage() {} +func (*StatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{12} +} +func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) +} +func (m *StatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_StatisticsReq.Marshal(b, m, deterministic) +} +func (dst *StatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_StatisticsReq.Merge(dst, src) +} +func (m *StatisticsReq) XXX_Size() int { + return xxx_messageInfo_StatisticsReq.Size(m) +} +func (m *StatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_StatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_StatisticsReq proto.InternalMessageInfo + +func (m *StatisticsReq) GetFrom() string { + if m != nil { + return m.From + } + return "" +} + +func (m *StatisticsReq) GetTo() string { + if m != nil { + return m.To + } + return "" +} + +type GetActiveUserReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } +func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserReq) ProtoMessage() {} +func (*GetActiveUserReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{13} +} +func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) +} +func (m *GetActiveUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserReq.Merge(dst, src) +} +func (m *GetActiveUserReq) XXX_Size() int { + return xxx_messageInfo_GetActiveUserReq.Size(m) +} +func (m *GetActiveUserReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveUserReq proto.InternalMessageInfo + +func (m *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetActiveUserReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type UserResp struct { + NickName string `protobuf:"bytes,1,opt,name=NickName" json:"NickName,omitempty"` + UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserResp) Reset() { *m = UserResp{} } +func (m *UserResp) String() string { return proto.CompactTextString(m) } +func (*UserResp) ProtoMessage() {} +func (*UserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{14} +} +func (m *UserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserResp.Unmarshal(m, b) +} +func (m *UserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserResp.Marshal(b, m, deterministic) +} +func (dst *UserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserResp.Merge(dst, src) +} +func (m *UserResp) XXX_Size() int { + return xxx_messageInfo_UserResp.Size(m) +} +func (m *UserResp) XXX_DiscardUnknown() { + xxx_messageInfo_UserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_UserResp proto.InternalMessageInfo + +func (m *UserResp) GetNickName() string { + if m != nil { + return m.NickName + } + return "" +} + +func (m *UserResp) GetUserId() string { + if m != nil { + return m.UserId + } + return "" +} + +func (m *UserResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum + } + return 0 +} + +type GetActiveUserResp struct { + Users []*UserResp `protobuf:"bytes,1,rep,name=Users" json:"Users,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } +func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveUserResp) ProtoMessage() {} +func (*GetActiveUserResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{15} +} +func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) +} +func (m *GetActiveUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveUserResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveUserResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveUserResp.Merge(dst, src) +} +func (m *GetActiveUserResp) XXX_Size() int { + return xxx_messageInfo_GetActiveUserResp.Size(m) +} +func (m *GetActiveUserResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveUserResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveUserResp proto.InternalMessageInfo + +func (m *GetActiveUserResp) GetUsers() []*UserResp { + if m != nil { + return m.Users + } + return nil +} + +func (m *GetActiveUserResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetActiveGroupReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } +func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupReq) ProtoMessage() {} +func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{16} +} +func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) +} +func (m *GetActiveGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupReq.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupReq.Merge(dst, src) +} +func (m *GetActiveGroupReq) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupReq.Size(m) +} +func (m *GetActiveGroupReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveGroupReq proto.InternalMessageInfo + +func (m *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetActiveGroupReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GroupResp struct { + GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` + GroupId string `protobuf:"bytes,2,opt,name=GroupId" json:"GroupId,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GroupResp) Reset() { *m = GroupResp{} } +func (m *GroupResp) String() string { return proto.CompactTextString(m) } +func (*GroupResp) ProtoMessage() {} +func (*GroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{17} +} +func (m *GroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GroupResp.Unmarshal(m, b) +} +func (m *GroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GroupResp.Marshal(b, m, deterministic) +} +func (dst *GroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GroupResp.Merge(dst, src) +} +func (m *GroupResp) XXX_Size() int { + return xxx_messageInfo_GroupResp.Size(m) +} +func (m *GroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GroupResp proto.InternalMessageInfo + +func (m *GroupResp) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GroupResp) GetGroupId() string { + if m != nil { + return m.GroupId + } + return "" +} + +func (m *GroupResp) GetMessageNum() int32 { + if m != nil { + return m.MessageNum + } + return 0 +} + +func (m *GroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetActiveGroupResp struct { + Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups" json:"Groups,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } +func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } +func (*GetActiveGroupResp) ProtoMessage() {} +func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{18} +} +func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) +} +func (m *GetActiveGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetActiveGroupResp.Marshal(b, m, deterministic) +} +func (dst *GetActiveGroupResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetActiveGroupResp.Merge(dst, src) +} +func (m *GetActiveGroupResp) XXX_Size() int { + return xxx_messageInfo_GetActiveGroupResp.Size(m) +} +func (m *GetActiveGroupResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetActiveGroupResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetActiveGroupResp proto.InternalMessageInfo + +func (m *GetActiveGroupResp) GetGroups() []*GroupResp { + if m != nil { + return m.Groups + } + return nil +} + +func (m *GetActiveGroupResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type DateNumList struct { + Date string `protobuf:"bytes,1,opt,name=Date" json:"Date,omitempty"` + Num int32 `protobuf:"varint,2,opt,name=Num" json:"Num,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DateNumList) Reset() { *m = DateNumList{} } +func (m *DateNumList) String() string { return proto.CompactTextString(m) } +func (*DateNumList) ProtoMessage() {} +func (*DateNumList) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{19} +} +func (m *DateNumList) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DateNumList.Unmarshal(m, b) +} +func (m *DateNumList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DateNumList.Marshal(b, m, deterministic) +} +func (dst *DateNumList) XXX_Merge(src proto.Message) { + xxx_messageInfo_DateNumList.Merge(dst, src) +} +func (m *DateNumList) XXX_Size() int { + return xxx_messageInfo_DateNumList.Size(m) +} +func (m *DateNumList) XXX_DiscardUnknown() { + xxx_messageInfo_DateNumList.DiscardUnknown(m) +} + +var xxx_messageInfo_DateNumList proto.InternalMessageInfo + +func (m *DateNumList) GetDate() string { + if m != nil { + return m.Date + } + return "" +} + +func (m *DateNumList) GetNum() int32 { + if m != nil { + return m.Num + } + return 0 +} + +type GetMessageStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq{} } +func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsReq) ProtoMessage() {} +func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{20} +} +func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) +} +func (m *GetMessageStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsReq.Merge(dst, src) +} +func (m *GetMessageStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsReq.Size(m) +} +func (m *GetMessageStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageStatisticsReq proto.InternalMessageInfo + +func (m *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetMessageStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetMessageStatisticsResp struct { + PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum" json:"PrivateMessageNum,omitempty"` + GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum" json:"GroupMessageNum,omitempty"` + PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList" json:"PrivateMessageNumList,omitempty"` + GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList" json:"GroupMessageNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsResp{} } +func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageStatisticsResp) ProtoMessage() {} +func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{21} +} +func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) +} +func (m *GetMessageStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetMessageStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageStatisticsResp.Merge(dst, src) +} +func (m *GetMessageStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetMessageStatisticsResp.Size(m) +} +func (m *GetMessageStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageStatisticsResp proto.InternalMessageInfo + +func (m *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { + if m != nil { + return m.PrivateMessageNum + } + return 0 +} + +func (m *GetMessageStatisticsResp) GetGroupMessageNum() int32 { + if m != nil { + return m.GroupMessageNum + } + return 0 +} + +func (m *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { + if m != nil { + return m.PrivateMessageNumList + } + return nil +} + +func (m *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { + if m != nil { + return m.GroupMessageNumList + } + return nil +} + +func (m *GetMessageStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetGroupStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } +func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsReq) ProtoMessage() {} +func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{22} +} +func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) +} +func (m *GetGroupStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsReq.Merge(dst, src) +} +func (m *GetGroupStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsReq.Size(m) +} +func (m *GetGroupStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupStatisticsReq proto.InternalMessageInfo + +func (m *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetGroupStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetGroupStatisticsResp struct { + IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum" json:"IncreaseGroupNum,omitempty"` + TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum" json:"TotalGroupNum,omitempty"` + IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList" json:"IncreaseGroupNumList,omitempty"` + TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList" json:"TotalGroupNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} } +func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetGroupStatisticsResp) ProtoMessage() {} +func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{23} +} +func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) +} +func (m *GetGroupStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetGroupStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetGroupStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetGroupStatisticsResp.Merge(dst, src) +} +func (m *GetGroupStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetGroupStatisticsResp.Size(m) +} +func (m *GetGroupStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetGroupStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetGroupStatisticsResp proto.InternalMessageInfo + +func (m *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { + if m != nil { + return m.IncreaseGroupNum + } + return 0 +} + +func (m *GetGroupStatisticsResp) GetTotalGroupNum() int32 { + if m != nil { + return m.TotalGroupNum + } + return 0 +} + +func (m *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { + if m != nil { + return m.IncreaseGroupNumList + } + return nil +} + +func (m *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { + if m != nil { + return m.TotalGroupNumList + } + return nil +} + +func (m *GetGroupStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUserStatisticsReq struct { + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } +func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsReq) ProtoMessage() {} +func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{24} +} +func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) +} +func (m *GetUserStatisticsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsReq.Merge(dst, src) +} +func (m *GetUserStatisticsReq) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsReq.Size(m) +} +func (m *GetUserStatisticsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserStatisticsReq proto.InternalMessageInfo + +func (m *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { + if m != nil { + return m.StatisticsReq + } + return nil +} + +func (m *GetUserStatisticsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUserStatisticsResp struct { + IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum" json:"IncreaseUserNum,omitempty"` + ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum" json:"ActiveUserNum,omitempty"` + TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum" json:"TotalUserNum,omitempty"` + IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList" json:"IncreaseUserNumList,omitempty"` + ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList" json:"ActiveUserNumList,omitempty"` + TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList" json:"TotalUserNumList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,7,opt,name=CommonResp" json:"CommonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } +func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserStatisticsResp) ProtoMessage() {} +func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{25} +} +func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) +} +func (m *GetUserStatisticsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserStatisticsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserStatisticsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserStatisticsResp.Merge(dst, src) +} +func (m *GetUserStatisticsResp) XXX_Size() int { + return xxx_messageInfo_GetUserStatisticsResp.Size(m) +} +func (m *GetUserStatisticsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserStatisticsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserStatisticsResp proto.InternalMessageInfo + +func (m *GetUserStatisticsResp) GetIncreaseUserNum() int32 { + if m != nil { + return m.IncreaseUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetActiveUserNum() int32 { + if m != nil { + return m.ActiveUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetTotalUserNum() int32 { + if m != nil { + return m.TotalUserNum + } + return 0 +} + +func (m *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { + if m != nil { + return m.IncreaseUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { + if m != nil { + return m.ActiveUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { + if m != nil { + return m.TotalUserNumList + } + return nil +} + +func (m *GetUserStatisticsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + func init() { + proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") proto.RegisterType((*AdminLoginResp)(nil), "admin_cms.AdminLoginResp") proto.RegisterType((*AddUserRegisterAddFriendIDListReq)(nil), "admin_cms.AddUserRegisterAddFriendIDListReq") @@ -377,6 +1518,23 @@ func init() { proto.RegisterType((*ReduceUserRegisterAddFriendIDListResp)(nil), "admin_cms.ReduceUserRegisterAddFriendIDListResp") proto.RegisterType((*GetUserRegisterAddFriendIDListReq)(nil), "admin_cms.GetUserRegisterAddFriendIDListReq") proto.RegisterType((*GetUserRegisterAddFriendIDListResp)(nil), "admin_cms.GetUserRegisterAddFriendIDListResp") + proto.RegisterType((*GetChatLogsReq)(nil), "admin_cms.GetChatLogsReq") + proto.RegisterType((*ChatLog)(nil), "admin_cms.ChatLog") + proto.RegisterType((*GetChatLogsResp)(nil), "admin_cms.GetChatLogsResp") + proto.RegisterType((*StatisticsReq)(nil), "admin_cms.StatisticsReq") + proto.RegisterType((*GetActiveUserReq)(nil), "admin_cms.GetActiveUserReq") + proto.RegisterType((*UserResp)(nil), "admin_cms.UserResp") + proto.RegisterType((*GetActiveUserResp)(nil), "admin_cms.GetActiveUserResp") + proto.RegisterType((*GetActiveGroupReq)(nil), "admin_cms.GetActiveGroupReq") + proto.RegisterType((*GroupResp)(nil), "admin_cms.GroupResp") + proto.RegisterType((*GetActiveGroupResp)(nil), "admin_cms.GetActiveGroupResp") + proto.RegisterType((*DateNumList)(nil), "admin_cms.DateNumList") + proto.RegisterType((*GetMessageStatisticsReq)(nil), "admin_cms.GetMessageStatisticsReq") + proto.RegisterType((*GetMessageStatisticsResp)(nil), "admin_cms.GetMessageStatisticsResp") + proto.RegisterType((*GetGroupStatisticsReq)(nil), "admin_cms.GetGroupStatisticsReq") + proto.RegisterType((*GetGroupStatisticsResp)(nil), "admin_cms.GetGroupStatisticsResp") + proto.RegisterType((*GetUserStatisticsReq)(nil), "admin_cms.GetUserStatisticsReq") + proto.RegisterType((*GetUserStatisticsResp)(nil), "admin_cms.GetUserStatisticsResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -394,6 +1552,12 @@ type AdminCMSClient interface { AddUserRegisterAddFriendIDList(ctx context.Context, in *AddUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*AddUserRegisterAddFriendIDListResp, error) ReduceUserRegisterAddFriendIDList(ctx context.Context, in *ReduceUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*ReduceUserRegisterAddFriendIDListResp, error) GetUserRegisterAddFriendIDList(ctx context.Context, in *GetUserRegisterAddFriendIDListReq, opts ...grpc.CallOption) (*GetUserRegisterAddFriendIDListResp, error) + GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) + GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) + GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) + GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) + GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) + GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) } type adminCMSClient struct { @@ -440,6 +1604,60 @@ func (c *adminCMSClient) GetUserRegisterAddFriendIDList(ctx context.Context, in return out, nil } +func (c *adminCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) { + out := new(GetChatLogsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetChatLogs", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) { + out := new(GetActiveUserResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveUser", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) { + out := new(GetActiveGroupResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetActiveGroup", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) { + out := new(GetMessageStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetMessageStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) { + out := new(GetGroupStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetGroupStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) { + out := new(GetUserStatisticsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserStatistics", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for AdminCMS service type AdminCMSServer interface { @@ -447,6 +1665,12 @@ type AdminCMSServer interface { AddUserRegisterAddFriendIDList(context.Context, *AddUserRegisterAddFriendIDListReq) (*AddUserRegisterAddFriendIDListResp, error) ReduceUserRegisterAddFriendIDList(context.Context, *ReduceUserRegisterAddFriendIDListReq) (*ReduceUserRegisterAddFriendIDListResp, error) GetUserRegisterAddFriendIDList(context.Context, *GetUserRegisterAddFriendIDListReq) (*GetUserRegisterAddFriendIDListResp, error) + GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) + GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) + GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) + GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) + GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) + GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -525,6 +1749,114 @@ func _AdminCMS_GetUserRegisterAddFriendIDList_Handler(srv interface{}, ctx conte return interceptor(ctx, in, info, handler) } +func _AdminCMS_GetChatLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetChatLogsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetChatLogs(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetChatLogs", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetChatLogs(ctx, req.(*GetChatLogsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetActiveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActiveUserReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetActiveUser(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetActiveUser", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetActiveUser(ctx, req.(*GetActiveUserReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetActiveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetActiveGroupReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetActiveGroup(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetActiveGroup", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetActiveGroup(ctx, req.(*GetActiveGroupReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetMessageStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetMessageStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetMessageStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetMessageStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetMessageStatistics(ctx, req.(*GetMessageStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetGroupStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetGroupStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetGroupStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetGroupStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetGroupStatistics(ctx, req.(*GetGroupStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetUserStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserStatisticsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserStatistics(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserStatistics", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserStatistics(ctx, req.(*GetUserStatisticsReq)) + } + return interceptor(ctx, in, info, handler) +} + var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -545,44 +1877,127 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserRegisterAddFriendIDList", Handler: _AdminCMS_GetUserRegisterAddFriendIDList_Handler, }, + { + MethodName: "GetChatLogs", + Handler: _AdminCMS_GetChatLogs_Handler, + }, + { + MethodName: "GetActiveUser", + Handler: _AdminCMS_GetActiveUser_Handler, + }, + { + MethodName: "GetActiveGroup", + Handler: _AdminCMS_GetActiveGroup_Handler, + }, + { + MethodName: "GetMessageStatistics", + Handler: _AdminCMS_GetMessageStatistics_Handler, + }, + { + MethodName: "GetGroupStatistics", + Handler: _AdminCMS_GetGroupStatistics_Handler, + }, + { + MethodName: "GetUserStatistics", + Handler: _AdminCMS_GetUserStatistics_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_e0cc6ee28c5c634b) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_1a9119d2c1ff8ffc) } -var fileDescriptor_admin_cms_e0cc6ee28c5c634b = []byte{ - // 460 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0xcd, 0x6e, 0xd3, 0x40, - 0x10, 0xc7, 0xe5, 0x5a, 0x2d, 0x64, 0x02, 0x1c, 0x56, 0x7c, 0xb8, 0x01, 0x55, 0xc9, 0x2a, 0x85, - 0x1c, 0xc0, 0x46, 0xe1, 0xc8, 0x01, 0x05, 0x02, 0xc8, 0x52, 0xab, 0xa2, 0xad, 0xb8, 0x70, 0xb1, - 0x4c, 0x3c, 0x44, 0x56, 0x94, 0xdd, 0xed, 0xce, 0x86, 0x9e, 0xb8, 0xf6, 0xc2, 0xab, 0xf0, 0x38, - 0x3c, 0x10, 0xea, 0x26, 0x8d, 0x6d, 0xea, 0xd6, 0xad, 0x72, 0xf3, 0x7c, 0xfc, 0x77, 0x7f, 0x1e, - 0xfd, 0x67, 0x61, 0x37, 0xcd, 0xe6, 0xb9, 0x4c, 0x26, 0x73, 0x8a, 0xd6, 0x5f, 0xa1, 0x36, 0xca, - 0x2a, 0xd6, 0x5a, 0x27, 0x3a, 0xbd, 0x23, 0x8d, 0x32, 0x89, 0x0f, 0x23, 0x3d, 0x9b, 0x46, 0xae, - 0x1a, 0x51, 0x36, 0x4b, 0x4e, 0x29, 0x3a, 0x5d, 0x75, 0xf3, 0x09, 0xdc, 0x1f, 0x9d, 0xf7, 0x1f, - 0xa8, 0x69, 0x2e, 0x05, 0x9e, 0xb0, 0x2e, 0xb4, 0x8f, 0x34, 0x9a, 0xd4, 0xe6, 0x4a, 0xc6, 0xe3, - 0xc0, 0xeb, 0x7a, 0x83, 0x96, 0x28, 0xa7, 0x58, 0x00, 0x77, 0x9c, 0x24, 0x1e, 0x07, 0x5b, 0xae, - 0x7a, 0x11, 0xb2, 0xc7, 0xb0, 0x73, 0x8c, 0x13, 0x83, 0x36, 0xf0, 0x5d, 0x61, 0x15, 0xf1, 0xe7, - 0xf0, 0xa0, 0x7c, 0x09, 0x69, 0xf6, 0x10, 0xb6, 0xad, 0x9a, 0xa1, 0x5c, 0x9d, 0xbf, 0x0c, 0x38, - 0x42, 0x6f, 0x94, 0x65, 0x5f, 0x09, 0x8d, 0xc0, 0x69, 0x4e, 0x16, 0xcd, 0x28, 0xcb, 0x3e, 0x99, - 0x1c, 0x65, 0x16, 0x8f, 0x0f, 0x72, 0xb2, 0x2b, 0x40, 0x75, 0x19, 0xb0, 0x94, 0x62, 0x7b, 0x00, - 0x0b, 0x42, 0xb3, 0x94, 0x04, 0x5b, 0x5d, 0x7f, 0xd0, 0x12, 0xa5, 0x0c, 0xef, 0x03, 0x6f, 0xba, - 0x86, 0x34, 0x3f, 0xf3, 0xa0, 0x2f, 0x30, 0x5b, 0x4c, 0x70, 0x63, 0xa0, 0x67, 0xd0, 0x5a, 0x87, - 0x6e, 0x66, 0xdb, 0xa2, 0x48, 0xfc, 0x87, 0xeb, 0x5f, 0xc2, 0x7d, 0x01, 0xfb, 0x37, 0xe0, 0x20, - 0xcd, 0x7f, 0x7b, 0xd0, 0xfb, 0x8c, 0x76, 0x63, 0xdc, 0x31, 0xc0, 0x97, 0x74, 0x9a, 0xcb, 0x82, - 0xb7, 0x3d, 0xec, 0x87, 0x84, 0xe6, 0x27, 0x9a, 0x24, 0xd5, 0x79, 0xa2, 0x53, 0x93, 0xce, 0x29, - 0x14, 0x78, 0xb2, 0x40, 0xb2, 0x45, 0xaf, 0x28, 0xe9, 0xf8, 0x1f, 0x0f, 0x78, 0x13, 0x0d, 0x69, - 0xf6, 0x0e, 0xee, 0x9d, 0xb7, 0xc4, 0xf2, 0x87, 0x72, 0xff, 0xef, 0x75, 0xfd, 0x41, 0x7b, 0xf8, - 0xb4, 0xe6, 0xba, 0x8b, 0x36, 0x51, 0x11, 0xb0, 0x8f, 0x35, 0xb4, 0xfb, 0xb5, 0xb4, 0xa4, 0x95, - 0x24, 0xac, 0xc7, 0x1d, 0xfe, 0xf5, 0xe1, 0xae, 0xdb, 0x9c, 0x0f, 0x87, 0xc7, 0x6c, 0x04, 0x50, - 0x18, 0x96, 0x05, 0x61, 0xb1, 0x63, 0x95, 0x65, 0xe9, 0xec, 0x5e, 0x51, 0x21, 0xcd, 0x7e, 0xc1, - 0xde, 0xf5, 0x26, 0x63, 0x2f, 0x2b, 0xe2, 0x06, 0xdb, 0x77, 0x5e, 0xdd, 0xa2, 0x9b, 0x34, 0x3b, - 0xf3, 0xa0, 0xd7, 0xe8, 0x1a, 0x16, 0x95, 0x0e, 0xbd, 0x89, 0xd7, 0x3b, 0xaf, 0x6f, 0x27, 0x58, - 0xce, 0xe1, 0x7a, 0x17, 0x54, 0xe6, 0xd0, 0x68, 0xdf, 0xca, 0x1c, 0x9a, 0xed, 0xf5, 0xfe, 0xc9, - 0xb7, 0x47, 0x61, 0xf1, 0x44, 0xbe, 0x5d, 0x7f, 0x7d, 0xdf, 0x71, 0xef, 0xdf, 0x9b, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x99, 0xbe, 0x8e, 0x2a, 0x4a, 0x05, 0x00, 0x00, +var fileDescriptor_admin_cms_1a9119d2c1ff8ffc = []byte{ + // 1408 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0xdb, 0xc6, + 0x13, 0x07, 0x25, 0xcb, 0x92, 0x46, 0xb1, 0x63, 0x6f, 0xec, 0x84, 0x51, 0xf2, 0xcf, 0x5f, 0x66, + 0x93, 0x42, 0x2d, 0x52, 0xa9, 0x70, 0xd0, 0x53, 0x81, 0x14, 0x8e, 0x94, 0xa8, 0x0a, 0xac, 0xc4, + 0x60, 0x92, 0x02, 0x6d, 0xd1, 0x08, 0xac, 0xb4, 0x51, 0x09, 0x47, 0xe4, 0x9a, 0xbb, 0x72, 0x1c, + 0x14, 0xbd, 0xe6, 0xd2, 0x7b, 0x0f, 0x3d, 0xf6, 0x15, 0xfa, 0x04, 0x3d, 0xf6, 0x29, 0x8a, 0xa2, + 0x2f, 0x52, 0xec, 0x2e, 0x3f, 0x76, 0x49, 0x5a, 0x92, 0x1d, 0xd4, 0x37, 0xce, 0xec, 0x7c, 0xec, + 0xfc, 0x7e, 0x33, 0xcb, 0x25, 0xe1, 0xba, 0x33, 0x9e, 0xba, 0xde, 0x70, 0x34, 0xa5, 0xed, 0xf8, + 0xa9, 0x45, 0x02, 0x9f, 0xf9, 0xa8, 0x1a, 0x2b, 0xea, 0x3b, 0x4f, 0x09, 0xf6, 0x86, 0xfd, 0x41, + 0x9b, 0x1c, 0x4e, 0xda, 0x62, 0xb5, 0x4d, 0xc7, 0x87, 0xc3, 0x37, 0xb4, 0xfd, 0x26, 0xb4, 0xb6, + 0xee, 0x03, 0x74, 0xfc, 0xe9, 0xd4, 0xf7, 0x6c, 0x4c, 0x09, 0x32, 0xa1, 0x8c, 0x83, 0xa0, 0xe3, + 0x8f, 0xb1, 0x69, 0x34, 0x8c, 0x66, 0xc9, 0x8e, 0x44, 0x74, 0x15, 0x56, 0x71, 0x10, 0x0c, 0xe8, + 0xc4, 0x2c, 0x34, 0x8c, 0x66, 0xd5, 0x0e, 0x25, 0x6b, 0x04, 0x6b, 0x7b, 0x3c, 0xdf, 0xbe, 0x3f, + 0x71, 0x3d, 0x1b, 0x1f, 0xa1, 0x06, 0xd4, 0x9e, 0x12, 0x1c, 0x38, 0xcc, 0xf5, 0xbd, 0x7e, 0x57, + 0x84, 0xa9, 0xda, 0xaa, 0x8a, 0x27, 0x11, 0x2e, 0xfd, 0x6e, 0x18, 0x2b, 0x12, 0x79, 0x92, 0x67, + 0x78, 0x14, 0x60, 0x66, 0x16, 0x65, 0x12, 0x29, 0x59, 0xdf, 0xc1, 0xba, 0x9a, 0x84, 0x12, 0xb4, + 0x05, 0x25, 0xe6, 0x1f, 0x62, 0x2f, 0x8c, 0x2f, 0x05, 0xf4, 0x19, 0xc0, 0x28, 0x2e, 0x46, 0x04, + 0xaf, 0xed, 0x6e, 0xb7, 0x12, 0x80, 0x92, 0x4a, 0x6d, 0xc5, 0xd0, 0xc2, 0xb0, 0xb3, 0x37, 0x1e, + 0xbf, 0xa0, 0x38, 0xb0, 0xf1, 0xc4, 0xa5, 0x0c, 0x07, 0x7b, 0xe3, 0xf1, 0xa3, 0xc0, 0xc5, 0xde, + 0xb8, 0xdf, 0xdd, 0x77, 0x29, 0x0b, 0xeb, 0xf2, 0xb3, 0x75, 0x29, 0x2a, 0x74, 0x0b, 0x60, 0x46, + 0x71, 0x20, 0x5d, 0xcc, 0x42, 0xa3, 0xd8, 0xac, 0xda, 0x8a, 0xc6, 0xfa, 0x16, 0xac, 0x45, 0x69, + 0x28, 0x49, 0xd5, 0x60, 0x2c, 0x5b, 0xc3, 0x3b, 0x03, 0x6e, 0xdb, 0x78, 0x3c, 0x1b, 0xe1, 0xf7, + 0xae, 0xe3, 0x26, 0x54, 0x63, 0x51, 0x80, 0x58, 0xb2, 0x13, 0x45, 0xaa, 0xca, 0x62, 0xa6, 0xca, + 0x97, 0x70, 0x67, 0x89, 0x7d, 0x9c, 0xbf, 0xd0, 0x9f, 0x0d, 0xd8, 0xe9, 0x61, 0xf6, 0xde, 0x55, + 0x76, 0x01, 0x88, 0x33, 0x71, 0xbd, 0xa4, 0xcc, 0xda, 0xee, 0xed, 0x16, 0xc5, 0xc1, 0x31, 0x0e, + 0x86, 0x0e, 0x71, 0x87, 0xc4, 0x09, 0x9c, 0x29, 0x6d, 0xd9, 0xf8, 0x68, 0x86, 0x29, 0x3b, 0x88, + 0x6d, 0x6d, 0xc5, 0xcf, 0xfa, 0xc7, 0x00, 0x6b, 0xd1, 0x6e, 0x28, 0x41, 0x5f, 0xc0, 0x25, 0x01, + 0x91, 0xf7, 0xca, 0x17, 0xb0, 0x19, 0x8d, 0x62, 0xb3, 0xb6, 0x7b, 0x23, 0x27, 0xdd, 0x8b, 0xd0, + 0xcc, 0xd6, 0x1c, 0xd0, 0xc3, 0x9c, 0xdd, 0xde, 0xc9, 0xdd, 0x2d, 0x25, 0xbe, 0x47, 0x71, 0xfe, + 0x76, 0x53, 0x98, 0x17, 0x97, 0xc5, 0xfc, 0xb7, 0x02, 0xac, 0xf7, 0x30, 0xeb, 0xfc, 0xe0, 0xb0, + 0x7d, 0x7f, 0x42, 0x39, 0xc0, 0x26, 0x94, 0x3b, 0xbe, 0xc7, 0xb0, 0xc7, 0x42, 0x70, 0x23, 0x51, + 0x0e, 0x31, 0xaf, 0x3e, 0x3a, 0x29, 0xa4, 0xc4, 0xf5, 0x36, 0x1e, 0x1d, 0xf7, 0xbb, 0xd1, 0x70, + 0x4b, 0x09, 0xd5, 0xa1, 0xc2, 0x2d, 0x9e, 0xbb, 0x53, 0x6c, 0xae, 0x88, 0x95, 0x58, 0xe6, 0x34, + 0x3e, 0xc3, 0x94, 0xba, 0xbe, 0xf7, 0xfc, 0x2d, 0xc1, 0x66, 0x49, 0x34, 0xa3, 0xaa, 0xe2, 0x16, + 0x61, 0x62, 0x61, 0xb1, 0x2a, 0x2d, 0x14, 0x15, 0x27, 0x3a, 0x41, 0xc3, 0x2c, 0x9f, 0x85, 0xe8, + 0xe4, 0x39, 0x7d, 0xac, 0x55, 0x32, 0xc7, 0x9a, 0xf5, 0x57, 0x11, 0xca, 0x21, 0x42, 0x72, 0xdf, + 0x3c, 0xc1, 0x80, 0x4e, 0x92, 0xf6, 0x53, 0x54, 0xe8, 0x2e, 0x6c, 0x52, 0x16, 0xb8, 0xde, 0xa4, + 0xf3, 0xda, 0xc5, 0x1e, 0x93, 0x76, 0x12, 0xb0, 0xec, 0x82, 0x82, 0x69, 0xf1, 0x14, 0x4c, 0x57, + 0x34, 0x4c, 0x3f, 0x86, 0x0d, 0x6e, 0x81, 0x83, 0x83, 0xd7, 0x0e, 0x7b, 0xe5, 0x07, 0xd3, 0x7e, + 0x37, 0x04, 0x2f, 0xa3, 0x47, 0x1f, 0xc2, 0xba, 0xd4, 0x3d, 0x71, 0x47, 0x87, 0x9e, 0x33, 0x95, + 0x20, 0x56, 0xed, 0x94, 0x16, 0xdd, 0x86, 0x35, 0xa9, 0x79, 0xe4, 0x8c, 0xf0, 0x0b, 0x7b, 0x5f, + 0x40, 0x59, 0xb5, 0x75, 0x65, 0x9a, 0xb1, 0x4a, 0x96, 0x31, 0x13, 0xca, 0x03, 0x3a, 0x79, 0x14, + 0xf8, 0x53, 0xb3, 0x2a, 0xdf, 0x31, 0xa1, 0x98, 0xe6, 0x12, 0xb2, 0x5c, 0x2a, 0x5d, 0x57, 0xcb, + 0x76, 0x1d, 0x73, 0xd8, 0x8c, 0x9a, 0x97, 0x84, 0x5b, 0x28, 0x69, 0xdd, 0xb5, 0xd6, 0x30, 0x9a, + 0x45, 0xa5, 0xbb, 0x6e, 0x01, 0x74, 0x02, 0xec, 0x30, 0x2c, 0x56, 0xd7, 0xc5, 0xaa, 0xa2, 0x41, + 0xeb, 0x50, 0x78, 0x78, 0x62, 0x5e, 0x16, 0x89, 0x0a, 0x0f, 0x4f, 0xac, 0xbf, 0x0d, 0xb8, 0xac, + 0x8d, 0x01, 0x25, 0xa8, 0x05, 0x95, 0x48, 0x0e, 0xa7, 0x1a, 0xa9, 0xf3, 0x24, 0x97, 0xec, 0xd8, + 0x86, 0x0f, 0xf2, 0xc1, 0x79, 0x07, 0x59, 0x6f, 0xc7, 0x28, 0xe4, 0x93, 0xd9, 0x54, 0x74, 0x05, + 0x87, 0x2a, 0x51, 0xf1, 0x51, 0x4f, 0xa6, 0x59, 0xb4, 0xc7, 0xe9, 0xa3, 0x9e, 0x3c, 0x5b, 0xf7, + 0x60, 0x8d, 0x23, 0xe7, 0x52, 0xe6, 0x8e, 0xc4, 0xa0, 0x23, 0x58, 0x79, 0xc5, 0xb9, 0x92, 0x3d, + 0x2c, 0x9e, 0x39, 0x30, 0xcc, 0x0f, 0xbb, 0xb5, 0xc0, 0x7c, 0x8b, 0xc1, 0x46, 0x0f, 0xb3, 0xbd, + 0x11, 0x73, 0x8f, 0xc3, 0x63, 0xff, 0x08, 0xdd, 0x4f, 0x05, 0x0a, 0x4f, 0x78, 0x53, 0xd9, 0x82, + 0xb6, 0x6e, 0xa7, 0xf2, 0xa6, 0x06, 0xae, 0x90, 0x1d, 0xb8, 0x97, 0x50, 0x91, 0xc9, 0x28, 0xe1, + 0x34, 0xf3, 0x46, 0x7d, 0xc2, 0xdb, 0x57, 0xee, 0x34, 0x96, 0x79, 0x6b, 0x88, 0x53, 0x75, 0x1c, + 0x1d, 0x48, 0x52, 0xe2, 0xf4, 0x0f, 0x30, 0xa5, 0xce, 0x04, 0x27, 0x10, 0x2a, 0x1a, 0x6b, 0x06, + 0x9b, 0xa9, 0xaa, 0x28, 0x41, 0x1f, 0x41, 0x89, 0x3f, 0x47, 0x64, 0x5f, 0x51, 0xca, 0x89, 0x6c, + 0x6c, 0x69, 0x91, 0x62, 0xa0, 0xb0, 0x2c, 0x03, 0x6a, 0xda, 0x5e, 0xe0, 0xcf, 0xc8, 0xc5, 0xa0, + 0xf9, 0xab, 0x01, 0xd5, 0x30, 0x1d, 0x25, 0xfc, 0x0e, 0x20, 0x04, 0x05, 0xd0, 0x44, 0xc1, 0xc7, + 0x50, 0x08, 0x31, 0xa4, 0x91, 0xb8, 0x08, 0xd3, 0xf3, 0x76, 0xe5, 0x5b, 0x40, 0x69, 0x4c, 0x28, + 0x41, 0x77, 0x61, 0x55, 0x08, 0x11, 0x19, 0x5b, 0x4a, 0xa0, 0xd8, 0xca, 0x0e, 0x6d, 0xce, 0x4b, + 0xc7, 0x3d, 0xa8, 0x75, 0x1d, 0xc6, 0x37, 0x2f, 0x5e, 0xc4, 0x08, 0x56, 0xb8, 0x18, 0x8d, 0x03, + 0x7f, 0x46, 0x1b, 0x50, 0xe4, 0xd5, 0xca, 0xab, 0x12, 0x7f, 0xb4, 0x7e, 0x84, 0x6b, 0x3d, 0xcc, + 0xc2, 0xba, 0x75, 0x26, 0xfe, 0x7b, 0x26, 0xff, 0x28, 0x80, 0x99, 0x9f, 0x5d, 0x60, 0xb6, 0x79, + 0x10, 0xb8, 0xc7, 0x0e, 0xc3, 0x0a, 0x4f, 0xf2, 0xae, 0x9f, 0x5d, 0x40, 0x4d, 0xb8, 0x2c, 0xd0, + 0x53, 0x6c, 0x65, 0x95, 0x69, 0x35, 0xda, 0x87, 0xed, 0x8c, 0x7b, 0x7c, 0x43, 0xac, 0xed, 0x5e, + 0x55, 0xca, 0x53, 0xe0, 0xb4, 0xf3, 0x9d, 0xd0, 0x97, 0x70, 0x25, 0x95, 0x40, 0xc4, 0x5a, 0x99, + 0x1b, 0x2b, 0xcf, 0x25, 0xc5, 0x7a, 0x69, 0xf9, 0x86, 0xdb, 0xee, 0x61, 0x26, 0x02, 0x5e, 0x34, + 0x7d, 0xbf, 0x17, 0xe0, 0x6a, 0x5e, 0x6e, 0x4a, 0xf8, 0x6b, 0xbd, 0xef, 0x8d, 0x02, 0xec, 0x50, + 0x39, 0x05, 0x09, 0x77, 0x19, 0x3d, 0x7f, 0x5d, 0x3f, 0xf7, 0x99, 0xf3, 0x3a, 0x36, 0x94, 0xc4, + 0xe9, 0x4a, 0xf4, 0x18, 0xb6, 0xd2, 0x9e, 0x4b, 0xb0, 0x96, 0xeb, 0x83, 0xba, 0xb0, 0xa9, 0x05, + 0x5f, 0x82, 0xb2, 0xac, 0xc3, 0x79, 0x09, 0x3b, 0x81, 0xad, 0xf0, 0x1e, 0x7e, 0xd1, 0x7c, 0xfd, + 0x52, 0x14, 0xbd, 0x92, 0x4e, 0x4d, 0x09, 0x9f, 0x9e, 0x08, 0x28, 0xbe, 0x9a, 0xb0, 0x95, 0x56, + 0x73, 0xb2, 0x92, 0xf7, 0x8c, 0x42, 0x96, 0xa6, 0x44, 0x16, 0x5c, 0x12, 0x78, 0x45, 0x46, 0xf2, + 0x78, 0xd5, 0x74, 0x7c, 0x72, 0x52, 0xc1, 0x97, 0x99, 0x9c, 0x1c, 0x17, 0x4e, 0xa7, 0x96, 0x5e, + 0xc4, 0x29, 0xcd, 0xa7, 0x33, 0xe3, 0x80, 0x1e, 0xc0, 0x86, 0xba, 0x3f, 0x11, 0x64, 0x75, 0x6e, + 0x90, 0x8c, 0x7d, 0xaa, 0x25, 0xca, 0x4b, 0xb6, 0xc4, 0xee, 0x9f, 0x65, 0xa8, 0x08, 0xa3, 0xce, + 0xe0, 0x19, 0xda, 0x03, 0x48, 0x7e, 0x21, 0x20, 0x95, 0x7e, 0xed, 0xf7, 0x45, 0xfd, 0xfa, 0x29, + 0x2b, 0x94, 0xa0, 0x9f, 0xe0, 0xd6, 0xfc, 0xef, 0x77, 0x74, 0x57, 0x73, 0x5e, 0xf0, 0x47, 0xa1, + 0xfe, 0xc9, 0x19, 0xac, 0x29, 0x41, 0xef, 0x0c, 0xd8, 0x59, 0xf8, 0x65, 0x8d, 0xda, 0x4a, 0xd0, + 0x65, 0xfe, 0x07, 0xd4, 0x3f, 0x3d, 0x9b, 0x83, 0xc4, 0x61, 0xfe, 0x27, 0xaf, 0x86, 0xc3, 0xc2, + 0x6f, 0x75, 0x0d, 0x87, 0x25, 0xbe, 0xa5, 0xbb, 0x50, 0x53, 0x2e, 0xe1, 0xe8, 0xba, 0xee, 0xad, + 0x7c, 0xa3, 0xd6, 0xeb, 0xa7, 0x2d, 0x51, 0x82, 0x1e, 0xc3, 0x9a, 0x76, 0xb9, 0x43, 0x37, 0x74, + 0x63, 0xed, 0x32, 0x5b, 0xbf, 0x79, 0xfa, 0x22, 0x25, 0x68, 0x20, 0xbe, 0x8e, 0x95, 0xdb, 0x09, + 0xca, 0xb5, 0x8f, 0x2e, 0x73, 0xf5, 0xff, 0xcd, 0x59, 0xa5, 0x04, 0x0d, 0xc5, 0x51, 0x96, 0x79, + 0x7d, 0x23, 0x4b, 0x77, 0xcb, 0xbb, 0x5d, 0xd4, 0x3f, 0x58, 0x68, 0x43, 0x09, 0xfa, 0x5a, 0xdc, + 0xa6, 0x52, 0x2f, 0x18, 0xd4, 0xd0, 0x5d, 0xb3, 0xef, 0xbe, 0xfa, 0xce, 0x02, 0x0b, 0x4a, 0xd0, + 0x57, 0xe2, 0xf2, 0xaa, 0x9f, 0x85, 0xe8, 0xff, 0x59, 0x82, 0xf5, 0xc0, 0x8d, 0xf9, 0x06, 0x94, + 0x3c, 0xb8, 0xf6, 0xcd, 0x76, 0x2b, 0xf9, 0xd3, 0xf9, 0x79, 0xfc, 0xf4, 0xfd, 0xaa, 0xf8, 0x8d, + 0x79, 0xef, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x6a, 0x73, 0x53, 0x11, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index acee32324..6dcd64628 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -3,15 +3,22 @@ option go_package = "./admin_cms;admin_cms"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; package admin_cms; + +message CommonResp { + int32 errCode = 1; + string errMsg = 2; +} + message AdminLoginReq { string OperationID = 1; string AdminID = 2; string Secret = 3; } - + message AdminLoginResp { string token = 1; + CommonResp commonResp = 2; } message AddUserRegisterAddFriendIDListReq { @@ -20,7 +27,7 @@ message AddUserRegisterAddFriendIDListReq { } message AddUserRegisterAddFriendIDListResp { - + CommonResp commonResp = 1; } message ReduceUserRegisterAddFriendIDListReq { @@ -30,17 +37,143 @@ message ReduceUserRegisterAddFriendIDListReq { } message ReduceUserRegisterAddFriendIDListResp { - + CommonResp commonResp = 1; } message GetUserRegisterAddFriendIDListReq { string operationID = 1; - server_api_params.RequestPagination Pagination = 2; + server_api_params.RequestPagination pagination = 2; } message GetUserRegisterAddFriendIDListResp { - repeated server_api_params.UserInfo UserInfoList = 1; + repeated server_api_params.UserInfo userInfoList = 1; + server_api_params.ResponsePagination pagination = 2; + CommonResp commonResp = 3; +} + +message GetChatLogsReq { + string Content = 1; + string SendID = 2; + string RecvID = 3; + string SendTime = 4; + int32 SessionType = 5; + int32 ContentType = 6; + server_api_params.RequestPagination Pagination = 7; + string OperationID = 8; + +} + +message ChatLog { + string ServerMsgID = 1; + string stringClientMsgID = 2; + string SendID = 3; + string RecvID = 4; + int32 SenderPlatformID = 5; + string SenderNickname = 6; + string SenderFaceURL = 7; + int32 SessionType = 8; + int32 MsgFrom = 9; + int32 ContentType = 10; + string Content = 11; + int32 Status = 12; + int64 SendTime = 13; + int64 CreateTime = 14; + string Ex = 15; +} + +message GetChatLogsResp { + repeated ChatLog ChatLogs = 1; server_api_params.ResponsePagination Pagination = 2; + int32 ChatLogsNum = 3; + CommonResp CommonResp = 4; +} + + +message StatisticsReq { + string from = 1; + string to = 2; +} + +message GetActiveUserReq{ + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + +message UserResp{ + string NickName = 1; + string UserId = 2; + int32 MessageNum = 3; +} + +message GetActiveUserResp { + repeated UserResp Users = 1; + CommonResp CommonResp = 2; +} + +message GetActiveGroupReq{ + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + +message GroupResp { + string GroupName = 1; + string GroupId = 2; + int32 MessageNum = 3; + CommonResp CommonResp = 4; +} + +message GetActiveGroupResp { + repeated GroupResp Groups = 1; + CommonResp CommonResp = 2; +} + +message DateNumList { + string Date = 1; + int32 Num = 2; +} + + +message GetMessageStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + + +message GetMessageStatisticsResp { + int32 PrivateMessageNum = 1; + int32 GroupMessageNum = 2; + repeated DateNumList PrivateMessageNumList = 3; + repeated DateNumList GroupMessageNumList = 4; + CommonResp CommonResp = 5; +} + +message GetGroupStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + + +message GetGroupStatisticsResp { + int32 IncreaseGroupNum = 1; + int32 TotalGroupNum = 2; + repeated DateNumList IncreaseGroupNumList = 3; + repeated DateNumList TotalGroupNumList = 4; + CommonResp CommonResp = 5; +} + +message GetUserStatisticsReq { + StatisticsReq StatisticsReq = 1; + string OperationID = 2; +} + +message GetUserStatisticsResp { + int32 IncreaseUserNum = 1; + int32 ActiveUserNum = 2; + int32 TotalUserNum = 3; + repeated DateNumList IncreaseUserNumList = 4; + repeated DateNumList ActiveUserNumList = 5; + repeated DateNumList TotalUserNumList = 6; + CommonResp CommonResp = 7; } service adminCMS { @@ -48,4 +181,13 @@ service adminCMS { rpc AddUserRegisterAddFriendIDList(AddUserRegisterAddFriendIDListReq) returns(AddUserRegisterAddFriendIDListResp); rpc ReduceUserRegisterAddFriendIDList(ReduceUserRegisterAddFriendIDListReq) returns(ReduceUserRegisterAddFriendIDListResp); rpc GetUserRegisterAddFriendIDList(GetUserRegisterAddFriendIDListReq) returns(GetUserRegisterAddFriendIDListResp); -} \ No newline at end of file + + + rpc GetChatLogs(GetChatLogsReq) returns(GetChatLogsResp); + + rpc GetActiveUser(GetActiveUserReq) returns(GetActiveUserResp); + rpc GetActiveGroup(GetActiveGroupReq) returns(GetActiveGroupResp); + rpc GetMessageStatistics(GetMessageStatisticsReq) returns(GetMessageStatisticsResp); + rpc GetGroupStatistics(GetGroupStatisticsReq) returns(GetGroupStatisticsResp); + rpc GetUserStatistics(GetUserStatisticsReq) returns(GetUserStatisticsResp); +} diff --git a/pkg/proto/base/base.proto b/pkg/proto/base/base.proto deleted file mode 100644 index 6d5144f0b..000000000 --- a/pkg/proto/base/base.proto +++ /dev/null @@ -1,5 +0,0 @@ -syntax = "proto3"; -package base; - - - diff --git a/pkg/proto/message_cms/message_cms.pb.go b/pkg/proto/message_cms/message_cms.pb.go deleted file mode 100644 index 317439903..000000000 --- a/pkg/proto/message_cms/message_cms.pb.go +++ /dev/null @@ -1,1083 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc v3.15.5 -// source: message_cms/message_cms.proto - -package message_cms - -import ( - sdk_ws "Open_IM/pkg/proto/sdk_ws" - context "context" - 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 ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type BoradcastMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=Message,proto3" json:"Message,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *BoradcastMessageReq) Reset() { - *x = BoradcastMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoradcastMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoradcastMessageReq) ProtoMessage() {} - -func (x *BoradcastMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BoradcastMessageReq.ProtoReflect.Descriptor instead. -func (*BoradcastMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{0} -} - -func (x *BoradcastMessageReq) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *BoradcastMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type BoradcastMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BoradcastMessageResp) Reset() { - *x = BoradcastMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BoradcastMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BoradcastMessageResp) ProtoMessage() {} - -func (x *BoradcastMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BoradcastMessageResp.ProtoReflect.Descriptor instead. -func (*BoradcastMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{1} -} - -type MassSendMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Message string `protobuf:"bytes,1,opt,name=Message,proto3" json:"Message,omitempty"` - UserIds []string `protobuf:"bytes,2,rep,name=UserIds,proto3" json:"UserIds,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *MassSendMessageReq) Reset() { - *x = MassSendMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MassSendMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MassSendMessageReq) ProtoMessage() {} - -func (x *MassSendMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MassSendMessageReq.ProtoReflect.Descriptor instead. -func (*MassSendMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{2} -} - -func (x *MassSendMessageReq) GetMessage() string { - if x != nil { - return x.Message - } - return "" -} - -func (x *MassSendMessageReq) GetUserIds() []string { - if x != nil { - return x.UserIds - } - return nil -} - -func (x *MassSendMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type MassSendMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MassSendMessageResp) Reset() { - *x = MassSendMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MassSendMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MassSendMessageResp) ProtoMessage() {} - -func (x *MassSendMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MassSendMessageResp.ProtoReflect.Descriptor instead. -func (*MassSendMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{3} -} - -type GetChatLogsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Content string `protobuf:"bytes,1,opt,name=Content,proto3" json:"Content,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"` - GroupId string `protobuf:"bytes,3,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - Date string `protobuf:"bytes,4,opt,name=Date,proto3" json:"Date,omitempty"` - SessionType int32 `protobuf:"varint,5,opt,name=SessionType,proto3" json:"SessionType,omitempty"` - ContentType int32 `protobuf:"varint,6,opt,name=ContentType,proto3" json:"ContentType,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,8,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetChatLogsReq) Reset() { - *x = GetChatLogsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsReq) ProtoMessage() {} - -func (x *GetChatLogsReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatLogsReq.ProtoReflect.Descriptor instead. -func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{4} -} - -func (x *GetChatLogsReq) GetContent() string { - if x != nil { - return x.Content - } - return "" -} - -func (x *GetChatLogsReq) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *GetChatLogsReq) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *GetChatLogsReq) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -func (x *GetChatLogsReq) GetSessionType() int32 { - if x != nil { - return x.SessionType - } - return 0 -} - -func (x *GetChatLogsReq) GetContentType() int32 { - if x != nil { - return x.ContentType - } - return 0 -} - -func (x *GetChatLogsReq) GetPagination() *sdk_ws.RequestPagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetChatLogsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type ChatLogs struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SessionType int32 `protobuf:"varint,1,opt,name=SessionType,proto3" json:"SessionType,omitempty"` - ContentType int32 `protobuf:"varint,2,opt,name=ContentType,proto3" json:"ContentType,omitempty"` - SenderNickName string `protobuf:"bytes,3,opt,name=SenderNickName,proto3" json:"SenderNickName,omitempty"` - SenderId string `protobuf:"bytes,4,opt,name=SenderId,proto3" json:"SenderId,omitempty"` - ReciverNickName string `protobuf:"bytes,5,opt,name=ReciverNickName,proto3" json:"ReciverNickName,omitempty"` - ReciverId string `protobuf:"bytes,6,opt,name=ReciverId,proto3" json:"ReciverId,omitempty"` - SearchContent string `protobuf:"bytes,7,opt,name=SearchContent,proto3" json:"SearchContent,omitempty"` - WholeContent string `protobuf:"bytes,8,opt,name=WholeContent,proto3" json:"WholeContent,omitempty"` - GroupId string `protobuf:"bytes,9,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - GroupName string `protobuf:"bytes,10,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - Date string `protobuf:"bytes,11,opt,name=Date,proto3" json:"Date,omitempty"` -} - -func (x *ChatLogs) Reset() { - *x = ChatLogs{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChatLogs) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChatLogs) ProtoMessage() {} - -func (x *ChatLogs) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChatLogs.ProtoReflect.Descriptor instead. -func (*ChatLogs) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{5} -} - -func (x *ChatLogs) GetSessionType() int32 { - if x != nil { - return x.SessionType - } - return 0 -} - -func (x *ChatLogs) GetContentType() int32 { - if x != nil { - return x.ContentType - } - return 0 -} - -func (x *ChatLogs) GetSenderNickName() string { - if x != nil { - return x.SenderNickName - } - return "" -} - -func (x *ChatLogs) GetSenderId() string { - if x != nil { - return x.SenderId - } - return "" -} - -func (x *ChatLogs) GetReciverNickName() string { - if x != nil { - return x.ReciverNickName - } - return "" -} - -func (x *ChatLogs) GetReciverId() string { - if x != nil { - return x.ReciverId - } - return "" -} - -func (x *ChatLogs) GetSearchContent() string { - if x != nil { - return x.SearchContent - } - return "" -} - -func (x *ChatLogs) GetWholeContent() string { - if x != nil { - return x.WholeContent - } - return "" -} - -func (x *ChatLogs) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *ChatLogs) GetGroupName() string { - if x != nil { - return x.GroupName - } - return "" -} - -func (x *ChatLogs) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -type GetChatLogsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChatLogs []*ChatLogs `protobuf:"bytes,1,rep,name=ChatLogs,proto3" json:"ChatLogs,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination,proto3" json:"Pagination,omitempty"` - ChatLogsNum int32 `protobuf:"varint,3,opt,name=ChatLogsNum,proto3" json:"ChatLogsNum,omitempty"` -} - -func (x *GetChatLogsResp) Reset() { - *x = GetChatLogsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetChatLogsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetChatLogsResp) ProtoMessage() {} - -func (x *GetChatLogsResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetChatLogsResp.ProtoReflect.Descriptor instead. -func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{6} -} - -func (x *GetChatLogsResp) GetChatLogs() []*ChatLogs { - if x != nil { - return x.ChatLogs - } - return nil -} - -func (x *GetChatLogsResp) GetPagination() *sdk_ws.ResponsePagination { - if x != nil { - return x.Pagination - } - return nil -} - -func (x *GetChatLogsResp) GetChatLogsNum() int32 { - if x != nil { - return x.ChatLogsNum - } - return 0 -} - -type WithdrawMessageReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ServerMsgId string `protobuf:"bytes,1,opt,name=ServerMsgId,proto3" json:"ServerMsgId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *WithdrawMessageReq) Reset() { - *x = WithdrawMessageReq{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WithdrawMessageReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WithdrawMessageReq) ProtoMessage() {} - -func (x *WithdrawMessageReq) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WithdrawMessageReq.ProtoReflect.Descriptor instead. -func (*WithdrawMessageReq) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{7} -} - -func (x *WithdrawMessageReq) GetServerMsgId() string { - if x != nil { - return x.ServerMsgId - } - return "" -} - -func (x *WithdrawMessageReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type WithdrawMessageResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *WithdrawMessageResp) Reset() { - *x = WithdrawMessageResp{} - if protoimpl.UnsafeEnabled { - mi := &file_message_cms_message_cms_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WithdrawMessageResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WithdrawMessageResp) ProtoMessage() {} - -func (x *WithdrawMessageResp) ProtoReflect() protoreflect.Message { - mi := &file_message_cms_message_cms_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WithdrawMessageResp.ProtoReflect.Descriptor instead. -func (*WithdrawMessageResp) Descriptor() ([]byte, []int) { - return file_message_cms_message_cms_proto_rawDescGZIP(), []int{8} -} - -var File_message_cms_message_cms_proto protoreflect.FileDescriptor - -var file_message_cms_message_cms_proto_rawDesc = []byte{ - 0x0a, 0x1d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x1a, 0x21, 0x4f, 0x70, - 0x65, 0x6e, 0x5f, 0x49, 0x4d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x73, 0x64, 0x6b, 0x5f, 0x77, 0x73, 0x2f, 0x77, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x51, 0x0a, 0x13, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x6a, 0x0a, 0x12, 0x4d, 0x61, - 0x73, 0x73, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x4d, 0x61, 0x73, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x9c, 0x02, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x18, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x44, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, - 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xf0, 0x02, 0x0a, - 0x08, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, - 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, - 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4e, 0x69, 0x63, - 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x52, 0x65, 0x63, 0x69, - 0x76, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x52, - 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x52, 0x65, 0x63, 0x69, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x57, 0x68, 0x6f, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1c, 0x0a, - 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x44, - 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x22, - 0xad, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x08, 0x43, 0x68, - 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x45, 0x0a, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x2e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x0a, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, - 0x0b, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x4e, 0x75, 0x6d, 0x22, - 0x58, 0x0a, 0x12, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, - 0x73, 0x67, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x65, 0x72, 0x76, - 0x65, 0x72, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x15, 0x0a, 0x13, 0x57, 0x69, 0x74, - 0x68, 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x32, 0xdb, 0x02, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x4d, 0x53, 0x12, - 0x57, 0x0a, 0x10, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, - 0x73, 0x2e, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6d, 0x73, 0x2e, 0x42, 0x6f, 0x72, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x4d, 0x61, 0x73, 0x73, - 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x4d, 0x61, 0x73, 0x73, 0x53, - 0x65, 0x6e, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x48, - 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x1b, 0x2e, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x68, 0x61, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x1c, 0x2e, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x54, 0x0a, 0x0f, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, - 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x20, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x1b, - 0x5a, 0x19, 0x2e, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x3b, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} - -var ( - file_message_cms_message_cms_proto_rawDescOnce sync.Once - file_message_cms_message_cms_proto_rawDescData = file_message_cms_message_cms_proto_rawDesc -) - -func file_message_cms_message_cms_proto_rawDescGZIP() []byte { - file_message_cms_message_cms_proto_rawDescOnce.Do(func() { - file_message_cms_message_cms_proto_rawDescData = protoimpl.X.CompressGZIP(file_message_cms_message_cms_proto_rawDescData) - }) - return file_message_cms_message_cms_proto_rawDescData -} - -var file_message_cms_message_cms_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_message_cms_message_cms_proto_goTypes = []interface{}{ - (*BoradcastMessageReq)(nil), // 0: message_cms.BoradcastMessageReq - (*BoradcastMessageResp)(nil), // 1: message_cms.BoradcastMessageResp - (*MassSendMessageReq)(nil), // 2: message_cms.MassSendMessageReq - (*MassSendMessageResp)(nil), // 3: message_cms.MassSendMessageResp - (*GetChatLogsReq)(nil), // 4: message_cms.GetChatLogsReq - (*ChatLogs)(nil), // 5: message_cms.ChatLogs - (*GetChatLogsResp)(nil), // 6: message_cms.GetChatLogsResp - (*WithdrawMessageReq)(nil), // 7: message_cms.WithdrawMessageReq - (*WithdrawMessageResp)(nil), // 8: message_cms.WithdrawMessageResp - (*sdk_ws.RequestPagination)(nil), // 9: server_api_params.RequestPagination - (*sdk_ws.ResponsePagination)(nil), // 10: server_api_params.ResponsePagination -} -var file_message_cms_message_cms_proto_depIdxs = []int32{ - 9, // 0: message_cms.GetChatLogsReq.Pagination:type_name -> server_api_params.RequestPagination - 5, // 1: message_cms.GetChatLogsResp.ChatLogs:type_name -> message_cms.ChatLogs - 10, // 2: message_cms.GetChatLogsResp.Pagination:type_name -> server_api_params.ResponsePagination - 0, // 3: message_cms.messageCMS.BoradcastMessage:input_type -> message_cms.BoradcastMessageReq - 2, // 4: message_cms.messageCMS.MassSendMessage:input_type -> message_cms.MassSendMessageReq - 4, // 5: message_cms.messageCMS.GetChatLogs:input_type -> message_cms.GetChatLogsReq - 7, // 6: message_cms.messageCMS.WithdrawMessage:input_type -> message_cms.WithdrawMessageReq - 1, // 7: message_cms.messageCMS.BoradcastMessage:output_type -> message_cms.BoradcastMessageResp - 3, // 8: message_cms.messageCMS.MassSendMessage:output_type -> message_cms.MassSendMessageResp - 6, // 9: message_cms.messageCMS.GetChatLogs:output_type -> message_cms.GetChatLogsResp - 8, // 10: message_cms.messageCMS.WithdrawMessage:output_type -> message_cms.WithdrawMessageResp - 7, // [7:11] is the sub-list for method output_type - 3, // [3:7] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_message_cms_message_cms_proto_init() } -func file_message_cms_message_cms_proto_init() { - if File_message_cms_message_cms_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_message_cms_message_cms_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoradcastMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BoradcastMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MassSendMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MassSendMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChatLogs); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetChatLogsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawMessageReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_message_cms_message_cms_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WithdrawMessageResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_message_cms_message_cms_proto_rawDesc, - NumEnums: 0, - NumMessages: 9, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_message_cms_message_cms_proto_goTypes, - DependencyIndexes: file_message_cms_message_cms_proto_depIdxs, - MessageInfos: file_message_cms_message_cms_proto_msgTypes, - }.Build() - File_message_cms_message_cms_proto = out.File - file_message_cms_message_cms_proto_rawDesc = nil - file_message_cms_message_cms_proto_goTypes = nil - file_message_cms_message_cms_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// MessageCMSClient is the client API for MessageCMS service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MessageCMSClient interface { - BoradcastMessage(ctx context.Context, in *BoradcastMessageReq, opts ...grpc.CallOption) (*BoradcastMessageResp, error) - MassSendMessage(ctx context.Context, in *MassSendMessageReq, opts ...grpc.CallOption) (*MassSendMessageResp, error) - GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) - WithdrawMessage(ctx context.Context, in *WithdrawMessageReq, opts ...grpc.CallOption) (*WithdrawMessageResp, error) -} - -type messageCMSClient struct { - cc grpc.ClientConnInterface -} - -func NewMessageCMSClient(cc grpc.ClientConnInterface) MessageCMSClient { - return &messageCMSClient{cc} -} - -func (c *messageCMSClient) BoradcastMessage(ctx context.Context, in *BoradcastMessageReq, opts ...grpc.CallOption) (*BoradcastMessageResp, error) { - out := new(BoradcastMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/BoradcastMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) MassSendMessage(ctx context.Context, in *MassSendMessageReq, opts ...grpc.CallOption) (*MassSendMessageResp, error) { - out := new(MassSendMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/MassSendMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) GetChatLogs(ctx context.Context, in *GetChatLogsReq, opts ...grpc.CallOption) (*GetChatLogsResp, error) { - out := new(GetChatLogsResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/GetChatLogs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *messageCMSClient) WithdrawMessage(ctx context.Context, in *WithdrawMessageReq, opts ...grpc.CallOption) (*WithdrawMessageResp, error) { - out := new(WithdrawMessageResp) - err := c.cc.Invoke(ctx, "/message_cms.messageCMS/WithdrawMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MessageCMSServer is the server API for MessageCMS service. -type MessageCMSServer interface { - BoradcastMessage(context.Context, *BoradcastMessageReq) (*BoradcastMessageResp, error) - MassSendMessage(context.Context, *MassSendMessageReq) (*MassSendMessageResp, error) - GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) - WithdrawMessage(context.Context, *WithdrawMessageReq) (*WithdrawMessageResp, error) -} - -// UnimplementedMessageCMSServer can be embedded to have forward compatible implementations. -type UnimplementedMessageCMSServer struct { -} - -func (*UnimplementedMessageCMSServer) BoradcastMessage(context.Context, *BoradcastMessageReq) (*BoradcastMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method BoradcastMessage not implemented") -} -func (*UnimplementedMessageCMSServer) MassSendMessage(context.Context, *MassSendMessageReq) (*MassSendMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method MassSendMessage not implemented") -} -func (*UnimplementedMessageCMSServer) GetChatLogs(context.Context, *GetChatLogsReq) (*GetChatLogsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChatLogs not implemented") -} -func (*UnimplementedMessageCMSServer) WithdrawMessage(context.Context, *WithdrawMessageReq) (*WithdrawMessageResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method WithdrawMessage not implemented") -} - -func RegisterMessageCMSServer(s *grpc.Server, srv MessageCMSServer) { - s.RegisterService(&_MessageCMS_serviceDesc, srv) -} - -func _MessageCMS_BoradcastMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BoradcastMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).BoradcastMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/BoradcastMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).BoradcastMessage(ctx, req.(*BoradcastMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_MassSendMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MassSendMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).MassSendMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/MassSendMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).MassSendMessage(ctx, req.(*MassSendMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_GetChatLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetChatLogsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).GetChatLogs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/GetChatLogs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).GetChatLogs(ctx, req.(*GetChatLogsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _MessageCMS_WithdrawMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WithdrawMessageReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MessageCMSServer).WithdrawMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/message_cms.messageCMS/WithdrawMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MessageCMSServer).WithdrawMessage(ctx, req.(*WithdrawMessageReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _MessageCMS_serviceDesc = grpc.ServiceDesc{ - ServiceName: "message_cms.messageCMS", - HandlerType: (*MessageCMSServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "BoradcastMessage", - Handler: _MessageCMS_BoradcastMessage_Handler, - }, - { - MethodName: "MassSendMessage", - Handler: _MessageCMS_MassSendMessage_Handler, - }, - { - MethodName: "GetChatLogs", - Handler: _MessageCMS_GetChatLogs_Handler, - }, - { - MethodName: "WithdrawMessage", - Handler: _MessageCMS_WithdrawMessage_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "message_cms/message_cms.proto", -} diff --git a/pkg/proto/message_cms/message_cms.proto b/pkg/proto/message_cms/message_cms.proto deleted file mode 100644 index 2a9647bb7..000000000 --- a/pkg/proto/message_cms/message_cms.proto +++ /dev/null @@ -1,71 +0,0 @@ -syntax = "proto3"; -import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -option go_package = "./message_cms;message_cms"; -package message_cms; - -message BoradcastMessageReq { - string Message = 1; - string OperationID = 2; -} - -message BoradcastMessageResp { - -} - -message MassSendMessageReq { - string Message = 1; - repeated string UserIds = 2; - string OperationID = 3; -} - -message MassSendMessageResp { - -} - -message GetChatLogsReq { - string Content = 1; - string UserId = 2; - string GroupId = 3; - string Date = 4; - int32 SessionType = 5; - int32 ContentType = 6; - server_api_params.RequestPagination Pagination = 7; - string OperationID = 8; - -} - -message ChatLogs { - int32 SessionType = 1; - int32 ContentType = 2; - string SenderNickName = 3; - string SenderId = 4; - string ReciverNickName = 5; - string ReciverId = 6; - string SearchContent = 7; - string WholeContent = 8; - string GroupId = 9; - string GroupName = 10; - string Date = 11; -} - -message GetChatLogsResp { - repeated ChatLogs ChatLogs = 1; - server_api_params.ResponsePagination Pagination = 2; - int32 ChatLogsNum = 3; -} - -message WithdrawMessageReq { - string ServerMsgId = 1; - string OperationID = 2; -} - -message WithdrawMessageResp { - -} - -service messageCMS { - rpc BoradcastMessage(BoradcastMessageReq) returns(BoradcastMessageResp); - rpc MassSendMessage(MassSendMessageReq) returns(MassSendMessageResp); - rpc GetChatLogs(GetChatLogsReq) returns(GetChatLogsResp); - rpc WithdrawMessage(WithdrawMessageReq) returns(WithdrawMessageResp); -} \ No newline at end of file diff --git a/pkg/proto/statistics/statistics.pb.go b/pkg/proto/statistics/statistics.pb.go deleted file mode 100644 index 5fd528d97..000000000 --- a/pkg/proto/statistics/statistics.pb.go +++ /dev/null @@ -1,1498 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.26.0 -// protoc v3.19.3 -// source: statistics/statistics.proto - -package statistics - -import ( - context "context" - 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 ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type StatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` - To string `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` -} - -func (x *StatisticsReq) Reset() { - *x = StatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StatisticsReq) ProtoMessage() {} - -func (x *StatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StatisticsReq.ProtoReflect.Descriptor instead. -func (*StatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{0} -} - -func (x *StatisticsReq) GetFrom() string { - if x != nil { - return x.From - } - return "" -} - -func (x *StatisticsReq) GetTo() string { - if x != nil { - return x.To - } - return "" -} - -type GetActiveUserReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetActiveUserReq) Reset() { - *x = GetActiveUserReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserReq) ProtoMessage() {} - -func (x *GetActiveUserReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveUserReq.ProtoReflect.Descriptor instead. -func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{1} -} - -func (x *GetActiveUserReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetActiveUserReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type UserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NickName string `protobuf:"bytes,1,opt,name=NickName,proto3" json:"NickName,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId,proto3" json:"UserId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"` -} - -func (x *UserResp) Reset() { - *x = UserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserResp) ProtoMessage() {} - -func (x *UserResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UserResp.ProtoReflect.Descriptor instead. -func (*UserResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{2} -} - -func (x *UserResp) GetNickName() string { - if x != nil { - return x.NickName - } - return "" -} - -func (x *UserResp) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *UserResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum - } - return 0 -} - -type GetActiveUserResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Users []*UserResp `protobuf:"bytes,1,rep,name=Users,proto3" json:"Users,omitempty"` -} - -func (x *GetActiveUserResp) Reset() { - *x = GetActiveUserResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveUserResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveUserResp) ProtoMessage() {} - -func (x *GetActiveUserResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveUserResp.ProtoReflect.Descriptor instead. -func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{3} -} - -func (x *GetActiveUserResp) GetUsers() []*UserResp { - if x != nil { - return x.Users - } - return nil -} - -type GetActiveGroupReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetActiveGroupReq) Reset() { - *x = GetActiveGroupReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupReq) ProtoMessage() {} - -func (x *GetActiveGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveGroupReq.ProtoReflect.Descriptor instead. -func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{4} -} - -func (x *GetActiveGroupReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetActiveGroupReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GroupName string `protobuf:"bytes,1,opt,name=GroupName,proto3" json:"GroupName,omitempty"` - GroupId string `protobuf:"bytes,2,opt,name=GroupId,proto3" json:"GroupId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum,proto3" json:"MessageNum,omitempty"` -} - -func (x *GroupResp) Reset() { - *x = GroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GroupResp) ProtoMessage() {} - -func (x *GroupResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GroupResp.ProtoReflect.Descriptor instead. -func (*GroupResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{5} -} - -func (x *GroupResp) GetGroupName() string { - if x != nil { - return x.GroupName - } - return "" -} - -func (x *GroupResp) GetGroupId() string { - if x != nil { - return x.GroupId - } - return "" -} - -func (x *GroupResp) GetMessageNum() int32 { - if x != nil { - return x.MessageNum - } - return 0 -} - -type GetActiveGroupResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups,proto3" json:"Groups,omitempty"` -} - -func (x *GetActiveGroupResp) Reset() { - *x = GetActiveGroupResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetActiveGroupResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetActiveGroupResp) ProtoMessage() {} - -func (x *GetActiveGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetActiveGroupResp.ProtoReflect.Descriptor instead. -func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{6} -} - -func (x *GetActiveGroupResp) GetGroups() []*GroupResp { - if x != nil { - return x.Groups - } - return nil -} - -type DateNumList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Date string `protobuf:"bytes,1,opt,name=Date,proto3" json:"Date,omitempty"` - Num int32 `protobuf:"varint,2,opt,name=Num,proto3" json:"Num,omitempty"` -} - -func (x *DateNumList) Reset() { - *x = DateNumList{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DateNumList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DateNumList) ProtoMessage() {} - -func (x *DateNumList) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DateNumList.ProtoReflect.Descriptor instead. -func (*DateNumList) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{7} -} - -func (x *DateNumList) GetDate() string { - if x != nil { - return x.Date - } - return "" -} - -func (x *DateNumList) GetNum() int32 { - if x != nil { - return x.Num - } - return 0 -} - -type GetMessageStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetMessageStatisticsReq) Reset() { - *x = GetMessageStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsReq) ProtoMessage() {} - -func (x *GetMessageStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMessageStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{8} -} - -func (x *GetMessageStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetMessageStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetMessageStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrivateMessageNum int32 `protobuf:"varint,1,opt,name=PrivateMessageNum,proto3" json:"PrivateMessageNum,omitempty"` - GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum,proto3" json:"GroupMessageNum,omitempty"` - PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList,proto3" json:"PrivateMessageNumList,omitempty"` - GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList,proto3" json:"GroupMessageNumList,omitempty"` -} - -func (x *GetMessageStatisticsResp) Reset() { - *x = GetMessageStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetMessageStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetMessageStatisticsResp) ProtoMessage() {} - -func (x *GetMessageStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetMessageStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{9} -} - -func (x *GetMessageStatisticsResp) GetPrivateMessageNum() int32 { - if x != nil { - return x.PrivateMessageNum - } - return 0 -} - -func (x *GetMessageStatisticsResp) GetGroupMessageNum() int32 { - if x != nil { - return x.GroupMessageNum - } - return 0 -} - -func (x *GetMessageStatisticsResp) GetPrivateMessageNumList() []*DateNumList { - if x != nil { - return x.PrivateMessageNumList - } - return nil -} - -func (x *GetMessageStatisticsResp) GetGroupMessageNumList() []*DateNumList { - if x != nil { - return x.GroupMessageNumList - } - return nil -} - -type GetGroupStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetGroupStatisticsReq) Reset() { - *x = GetGroupStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsReq) ProtoMessage() {} - -func (x *GetGroupStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{10} -} - -func (x *GetGroupStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetGroupStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetGroupStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseGroupNum int32 `protobuf:"varint,1,opt,name=IncreaseGroupNum,proto3" json:"IncreaseGroupNum,omitempty"` - TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum,proto3" json:"TotalGroupNum,omitempty"` - IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList,proto3" json:"IncreaseGroupNumList,omitempty"` - TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList,proto3" json:"TotalGroupNumList,omitempty"` -} - -func (x *GetGroupStatisticsResp) Reset() { - *x = GetGroupStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetGroupStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetGroupStatisticsResp) ProtoMessage() {} - -func (x *GetGroupStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetGroupStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{11} -} - -func (x *GetGroupStatisticsResp) GetIncreaseGroupNum() int32 { - if x != nil { - return x.IncreaseGroupNum - } - return 0 -} - -func (x *GetGroupStatisticsResp) GetTotalGroupNum() int32 { - if x != nil { - return x.TotalGroupNum - } - return 0 -} - -func (x *GetGroupStatisticsResp) GetIncreaseGroupNumList() []*DateNumList { - if x != nil { - return x.IncreaseGroupNumList - } - return nil -} - -func (x *GetGroupStatisticsResp) GetTotalGroupNumList() []*DateNumList { - if x != nil { - return x.TotalGroupNumList - } - return nil -} - -type GetUserStatisticsReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq,proto3" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` -} - -func (x *GetUserStatisticsReq) Reset() { - *x = GetUserStatisticsReq{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsReq) ProtoMessage() {} - -func (x *GetUserStatisticsReq) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserStatisticsReq.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{12} -} - -func (x *GetUserStatisticsReq) GetStatisticsReq() *StatisticsReq { - if x != nil { - return x.StatisticsReq - } - return nil -} - -func (x *GetUserStatisticsReq) GetOperationID() string { - if x != nil { - return x.OperationID - } - return "" -} - -type GetUserStatisticsResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - IncreaseUserNum int32 `protobuf:"varint,1,opt,name=IncreaseUserNum,proto3" json:"IncreaseUserNum,omitempty"` - ActiveUserNum int32 `protobuf:"varint,2,opt,name=ActiveUserNum,proto3" json:"ActiveUserNum,omitempty"` - TotalUserNum int32 `protobuf:"varint,3,opt,name=TotalUserNum,proto3" json:"TotalUserNum,omitempty"` - IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList,proto3" json:"IncreaseUserNumList,omitempty"` - ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList,proto3" json:"ActiveUserNumList,omitempty"` - TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList,proto3" json:"TotalUserNumList,omitempty"` -} - -func (x *GetUserStatisticsResp) Reset() { - *x = GetUserStatisticsResp{} - if protoimpl.UnsafeEnabled { - mi := &file_statistics_statistics_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserStatisticsResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserStatisticsResp) ProtoMessage() {} - -func (x *GetUserStatisticsResp) ProtoReflect() protoreflect.Message { - mi := &file_statistics_statistics_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetUserStatisticsResp.ProtoReflect.Descriptor instead. -func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return file_statistics_statistics_proto_rawDescGZIP(), []int{13} -} - -func (x *GetUserStatisticsResp) GetIncreaseUserNum() int32 { - if x != nil { - return x.IncreaseUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetActiveUserNum() int32 { - if x != nil { - return x.ActiveUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetTotalUserNum() int32 { - if x != nil { - return x.TotalUserNum - } - return 0 -} - -func (x *GetUserStatisticsResp) GetIncreaseUserNumList() []*DateNumList { - if x != nil { - return x.IncreaseUserNumList - } - return nil -} - -func (x *GetUserStatisticsResp) GetActiveUserNumList() []*DateNumList { - if x != nil { - return x.ActiveUserNumList - } - return nil -} - -func (x *GetUserStatisticsResp) GetTotalUserNumList() []*DateNumList { - if x != nil { - return x.TotalUserNumList - } - return nil -} - -var File_statistics_statistics_proto protoreflect.FileDescriptor - -var file_statistics_statistics_proto_rawDesc = []byte{ - 0x0a, 0x1b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x33, 0x0a, 0x0d, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, - 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x75, - 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x5e, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x22, 0x3f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2a, 0x0a, 0x05, 0x55, 0x73, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x52, - 0x05, 0x55, 0x73, 0x65, 0x72, 0x73, 0x22, 0x76, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x63, - 0x0a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, - 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x4e, 0x75, 0x6d, 0x22, 0x43, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2d, 0x0a, 0x06, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x52, 0x06, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x33, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x65, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x4e, - 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x4e, 0x75, 0x6d, 0x22, 0x7c, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, - 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0x8c, 0x02, 0x0a, 0x18, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2c, 0x0a, 0x11, 0x50, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x11, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0f, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, - 0x12, 0x4d, 0x0a, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, - 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x15, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x49, 0x0a, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x7a, 0x0a, 0x15, 0x47, 0x65, - 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x52, 0x65, 0x71, 0x12, 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x52, 0x65, 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x52, 0x65, 0x71, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x22, 0xfe, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x2a, 0x0a, 0x10, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x49, 0x6e, 0x63, - 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, - 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x75, 0x6d, 0x12, 0x4b, 0x0a, 0x14, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, - 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x14, 0x49, 0x6e, 0x63, 0x72, - 0x65, 0x61, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x45, 0x0a, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x11, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x79, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x12, - 0x3f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x71, 0x52, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, - 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x22, 0xe2, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x0f, - 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, - 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0c, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, - 0x12, 0x49, 0x0a, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x13, 0x49, 0x6e, 0x63, 0x72, 0x65, 0x61, 0x73, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x11, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, 0x4e, - 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x4e, 0x75, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x10, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x55, 0x73, 0x65, 0x72, - 0x4e, 0x75, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x32, 0xbf, 0x03, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, - 0x12, 0x4c, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x12, 0x1c, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, - 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, - 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, 0x4f, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x1d, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, - 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, - 0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x61, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x24, 0x2e, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x5b, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x73, 0x74, - 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x58, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, - 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x19, 0x5a, 0x17, 0x2e, 0x2f, 0x73, - 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x69, 0x73, - 0x74, 0x69, 0x63, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_statistics_statistics_proto_rawDescOnce sync.Once - file_statistics_statistics_proto_rawDescData = file_statistics_statistics_proto_rawDesc -) - -func file_statistics_statistics_proto_rawDescGZIP() []byte { - file_statistics_statistics_proto_rawDescOnce.Do(func() { - file_statistics_statistics_proto_rawDescData = protoimpl.X.CompressGZIP(file_statistics_statistics_proto_rawDescData) - }) - return file_statistics_statistics_proto_rawDescData -} - -var file_statistics_statistics_proto_msgTypes = make([]protoimpl.MessageInfo, 14) -var file_statistics_statistics_proto_goTypes = []interface{}{ - (*StatisticsReq)(nil), // 0: statistics.StatisticsReq - (*GetActiveUserReq)(nil), // 1: statistics.GetActiveUserReq - (*UserResp)(nil), // 2: statistics.UserResp - (*GetActiveUserResp)(nil), // 3: statistics.GetActiveUserResp - (*GetActiveGroupReq)(nil), // 4: statistics.GetActiveGroupReq - (*GroupResp)(nil), // 5: statistics.GroupResp - (*GetActiveGroupResp)(nil), // 6: statistics.GetActiveGroupResp - (*DateNumList)(nil), // 7: statistics.DateNumList - (*GetMessageStatisticsReq)(nil), // 8: statistics.GetMessageStatisticsReq - (*GetMessageStatisticsResp)(nil), // 9: statistics.GetMessageStatisticsResp - (*GetGroupStatisticsReq)(nil), // 10: statistics.GetGroupStatisticsReq - (*GetGroupStatisticsResp)(nil), // 11: statistics.GetGroupStatisticsResp - (*GetUserStatisticsReq)(nil), // 12: statistics.GetUserStatisticsReq - (*GetUserStatisticsResp)(nil), // 13: statistics.GetUserStatisticsResp -} -var file_statistics_statistics_proto_depIdxs = []int32{ - 0, // 0: statistics.GetActiveUserReq.StatisticsReq:type_name -> statistics.StatisticsReq - 2, // 1: statistics.GetActiveUserResp.Users:type_name -> statistics.UserResp - 0, // 2: statistics.GetActiveGroupReq.StatisticsReq:type_name -> statistics.StatisticsReq - 5, // 3: statistics.GetActiveGroupResp.Groups:type_name -> statistics.GroupResp - 0, // 4: statistics.GetMessageStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 5: statistics.GetMessageStatisticsResp.PrivateMessageNumList:type_name -> statistics.DateNumList - 7, // 6: statistics.GetMessageStatisticsResp.GroupMessageNumList:type_name -> statistics.DateNumList - 0, // 7: statistics.GetGroupStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 8: statistics.GetGroupStatisticsResp.IncreaseGroupNumList:type_name -> statistics.DateNumList - 7, // 9: statistics.GetGroupStatisticsResp.TotalGroupNumList:type_name -> statistics.DateNumList - 0, // 10: statistics.GetUserStatisticsReq.StatisticsReq:type_name -> statistics.StatisticsReq - 7, // 11: statistics.GetUserStatisticsResp.IncreaseUserNumList:type_name -> statistics.DateNumList - 7, // 12: statistics.GetUserStatisticsResp.ActiveUserNumList:type_name -> statistics.DateNumList - 7, // 13: statistics.GetUserStatisticsResp.TotalUserNumList:type_name -> statistics.DateNumList - 1, // 14: statistics.user.GetActiveUser:input_type -> statistics.GetActiveUserReq - 4, // 15: statistics.user.GetActiveGroup:input_type -> statistics.GetActiveGroupReq - 8, // 16: statistics.user.GetMessageStatistics:input_type -> statistics.GetMessageStatisticsReq - 10, // 17: statistics.user.GetGroupStatistics:input_type -> statistics.GetGroupStatisticsReq - 12, // 18: statistics.user.GetUserStatistics:input_type -> statistics.GetUserStatisticsReq - 3, // 19: statistics.user.GetActiveUser:output_type -> statistics.GetActiveUserResp - 6, // 20: statistics.user.GetActiveGroup:output_type -> statistics.GetActiveGroupResp - 9, // 21: statistics.user.GetMessageStatistics:output_type -> statistics.GetMessageStatisticsResp - 11, // 22: statistics.user.GetGroupStatistics:output_type -> statistics.GetGroupStatisticsResp - 13, // 23: statistics.user.GetUserStatistics:output_type -> statistics.GetUserStatisticsResp - 19, // [19:24] is the sub-list for method output_type - 14, // [14:19] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name -} - -func init() { file_statistics_statistics_proto_init() } -func file_statistics_statistics_proto_init() { - if File_statistics_statistics_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_statistics_statistics_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveUserResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetActiveGroupResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DateNumList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetMessageStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_statistics_statistics_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserStatisticsResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_statistics_statistics_proto_rawDesc, - NumEnums: 0, - NumMessages: 14, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_statistics_statistics_proto_goTypes, - DependencyIndexes: file_statistics_statistics_proto_depIdxs, - MessageInfos: file_statistics_statistics_proto_msgTypes, - }.Build() - File_statistics_statistics_proto = out.File - file_statistics_statistics_proto_rawDesc = nil - file_statistics_statistics_proto_goTypes = nil - file_statistics_statistics_proto_depIdxs = nil -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConnInterface - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion6 - -// UserClient is the client API for User service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type UserClient interface { - GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) - GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) - GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) - GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) - GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) -} - -type userClient struct { - cc grpc.ClientConnInterface -} - -func NewUserClient(cc grpc.ClientConnInterface) UserClient { - return &userClient{cc} -} - -func (c *userClient) GetActiveUser(ctx context.Context, in *GetActiveUserReq, opts ...grpc.CallOption) (*GetActiveUserResp, error) { - out := new(GetActiveUserResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetActiveUser", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetActiveGroup(ctx context.Context, in *GetActiveGroupReq, opts ...grpc.CallOption) (*GetActiveGroupResp, error) { - out := new(GetActiveGroupResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetActiveGroup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) { - out := new(GetMessageStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetMessageStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) { - out := new(GetGroupStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetGroupStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) { - out := new(GetUserStatisticsResp) - err := c.cc.Invoke(ctx, "/statistics.user/GetUserStatistics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UserServer is the server API for User service. -type UserServer interface { - GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) - GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) - GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) - GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) - GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) -} - -// UnimplementedUserServer can be embedded to have forward compatible implementations. -type UnimplementedUserServer struct { -} - -func (*UnimplementedUserServer) GetActiveUser(context.Context, *GetActiveUserReq) (*GetActiveUserResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveUser not implemented") -} -func (*UnimplementedUserServer) GetActiveGroup(context.Context, *GetActiveGroupReq) (*GetActiveGroupResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetActiveGroup not implemented") -} -func (*UnimplementedUserServer) GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetMessageStatistics not implemented") -} -func (*UnimplementedUserServer) GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetGroupStatistics not implemented") -} -func (*UnimplementedUserServer) GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserStatistics not implemented") -} - -func RegisterUserServer(s *grpc.Server, srv UserServer) { - s.RegisterService(&_User_serviceDesc, srv) -} - -func _User_GetActiveUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetActiveUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetActiveUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetActiveUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetActiveUser(ctx, req.(*GetActiveUserReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetActiveGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetActiveGroupReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetActiveGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetActiveGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetActiveGroup(ctx, req.(*GetActiveGroupReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetMessageStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetMessageStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetMessageStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetMessageStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetMessageStatistics(ctx, req.(*GetMessageStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetGroupStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetGroupStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetGroupStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetGroupStatistics(ctx, req.(*GetGroupStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetUserStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserStatisticsReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUserStatistics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/statistics.user/GetUserStatistics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUserStatistics(ctx, req.(*GetUserStatisticsReq)) - } - return interceptor(ctx, in, info, handler) -} - -var _User_serviceDesc = grpc.ServiceDesc{ - ServiceName: "statistics.user", - HandlerType: (*UserServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetActiveUser", - Handler: _User_GetActiveUser_Handler, - }, - { - MethodName: "GetActiveGroup", - Handler: _User_GetActiveGroup_Handler, - }, - { - MethodName: "GetMessageStatistics", - Handler: _User_GetMessageStatistics_Handler, - }, - { - MethodName: "GetGroupStatistics", - Handler: _User_GetGroupStatistics_Handler, - }, - { - MethodName: "GetUserStatistics", - Handler: _User_GetUserStatistics_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "statistics/statistics.proto", -} diff --git a/pkg/proto/statistics/statistics.proto b/pkg/proto/statistics/statistics.proto deleted file mode 100644 index 3c72e4bc5..000000000 --- a/pkg/proto/statistics/statistics.proto +++ /dev/null @@ -1,93 +0,0 @@ -syntax = "proto3"; -// import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -option go_package = "./statistics;statistics"; -package statistics; - -message StatisticsReq { - string from = 1; - string to = 2; -} - -message GetActiveUserReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message UserResp{ - string NickName = 1; - string UserId = 2; - int32 MessageNum = 3; -} - -message GetActiveUserResp { - repeated UserResp Users = 1; -} - -message GetActiveGroupReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message GroupResp { - string GroupName = 1; - string GroupId = 2; - int32 MessageNum = 3; -} - -message GetActiveGroupResp { - repeated GroupResp Groups = 1; -} - -message DateNumList { - string Date = 1; - int32 Num = 2; -} - - -message GetMessageStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - - -message GetMessageStatisticsResp { - int32 PrivateMessageNum = 1; - int32 GroupMessageNum = 2; - repeated DateNumList PrivateMessageNumList = 3; - repeated DateNumList GroupMessageNumList = 4; -} - -message GetGroupStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - - -message GetGroupStatisticsResp { - int32 IncreaseGroupNum = 1; - int32 TotalGroupNum = 2; - repeated DateNumList IncreaseGroupNumList = 3; - repeated DateNumList TotalGroupNumList = 4; -} - -message GetUserStatisticsReq { - StatisticsReq StatisticsReq = 1; - string OperationID = 2; -} - -message GetUserStatisticsResp { - int32 IncreaseUserNum = 1; - int32 ActiveUserNum = 2; - int32 TotalUserNum = 3; - repeated DateNumList IncreaseUserNumList = 4; - repeated DateNumList ActiveUserNumList = 5; - repeated DateNumList TotalUserNumList = 6; -} - -service user { - rpc GetActiveUser(GetActiveUserReq) returns(GetActiveUserResp); - rpc GetActiveGroup(GetActiveGroupReq) returns(GetActiveGroupResp); - rpc GetMessageStatistics(GetMessageStatisticsReq) returns(GetMessageStatisticsResp); - rpc GetGroupStatistics(GetGroupStatisticsReq) returns(GetGroupStatisticsResp); - rpc GetUserStatistics(GetUserStatisticsReq) returns(GetUserStatisticsResp); -} \ No newline at end of file diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index dc064a136..b8d82dc7d 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -37,7 +37,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{0} + return fileDescriptor_user_d39769f8de9fc07e, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -71,106 +71,6 @@ func (m *CommonResp) GetErrMsg() string { return "" } -type DeleteUsersReq struct { - DeleteUserIDList []string `protobuf:"bytes,2,rep,name=DeleteUserIDList" json:"DeleteUserIDList,omitempty"` - OpUserID string `protobuf:"bytes,3,opt,name=OpUserID" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} } -func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) } -func (*DeleteUsersReq) ProtoMessage() {} -func (*DeleteUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{1} -} -func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b) -} -func (m *DeleteUsersReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUsersReq.Marshal(b, m, deterministic) -} -func (dst *DeleteUsersReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUsersReq.Merge(dst, src) -} -func (m *DeleteUsersReq) XXX_Size() int { - return xxx_messageInfo_DeleteUsersReq.Size(m) -} -func (m *DeleteUsersReq) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUsersReq.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUsersReq proto.InternalMessageInfo - -func (m *DeleteUsersReq) GetDeleteUserIDList() []string { - if m != nil { - return m.DeleteUserIDList - } - return nil -} - -func (m *DeleteUsersReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -func (m *DeleteUsersReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type DeleteUsersResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - FailedUserIDList []string `protobuf:"bytes,2,rep,name=FailedUserIDList" json:"FailedUserIDList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} } -func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) } -func (*DeleteUsersResp) ProtoMessage() {} -func (*DeleteUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{2} -} -func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b) -} -func (m *DeleteUsersResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUsersResp.Marshal(b, m, deterministic) -} -func (dst *DeleteUsersResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUsersResp.Merge(dst, src) -} -func (m *DeleteUsersResp) XXX_Size() int { - return xxx_messageInfo_DeleteUsersResp.Size(m) -} -func (m *DeleteUsersResp) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUsersResp.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUsersResp proto.InternalMessageInfo - -func (m *DeleteUsersResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *DeleteUsersResp) GetFailedUserIDList() []string { - if m != nil { - return m.FailedUserIDList - } - return nil -} - type GetAllUserIDReq struct { OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` @@ -183,7 +83,7 @@ func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} } func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{3} + return fileDescriptor_user_d39769f8de9fc07e, []int{1} } func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) @@ -229,7 +129,7 @@ func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} } func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{4} + return fileDescriptor_user_d39769f8de9fc07e, []int{2} } func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) @@ -276,7 +176,7 @@ func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} } func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{5} + return fileDescriptor_user_d39769f8de9fc07e, []int{3} } func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) @@ -329,7 +229,7 @@ func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} } func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{6} + return fileDescriptor_user_d39769f8de9fc07e, []int{4} } func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) @@ -375,7 +275,7 @@ func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckR func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{6, 0} + return fileDescriptor_user_d39769f8de9fc07e, []int{4, 0} } func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) @@ -422,7 +322,7 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} } func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } func (*GetUserInfoReq) ProtoMessage() {} func (*GetUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{7} + return fileDescriptor_user_d39769f8de9fc07e, []int{5} } func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) @@ -475,7 +375,7 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} } func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } func (*GetUserInfoResp) ProtoMessage() {} func (*GetUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{8} + return fileDescriptor_user_d39769f8de9fc07e, []int{6} } func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) @@ -522,7 +422,7 @@ func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} } func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoReq) ProtoMessage() {} func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{9} + return fileDescriptor_user_d39769f8de9fc07e, []int{7} } func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) @@ -574,7 +474,7 @@ func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} } func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoResp) ProtoMessage() {} func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{10} + return fileDescriptor_user_d39769f8de9fc07e, []int{8} } func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) @@ -614,7 +514,7 @@ func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessage func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{11} + return fileDescriptor_user_d39769f8de9fc07e, []int{9} } func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) @@ -666,7 +566,7 @@ func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessag func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{12} + return fileDescriptor_user_d39769f8de9fc07e, []int{10} } func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) @@ -706,7 +606,7 @@ func (m *SetConversationReq) Reset() { *m = SetConversationReq{} } func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } func (*SetConversationReq) ProtoMessage() {} func (*SetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{13} + return fileDescriptor_user_d39769f8de9fc07e, []int{11} } func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) @@ -758,7 +658,7 @@ func (m *SetConversationResp) Reset() { *m = SetConversationResp{} } func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } func (*SetConversationResp) ProtoMessage() {} func (*SetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{14} + return fileDescriptor_user_d39769f8de9fc07e, []int{12} } func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) @@ -800,7 +700,7 @@ func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} } func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptReq) ProtoMessage() {} func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{15} + return fileDescriptor_user_d39769f8de9fc07e, []int{13} } func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) @@ -866,7 +766,7 @@ func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} } func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptResp) ProtoMessage() {} func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{16} + return fileDescriptor_user_d39769f8de9fc07e, []int{14} } func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) @@ -906,7 +806,7 @@ func (m *GetConversationReq) Reset() { *m = GetConversationReq{} } func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } func (*GetConversationReq) ProtoMessage() {} func (*GetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{17} + return fileDescriptor_user_d39769f8de9fc07e, []int{15} } func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) @@ -959,7 +859,7 @@ func (m *GetConversationResp) Reset() { *m = GetConversationResp{} } func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } func (*GetConversationResp) ProtoMessage() {} func (*GetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{18} + return fileDescriptor_user_d39769f8de9fc07e, []int{16} } func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) @@ -1006,7 +906,7 @@ func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} } func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetConversationsReq) ProtoMessage() {} func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{19} + return fileDescriptor_user_d39769f8de9fc07e, []int{17} } func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) @@ -1059,7 +959,7 @@ func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} } func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetConversationsResp) ProtoMessage() {} func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{20} + return fileDescriptor_user_d39769f8de9fc07e, []int{18} } func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) @@ -1105,7 +1005,7 @@ func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{} func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsReq) ProtoMessage() {} func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{21} + return fileDescriptor_user_d39769f8de9fc07e, []int{19} } func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) @@ -1151,7 +1051,7 @@ func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsResp) ProtoMessage() {} func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{22} + return fileDescriptor_user_d39769f8de9fc07e, []int{20} } func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) @@ -1199,7 +1099,7 @@ func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsR func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsReq) ProtoMessage() {} func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{23} + return fileDescriptor_user_d39769f8de9fc07e, []int{21} } func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) @@ -1260,7 +1160,7 @@ func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversations func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsResp) ProtoMessage() {} func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{24} + return fileDescriptor_user_d39769f8de9fc07e, []int{22} } func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) @@ -1301,584 +1201,11 @@ func (m *BatchSetConversationsResp) GetFailed() []string { return nil } -type ResignUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResignUserReq) Reset() { *m = ResignUserReq{} } -func (m *ResignUserReq) String() string { return proto.CompactTextString(m) } -func (*ResignUserReq) ProtoMessage() {} -func (*ResignUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{25} -} -func (m *ResignUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResignUserReq.Unmarshal(m, b) -} -func (m *ResignUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResignUserReq.Marshal(b, m, deterministic) -} -func (dst *ResignUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResignUserReq.Merge(dst, src) -} -func (m *ResignUserReq) XXX_Size() int { - return xxx_messageInfo_ResignUserReq.Size(m) -} -func (m *ResignUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_ResignUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_ResignUserReq proto.InternalMessageInfo - -func (m *ResignUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *ResignUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type ResignUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *ResignUserResp) Reset() { *m = ResignUserResp{} } -func (m *ResignUserResp) String() string { return proto.CompactTextString(m) } -func (*ResignUserResp) ProtoMessage() {} -func (*ResignUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{26} -} -func (m *ResignUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_ResignUserResp.Unmarshal(m, b) -} -func (m *ResignUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_ResignUserResp.Marshal(b, m, deterministic) -} -func (dst *ResignUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_ResignUserResp.Merge(dst, src) -} -func (m *ResignUserResp) XXX_Size() int { - return xxx_messageInfo_ResignUserResp.Size(m) -} -func (m *ResignUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_ResignUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_ResignUserResp proto.InternalMessageInfo - -func (m *ResignUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -type GetUserByIdReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserByIdReq) Reset() { *m = GetUserByIdReq{} } -func (m *GetUserByIdReq) String() string { return proto.CompactTextString(m) } -func (*GetUserByIdReq) ProtoMessage() {} -func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{27} -} -func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b) -} -func (m *GetUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserByIdReq.Marshal(b, m, deterministic) -} -func (dst *GetUserByIdReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserByIdReq.Merge(dst, src) -} -func (m *GetUserByIdReq) XXX_Size() int { - return xxx_messageInfo_GetUserByIdReq.Size(m) -} -func (m *GetUserByIdReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserByIdReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserByIdReq proto.InternalMessageInfo - -func (m *GetUserByIdReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *GetUserByIdReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type User struct { - ProfilePhoto string `protobuf:"bytes,1,opt,name=ProfilePhoto" json:"ProfilePhoto,omitempty"` - Nickname string `protobuf:"bytes,2,opt,name=Nickname" json:"Nickname,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` - CreateTime string `protobuf:"bytes,4,opt,name=CreateTime" json:"CreateTime,omitempty"` - PhoneNumber string `protobuf:"bytes,5,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - Email string `protobuf:"bytes,6,opt,name=Email" json:"Email,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - CreateIp string `protobuf:"bytes,8,opt,name=CreateIp" json:"CreateIp,omitempty"` - LastLoginTime string `protobuf:"bytes,9,opt,name=LastLoginTime" json:"LastLoginTime,omitempty"` - LastLoginIp string `protobuf:"bytes,10,opt,name=LastLoginIp" json:"LastLoginIp,omitempty"` - LoginTimes int32 `protobuf:"varint,11,opt,name=LoginTimes" json:"LoginTimes,omitempty"` - Gender int32 `protobuf:"varint,12,opt,name=Gender" json:"Gender,omitempty"` - LoginLimit int32 `protobuf:"varint,13,opt,name=LoginLimit" json:"LoginLimit,omitempty"` - IsBlock bool `protobuf:"varint,14,opt,name=IsBlock" json:"IsBlock,omitempty"` - RegisterIp string `protobuf:"bytes,15,opt,name=RegisterIp" json:"RegisterIp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *User) Reset() { *m = User{} } -func (m *User) String() string { return proto.CompactTextString(m) } -func (*User) ProtoMessage() {} -func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{28} -} -func (m *User) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_User.Unmarshal(m, b) -} -func (m *User) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_User.Marshal(b, m, deterministic) -} -func (dst *User) XXX_Merge(src proto.Message) { - xxx_messageInfo_User.Merge(dst, src) -} -func (m *User) XXX_Size() int { - return xxx_messageInfo_User.Size(m) -} -func (m *User) XXX_DiscardUnknown() { - xxx_messageInfo_User.DiscardUnknown(m) -} - -var xxx_messageInfo_User proto.InternalMessageInfo - -func (m *User) GetProfilePhoto() string { - if m != nil { - return m.ProfilePhoto - } - return "" -} - -func (m *User) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *User) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *User) GetCreateTime() string { - if m != nil { - return m.CreateTime - } - return "" -} - -func (m *User) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *User) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *User) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *User) GetCreateIp() string { - if m != nil { - return m.CreateIp - } - return "" -} - -func (m *User) GetLastLoginTime() string { - if m != nil { - return m.LastLoginTime - } - return "" -} - -func (m *User) GetLastLoginIp() string { - if m != nil { - return m.LastLoginIp - } - return "" -} - -func (m *User) GetLoginTimes() int32 { - if m != nil { - return m.LoginTimes - } - return 0 -} - -func (m *User) GetGender() int32 { - if m != nil { - return m.Gender - } - return 0 -} - -func (m *User) GetLoginLimit() int32 { - if m != nil { - return m.LoginLimit - } - return 0 -} - -func (m *User) GetIsBlock() bool { - if m != nil { - return m.IsBlock - } - return false -} - -func (m *User) GetRegisterIp() string { - if m != nil { - return m.RegisterIp - } - return "" -} - -type GetUserByIdResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - User *User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUserByIdResp) Reset() { *m = GetUserByIdResp{} } -func (m *GetUserByIdResp) String() string { return proto.CompactTextString(m) } -func (*GetUserByIdResp) ProtoMessage() {} -func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{29} -} -func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b) -} -func (m *GetUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUserByIdResp.Marshal(b, m, deterministic) -} -func (dst *GetUserByIdResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUserByIdResp.Merge(dst, src) -} -func (m *GetUserByIdResp) XXX_Size() int { - return xxx_messageInfo_GetUserByIdResp.Size(m) -} -func (m *GetUserByIdResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUserByIdResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUserByIdResp proto.InternalMessageInfo - -func (m *GetUserByIdResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - -func (m *GetUserByIdResp) GetUser() *User { - if m != nil { - return m.User - } - return nil -} - -type GetUsersByNameReq struct { - UserName string `protobuf:"bytes,1,opt,name=UserName" json:"UserName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersByNameReq) Reset() { *m = GetUsersByNameReq{} } -func (m *GetUsersByNameReq) String() string { return proto.CompactTextString(m) } -func (*GetUsersByNameReq) ProtoMessage() {} -func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{30} -} -func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b) -} -func (m *GetUsersByNameReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersByNameReq.Marshal(b, m, deterministic) -} -func (dst *GetUsersByNameReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersByNameReq.Merge(dst, src) -} -func (m *GetUsersByNameReq) XXX_Size() int { - return xxx_messageInfo_GetUsersByNameReq.Size(m) -} -func (m *GetUsersByNameReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersByNameReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersByNameReq proto.InternalMessageInfo - -func (m *GetUsersByNameReq) GetUserName() string { - if m != nil { - return m.UserName - } - return "" -} - -func (m *GetUsersByNameReq) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetUsersByNameReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetUsersByNameResp struct { - Users []*User `protobuf:"bytes,1,rep,name=users" json:"users,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,3,opt,name=UserNums" json:"UserNums,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetUsersByNameResp) Reset() { *m = GetUsersByNameResp{} } -func (m *GetUsersByNameResp) String() string { return proto.CompactTextString(m) } -func (*GetUsersByNameResp) ProtoMessage() {} -func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{31} -} -func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b) -} -func (m *GetUsersByNameResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetUsersByNameResp.Marshal(b, m, deterministic) -} -func (dst *GetUsersByNameResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetUsersByNameResp.Merge(dst, src) -} -func (m *GetUsersByNameResp) XXX_Size() int { - return xxx_messageInfo_GetUsersByNameResp.Size(m) -} -func (m *GetUsersByNameResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetUsersByNameResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetUsersByNameResp proto.InternalMessageInfo - -func (m *GetUsersByNameResp) GetUsers() []*User { - if m != nil { - return m.Users - } - return nil -} - -func (m *GetUsersByNameResp) GetPagination() *sdk_ws.ResponsePagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetUsersByNameResp) GetUserNums() int32 { - if m != nil { - return m.UserNums - } - return 0 -} - -type AlterUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - PhoneNumber string `protobuf:"bytes,3,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - Nickname string `protobuf:"bytes,4,opt,name=Nickname" json:"Nickname,omitempty"` - Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` - Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` - OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AlterUserReq) Reset() { *m = AlterUserReq{} } -func (m *AlterUserReq) String() string { return proto.CompactTextString(m) } -func (*AlterUserReq) ProtoMessage() {} -func (*AlterUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{32} -} -func (m *AlterUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AlterUserReq.Unmarshal(m, b) -} -func (m *AlterUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AlterUserReq.Marshal(b, m, deterministic) -} -func (dst *AlterUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_AlterUserReq.Merge(dst, src) -} -func (m *AlterUserReq) XXX_Size() int { - return xxx_messageInfo_AlterUserReq.Size(m) -} -func (m *AlterUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_AlterUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_AlterUserReq proto.InternalMessageInfo - -func (m *AlterUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *AlterUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *AlterUserReq) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *AlterUserReq) GetNickname() string { - if m != nil { - return m.Nickname - } - return "" -} - -func (m *AlterUserReq) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *AlterUserReq) GetGender() string { - if m != nil { - return m.Gender - } - return "" -} - -func (m *AlterUserReq) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *AlterUserReq) GetPhoto() string { - if m != nil { - return m.Photo - } - return "" -} - -func (m *AlterUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - -type AlterUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AlterUserResp) Reset() { *m = AlterUserResp{} } -func (m *AlterUserResp) String() string { return proto.CompactTextString(m) } -func (*AlterUserResp) ProtoMessage() {} -func (*AlterUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{33} -} -func (m *AlterUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AlterUserResp.Unmarshal(m, b) -} -func (m *AlterUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AlterUserResp.Marshal(b, m, deterministic) -} -func (dst *AlterUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_AlterUserResp.Merge(dst, src) -} -func (m *AlterUserResp) XXX_Size() int { - return xxx_messageInfo_AlterUserResp.Size(m) -} -func (m *AlterUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_AlterUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_AlterUserResp proto.InternalMessageInfo - -func (m *AlterUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - type GetUsersReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - UserName string `protobuf:"bytes,3,opt,name=UserName" json:"UserName,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + UserName string `protobuf:"bytes,3,opt,name=userName" json:"userName,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1888,7 +1215,7 @@ func (m *GetUsersReq) Reset() { *m = GetUsersReq{} } func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } func (*GetUsersReq) ProtoMessage() {} func (*GetUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{34} + return fileDescriptor_user_d39769f8de9fc07e, []int{23} } func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) @@ -1929,11 +1256,64 @@ func (m *GetUsersReq) GetUserName() string { return "" } +func (m *GetUsersReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +type CmsUser struct { + User *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=user" json:"user,omitempty"` + IsBlock bool `protobuf:"varint,2,opt,name=isBlock" json:"isBlock,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CmsUser) Reset() { *m = CmsUser{} } +func (m *CmsUser) String() string { return proto.CompactTextString(m) } +func (*CmsUser) ProtoMessage() {} +func (*CmsUser) Descriptor() ([]byte, []int) { + return fileDescriptor_user_d39769f8de9fc07e, []int{24} +} +func (m *CmsUser) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CmsUser.Unmarshal(m, b) +} +func (m *CmsUser) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CmsUser.Marshal(b, m, deterministic) +} +func (dst *CmsUser) XXX_Merge(src proto.Message) { + xxx_messageInfo_CmsUser.Merge(dst, src) +} +func (m *CmsUser) XXX_Size() int { + return xxx_messageInfo_CmsUser.Size(m) +} +func (m *CmsUser) XXX_DiscardUnknown() { + xxx_messageInfo_CmsUser.DiscardUnknown(m) +} + +var xxx_messageInfo_CmsUser proto.InternalMessageInfo + +func (m *CmsUser) GetUser() *sdk_ws.UserInfo { + if m != nil { + return m.User + } + return nil +} + +func (m *CmsUser) GetIsBlock() bool { + if m != nil { + return m.IsBlock + } + return false +} + type GetUsersResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - User []*User `protobuf:"bytes,2,rep,name=user" json:"user,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + UserList []*CmsUser `protobuf:"bytes,2,rep,name=userList" json:"userList,omitempty"` Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,3,opt,name=Pagination" json:"Pagination,omitempty"` - UserNums int32 `protobuf:"varint,4,opt,name=UserNums" json:"UserNums,omitempty"` + TotalNums int32 `protobuf:"varint,4,opt,name=totalNums" json:"totalNums,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1943,7 +1323,7 @@ func (m *GetUsersResp) Reset() { *m = GetUsersResp{} } func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } func (*GetUsersResp) ProtoMessage() {} func (*GetUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{35} + return fileDescriptor_user_d39769f8de9fc07e, []int{25} } func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) @@ -1970,9 +1350,9 @@ func (m *GetUsersResp) GetCommonResp() *CommonResp { return nil } -func (m *GetUsersResp) GetUser() []*User { +func (m *GetUsersResp) GetUserList() []*CmsUser { if m != nil { - return m.User + return m.UserList } return nil } @@ -1984,33 +1364,26 @@ func (m *GetUsersResp) GetPagination() *sdk_ws.ResponsePagination { return nil } -func (m *GetUsersResp) GetUserNums() int32 { +func (m *GetUsersResp) GetTotalNums() int32 { if m != nil { - return m.UserNums + return m.TotalNums } return 0 } type AddUserReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - PhoneNumber string `protobuf:"bytes,2,opt,name=PhoneNumber" json:"PhoneNumber,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=UserId" json:"UserId,omitempty"` - Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"` - Email string `protobuf:"bytes,5,opt,name=Email" json:"Email,omitempty"` - Gender string `protobuf:"bytes,6,opt,name=Gender" json:"Gender,omitempty"` - Birth string `protobuf:"bytes,7,opt,name=Birth" json:"Birth,omitempty"` - Photo string `protobuf:"bytes,8,opt,name=Photo" json:"Photo,omitempty"` - OpUserId string `protobuf:"bytes,9,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=userInfo" json:"userInfo,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *AddUserReq) Reset() { *m = AddUserReq{} } func (m *AddUserReq) String() string { return proto.CompactTextString(m) } func (*AddUserReq) ProtoMessage() {} func (*AddUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{36} + return fileDescriptor_user_d39769f8de9fc07e, []int{26} } func (m *AddUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserReq.Unmarshal(m, b) @@ -2030,6 +1403,13 @@ func (m *AddUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_AddUserReq proto.InternalMessageInfo +func (m *AddUserReq) GetUserInfo() *sdk_ws.UserInfo { + if m != nil { + return m.UserInfo + } + return nil +} + func (m *AddUserReq) GetOperationID() string { if m != nil { return m.OperationID @@ -2037,62 +1417,6 @@ func (m *AddUserReq) GetOperationID() string { return "" } -func (m *AddUserReq) GetPhoneNumber() string { - if m != nil { - return m.PhoneNumber - } - return "" -} - -func (m *AddUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *AddUserReq) GetName() string { - if m != nil { - return m.Name - } - return "" -} - -func (m *AddUserReq) GetEmail() string { - if m != nil { - return m.Email - } - return "" -} - -func (m *AddUserReq) GetGender() string { - if m != nil { - return m.Gender - } - return "" -} - -func (m *AddUserReq) GetBirth() string { - if m != nil { - return m.Birth - } - return "" -} - -func (m *AddUserReq) GetPhoto() string { - if m != nil { - return m.Photo - } - return "" -} - -func (m *AddUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - type AddUserResp struct { CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -2104,7 +1428,7 @@ func (m *AddUserResp) Reset() { *m = AddUserResp{} } func (m *AddUserResp) String() string { return proto.CompactTextString(m) } func (*AddUserResp) ProtoMessage() {} func (*AddUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{37} + return fileDescriptor_user_d39769f8de9fc07e, []int{27} } func (m *AddUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserResp.Unmarshal(m, b) @@ -2132,10 +1456,10 @@ func (m *AddUserResp) GetCommonResp() *CommonResp { } type BlockUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - EndDisableTime string `protobuf:"bytes,2,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,4,opt,name=OpUserId" json:"OpUserId,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + EndDisableTime string `protobuf:"bytes,2,opt,name=endDisableTime" json:"endDisableTime,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,4,opt,name=opUserID" json:"opUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2145,7 +1469,7 @@ func (m *BlockUserReq) Reset() { *m = BlockUserReq{} } func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } func (*BlockUserReq) ProtoMessage() {} func (*BlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{38} + return fileDescriptor_user_d39769f8de9fc07e, []int{28} } func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) @@ -2165,9 +1489,9 @@ func (m *BlockUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_BlockUserReq proto.InternalMessageInfo -func (m *BlockUserReq) GetUserId() string { +func (m *BlockUserReq) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } @@ -2186,9 +1510,9 @@ func (m *BlockUserReq) GetOperationID() string { return "" } -func (m *BlockUserReq) GetOpUserId() string { +func (m *BlockUserReq) GetOpUserID() string { if m != nil { - return m.OpUserId + return m.OpUserID } return "" } @@ -2204,7 +1528,7 @@ func (m *BlockUserResp) Reset() { *m = BlockUserResp{} } func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } func (*BlockUserResp) ProtoMessage() {} func (*BlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{39} + return fileDescriptor_user_d39769f8de9fc07e, []int{29} } func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) @@ -2232,9 +1556,9 @@ func (m *BlockUserResp) GetCommonResp() *CommonResp { } type UnBlockUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=UserId" json:"UserId,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2244,7 +1568,7 @@ func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} } func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } func (*UnBlockUserReq) ProtoMessage() {} func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{40} + return fileDescriptor_user_d39769f8de9fc07e, []int{30} } func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) @@ -2264,9 +1588,9 @@ func (m *UnBlockUserReq) XXX_DiscardUnknown() { var xxx_messageInfo_UnBlockUserReq proto.InternalMessageInfo -func (m *UnBlockUserReq) GetUserId() string { +func (m *UnBlockUserReq) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } @@ -2278,9 +1602,9 @@ func (m *UnBlockUserReq) GetOperationID() string { return "" } -func (m *UnBlockUserReq) GetOpUserId() string { +func (m *UnBlockUserReq) GetOpUserID() string { if m != nil { - return m.OpUserId + return m.OpUserID } return "" } @@ -2296,7 +1620,7 @@ func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} } func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } func (*UnBlockUserResp) ProtoMessage() {} func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{41} + return fileDescriptor_user_d39769f8de9fc07e, []int{31} } func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) @@ -2324,9 +1648,10 @@ func (m *UnBlockUserResp) GetCommonResp() *CommonResp { } type GetBlockUsersReq struct { - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - BlockUserNum int32 `protobuf:"varint,3,opt,name=BlockUserNum" json:"BlockUserNum,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,3,opt,name=userID" json:"userID,omitempty"` + TotalBlockUserNum int32 `protobuf:"varint,4,opt,name=totalBlockUserNum" json:"totalBlockUserNum,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2336,7 +1661,7 @@ func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} } func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersReq) ProtoMessage() {} func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{42} + return fileDescriptor_user_d39769f8de9fc07e, []int{32} } func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) @@ -2370,27 +1695,34 @@ func (m *GetBlockUsersReq) GetOperationID() string { return "" } -func (m *GetBlockUsersReq) GetBlockUserNum() int32 { +func (m *GetBlockUsersReq) GetUserID() string { if m != nil { - return m.BlockUserNum + return m.UserID + } + return "" +} + +func (m *GetBlockUsersReq) GetTotalBlockUserNum() int32 { + if m != nil { + return m.TotalBlockUserNum } return 0 } type BlockUser struct { - User *User `protobuf:"bytes,1,opt,name=User" json:"User,omitempty"` - BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime" json:"BeginDisableTime,omitempty"` - EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo" json:"UserInfo,omitempty"` + BeginDisableTime string `protobuf:"bytes,2,opt,name=BeginDisableTime" json:"BeginDisableTime,omitempty"` + EndDisableTime string `protobuf:"bytes,3,opt,name=EndDisableTime" json:"EndDisableTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *BlockUser) Reset() { *m = BlockUser{} } func (m *BlockUser) String() string { return proto.CompactTextString(m) } func (*BlockUser) ProtoMessage() {} func (*BlockUser) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{43} + return fileDescriptor_user_d39769f8de9fc07e, []int{33} } func (m *BlockUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUser.Unmarshal(m, b) @@ -2410,9 +1742,9 @@ func (m *BlockUser) XXX_DiscardUnknown() { var xxx_messageInfo_BlockUser proto.InternalMessageInfo -func (m *BlockUser) GetUser() *User { +func (m *BlockUser) GetUserInfo() *sdk_ws.UserInfo { if m != nil { - return m.User + return m.UserInfo } return nil } @@ -2445,7 +1777,7 @@ func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} } func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersResp) ProtoMessage() {} func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{44} + return fileDescriptor_user_d39769f8de9fc07e, []int{34} } func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) @@ -2493,186 +1825,8 @@ func (m *GetBlockUsersResp) GetUserNums() int32 { return 0 } -type GetBlockUserByIdReq struct { - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetBlockUserByIdReq) Reset() { *m = GetBlockUserByIdReq{} } -func (m *GetBlockUserByIdReq) String() string { return proto.CompactTextString(m) } -func (*GetBlockUserByIdReq) ProtoMessage() {} -func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{45} -} -func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b) -} -func (m *GetBlockUserByIdReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlockUserByIdReq.Marshal(b, m, deterministic) -} -func (dst *GetBlockUserByIdReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlockUserByIdReq.Merge(dst, src) -} -func (m *GetBlockUserByIdReq) XXX_Size() int { - return xxx_messageInfo_GetBlockUserByIdReq.Size(m) -} -func (m *GetBlockUserByIdReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlockUserByIdReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBlockUserByIdReq proto.InternalMessageInfo - -func (m *GetBlockUserByIdReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *GetBlockUserByIdReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetBlockUserByIdResp struct { - BlockUser *BlockUser `protobuf:"bytes,2,opt,name=BlockUser" json:"BlockUser,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetBlockUserByIdResp) Reset() { *m = GetBlockUserByIdResp{} } -func (m *GetBlockUserByIdResp) String() string { return proto.CompactTextString(m) } -func (*GetBlockUserByIdResp) ProtoMessage() {} -func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{46} -} -func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b) -} -func (m *GetBlockUserByIdResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetBlockUserByIdResp.Marshal(b, m, deterministic) -} -func (dst *GetBlockUserByIdResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetBlockUserByIdResp.Merge(dst, src) -} -func (m *GetBlockUserByIdResp) XXX_Size() int { - return xxx_messageInfo_GetBlockUserByIdResp.Size(m) -} -func (m *GetBlockUserByIdResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetBlockUserByIdResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetBlockUserByIdResp proto.InternalMessageInfo - -func (m *GetBlockUserByIdResp) GetBlockUser() *BlockUser { - if m != nil { - return m.BlockUser - } - return nil -} - -type DeleteUserReq struct { - UserId string `protobuf:"bytes,1,opt,name=User_id,json=UserId" json:"User_id,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserId string `protobuf:"bytes,3,opt,name=OpUserId" json:"OpUserId,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUserReq) Reset() { *m = DeleteUserReq{} } -func (m *DeleteUserReq) String() string { return proto.CompactTextString(m) } -func (*DeleteUserReq) ProtoMessage() {} -func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{47} -} -func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b) -} -func (m *DeleteUserReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUserReq.Marshal(b, m, deterministic) -} -func (dst *DeleteUserReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUserReq.Merge(dst, src) -} -func (m *DeleteUserReq) XXX_Size() int { - return xxx_messageInfo_DeleteUserReq.Size(m) -} -func (m *DeleteUserReq) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUserReq.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUserReq proto.InternalMessageInfo - -func (m *DeleteUserReq) GetUserId() string { - if m != nil { - return m.UserId - } - return "" -} - -func (m *DeleteUserReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *DeleteUserReq) GetOpUserId() string { - if m != nil { - return m.OpUserId - } - return "" -} - -type DeleteUserResp struct { - CommonResp *CommonResp `protobuf:"bytes,1,opt,name=CommonResp" json:"CommonResp,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteUserResp) Reset() { *m = DeleteUserResp{} } -func (m *DeleteUserResp) String() string { return proto.CompactTextString(m) } -func (*DeleteUserResp) ProtoMessage() {} -func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_862a17c60dc96c16, []int{48} -} -func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b) -} -func (m *DeleteUserResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteUserResp.Marshal(b, m, deterministic) -} -func (dst *DeleteUserResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteUserResp.Merge(dst, src) -} -func (m *DeleteUserResp) XXX_Size() int { - return xxx_messageInfo_DeleteUserResp.Size(m) -} -func (m *DeleteUserResp) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteUserResp.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteUserResp proto.InternalMessageInfo - -func (m *DeleteUserResp) GetCommonResp() *CommonResp { - if m != nil { - return m.CommonResp - } - return nil -} - func init() { proto.RegisterType((*CommonResp)(nil), "user.CommonResp") - proto.RegisterType((*DeleteUsersReq)(nil), "user.DeleteUsersReq") - proto.RegisterType((*DeleteUsersResp)(nil), "user.DeleteUsersResp") proto.RegisterType((*GetAllUserIDReq)(nil), "user.GetAllUserIDReq") proto.RegisterType((*GetAllUserIDResp)(nil), "user.GetAllUserIDResp") proto.RegisterType((*AccountCheckReq)(nil), "user.AccountCheckReq") @@ -2696,16 +1850,8 @@ func init() { proto.RegisterType((*GetAllConversationsResp)(nil), "user.GetAllConversationsResp") proto.RegisterType((*BatchSetConversationsReq)(nil), "user.BatchSetConversationsReq") proto.RegisterType((*BatchSetConversationsResp)(nil), "user.BatchSetConversationsResp") - proto.RegisterType((*ResignUserReq)(nil), "user.ResignUserReq") - proto.RegisterType((*ResignUserResp)(nil), "user.ResignUserResp") - proto.RegisterType((*GetUserByIdReq)(nil), "user.GetUserByIdReq") - proto.RegisterType((*User)(nil), "user.User") - proto.RegisterType((*GetUserByIdResp)(nil), "user.GetUserByIdResp") - proto.RegisterType((*GetUsersByNameReq)(nil), "user.GetUsersByNameReq") - proto.RegisterType((*GetUsersByNameResp)(nil), "user.GetUsersByNameResp") - proto.RegisterType((*AlterUserReq)(nil), "user.AlterUserReq") - proto.RegisterType((*AlterUserResp)(nil), "user.AlterUserResp") proto.RegisterType((*GetUsersReq)(nil), "user.GetUsersReq") + proto.RegisterType((*CmsUser)(nil), "user.CmsUser") proto.RegisterType((*GetUsersResp)(nil), "user.GetUsersResp") proto.RegisterType((*AddUserReq)(nil), "user.AddUserReq") proto.RegisterType((*AddUserResp)(nil), "user.AddUserResp") @@ -2716,10 +1862,6 @@ func init() { proto.RegisterType((*GetBlockUsersReq)(nil), "user.GetBlockUsersReq") proto.RegisterType((*BlockUser)(nil), "user.BlockUser") proto.RegisterType((*GetBlockUsersResp)(nil), "user.GetBlockUsersResp") - proto.RegisterType((*GetBlockUserByIdReq)(nil), "user.GetBlockUserByIdReq") - proto.RegisterType((*GetBlockUserByIdResp)(nil), "user.GetBlockUserByIdResp") - proto.RegisterType((*DeleteUserReq)(nil), "user.DeleteUserReq") - proto.RegisterType((*DeleteUserResp)(nil), "user.DeleteUserResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2736,7 +1878,6 @@ type UserClient interface { GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) - DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) GetConversation(ctx context.Context, in *GetConversationReq, opts ...grpc.CallOption) (*GetConversationResp, error) @@ -2745,17 +1886,11 @@ type UserClient interface { BatchSetConversations(ctx context.Context, in *BatchSetConversationsReq, opts ...grpc.CallOption) (*BatchSetConversationsResp, error) SetConversation(ctx context.Context, in *SetConversationReq, opts ...grpc.CallOption) (*SetConversationResp, error) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, opts ...grpc.CallOption) (*SetRecvMsgOptResp, error) - GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) - GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) - ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) - AlterUser(ctx context.Context, in *AlterUserReq, opts ...grpc.CallOption) (*AlterUserResp, error) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersResp, error) AddUser(ctx context.Context, in *AddUserReq, opts ...grpc.CallOption) (*AddUserResp, error) BlockUser(ctx context.Context, in *BlockUserReq, opts ...grpc.CallOption) (*BlockUserResp, error) UnBlockUser(ctx context.Context, in *UnBlockUserReq, opts ...grpc.CallOption) (*UnBlockUserResp, error) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, opts ...grpc.CallOption) (*GetBlockUsersResp, error) - GetBlockUserById(ctx context.Context, in *GetBlockUserByIdReq, opts ...grpc.CallOption) (*GetBlockUserByIdResp, error) - DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) } type userClient struct { @@ -2793,15 +1928,6 @@ func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalR return out, nil } -func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) { - out := new(DeleteUsersResp) - err := grpc.Invoke(ctx, "/user.user/DeleteUsers", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *userClient) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) { out := new(GetAllUserIDResp) err := grpc.Invoke(ctx, "/user.user/GetAllUserID", in, out, c.cc, opts...) @@ -2874,42 +2000,6 @@ func (c *userClient) SetRecvMsgOpt(ctx context.Context, in *SetRecvMsgOptReq, op return out, nil } -func (c *userClient) GetUserById(ctx context.Context, in *GetUserByIdReq, opts ...grpc.CallOption) (*GetUserByIdResp, error) { - out := new(GetUserByIdResp) - err := grpc.Invoke(ctx, "/user.user/GetUserById", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) GetUsersByName(ctx context.Context, in *GetUsersByNameReq, opts ...grpc.CallOption) (*GetUsersByNameResp, error) { - out := new(GetUsersByNameResp) - err := grpc.Invoke(ctx, "/user.user/GetUsersByName", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) ResignUser(ctx context.Context, in *ResignUserReq, opts ...grpc.CallOption) (*ResignUserResp, error) { - out := new(ResignUserResp) - err := grpc.Invoke(ctx, "/user.user/ResignUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) AlterUser(ctx context.Context, in *AlterUserReq, opts ...grpc.CallOption) (*AlterUserResp, error) { - out := new(AlterUserResp) - err := grpc.Invoke(ctx, "/user.user/AlterUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *userClient) GetUsers(ctx context.Context, in *GetUsersReq, opts ...grpc.CallOption) (*GetUsersResp, error) { out := new(GetUsersResp) err := grpc.Invoke(ctx, "/user.user/GetUsers", in, out, c.cc, opts...) @@ -2955,31 +2045,12 @@ func (c *userClient) GetBlockUsers(ctx context.Context, in *GetBlockUsersReq, op return out, nil } -func (c *userClient) GetBlockUserById(ctx context.Context, in *GetBlockUserByIdReq, opts ...grpc.CallOption) (*GetBlockUserByIdResp, error) { - out := new(GetBlockUserByIdResp) - err := grpc.Invoke(ctx, "/user.user/GetBlockUserById", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userClient) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) { - out := new(DeleteUserResp) - err := grpc.Invoke(ctx, "/user.user/DeleteUser", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // Server API for User service type UserServer interface { GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) - DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) GetConversation(context.Context, *GetConversationReq) (*GetConversationResp, error) @@ -2988,17 +2059,11 @@ type UserServer interface { BatchSetConversations(context.Context, *BatchSetConversationsReq) (*BatchSetConversationsResp, error) SetConversation(context.Context, *SetConversationReq) (*SetConversationResp, error) SetRecvMsgOpt(context.Context, *SetRecvMsgOptReq) (*SetRecvMsgOptResp, error) - GetUserById(context.Context, *GetUserByIdReq) (*GetUserByIdResp, error) - GetUsersByName(context.Context, *GetUsersByNameReq) (*GetUsersByNameResp, error) - ResignUser(context.Context, *ResignUserReq) (*ResignUserResp, error) - AlterUser(context.Context, *AlterUserReq) (*AlterUserResp, error) GetUsers(context.Context, *GetUsersReq) (*GetUsersResp, error) AddUser(context.Context, *AddUserReq) (*AddUserResp, error) BlockUser(context.Context, *BlockUserReq) (*BlockUserResp, error) UnBlockUser(context.Context, *UnBlockUserReq) (*UnBlockUserResp, error) GetBlockUsers(context.Context, *GetBlockUsersReq) (*GetBlockUsersResp, error) - GetBlockUserById(context.Context, *GetBlockUserByIdReq) (*GetBlockUserByIdResp, error) - DeleteUser(context.Context, *DeleteUserReq) (*DeleteUserResp, error) } func RegisterUserServer(s *grpc.Server, srv UserServer) { @@ -3059,24 +2124,6 @@ func _User_SetGlobalRecvMessageOpt_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } -func _User_DeleteUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUsersReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).DeleteUsers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/DeleteUsers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).DeleteUsers(ctx, req.(*DeleteUsersReq)) - } - return interceptor(ctx, in, info, handler) -} - func _User_GetAllUserID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetAllUserIDReq) if err := dec(in); err != nil { @@ -3221,78 +2268,6 @@ func _User_SetRecvMsgOpt_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _User_GetUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserByIdReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUserById(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetUserById", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUserById(ctx, req.(*GetUserByIdReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_GetUsersByName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUsersByNameReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetUsersByName(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetUsersByName", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetUsersByName(ctx, req.(*GetUsersByNameReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_ResignUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ResignUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).ResignUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/ResignUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).ResignUser(ctx, req.(*ResignUserReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_AlterUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AlterUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).AlterUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/AlterUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).AlterUser(ctx, req.(*AlterUserReq)) - } - return interceptor(ctx, in, info, handler) -} - func _User_GetUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetUsersReq) if err := dec(in); err != nil { @@ -3383,42 +2358,6 @@ func _User_GetBlockUsers_Handler(srv interface{}, ctx context.Context, dec func( return interceptor(ctx, in, info, handler) } -func _User_GetBlockUserById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetBlockUserByIdReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).GetBlockUserById(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/GetBlockUserById", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).GetBlockUserById(ctx, req.(*GetBlockUserByIdReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _User_DeleteUser_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteUserReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserServer).DeleteUser(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/user.user/DeleteUser", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserServer).DeleteUser(ctx, req.(*DeleteUserReq)) - } - return interceptor(ctx, in, info, handler) -} - var _User_serviceDesc = grpc.ServiceDesc{ ServiceName: "user.user", HandlerType: (*UserServer)(nil), @@ -3435,10 +2374,6 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "SetGlobalRecvMessageOpt", Handler: _User_SetGlobalRecvMessageOpt_Handler, }, - { - MethodName: "DeleteUsers", - Handler: _User_DeleteUsers_Handler, - }, { MethodName: "GetAllUserID", Handler: _User_GetAllUserID_Handler, @@ -3471,22 +2406,6 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "SetRecvMsgOpt", Handler: _User_SetRecvMsgOpt_Handler, }, - { - MethodName: "GetUserById", - Handler: _User_GetUserById_Handler, - }, - { - MethodName: "GetUsersByName", - Handler: _User_GetUsersByName_Handler, - }, - { - MethodName: "ResignUser", - Handler: _User_ResignUser_Handler, - }, - { - MethodName: "AlterUser", - Handler: _User_AlterUser_Handler, - }, { MethodName: "GetUsers", Handler: _User_GetUsers_Handler, @@ -3507,140 +2426,101 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "GetBlockUsers", Handler: _User_GetBlockUsers_Handler, }, - { - MethodName: "GetBlockUserById", - Handler: _User_GetBlockUserById_Handler, - }, - { - MethodName: "DeleteUser", - Handler: _User_DeleteUser_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "user/user.proto", } -func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_862a17c60dc96c16) } +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_d39769f8de9fc07e) } -var fileDescriptor_user_862a17c60dc96c16 = []byte{ - // 1900 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0xcb, 0x6f, 0x23, 0x49, - 0x19, 0x57, 0xc7, 0xf6, 0x24, 0xf9, 0x1c, 0x3f, 0x52, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0x90, 0x6d, - 0x2d, 0x4b, 0x34, 0x12, 0x0e, 0x3b, 0x20, 0x8d, 0xb4, 0x88, 0xdd, 0x89, 0x9d, 0x8c, 0x65, 0x34, - 0x33, 0x89, 0xda, 0x3b, 0x12, 0x42, 0x88, 0xa8, 0x63, 0x57, 0x9c, 0x56, 0xec, 0xee, 0xde, 0xae, - 0xf6, 0x8c, 0xc2, 0x65, 0x11, 0x20, 0x21, 0xad, 0xe0, 0xc0, 0x09, 0x71, 0xe1, 0xc0, 0x9f, 0x02, - 0x37, 0xc4, 0x3f, 0xc0, 0x89, 0xff, 0x81, 0x0b, 0x17, 0x0e, 0xa8, 0x1e, 0xdd, 0x5d, 0xd5, 0xd5, - 0x8e, 0x3d, 0x9d, 0x88, 0xb9, 0x24, 0xfe, 0x7e, 0xf5, 0xe8, 0xef, 0xf7, 0xd5, 0xf7, 0xa8, 0x07, - 0xb4, 0xe6, 0x04, 0x47, 0x07, 0xf4, 0x4f, 0x27, 0x8c, 0x82, 0x38, 0x40, 0x55, 0xfa, 0xdb, 0xfa, - 0xf0, 0x24, 0xc4, 0xfe, 0xd9, 0xe0, 0xc5, 0x41, 0x78, 0x35, 0x39, 0x60, 0x0d, 0x07, 0x64, 0x7c, - 0x75, 0xf6, 0x86, 0x1c, 0xbc, 0x21, 0xbc, 0xa3, 0xf5, 0x89, 0xde, 0x65, 0x14, 0xf8, 0xaf, 0x71, - 0x44, 0xdc, 0xd8, 0x0b, 0x7c, 0x45, 0xe0, 0x43, 0xec, 0xcf, 0x00, 0x7a, 0xc1, 0x6c, 0x16, 0xf8, - 0x0e, 0x26, 0x21, 0x32, 0x61, 0x1d, 0x47, 0x51, 0x2f, 0x18, 0x63, 0xd3, 0xd8, 0x33, 0xf6, 0x6b, - 0x4e, 0x22, 0xa2, 0x07, 0x70, 0x0f, 0x47, 0xd1, 0x0b, 0x32, 0x31, 0xd7, 0xf6, 0x8c, 0xfd, 0x4d, - 0x47, 0x48, 0xf6, 0x2f, 0xa0, 0x79, 0x84, 0xa7, 0x38, 0xc6, 0xaf, 0x08, 0x8e, 0x88, 0x83, 0xbf, - 0x44, 0x8f, 0xa0, 0x9d, 0x21, 0x83, 0xa3, 0xe7, 0x1e, 0x89, 0xcd, 0xb5, 0xbd, 0xca, 0xfe, 0xa6, - 0xa3, 0xe1, 0xc8, 0x82, 0x8d, 0x93, 0x90, 0xcb, 0x66, 0x85, 0xcd, 0x9b, 0xca, 0x68, 0x0f, 0xea, - 0x27, 0x21, 0x8e, 0x98, 0xb2, 0x83, 0x23, 0xb3, 0xca, 0x9a, 0x65, 0xc8, 0x0e, 0xa0, 0xa5, 0x7c, - 0x9b, 0x84, 0xe8, 0x7b, 0x32, 0x1d, 0xc6, 0xa1, 0xfe, 0xb8, 0xdd, 0x61, 0xb6, 0xcc, 0x70, 0x47, - 0xa6, 0xfc, 0x08, 0xda, 0xcf, 0x5c, 0x6f, 0x8a, 0xc7, 0xba, 0xba, 0x79, 0xdc, 0x3e, 0x81, 0x56, - 0x1f, 0xc7, 0x87, 0xd3, 0x29, 0xc7, 0x28, 0x5b, 0x0b, 0x36, 0x82, 0x84, 0x81, 0xc1, 0x19, 0x04, - 0x12, 0x83, 0x40, 0x62, 0xc0, 0x0d, 0x27, 0x43, 0xf6, 0x18, 0xda, 0xea, 0x84, 0xa5, 0x28, 0x3c, - 0x04, 0xd0, 0x94, 0x97, 0x10, 0xfb, 0x1a, 0x5a, 0x87, 0xa3, 0x51, 0x30, 0xf7, 0xe3, 0xde, 0x25, - 0x1e, 0x5d, 0x51, 0xb5, 0xf7, 0xa1, 0xc5, 0x7e, 0x4b, 0xe3, 0x0c, 0x36, 0x2e, 0x0f, 0x2b, 0x4b, - 0xb4, 0x76, 0xf3, 0x12, 0x55, 0xf4, 0x25, 0xfa, 0x97, 0x01, 0x6d, 0xf5, 0xdb, 0x9c, 0xe1, 0x68, - 0x05, 0x86, 0x59, 0x1f, 0xd4, 0x07, 0x70, 0x30, 0x99, 0x4f, 0xe3, 0x94, 0x61, 0xfd, 0xf1, 0x77, - 0xf8, 0x88, 0xfc, 0xec, 0x9d, 0xa1, 0xe7, 0x4f, 0xa6, 0xcc, 0x25, 0x86, 0xb1, 0x1b, 0xcf, 0x89, - 0x23, 0x0d, 0xb5, 0x4e, 0xa1, 0x9d, 0x6f, 0xa7, 0xae, 0x3d, 0x97, 0x17, 0x50, 0x48, 0xe8, 0x23, - 0x68, 0xb8, 0x7c, 0x72, 0xde, 0x51, 0xd0, 0x57, 0x41, 0xdb, 0x87, 0x66, 0x1f, 0xc7, 0xcc, 0x20, - 0xfe, 0x45, 0x40, 0x6d, 0xfb, 0x10, 0x60, 0x9e, 0x37, 0xab, 0x84, 0xdc, 0xd2, 0xa2, 0xbf, 0x31, - 0x98, 0x13, 0x66, 0x1f, 0x2c, 0x65, 0xd0, 0xcf, 0x61, 0x2b, 0x99, 0x81, 0x69, 0x59, 0x61, 0x26, - 0xfd, 0xa0, 0x43, 0x70, 0xf4, 0x1a, 0x47, 0x67, 0x6e, 0xe8, 0x9d, 0x85, 0x6e, 0xe4, 0xce, 0x48, - 0x27, 0xfd, 0x90, 0x32, 0xc0, 0xfe, 0xda, 0x80, 0xed, 0x57, 0xe1, 0xd8, 0x15, 0xe1, 0x2c, 0xa8, - 0x3f, 0x81, 0x8d, 0x44, 0x14, 0x6a, 0xdc, 0x38, 0x65, 0xda, 0x79, 0x99, 0x4d, 0x02, 0xdd, 0x26, - 0x72, 0x18, 0x3d, 0x03, 0x94, 0xd7, 0xa5, 0x8c, 0x55, 0xec, 0x5f, 0x19, 0x60, 0x0d, 0x71, 0xdc, - 0x9f, 0x06, 0xe7, 0xee, 0xd4, 0xc1, 0xa3, 0xd7, 0x2f, 0x30, 0x21, 0xee, 0x04, 0x9f, 0x84, 0x31, - 0x65, 0xb7, 0xc8, 0x51, 0x96, 0xc6, 0x39, 0x4d, 0x32, 0x93, 0x6c, 0x52, 0x32, 0x39, 0x09, 0x63, - 0xc6, 0xa3, 0xe6, 0x68, 0xb8, 0x7d, 0x02, 0x1f, 0x2c, 0xd4, 0xa1, 0x14, 0xab, 0xbf, 0x18, 0x80, - 0x86, 0x38, 0xee, 0x49, 0xc9, 0x9f, 0xb2, 0xf9, 0x0c, 0xb6, 0x64, 0x48, 0x4c, 0x65, 0x75, 0x94, - 0x22, 0xa1, 0x0c, 0x52, 0xfa, 0x53, 0x4e, 0x7e, 0x10, 0x7b, 0x17, 0xde, 0x88, 0xc9, 0x5f, 0x5c, - 0x87, 0x98, 0x51, 0xaf, 0x39, 0x1a, 0xbe, 0x82, 0x5b, 0xf7, 0xe1, 0xbe, 0xa6, 0x63, 0x29, 0xb6, - 0x7f, 0x37, 0xa0, 0x3d, 0xc4, 0x71, 0x66, 0x50, 0xca, 0x95, 0x7e, 0xff, 0x8d, 0x8f, 0x23, 0x25, - 0x51, 0xcb, 0x10, 0xfa, 0x18, 0x9a, 0xf2, 0xc7, 0xd3, 0x65, 0xcc, 0xa1, 0x34, 0xb8, 0xb5, 0x35, - 0x94, 0x90, 0x42, 0xab, 0x54, 0x57, 0xb3, 0x4a, 0x4d, 0xb7, 0xca, 0x31, 0x6c, 0xe7, 0xb8, 0x94, - 0xb2, 0xc9, 0x2f, 0x0d, 0x40, 0x7d, 0xdd, 0x03, 0x74, 0xce, 0x46, 0x21, 0xe7, 0x9c, 0xf5, 0xd6, - 0x74, 0xeb, 0x2d, 0x5f, 0xdf, 0xdf, 0x1a, 0x70, 0xbf, 0x7f, 0x17, 0x0b, 0xac, 0xf9, 0xed, 0xda, - 0xdb, 0xf9, 0xad, 0xfd, 0x6b, 0x5d, 0x13, 0xb2, 0x9a, 0x8f, 0xd0, 0xa2, 0xa9, 0x58, 0x86, 0x88, - 0x62, 0x9b, 0x87, 0x57, 0xb0, 0xc7, 0xd7, 0x06, 0xec, 0xe8, 0x5a, 0x94, 0x32, 0xc8, 0x53, 0x68, - 0x28, 0xd3, 0x88, 0xfa, 0x78, 0x93, 0x45, 0xd4, 0x01, 0xf6, 0xcf, 0xe0, 0x01, 0xdf, 0x86, 0x94, - 0x30, 0x4a, 0x8e, 0xea, 0x9a, 0x4e, 0xf5, 0xf7, 0x06, 0xec, 0x16, 0x4e, 0xff, 0x8e, 0xd8, 0xfe, - 0xc3, 0x00, 0xb3, 0xeb, 0xc6, 0xa3, 0xcb, 0x61, 0x81, 0x17, 0x68, 0xd3, 0x1b, 0x6f, 0x39, 0xfd, - 0x0a, 0xd1, 0x52, 0x94, 0x23, 0x2a, 0xab, 0xe5, 0x88, 0x82, 0x5d, 0xf0, 0x57, 0xf0, 0xfe, 0x02, - 0x36, 0xa5, 0xec, 0x6b, 0xc2, 0xfa, 0x70, 0x3e, 0x1a, 0x61, 0x92, 0x38, 0x77, 0x22, 0xd2, 0xf2, - 0xc7, 0x77, 0xc4, 0x6c, 0xb7, 0xb0, 0xe9, 0x08, 0xc9, 0x1e, 0x40, 0xc3, 0xc1, 0xc4, 0x9b, 0xf8, - 0x94, 0x9e, 0xa8, 0x93, 0x8c, 0xe9, 0x38, 0xa9, 0x93, 0x5c, 0x5a, 0xc1, 0x55, 0xba, 0xd0, 0x94, - 0xa7, 0x2a, 0x95, 0xec, 0x7e, 0x9c, 0x6e, 0xc8, 0xba, 0xd7, 0x83, 0xf1, 0xed, 0xf4, 0xf9, 0x6b, - 0x05, 0xaa, 0xb4, 0x33, 0xb2, 0x61, 0xeb, 0x34, 0x0a, 0x2e, 0xbc, 0x29, 0x3e, 0xbd, 0x0c, 0xe2, - 0x40, 0x4c, 0xa4, 0x60, 0x74, 0x0f, 0xf3, 0xd2, 0x1b, 0x5d, 0xf9, 0xee, 0x0c, 0x27, 0x7b, 0x98, - 0x44, 0x96, 0x54, 0xa8, 0x28, 0x2a, 0x3c, 0x04, 0xe8, 0x45, 0xd8, 0x8d, 0xf1, 0x17, 0xde, 0x0c, - 0x8b, 0xd5, 0x95, 0x10, 0xaa, 0xe2, 0xe9, 0x65, 0xe0, 0xe3, 0x97, 0xf3, 0xd9, 0x39, 0x8e, 0x92, - 0x12, 0x21, 0x41, 0x68, 0x07, 0x6a, 0xc7, 0x33, 0xd7, 0x9b, 0x9a, 0xf7, 0x58, 0x1b, 0x17, 0x28, - 0xda, 0xf5, 0xa2, 0xf8, 0xd2, 0x5c, 0xe7, 0x28, 0x13, 0xa8, 0x86, 0x7c, 0xee, 0x41, 0x68, 0x6e, - 0x70, 0x0d, 0x13, 0x99, 0xee, 0x76, 0x9f, 0xbb, 0x24, 0x7e, 0x1e, 0x4c, 0x3c, 0x9f, 0x29, 0xb3, - 0xc9, 0x77, 0xbb, 0x0a, 0x48, 0xf5, 0x49, 0x81, 0x41, 0x68, 0x02, 0xd7, 0x47, 0x82, 0x28, 0xa3, - 0xb4, 0x3b, 0x31, 0xeb, 0xbc, 0x40, 0x66, 0x08, 0xb5, 0x44, 0x1f, 0xfb, 0x63, 0x1c, 0x99, 0x5b, - 0xac, 0x4d, 0x48, 0xe9, 0xb8, 0xe7, 0xde, 0xcc, 0x8b, 0xcd, 0x86, 0x34, 0x8e, 0x21, 0xd4, 0x2f, - 0x07, 0xa4, 0x3b, 0x0d, 0x46, 0x57, 0x66, 0x73, 0xcf, 0xd8, 0xdf, 0x70, 0x12, 0x91, 0x97, 0xe4, - 0x89, 0x47, 0x62, 0x1c, 0x0d, 0x42, 0xb3, 0xc5, 0x6d, 0x98, 0x21, 0xf6, 0x28, 0xdd, 0x30, 0x73, - 0x87, 0x28, 0x79, 0xc6, 0x62, 0xa7, 0x70, 0x51, 0x6d, 0x80, 0xf7, 0x65, 0x5e, 0xca, 0x70, 0xfb, - 0x8f, 0x06, 0x6c, 0x8b, 0xaf, 0x90, 0xee, 0xf5, 0x4b, 0x77, 0x86, 0xc5, 0xe9, 0x90, 0x22, 0x54, - 0x4c, 0x4e, 0x87, 0x89, 0x8c, 0x8e, 0x00, 0x4e, 0xdd, 0x89, 0xe7, 0xcb, 0x55, 0xec, 0xa3, 0x82, - 0xdd, 0xb2, 0x83, 0xbf, 0x9c, 0x63, 0x12, 0x67, 0x7d, 0x1d, 0x69, 0xdc, 0x0a, 0x95, 0xe6, 0x4f, - 0xbc, 0xf8, 0x2b, 0x9a, 0x91, 0x10, 0xed, 0x41, 0x8d, 0x2a, 0x9e, 0x24, 0x38, 0x99, 0x11, 0x6f, - 0x40, 0xc7, 0x05, 0x0a, 0x7e, 0xbb, 0x50, 0x41, 0x12, 0x06, 0x3e, 0xc1, 0x0b, 0x34, 0x4c, 0x6c, - 0x30, 0x9f, 0x11, 0x91, 0xe5, 0x52, 0xd9, 0xfe, 0xaf, 0x01, 0x5b, 0x87, 0xd3, 0x98, 0x67, 0xc6, - 0x5b, 0x85, 0x6a, 0x3e, 0x52, 0x2a, 0x7a, 0xa4, 0xc8, 0xf1, 0x59, 0xcd, 0xc5, 0x67, 0x1a, 0x45, - 0x35, 0x39, 0x8a, 0x32, 0x5f, 0xe5, 0xc1, 0x95, 0xf8, 0x6a, 0x71, 0x74, 0xed, 0x40, 0x8d, 0x27, - 0x07, 0x1e, 0x5a, 0xb5, 0x34, 0x2b, 0x88, 0x93, 0xcc, 0x58, 0x84, 0x54, 0x2a, 0xdb, 0x87, 0xd0, - 0x90, 0xd8, 0x97, 0xf1, 0x4b, 0xfb, 0x0f, 0x06, 0xd4, 0x93, 0xd5, 0x4d, 0x0a, 0xb6, 0x64, 0x28, - 0x43, 0x37, 0xd4, 0xdd, 0xf8, 0x9d, 0xec, 0xd9, 0x15, 0xd5, 0xb3, 0xed, 0xbf, 0x19, 0xb0, 0x95, - 0xe9, 0x74, 0xcb, 0x70, 0xab, 0x14, 0x85, 0x5b, 0xce, 0x37, 0x2b, 0x77, 0xe1, 0x9b, 0xd5, 0x9c, - 0x6f, 0xfe, 0xdb, 0x00, 0x38, 0x1c, 0x8f, 0x13, 0xcf, 0x5c, 0x6e, 0xd8, 0x9c, 0x07, 0xae, 0xe9, - 0x1e, 0xb8, 0xa8, 0x0a, 0x20, 0xa8, 0x4a, 0x5e, 0x59, 0x7d, 0x87, 0x1e, 0xf9, 0x39, 0xd4, 0x53, - 0xce, 0xa5, 0xfc, 0xf1, 0x77, 0x06, 0x6c, 0xb1, 0xb4, 0xbc, 0x2c, 0xa2, 0x3f, 0x86, 0xe6, 0xb1, - 0x3f, 0x3e, 0xf2, 0x88, 0x7b, 0x3e, 0xe5, 0xd5, 0x4f, 0x1c, 0xb8, 0x54, 0x74, 0x79, 0x82, 0x53, - 0xf8, 0x54, 0xf5, 0x08, 0x93, 0xb4, 0x29, 0xc5, 0xe8, 0x02, 0x9a, 0xaf, 0xfc, 0x95, 0x28, 0x2d, - 0x4f, 0x52, 0xb2, 0xaa, 0x95, 0x9c, 0xaa, 0x3d, 0x68, 0x29, 0xdf, 0x29, 0xa5, 0xec, 0x9f, 0x0d, - 0x76, 0xa3, 0x98, 0x4e, 0xc3, 0x72, 0x82, 0x1a, 0xf1, 0xc6, 0xdd, 0x54, 0x9a, 0x02, 0x76, 0xb6, - 0xb4, 0xf4, 0x2f, 0xe7, 0x33, 0x91, 0xed, 0x15, 0xcc, 0xfe, 0x0a, 0x36, 0x53, 0x99, 0x46, 0x39, - 0xfd, 0x2f, 0x54, 0x52, 0xa2, 0x9c, 0xb5, 0x3f, 0x82, 0x76, 0x17, 0x4f, 0x3c, 0x5f, 0xf7, 0x12, - 0x0d, 0x2f, 0xf0, 0xa7, 0x4a, 0x91, 0x3f, 0xd9, 0xff, 0xe4, 0x85, 0x5a, 0xb6, 0x50, 0xa9, 0x0c, - 0x75, 0x00, 0x90, 0xcd, 0x21, 0xf2, 0x54, 0x8b, 0x8f, 0xc8, 0x16, 0x51, 0xea, 0xf2, 0xff, 0x48, - 0x59, 0xa7, 0xec, 0x64, 0x9b, 0x7e, 0x33, 0xd9, 0xff, 0xee, 0xc2, 0x3a, 0x15, 0xcf, 0xbc, 0xb7, - 0xdf, 0x00, 0x1f, 0xb3, 0x53, 0x6a, 0x6e, 0x46, 0x12, 0xa2, 0xef, 0x4a, 0xcb, 0x28, 0x6a, 0x88, - 0x46, 0x3e, 0xeb, 0x61, 0x5f, 0x40, 0x23, 0xbb, 0xa9, 0xbf, 0x9d, 0x4a, 0x37, 0xc6, 0x50, 0x57, - 0x7e, 0x8d, 0x28, 0xb7, 0xb0, 0x8f, 0xff, 0x53, 0xe7, 0xb5, 0x07, 0x7d, 0x9a, 0x56, 0x56, 0x76, - 0x45, 0xb9, 0xc3, 0x47, 0xa9, 0x97, 0xbd, 0xd6, 0x7b, 0x05, 0x28, 0x09, 0x51, 0x0f, 0x9a, 0xea, - 0x8d, 0x24, 0xda, 0x15, 0xde, 0x9d, 0xbf, 0x33, 0xb5, 0xcc, 0xe2, 0x06, 0x12, 0xa2, 0x9f, 0xc3, - 0xee, 0x82, 0x9b, 0x40, 0xb4, 0xc7, 0x07, 0x2d, 0xbe, 0xac, 0xb4, 0x3e, 0x5c, 0xd2, 0x83, 0x84, - 0x94, 0xa0, 0xf4, 0x7e, 0x92, 0x10, 0x54, 0x9f, 0x73, 0x12, 0x82, 0xf9, 0x87, 0x96, 0x1f, 0xb1, - 0x12, 0x9f, 0xbe, 0x5c, 0xa0, 0xcc, 0x0e, 0xf2, 0xf3, 0x88, 0xf5, 0xa0, 0x08, 0xe6, 0xc3, 0xe5, - 0x8b, 0xfb, 0x64, 0x78, 0xee, 0x99, 0x22, 0x19, 0xae, 0xbd, 0x20, 0x3c, 0x63, 0x5b, 0x7a, 0xe5, - 0x3a, 0xd2, 0x4c, 0xbf, 0x94, 0xbb, 0xe6, 0xb2, 0xde, 0x5f, 0xd0, 0x42, 0x42, 0xe4, 0xb0, 0x80, - 0xc9, 0xdf, 0x4c, 0xa0, 0x6f, 0xc8, 0x5a, 0xe7, 0xaf, 0x08, 0xac, 0x6f, 0xde, 0xd0, 0x4a, 0x42, - 0x34, 0x60, 0x19, 0x58, 0x9d, 0xb0, 0x58, 0x05, 0x36, 0x9b, 0xb5, 0xa8, 0x89, 0x84, 0xe8, 0x27, - 0xf0, 0x5e, 0xe1, 0xd1, 0x1e, 0x3d, 0x14, 0xb1, 0xb6, 0xe0, 0x16, 0xc3, 0xfa, 0xd6, 0x8d, 0xed, - 0xdc, 0x80, 0xc3, 0x62, 0x03, 0x0e, 0x17, 0x1a, 0xb0, 0xe8, 0x7e, 0xf6, 0x29, 0x34, 0x94, 0x0b, - 0x4a, 0xf4, 0x20, 0xed, 0xab, 0xdc, 0xc0, 0x5a, 0xbb, 0x85, 0x38, 0x77, 0x42, 0xe9, 0x74, 0x96, - 0x8b, 0x32, 0x91, 0xc1, 0x72, 0x51, 0x96, 0x66, 0xa1, 0x5e, 0x7a, 0xd4, 0x17, 0x27, 0x9b, 0x24, - 0xca, 0xb4, 0x93, 0x98, 0x65, 0x16, 0x37, 0x90, 0x10, 0x3d, 0x61, 0x6f, 0x4b, 0xe2, 0xce, 0x01, - 0xdd, 0xe7, 0xfd, 0x94, 0x0b, 0x0d, 0x6b, 0x47, 0x07, 0x49, 0x88, 0x7e, 0x00, 0x9b, 0xe9, 0xee, - 0x1d, 0x21, 0xe1, 0xa9, 0xd2, 0x61, 0xc6, 0xba, 0xaf, 0x61, 0x24, 0x44, 0x9f, 0xc0, 0x46, 0xa2, - 0x04, 0xda, 0x56, 0x95, 0xa2, 0x63, 0x50, 0x1e, 0x22, 0x21, 0xea, 0xc0, 0xba, 0xd8, 0x94, 0x21, - 0x91, 0xba, 0xb2, 0x7d, 0xa9, 0xb5, 0x9d, 0x43, 0xb8, 0x62, 0x59, 0x8d, 0x45, 0xf9, 0xb4, 0x9c, - 0x29, 0xa6, 0x6e, 0x36, 0x3e, 0x85, 0xba, 0xb4, 0xff, 0x48, 0x16, 0x42, 0xdd, 0xfa, 0x24, 0x0b, - 0x91, 0xdf, 0xa8, 0x3c, 0x85, 0x86, 0x52, 0x53, 0x51, 0x16, 0xf7, 0xca, 0x56, 0xc4, 0xda, 0x2d, - 0xc4, 0xd3, 0xa8, 0x51, 0x0a, 0x8d, 0x14, 0x35, 0xf9, 0x92, 0x26, 0x45, 0x8d, 0x5e, 0x9b, 0x9e, - 0x00, 0x64, 0xd9, 0x2a, 0x59, 0x50, 0xa5, 0xfc, 0x58, 0x3b, 0x3a, 0x48, 0xc2, 0x6e, 0xe3, 0xa7, - 0xf5, 0x0e, 0x7b, 0x77, 0xff, 0x21, 0xfd, 0x73, 0x7e, 0x8f, 0xbd, 0x90, 0x7f, 0xff, 0x7f, 0x01, - 0x00, 0x00, 0xff, 0xff, 0xb3, 0xba, 0x11, 0x76, 0x90, 0x1f, 0x00, 0x00, +var fileDescriptor_user_d39769f8de9fc07e = []byte{ + // 1397 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcf, 0x6f, 0x1b, 0xc5, + 0x17, 0xd7, 0xc4, 0x49, 0x13, 0x3f, 0xc7, 0xb1, 0x3d, 0x6d, 0x13, 0x77, 0xdb, 0x6f, 0xbf, 0xe9, + 0xaa, 0x94, 0x50, 0x21, 0x9b, 0x06, 0x24, 0x24, 0x10, 0x6d, 0x13, 0xa7, 0xb5, 0x22, 0x91, 0xb8, + 0x5a, 0x27, 0x12, 0x42, 0x88, 0x68, 0x63, 0x4f, 0xdc, 0x55, 0xec, 0xdd, 0xc9, 0xce, 0x3a, 0x51, + 0x4f, 0x20, 0x40, 0x42, 0xaa, 0xe0, 0xce, 0x99, 0x1b, 0xff, 0x05, 0x37, 0x24, 0xc4, 0x81, 0x2b, + 0x27, 0xfe, 0x15, 0xb4, 0xb3, 0xbf, 0x66, 0x76, 0xd6, 0xb1, 0xb3, 0x54, 0xe2, 0x62, 0x79, 0xde, + 0xcc, 0xbc, 0x79, 0x9f, 0xcf, 0xbe, 0x79, 0x3f, 0x06, 0x2a, 0x63, 0x46, 0xdc, 0xa6, 0xff, 0xd3, + 0xa0, 0xae, 0xe3, 0x39, 0x78, 0xde, 0xff, 0xaf, 0xdd, 0xeb, 0x50, 0x62, 0x1f, 0xed, 0xee, 0x35, + 0xe9, 0xe9, 0xa0, 0xc9, 0x27, 0x9a, 0xac, 0x7f, 0x7a, 0x74, 0xc1, 0x9a, 0x17, 0x2c, 0x58, 0xa8, + 0x3d, 0x52, 0x97, 0xf4, 0x1c, 0xfb, 0x9c, 0xb8, 0xcc, 0xf4, 0x2c, 0xc7, 0x96, 0x06, 0xc1, 0x16, + 0xfd, 0x31, 0x40, 0xcb, 0x19, 0x8d, 0x1c, 0xdb, 0x20, 0x8c, 0xe2, 0x3a, 0x2c, 0x12, 0xd7, 0x6d, + 0x39, 0x7d, 0x52, 0x47, 0xeb, 0x68, 0x63, 0xc1, 0x88, 0x86, 0x78, 0x15, 0xae, 0x11, 0xd7, 0xdd, + 0x63, 0x83, 0xfa, 0xdc, 0x3a, 0xda, 0x28, 0x1a, 0xe1, 0x48, 0xef, 0x40, 0xa5, 0x4d, 0xbc, 0xad, + 0xe1, 0xf0, 0x90, 0x11, 0x77, 0x77, 0xc7, 0x20, 0x67, 0x58, 0x83, 0x25, 0x87, 0x06, 0x43, 0xae, + 0xa5, 0x68, 0xc4, 0x63, 0xbc, 0x0e, 0x25, 0x87, 0x12, 0x97, 0x5b, 0xb0, 0xbb, 0x13, 0xea, 0x12, + 0x45, 0x7a, 0x1f, 0xaa, 0xb2, 0x42, 0x46, 0xf1, 0x7b, 0xa2, 0x91, 0x5c, 0x67, 0x69, 0xb3, 0xda, + 0xe0, 0x0c, 0x25, 0x72, 0x43, 0x04, 0x72, 0x17, 0x20, 0xd8, 0xff, 0xa9, 0xc5, 0xbc, 0xfa, 0xdc, + 0x7a, 0x61, 0xa3, 0x68, 0x08, 0x12, 0xfd, 0x15, 0x54, 0xb6, 0x7a, 0x3d, 0x67, 0x6c, 0x7b, 0xad, + 0x97, 0xa4, 0x77, 0xea, 0x9b, 0xbd, 0x01, 0x15, 0xfe, 0x5f, 0xd8, 0x87, 0xf8, 0xbe, 0xb4, 0xd8, + 0x07, 0xd8, 0x89, 0x00, 0x06, 0x08, 0xe2, 0xb1, 0x0f, 0xb0, 0x23, 0x00, 0x2c, 0x04, 0x00, 0x05, + 0x91, 0xfe, 0x37, 0x82, 0xaa, 0x7c, 0x76, 0x80, 0xb0, 0x37, 0x03, 0xc2, 0x64, 0x0d, 0x6e, 0x03, + 0x18, 0x84, 0x8d, 0x87, 0x5e, 0x8c, 0xb0, 0xb4, 0xf9, 0x76, 0xb0, 0x23, 0xad, 0xbd, 0xd1, 0xb5, + 0xec, 0xc1, 0x90, 0xf8, 0x16, 0x76, 0x3d, 0xd3, 0x1b, 0x33, 0x43, 0xd8, 0xaa, 0xbd, 0x80, 0x6a, + 0x7a, 0xde, 0xff, 0xda, 0x63, 0xf1, 0x03, 0x86, 0x23, 0x7c, 0x1f, 0xca, 0x66, 0xa0, 0x3c, 0x58, + 0x18, 0xc2, 0x97, 0x85, 0xba, 0x0d, 0x2b, 0x6d, 0xe2, 0x71, 0x42, 0xec, 0x13, 0xc7, 0xe7, 0xf6, + 0x2e, 0xc0, 0x38, 0x4d, 0xab, 0x20, 0xf9, 0x97, 0x8c, 0x7e, 0x87, 0xb8, 0x13, 0x26, 0x07, 0xe6, + 0x22, 0xf4, 0x09, 0x2c, 0x47, 0x1a, 0xb8, 0x95, 0x05, 0x4e, 0xe9, 0xed, 0x06, 0x23, 0xee, 0x39, + 0x71, 0x8f, 0x4c, 0x6a, 0x1d, 0x51, 0xd3, 0x35, 0x47, 0xac, 0x11, 0x1f, 0x24, 0x6d, 0xd0, 0x5f, + 0x23, 0xa8, 0x1d, 0xd2, 0xbe, 0xe9, 0x11, 0x11, 0xfa, 0x87, 0xb0, 0x14, 0x0d, 0x43, 0x33, 0x2e, + 0x55, 0x19, 0x2f, 0x9e, 0xc6, 0x89, 0xa3, 0x72, 0x22, 0x5e, 0xa3, 0xe7, 0x80, 0xd3, 0xb6, 0xe4, + 0x61, 0x45, 0xff, 0x06, 0x81, 0xd6, 0x25, 0x5e, 0x7b, 0xe8, 0x1c, 0x9b, 0x43, 0x83, 0xf4, 0xce, + 0xf7, 0x08, 0x63, 0xe6, 0x80, 0x74, 0xa8, 0xe7, 0xa3, 0x9b, 0xe4, 0x28, 0x53, 0xef, 0x39, 0x7e, + 0x08, 0xd5, 0x41, 0xa2, 0x94, 0x0d, 0x3a, 0xd4, 0xe3, 0x38, 0x16, 0x0c, 0x45, 0xae, 0x77, 0xe0, + 0xf6, 0x44, 0x1b, 0x72, 0xa1, 0xfa, 0x19, 0x01, 0xee, 0x12, 0xaf, 0x25, 0xc4, 0x43, 0x1f, 0xcd, + 0x63, 0x58, 0x16, 0x45, 0xa1, 0x2a, 0xad, 0x21, 0xc5, 0x4d, 0x69, 0x93, 0xb4, 0xde, 0xc7, 0x64, + 0x3b, 0x9e, 0x75, 0x62, 0xf5, 0xf8, 0xf8, 0xe0, 0x15, 0x25, 0x1c, 0xfa, 0x82, 0xa1, 0xc8, 0x67, + 0x70, 0xeb, 0x36, 0x5c, 0x57, 0x6c, 0xcc, 0x85, 0xf6, 0x77, 0x04, 0xd5, 0x2e, 0xf1, 0x12, 0x42, + 0x7d, 0xac, 0xfe, 0xf9, 0x17, 0x36, 0x71, 0xa5, 0x40, 0x2d, 0x8a, 0xf0, 0x03, 0x58, 0x11, 0x0f, + 0x8f, 0x3f, 0x63, 0x4a, 0xea, 0x5f, 0x6e, 0xe5, 0x1b, 0x0a, 0x92, 0x4c, 0x56, 0xe6, 0x67, 0x63, + 0x65, 0x41, 0x65, 0xe5, 0x19, 0xd4, 0x52, 0x58, 0x72, 0x71, 0xf2, 0x35, 0x02, 0xdc, 0x56, 0x3d, + 0x40, 0xc5, 0x8c, 0x32, 0x31, 0xa7, 0xd8, 0x9b, 0x53, 0xd9, 0x9b, 0xfe, 0x7d, 0xbf, 0x47, 0x70, + 0xbd, 0xfd, 0x26, 0x3e, 0xb0, 0xe2, 0xb7, 0x73, 0x57, 0xf3, 0x5b, 0xfd, 0x5b, 0xd5, 0x12, 0x36, + 0x9b, 0x8f, 0xf8, 0x49, 0x53, 0x62, 0x86, 0x85, 0xc9, 0x36, 0x2d, 0x9e, 0x81, 0x8f, 0xd7, 0x08, + 0x6e, 0xa8, 0x56, 0xe4, 0x22, 0xe4, 0x29, 0x94, 0x25, 0x35, 0x61, 0x7e, 0xbc, 0x8c, 0x11, 0x79, + 0x83, 0xfe, 0x05, 0xac, 0x06, 0x65, 0x48, 0x0e, 0x52, 0x52, 0x50, 0xe7, 0x54, 0xa8, 0x3f, 0x22, + 0x58, 0xcb, 0x54, 0xff, 0x1f, 0xa1, 0xfd, 0x03, 0x41, 0x7d, 0xdb, 0xf4, 0x7a, 0x2f, 0xbb, 0x19, + 0x5e, 0xa0, 0xa8, 0x47, 0x57, 0x54, 0x3f, 0xc3, 0x6d, 0xc9, 0x8a, 0x11, 0x85, 0xd9, 0x62, 0xc4, + 0xbc, 0x4a, 0xef, 0x57, 0x70, 0x6b, 0x02, 0x9a, 0x5c, 0xfc, 0xd6, 0x61, 0xb1, 0x3b, 0xee, 0xf5, + 0x08, 0x8b, 0x9c, 0x3b, 0x1a, 0xfa, 0xe9, 0xef, 0xb9, 0x69, 0x0d, 0x49, 0x9f, 0x57, 0x0b, 0x45, + 0x23, 0x1c, 0xe9, 0xbf, 0x20, 0x28, 0x85, 0x15, 0x49, 0xe4, 0x33, 0x62, 0x3a, 0x44, 0x6a, 0x3a, + 0xdc, 0x01, 0xa0, 0xe6, 0xc0, 0xb2, 0xc5, 0x0b, 0x7c, 0x3f, 0xa3, 0x50, 0x30, 0xc8, 0xd9, 0x98, + 0x30, 0xef, 0x45, 0xbc, 0xd6, 0x10, 0xf6, 0xf9, 0x35, 0x83, 0x0f, 0x64, 0xdf, 0x1c, 0x91, 0xf0, + 0x86, 0xc5, 0x63, 0x21, 0x55, 0xcf, 0x8b, 0xa9, 0x5a, 0x3f, 0x80, 0xc5, 0xd6, 0x88, 0xf9, 0xa6, + 0xe2, 0x26, 0xf0, 0x56, 0x63, 0x96, 0x3a, 0x85, 0x2f, 0xf4, 0x99, 0xb1, 0xd8, 0xf6, 0xd0, 0xe9, + 0x9d, 0x72, 0x93, 0x97, 0x8c, 0x68, 0xa8, 0xff, 0x89, 0x60, 0x39, 0x61, 0x20, 0x17, 0xed, 0xef, + 0x04, 0x60, 0x84, 0xfa, 0xb6, 0x1c, 0xae, 0x0f, 0xcc, 0x35, 0xe2, 0x69, 0xfc, 0x0c, 0x20, 0x61, + 0x84, 0x23, 0x2f, 0x6d, 0xbe, 0x95, 0xc9, 0x1e, 0xa3, 0x8e, 0xcd, 0x88, 0x48, 0x5f, 0xf2, 0x1f, + 0xdf, 0x81, 0xa2, 0xe7, 0x78, 0xe6, 0x70, 0x7f, 0x3c, 0x62, 0x61, 0x8a, 0x4a, 0x04, 0xfa, 0x00, + 0x60, 0xab, 0xdf, 0xe7, 0x27, 0x07, 0x75, 0xdd, 0xf8, 0x2a, 0x75, 0x5d, 0xb4, 0x78, 0x86, 0x16, + 0xe8, 0x09, 0x94, 0xe2, 0x83, 0xf2, 0x74, 0x3f, 0xfa, 0x0f, 0x08, 0x96, 0xf9, 0x67, 0x88, 0x8c, + 0x9d, 0x54, 0xa6, 0x3d, 0x80, 0x15, 0x62, 0xf7, 0x77, 0x2c, 0x66, 0x1e, 0x0f, 0xc9, 0x81, 0x35, + 0x22, 0x51, 0x8a, 0x97, 0xa5, 0xd3, 0xeb, 0x4d, 0xa9, 0xe9, 0x9b, 0x97, 0x9b, 0x3e, 0x7d, 0x0b, + 0xca, 0x82, 0x35, 0xb9, 0x10, 0x9d, 0xc0, 0xca, 0xa1, 0x3d, 0x13, 0xa4, 0xe9, 0x95, 0xa7, 0x68, + 0x6a, 0x21, 0x65, 0x6a, 0x0b, 0x2a, 0xd2, 0x39, 0xb9, 0x8c, 0xfd, 0x15, 0xf1, 0x1e, 0x36, 0x56, + 0xc3, 0x43, 0x80, 0x7c, 0xc1, 0x51, 0xce, 0x0b, 0x3e, 0x1d, 0x5d, 0xc2, 0x4b, 0x41, 0xe2, 0xe5, + 0x5d, 0xa8, 0x71, 0x57, 0x8e, 0xad, 0xda, 0x1f, 0x8f, 0x42, 0x1f, 0x57, 0x27, 0xf4, 0x9f, 0x10, + 0x14, 0x63, 0x41, 0xfe, 0x1e, 0xe6, 0x21, 0x54, 0xb7, 0xc9, 0xc0, 0xb2, 0x55, 0x0f, 0x53, 0xe4, + 0xbe, 0x2f, 0x3e, 0x93, 0x7d, 0x31, 0x00, 0x90, 0x92, 0xea, 0x7f, 0x21, 0xa8, 0xa5, 0xd8, 0xcd, + 0xf5, 0x44, 0xd0, 0x04, 0x48, 0x74, 0x84, 0x01, 0xa6, 0x12, 0xec, 0x48, 0x1c, 0x40, 0x58, 0xf2, + 0xa6, 0x82, 0x8c, 0x16, 0x90, 0x29, 0xc4, 0x98, 0x78, 0xbc, 0xf9, 0xdb, 0x52, 0x10, 0x81, 0xf1, + 0x47, 0x71, 0xfe, 0xe0, 0x3c, 0xde, 0x08, 0xec, 0x92, 0xbb, 0x6a, 0xed, 0x66, 0x86, 0x94, 0x51, + 0xdc, 0x82, 0x15, 0xb9, 0xf5, 0xc3, 0x6b, 0xc1, 0x42, 0xa5, 0x39, 0xd5, 0xea, 0xd9, 0x13, 0x8c, + 0xe2, 0x2f, 0x61, 0x6d, 0x42, 0xcb, 0x85, 0xd7, 0x83, 0x4d, 0x93, 0xbb, 0x42, 0xed, 0xde, 0x94, + 0x15, 0x8c, 0xe2, 0x4f, 0x78, 0x7a, 0x88, 0x9f, 0x79, 0x70, 0x82, 0x45, 0x7c, 0x4b, 0xd2, 0x56, + 0xb3, 0xc4, 0xc1, 0x76, 0xf1, 0x95, 0x23, 0xda, 0x9e, 0x7a, 0xd3, 0x89, 0xb6, 0x2b, 0xcf, 0x2d, + 0xcf, 0xf9, 0x83, 0x81, 0xd4, 0xbb, 0xd5, 0xe3, 0x93, 0x52, 0x3d, 0x81, 0x76, 0x6b, 0xc2, 0x0c, + 0xa3, 0xd8, 0xe0, 0x75, 0x73, 0xba, 0x8c, 0xc3, 0x77, 0x44, 0xab, 0xd3, 0xf5, 0x94, 0xf6, 0xbf, + 0x4b, 0x66, 0x19, 0xc5, 0xbb, 0x3c, 0x78, 0xc8, 0x0a, 0xb3, 0x4d, 0xe0, 0xda, 0xb4, 0x49, 0x53, + 0x8c, 0xe2, 0xcf, 0xe0, 0x66, 0x66, 0x1d, 0x84, 0xef, 0x86, 0x7e, 0x3e, 0xa1, 0xe4, 0xd3, 0xfe, + 0x7f, 0xe9, 0x7c, 0x40, 0x60, 0x37, 0x9b, 0xc0, 0xee, 0x44, 0x02, 0xb3, 0x9a, 0xd9, 0xa7, 0x50, + 0x96, 0xba, 0x39, 0xbc, 0x1a, 0xaf, 0x95, 0xda, 0x55, 0x6d, 0x2d, 0x53, 0xce, 0x28, 0x7e, 0x04, + 0x4b, 0x51, 0x9d, 0x81, 0x6b, 0xd2, 0x85, 0xe0, 0x48, 0x70, 0x5a, 0xc4, 0x28, 0x6e, 0xc0, 0x62, + 0x98, 0x5f, 0x71, 0x18, 0x22, 0x92, 0xbc, 0xae, 0xd5, 0x52, 0x12, 0x46, 0xf1, 0x07, 0x62, 0x2c, + 0xc4, 0xe9, 0x10, 0x41, 0xce, 0xb4, 0xeb, 0x8a, 0x8c, 0x51, 0xff, 0x0a, 0x0b, 0xa9, 0x24, 0xba, + 0xc2, 0x72, 0x16, 0x8b, 0xae, 0x70, 0x3a, 0xe7, 0x3c, 0x85, 0xb2, 0x14, 0xe2, 0x70, 0x72, 0x0f, + 0xa4, 0xac, 0x12, 0xd1, 0xa2, 0xc4, 0xc3, 0xed, 0xf2, 0xe7, 0xa5, 0x06, 0x7f, 0x43, 0xfe, 0xd8, + 0xff, 0x39, 0xbe, 0xc6, 0x5f, 0x7b, 0xdf, 0xff, 0x27, 0x00, 0x00, 0xff, 0xff, 0x87, 0x2d, 0x47, + 0x32, 0x5c, 0x16, 0x00, 0x00, } diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index a404a0c9e..f020917cf 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -9,16 +9,6 @@ message CommonResp{ string errMsg = 2; } -message DeleteUsersReq{ - repeated string DeleteUserIDList = 2; - string OpUserID = 3; - string OperationID = 4; -} - -message DeleteUsersResp{ - CommonResp CommonResp = 1; - repeated string FailedUserIDList = 2; -} message GetAllUserIDReq{ @@ -143,94 +133,29 @@ message BatchSetConversationsResp{ repeated string Failed = 3; } -message ResignUserReq{ - string UserId = 1; - string OperationID = 2; -} - -message ResignUserResp{ - CommonResp commonResp = 1; -} - -message GetUserByIdReq{ - string UserId = 1; - string OperationID = 2; -} - -message User{ - string ProfilePhoto = 1; - string Nickname = 2; - string UserId = 3; - string CreateTime = 4; - string PhoneNumber = 5; - string Email = 6; - string Birth = 7; - string CreateIp = 8; - string LastLoginTime = 9; - string LastLoginIp = 10; - int32 LoginTimes = 11; - int32 Gender = 12; - int32 LoginLimit = 13; - bool IsBlock = 14; - string RegisterIp = 15; -} - -message GetUserByIdResp{ - CommonResp CommonResp = 1; - User user = 2; -} - -message GetUsersByNameReq { - string UserName = 1; - server_api_params.RequestPagination Pagination = 2; - string OperationID = 3; -} - -message GetUsersByNameResp { - repeated User users = 1; - server_api_params.ResponsePagination Pagination = 2; - int32 UserNums = 3; -} - -message AlterUserReq{ - string UserId = 1; - string OperationID = 2; - string PhoneNumber = 3; - string Nickname = 4; - string Email = 5; - string Gender = 6; - string Birth =7; - string Photo = 8; - string OpUserId = 9; -} - -message AlterUserResp{ - CommonResp CommonResp = 1; -} message GetUsersReq { - string OperationID = 1; - server_api_params.RequestPagination Pagination = 2; - string UserName = 3; + string operationID = 1; + server_api_params.RequestPagination pagination = 2; + string userName = 3; + string userID = 4; +} + +message CmsUser { + server_api_params.UserInfo user = 1; + bool isBlock = 2; } message GetUsersResp{ - CommonResp CommonResp = 1; - repeated User user = 2; + CommonResp commonResp = 1; + repeated CmsUser userList = 2; server_api_params.ResponsePagination Pagination = 3; - int32 UserNums = 4; + int32 totalNums = 4; } message AddUserReq{ - string OperationID = 1; - string PhoneNumber = 2; - string UserId = 3; - string name = 4; - string Email = 5; - string Gender = 6; - string Birth =7; - string Photo = 8; - string OpUserId = 9; + server_api_params.UserInfo userInfo = 1; + string operationID = 2; } message AddUserResp{ @@ -239,10 +164,10 @@ message AddUserResp{ message BlockUserReq{ - string UserId = 1; - string EndDisableTime = 2; - string OperationID = 3; - string OpUserId = 4; + string userID = 1; + string endDisableTime = 2; + string operationID = 3; + string opUserID = 4; } message BlockUserResp{ @@ -250,9 +175,9 @@ message BlockUserResp{ } message UnBlockUserReq{ - string UserId = 1; - string OperationID = 2; - string OpUserId = 3; + string userID = 1; + string operationID = 2; + string opUserID = 3; } message UnBlockUserResp{ @@ -260,13 +185,14 @@ message UnBlockUserResp{ } message GetBlockUsersReq{ - server_api_params.RequestPagination Pagination = 1; - string OperationID = 2; - int32 BlockUserNum = 3; + server_api_params.RequestPagination pagination = 1; + string operationID = 2; + string userID = 3; + int32 totalBlockUserNum = 4; } message BlockUser { - User User = 1; + server_api_params.UserInfo UserInfo = 1; string BeginDisableTime = 2; string EndDisableTime = 3; } @@ -278,24 +204,6 @@ message GetBlockUsersResp{ int32 UserNums = 4; } -message GetBlockUserByIdReq { - string User_id = 1; - string OperationID = 2; -} - -message GetBlockUserByIdResp { - BlockUser BlockUser = 2; -} - -message DeleteUserReq { - string User_id = 1; - string OperationID = 2; - string OpUserId = 3; -} - -message DeleteUserResp { - CommonResp CommonResp = 1; -} @@ -303,7 +211,6 @@ service user { rpc GetUserInfo(GetUserInfoReq) returns(GetUserInfoResp); rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp); rpc SetGlobalRecvMessageOpt(SetGlobalRecvMessageOptReq) returns(SetGlobalRecvMessageOptResp); - rpc DeleteUsers(DeleteUsersReq)returns(DeleteUsersResp); rpc GetAllUserID(GetAllUserIDReq)returns(GetAllUserIDResp); rpc AccountCheck(AccountCheckReq)returns(AccountCheckResp); @@ -314,15 +221,13 @@ service user { rpc SetConversation(SetConversationReq)returns(SetConversationResp); rpc SetRecvMsgOpt(SetRecvMsgOptReq)returns(SetRecvMsgOptResp); - rpc GetUserById(GetUserByIdReq) returns (GetUserByIdResp); - rpc GetUsersByName(GetUsersByNameReq) returns (GetUsersByNameResp); - rpc ResignUser(ResignUserReq) returns (ResignUserResp); - rpc AlterUser(AlterUserReq) returns (AlterUserResp); + rpc GetUsers(GetUsersReq) returns (GetUsersResp); + rpc AddUser(AddUserReq) returns (AddUserResp); + rpc BlockUser(BlockUserReq) returns (BlockUserResp); rpc UnBlockUser(UnBlockUserReq) returns (UnBlockUserResp); rpc GetBlockUsers(GetBlockUsersReq) returns (GetBlockUsersResp); - rpc GetBlockUserById(GetBlockUserByIdReq) returns (GetBlockUserByIdResp); - rpc DeleteUser(DeleteUserReq) returns (DeleteUserResp); } + diff --git a/script/check_all.sh b/script/check_all.sh index 2ec2b8270..76535c79f 100644 --- a/script/check_all.sh +++ b/script/check_all.sh @@ -16,8 +16,6 @@ service_port_name=( openImGroupPort openImAuthPort openImPushPort - openImStatisticsPort - openImMessageCmsPort openImAdminCmsPort openImOfficePort openImOrganizationPort diff --git a/script/path_info.cfg b/script/path_info.cfg index 6562f1d7f..48ba5f96f 100644 --- a/script/path_info.cfg +++ b/script/path_info.cfg @@ -46,8 +46,6 @@ service_source_root=( ../cmd/rpc/open_im_group/ ../cmd/rpc/open_im_auth/ ../cmd/rpc/open_im_admin_cms/ - ../cmd/rpc/open_im_message_cms/ - ../cmd/rpc/open_im_statistics/ ../cmd/rpc/open_im_office/ ../cmd/rpc/open_im_organization/ ../cmd/rpc/open_im_conversation/ @@ -71,8 +69,6 @@ service_names=( open_im_group open_im_auth open_im_admin_cms - open_im_message_cms - open_im_statistics open_im_office open_im_organization open_im_conversation diff --git a/script/start_rpc_service.sh b/script/start_rpc_service.sh index 351bd2797..1f9a7b30b 100644 --- a/script/start_rpc_service.sh +++ b/script/start_rpc_service.sh @@ -15,8 +15,6 @@ service_filename=( open_im_group open_im_auth open_im_admin_cms - open_im_message_cms - open_im_statistics ${msg_name} open_im_office open_im_organization @@ -35,8 +33,6 @@ service_port_name=( openImGroupPort openImAuthPort openImAdminCmsPort - openImMessageCmsPort - openImStatisticsPort openImMessagePort openImOfficePort openImOrganizationPort From 39720d401f422422d0519669406f9f6aa6c64b5d Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Sat, 27 Aug 2022 12:24:06 +0800 Subject: [PATCH 07/44] fix bug: msg_gateway/gate/ws_server.go:138 --- internal/msg_gateway/gate/ws_server.go | 1 + pkg/grpc-etcdv3/getcdv3/resolver.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/msg_gateway/gate/ws_server.go b/internal/msg_gateway/gate/ws_server.go index a8565f4b8..f1ecc56e9 100644 --- a/internal/msg_gateway/gate/ws_server.go +++ b/internal/msg_gateway/gate/ws_server.go @@ -134,6 +134,7 @@ func (ws *WServer) MultiTerminalLoginRemoteChecker(userID string, platformID int resp, err := client.MultiTerminalLoginCheck(context.Background(), req) if err != nil { log.Error(operationID, "MultiTerminalLoginCheck failed ", err.Error()) + continue } if resp.ErrCode != 0 { log.Error(operationID, "MultiTerminalLoginCheck errCode, errMsg: ", resp.ErrCode, resp.ErrMsg) diff --git a/pkg/grpc-etcdv3/getcdv3/resolver.go b/pkg/grpc-etcdv3/getcdv3/resolver.go index d95909b6d..e77bb626b 100644 --- a/pkg/grpc-etcdv3/getcdv3/resolver.go +++ b/pkg/grpc-etcdv3/getcdv3/resolver.go @@ -282,7 +282,7 @@ func GetDefaultGatewayConn4Unique(schema, etcdaddr, operationID string) []*grpc. if len(grpcConns) > 0 { return grpcConns } - log.NewWarn(operationID, utils.GetSelfFuncName(), " len(grpcConns) < 0 ", schema, etcdaddr, config.Config.RpcRegisterName.OpenImRelayName) + log.NewWarn(operationID, utils.GetSelfFuncName(), " len(grpcConns) == 0 ", schema, etcdaddr, config.Config.RpcRegisterName.OpenImRelayName) grpcConns = GetDefaultGatewayConn4UniqueFromcfg(operationID) log.NewDebug(operationID, utils.GetSelfFuncName(), config.Config.RpcRegisterName.OpenImRelayName, grpcConns) return grpcConns From 96814109dc0c5beb606cf21d2d1f8d21af84b4f1 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Sat, 27 Aug 2022 15:20:49 +0800 Subject: [PATCH 08/44] fix bug: GetSelfUserInfo for no result --- internal/api/user/user.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index b67e63e72..96f38bd72 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -367,7 +367,7 @@ func GetSelfUserInfo(c *gin.Context) { log.NewInfo(req.OperationID, "GetUserInfo api return ", resp) c.JSON(http.StatusOK, resp) } else { - resp := api.GetSelfUserInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} + resp := api.GetSelfUserInfoResp{CommResp: api.CommResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}} log.NewInfo(req.OperationID, "GetUserInfo api return ", resp) c.JSON(http.StatusOK, resp) } From 0f0e99b42eb33ce8f0c60587ad0953db9608607f Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 29 Aug 2022 09:34:52 +0800 Subject: [PATCH 09/44] merge code : Filter push data by time --- internal/push/logic/push_handler.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/push/logic/push_handler.go b/internal/push/logic/push_handler.go index ccc00b480..200120800 100644 --- a/internal/push/logic/push_handler.go +++ b/internal/push/logic/push_handler.go @@ -13,6 +13,7 @@ import ( "Open_IM/pkg/common/log" pbChat "Open_IM/pkg/proto/msg" pbPush "Open_IM/pkg/proto/push" + "Open_IM/pkg/utils" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" ) @@ -43,6 +44,11 @@ func (ms *PushConsumerHandler) handleMs2PsChat(msg []byte) { MsgData: msgFromMQ.MsgData, PushToUserID: msgFromMQ.PushToUserID, } + sec := msgFromMQ.MsgData.SendTime / 1000 + nowSec := utils.GetCurrentTimestampBySecond() + if nowSec-sec > 10 { + return + } switch msgFromMQ.MsgData.SessionType { case constant.SuperGroupChatType: MsgToSuperGroupUser(pbData) From 6ff8fc7f87cc63a41ca69e2b3d638b3ca8e89650 Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Mon, 29 Aug 2022 09:48:55 +0800 Subject: [PATCH 10/44] merge code : Filter push data by time --- internal/push/logic/push_handler.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/push/logic/push_handler.go b/internal/push/logic/push_handler.go index 200120800..f137c09d6 100644 --- a/internal/push/logic/push_handler.go +++ b/internal/push/logic/push_handler.go @@ -65,6 +65,7 @@ func (ms *PushConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, for msg := range claim.Messages() { log.NewDebug("", "kafka get info to mysql", "msgTopic", msg.Topic, "msgPartition", msg.Partition, "msg", string(msg.Value)) ms.msgHandle[msg.Topic](msg.Value) + sess.MarkMessage(msg, "") } return nil } From 7f5b12d4d27d66c81000221fad218fe76086d3a5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 15:52:39 +0800 Subject: [PATCH 11/44] cms --- cmd/open_im_api/main.go | 1 + internal/api/group/group.go | 4 + internal/api/manage/management_user.go | 43 --- internal/api/user/user.go | 5 - internal/cms_api/group/group.go | 215 --------------- internal/cms_api/organization/organization.go | 49 ---- internal/cms_api/router.go | 14 +- internal/cms_api/statistics/statistics.go | 107 ++++---- internal/cms_api/user/user.go | 1 - internal/rpc/admin_cms/admin_cms.go | 36 +-- pkg/cms_api_struct/admin.go | 14 +- pkg/cms_api_struct/message_cms.go | 4 +- pkg/cms_api_struct/organization.go | 25 -- pkg/cms_api_struct/statistics.go | 63 ++--- pkg/common/log/logrus.go | 15 +- pkg/proto/admin_cms/admin_cms.pb.go | 255 +++++++++--------- pkg/proto/admin_cms/admin_cms.proto | 17 +- 17 files changed, 273 insertions(+), 595 deletions(-) delete mode 100644 internal/cms_api/organization/organization.go delete mode 100644 pkg/cms_api_struct/organization.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 5154841c2..2e4b83d60 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -111,6 +111,7 @@ func main() { groupRouterGroup.POST("/set_group_member_nickname", group.SetGroupMemberNickname) groupRouterGroup.POST("/set_group_member_info", group.SetGroupMemberInfo) groupRouterGroup.POST("/get_group_abstract_info", group.GetGroupAbstractInfo) + groupRouterGroup.POST("/get_groups", group.GetGroups) //groupRouterGroup.POST("/get_group_all_member_list_by_split", group.GetGroupAllMemberListBySplit) } superGroupRouterGroup := r.Group("/super_group") diff --git a/internal/api/group/group.go b/internal/api/group/group.go index bdb4edc69..88a232ef9 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -1318,3 +1318,7 @@ func GetGroupAbstractInfo(c *gin.Context) { c.JSON(http.StatusOK, resp) return } + +func GetGroups(c *gin.Context) { + +} \ No newline at end of file diff --git a/internal/api/manage/management_user.go b/internal/api/manage/management_user.go index bbbfb2f2c..eb2f221dd 100644 --- a/internal/api/manage/management_user.go +++ b/internal/api/manage/management_user.go @@ -23,49 +23,6 @@ import ( "github.com/gin-gonic/gin" ) -func DeleteUser(c *gin.Context) { - params := api.DeleteUsersReq{} - if err := c.BindJSON(¶ms); err != nil { - c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) - return - } - req := &rpc.DeleteUsersReq{} - utils.CopyStructFields(req, ¶ms) - - var ok bool - var errInfo string - ok, req.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) - if !ok { - errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") - log.NewError(req.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - - log.NewInfo(params.OperationID, "DeleteUser args ", req.String()) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := rpc.NewUserClient(etcdConn) - - RpcResp, err := client.DeleteUsers(context.Background(), req) - if err != nil { - log.NewError(req.OperationID, "call delete users rpc server failed", err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call delete users rpc server failed"}) - return - } - resp := api.DeleteUsersResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}, FailedUserIDList: RpcResp.FailedUserIDList} - if len(RpcResp.FailedUserIDList) == 0 { - resp.FailedUserIDList = []string{} - } - log.NewInfo(req.OperationID, "DeleteUser api return", resp) - c.JSON(http.StatusOK, resp) -} - // @Summary 获取所有用户uid列表 // @Description 获取所有用户uid列表 // @Tags 用户相关 diff --git a/internal/api/user/user.go b/internal/api/user/user.go index f39419f28..410a9dd42 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -463,13 +463,11 @@ func GetUsers(c *gin.Context) { resp api.GetUsersResp reqPb rpc.GetUsersReq ) - if err := c.Bind(&req); err != nil { log.NewError(req.OperationID, "Bind failed ", err.Error(), req) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - var ok bool var errInfo string ok, _, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) @@ -479,9 +477,7 @@ func GetUsers(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) return } - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.OperationID = req.OperationID reqPb.UserID = req.UserID reqPb.UserName = req.UserName @@ -499,7 +495,6 @@ func GetUsers(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - utils.CopyStructFields(&resp.Data.UserList, respPb.UserList) resp.CommResp.ErrCode = respPb.CommonResp.ErrCode resp.CommResp.ErrMsg = respPb.CommonResp.ErrMsg diff --git a/internal/cms_api/group/group.go b/internal/cms_api/group/group.go index a3e58a645..3485fc3f4 100644 --- a/internal/cms_api/group/group.go +++ b/internal/cms_api/group/group.go @@ -141,47 +141,6 @@ func GetGroupByName(c *gin.Context) { openIMHttp.RespHttp200(c, constant.OK, resp) } -func CreateGroup(c *gin.Context) { - var ( - req cms_api_struct.CreateGroupRequest - _ cms_api_struct.CreateGroupResponse - reqPb pbGroup.CreateGroupReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupInfo = &commonPb.GroupInfo{} - reqPb.GroupInfo.GroupName = req.GroupName - reqPb.GroupInfo.CreatorUserID = req.GroupMasterId - reqPb.OwnerUserID = req.GroupMasterId - reqPb.OpUserID = req.GroupMasterId - for _, v := range req.GroupMembers { - reqPb.InitMemberList = append(reqPb.InitMemberList, &pbGroup.GroupAddMemberInfo{ - UserID: v, - RoleLevel: 1, - }) - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.CreateGroup(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "CreateGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - func GetGroupMembers(c *gin.Context) { var ( req cms_api_struct.GetGroupMembersRequest @@ -228,177 +187,3 @@ func GetGroupMembers(c *gin.Context) { log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) openIMHttp.RespHttp200(c, constant.OK, resp) } - -func AddGroupMembers(c *gin.Context) { - var ( - req cms_api_struct.RemoveGroupMembersRequest - resp cms_api_struct.RemoveGroupMembersResponse - reqPb pbGroup.AddGroupMembersCMSReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo("", utils.GetSelfFuncName(), "req: ", req) - reqPb.UserIDList = req.Members - reqPb.GroupID = req.GroupId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.AddGroupMembersCMS(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "AddGroupMembersCMS failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.Success = respPb.Success - resp.Failed = respPb.Failed - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func RemoveGroupMembers(c *gin.Context) { - var ( - req cms_api_struct.RemoveGroupMembersRequest - resp cms_api_struct.RemoveGroupMembersResponse - reqPb pbGroup.RemoveGroupMembersCMSReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserIDList = req.Members - reqPb.GroupID = req.GroupId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.RemoveGroupMembersCMS(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "RemoveGroupMembersCMS failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.Success = respPb.Success - resp.Failed = respPb.Failed - log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func SetGroupOwner(c *gin.Context) { - var ( - req cms_api_struct.SetGroupMasterRequest - _ cms_api_struct.SetGroupMasterResponse - reqPb pbGroup.OperateUserRoleReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupId - reqPb.UserID = req.UserId - reqPb.RoleLevel = constant.GroupOwner - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.OperateUserRole(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func SetGroupOrdinaryUsers(c *gin.Context) { - var ( - req cms_api_struct.SetGroupMemberRequest - _ cms_api_struct.AdminLoginResponse - reqPb pbGroup.OperateUserRoleReq - ) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupId - reqPb.UserID = req.UserId - reqPb.RoleLevel = constant.GroupOrdinaryUsers - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.OperateUserRole(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} - -func AlterGroupInfo(c *gin.Context) { - var ( - req cms_api_struct.AlterGroupInfoRequest - _ cms_api_struct.SetGroupMasterResponse - reqPb pbGroup.SetGroupInfoReq - ) - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - if err := c.BindJSON(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OpUserID = c.MustGet("userID").(string) - reqPb.GroupInfoForSet = &commonPb.GroupInfoForSet{ - GroupID: req.GroupID, - GroupName: req.GroupName, - Introduction: req.Introduction, - Notification: req.Notification, - FaceURL: req.ProfilePhoto, - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - _, err := client.SetGroupInfo(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "DeleteGroup failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - openIMHttp.RespHttp200(c, constant.OK, nil) -} diff --git a/internal/cms_api/organization/organization.go b/internal/cms_api/organization/organization.go deleted file mode 100644 index f775283ca..000000000 --- a/internal/cms_api/organization/organization.go +++ /dev/null @@ -1,49 +0,0 @@ -package organization - -import ( - "github.com/gin-gonic/gin" -) - -func GetStaffs(c *gin.Context) { - -} - -func GetOrganizations(c *gin.Context) { - -} - -func GetSquads(c *gin.Context) { - -} - -func AlterStaff(c *gin.Context) { - -} - -func AddOrganization(c *gin.Context) { - -} - -func InquireOrganization(g *gin.Context) { - -} - -func AlterOrganization(c *gin.Context) { - -} - -func DeleteOrganization(g *gin.Context) { - -} - -func GetOrganizationSquads(c *gin.Context) { - -} - -func AlterStaffsInfo(c *gin.Context) { - -} - -func AddChildOrganization(c *gin.Context) { - -} diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index 9a8cdfc0c..2987bd026 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -40,13 +40,13 @@ func NewGinRouter() *gin.Engine { groupRouterGroup.GET("/get_groups", group.GetGroups) groupRouterGroup.GET("/get_group_by_name", group.GetGroupByName) groupRouterGroup.GET("/get_group_members", group.GetGroupMembers) - groupRouterGroup.POST("/create_group", group.CreateGroup) - groupRouterGroup.POST("/add_members", group.AddGroupMembers) - groupRouterGroup.POST("/remove_members", group.RemoveGroupMembers) - groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) - groupRouterGroup.POST("/set_group_master", group.SetGroupOwner) - groupRouterGroup.POST("/set_group_ordinary_user", group.SetGroupOrdinaryUsers) - groupRouterGroup.POST("/alter_group_info", group.AlterGroupInfo) + // groupRouterGroup.POST("/create_group", group.CreateGroup) + // groupRouterGroup.POST("/add_members", group.AddGroupMembers) + // groupRouterGroup.POST("/remove_members", group.RemoveGroupMembers) + // groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) + // groupRouterGroup.POST("/set_group_master", group.SetGroupOwner) + // groupRouterGroup.POST("/set_group_ordinary_user", group.SetGroupOrdinaryUsers) + // groupRouterGroup.POST("/alter_group_info", group.AlterGroupInfo) } userRouterGroup := r2.Group("/user") { diff --git a/internal/cms_api/statistics/statistics.go b/internal/cms_api/statistics/statistics.go index 4afdf5673..99386fd3b 100644 --- a/internal/cms_api/statistics/statistics.go +++ b/internal/cms_api/statistics/statistics.go @@ -3,11 +3,9 @@ package statistics import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" - pb "Open_IM/pkg/proto/statistics" + admin "Open_IM/pkg/proto/admin_cms" "Open_IM/pkg/utils" "context" "net/http" @@ -20,12 +18,12 @@ func GetMessagesStatistics(c *gin.Context) { var ( req cms_api_struct.GetMessageStatisticsRequest resp cms_api_struct.GetMessageStatisticsResponse - reqPb pb.GetMessageStatisticsReq + reqPb admin.GetMessageStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.Bind(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -38,20 +36,20 @@ func GetMessagesStatistics(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) + client := admin.NewAdminCMSClient(etcdConn) respPb, err := client.GetMessageStatistics(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetMessageStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - // utils.CopyStructFields(&resp, respPb) + resp.GroupMessageNum = int(respPb.GroupMessageNum) resp.PrivateMessageNum = int(respPb.PrivateMessageNum) for _, v := range respPb.PrivateMessageNumList { resp.PrivateMessageNumList = append(resp.PrivateMessageNumList, struct { Date string "json:\"date\"" - MessageNum int "json:\"message_num\"" + MessageNum int "json:\"messageNum\"" }{ Date: v.Date, MessageNum: int(v.Num), @@ -60,26 +58,26 @@ func GetMessagesStatistics(c *gin.Context) { for _, v := range respPb.GroupMessageNumList { resp.GroupMessageNumList = append(resp.GroupMessageNumList, struct { Date string "json:\"date\"" - MessageNum int "json:\"message_num\"" + MessageNum int "json:\"messageNum\"" }{ Date: v.Date, MessageNum: int(v.Num), }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetUserStatistics(c *gin.Context) { var ( req cms_api_struct.GetUserStatisticsRequest resp cms_api_struct.GetUserStatisticsResponse - reqPb pb.GetUserStatisticsReq + reqPb admin.GetUserStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.Bind(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -92,21 +90,20 @@ func GetUserStatistics(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) + client := admin.NewAdminCMSClient(etcdConn) respPb, err := client.GetUserStatistics(context.Background(), &reqPb) if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserStatistics failed", err.Error(), reqPb.String()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - // utils.CopyStructFields(&resp, respPb) resp.ActiveUserNum = int(respPb.ActiveUserNum) resp.IncreaseUserNum = int(respPb.IncreaseUserNum) resp.TotalUserNum = int(respPb.TotalUserNum) for _, v := range respPb.ActiveUserNumList { resp.ActiveUserNumList = append(resp.ActiveUserNumList, struct { Date string "json:\"date\"" - ActiveUserNum int "json:\"active_user_num\"" + ActiveUserNum int "json:\"activeUserNum\"" }{ Date: v.Date, ActiveUserNum: int(v.Num), @@ -115,7 +112,7 @@ func GetUserStatistics(c *gin.Context) { for _, v := range respPb.IncreaseUserNumList { resp.IncreaseUserNumList = append(resp.IncreaseUserNumList, struct { Date string "json:\"date\"" - IncreaseUserNum int "json:\"increase_user_num\"" + IncreaseUserNum int "json:\"increaseUserNum\"" }{ Date: v.Date, IncreaseUserNum: int(v.Num), @@ -124,26 +121,26 @@ func GetUserStatistics(c *gin.Context) { for _, v := range respPb.TotalUserNumList { resp.TotalUserNumList = append(resp.TotalUserNumList, struct { Date string "json:\"date\"" - TotalUserNum int "json:\"total_user_num\"" + TotalUserNum int "json:\"totalUserNum\"" }{ Date: v.Date, TotalUserNum: int(v.Num), }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetGroupStatistics(c *gin.Context) { var ( req cms_api_struct.GetGroupStatisticsRequest resp cms_api_struct.GetGroupStatisticsResponse - reqPb pb.GetGroupStatisticsReq + reqPb admin.GetGroupStatisticsReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.Bind(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -156,11 +153,11 @@ func GetGroupStatistics(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) + client := admin.NewAdminCMSClient(etcdConn) respPb, err := client.GetGroupStatistics(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } // utils.CopyStructFields(&resp, respPb) @@ -170,7 +167,7 @@ func GetGroupStatistics(c *gin.Context) { resp.IncreaseGroupNumList = append(resp.IncreaseGroupNumList, struct { Date string "json:\"date\"" - IncreaseGroupNum int "json:\"increase_group_num\"" + IncreaseGroupNum int "json:\"increaseGroupNum\"" }{ Date: v.Date, IncreaseGroupNum: int(v.Num), @@ -180,7 +177,7 @@ func GetGroupStatistics(c *gin.Context) { resp.TotalGroupNumList = append(resp.TotalGroupNumList, struct { Date string "json:\"date\"" - TotalGroupNum int "json:\"total_group_num\"" + TotalGroupNum int "json:\"totalGroupNum\"" }{ Date: v.Date, TotalGroupNum: int(v.Num), @@ -188,19 +185,19 @@ func GetGroupStatistics(c *gin.Context) { } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetActiveUser(c *gin.Context) { var ( req cms_api_struct.GetActiveUserRequest resp cms_api_struct.GetActiveUserResponse - reqPb pb.GetActiveUserReq + reqPb admin.GetActiveUserReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.Bind(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -213,28 +210,28 @@ func GetActiveUser(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) + client := admin.NewAdminCMSClient(etcdConn) respPb, err := client.GetActiveUser(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveUser failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } utils.CopyStructFields(&resp.ActiveUserList, respPb.Users) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetActiveGroup(c *gin.Context) { var ( req cms_api_struct.GetActiveGroupRequest resp cms_api_struct.GetActiveGroupResponse - reqPb pb.GetActiveGroupReq + reqPb admin.GetActiveGroupReq ) - reqPb.StatisticsReq = &pb.StatisticsReq{} - if err := c.ShouldBindQuery(&req); err != nil { + reqPb.StatisticsReq = &admin.StatisticsReq{} + if err := c.Bind(&req); err != nil { log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -247,18 +244,18 @@ func GetActiveGroup(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } - client := pb.NewUserClient(etcdConn) + client := admin.NewAdminCMSClient(etcdConn) respPb, err := client.GetActiveGroup(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveGroup failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, group := range respPb.Groups { resp.ActiveGroupList = append(resp.ActiveGroupList, struct { - GroupName string "json:\"group_name\"" - GroupId string "json:\"group_id\"" - MessageNum int "json:\"message_num\"" + GroupName string "json:\"groupName\"" + GroupId string "json:\"groupID\"" + MessageNum int "json:\"messageNum\"" }{ GroupName: group.GroupName, GroupId: group.GroupId, @@ -266,5 +263,5 @@ func GetActiveGroup(c *gin.Context) { }) } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index 73ed0edd5..97dbc66a9 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -54,7 +54,6 @@ func BlockUser(c *gin.Context) { reqPb pb.BlockUserReq ) if err := c.BindJSON(&req); err != nil { - fmt.Println(err) log.NewError("0", "BindJSON failed ", err.Error()) openIMHttp.RespHttp200(c, constant.ErrArgs, resp) return diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 34871c135..554259595 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -140,12 +140,12 @@ func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, re } } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) - return resp, nil + return resp, nil } func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.GetUserRegisterAddFriendIDListReq) (*pbAdminCMS.GetUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{UserInfoList: []*server_api_params.UserInfo{}} + resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{} userIDList, err := imdb.GetRegisterAddFriendList(req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) @@ -230,11 +230,11 @@ func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatL continue } pbChatLog.RecvID = group.GroupID - pbChatLog.gr = group.GroupName + pbChatLog.GroupName = group.GroupName } resp.ChatLogs = append(resp.ChatLogs, pbChatLog) } - resp.Pagination = &open_im_sdk.ResponsePagination{ + resp.Pagination = &server_api_params.ResponsePagination{ CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber, } @@ -249,13 +249,13 @@ func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetAc fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) + return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } for _, activeGroup := range activeGroups { resp.Groups = append(resp.Groups, @@ -275,13 +275,13 @@ func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetAct fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } for _, activeUser := range activeUsers { resp.Users = append(resp.Users, @@ -388,17 +388,17 @@ func (s *adminCMSServer) GetGroupStatistics(_ context.Context, req *pbAdminCMS.G fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) + return resp, nil } increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } totalGroupNum, err := imdb.GetTotalGroupNum() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } resp.IncreaseGroupNum = increaseGroupNum resp.TotalGroupNum = totalGroupNum @@ -441,17 +441,17 @@ func (s *adminCMSServer) GetMessageStatistics(_ context.Context, req *pbAdminCMS log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) + return resp, nil } privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) resp.PrivateMessageNum = privateMessageNum @@ -493,22 +493,22 @@ func (s *adminCMSServer) GetUserStatistics(_ context.Context, req *pbAdminCMS.Ge fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) + return resp, nil } activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } totalUserNum, err := imdb.GetTotalUserNum() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + return resp, nil } resp.ActiveUserNum = activeUserNum resp.TotalUserNum = totalUserNum diff --git a/pkg/cms_api_struct/admin.go b/pkg/cms_api_struct/admin.go index 81048719b..bdd375d1a 100644 --- a/pkg/cms_api_struct/admin.go +++ b/pkg/cms_api_struct/admin.go @@ -1,10 +1,14 @@ package cms_api_struct -import server_api_params "Open_IM/pkg/proto/sdk_ws" +import ( + "Open_IM/pkg/base_info" + server_api_params "Open_IM/pkg/proto/sdk_ws" +) type AdminLoginRequest struct { - AdminName string `json:"admin_name" binding:"required"` - Secret string `json:"secret" binding:"required"` + AdminName string `json:"adminName" binding:"required"` + Secret string `json:"secret" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type AdminLoginResponse struct { @@ -30,10 +34,10 @@ type ReduceUserRegisterAddFriendIDListResponse struct { type GetUserRegisterAddFriendIDListRequest struct { OperationID string `json:"operationID" binding:"required"` - RequestPaginationBody + base_info.RequestPagination } type GetUserRegisterAddFriendIDListResponse struct { Users []*server_api_params.UserInfo `json:"users"` - ResponsePagination + base_info.ResponsePagination } diff --git a/pkg/cms_api_struct/message_cms.go b/pkg/cms_api_struct/message_cms.go index 81778a8c8..891e24772 100644 --- a/pkg/cms_api_struct/message_cms.go +++ b/pkg/cms_api_struct/message_cms.go @@ -16,7 +16,7 @@ type GetChatLogsReq struct { } type GetChatLogsResp struct { - ChatLogs []*pbCommon.MsgData `json:"chat_logs"` - ChatLogsNum int `json:"log_nums"` + ChatLogs []*pbCommon.MsgData `json:"chatLogs"` + ChatLogsNum int `json:"logNums"` ResponsePagination } diff --git a/pkg/cms_api_struct/organization.go b/pkg/cms_api_struct/organization.go deleted file mode 100644 index 825d41aa1..000000000 --- a/pkg/cms_api_struct/organization.go +++ /dev/null @@ -1,25 +0,0 @@ -package cms_api_struct - -type GetStaffsResponse struct { - StaffsList []struct { - ProfilePhoto string `json:"profile_photo"` - NickName string `json:"nick_name"` - StaffId int `json:"staff_id"` - Position string `json:"position"` - EntryTime string `json:"entry_time"` - } `json:"staffs_list"` -} - -type GetOrganizationsResponse struct { - OrganizationList []struct { - OrganizationId int `json:"organization_id"` - OrganizationName string `json:"organization_name"` - } `json:"organization_list"` -} - -type SquadResponse struct { - SquadList []struct { - SquadId int `json:"squad_id"` - SquadName string `json:"squad_name"` - } `json:"squad_list"` -} diff --git a/pkg/cms_api_struct/statistics.go b/pkg/cms_api_struct/statistics.go index 2ff1efffa..0fd0eb76b 100644 --- a/pkg/cms_api_struct/statistics.go +++ b/pkg/cms_api_struct/statistics.go @@ -1,8 +1,9 @@ package cms_api_struct type GetStatisticsRequest struct { - From string `form:"from" binding:"required"` - To string `form:"to" binding:"required"` + From string `json:"from" binding:"required"` + To string `json:"to" binding:"required"` + OperationID string `json:"operationID" binding:"required"` } type GetMessageStatisticsRequest struct { @@ -10,16 +11,16 @@ type GetMessageStatisticsRequest struct { } type GetMessageStatisticsResponse struct { - PrivateMessageNum int `json:"private_message_num"` - GroupMessageNum int `json:"group_message_num"` + PrivateMessageNum int `json:"privateMessageNum"` + GroupMessageNum int `json:"groupMessageNum"` PrivateMessageNumList []struct { Date string `json:"date"` - MessageNum int `json:"message_num"` - } `json:"private_message_num_list"` + MessageNum int `json:"messageNum"` + } `json:"privateMessageNumList"` GroupMessageNumList []struct { Date string `json:"date"` - MessageNum int `json:"message_num"` - } `json:"group_message_num_list"` + MessageNum int `json:"messageNum"` + } `json:"groupMessageNumList"` } type GetUserStatisticsRequest struct { @@ -27,21 +28,21 @@ type GetUserStatisticsRequest struct { } type GetUserStatisticsResponse struct { - IncreaseUserNum int `json:"increase_user_num"` - ActiveUserNum int `json:"active_user_num"` - TotalUserNum int `json:"total_user_num"` + IncreaseUserNum int `json:"increaseUserNum"` + ActiveUserNum int `json:"activeUserNum"` + TotalUserNum int `json:"totalUserNum"` IncreaseUserNumList []struct { Date string `json:"date"` - IncreaseUserNum int `json:"increase_user_num"` - } `json:"increase_user_num_list"` + IncreaseUserNum int `json:"increaseUserNum"` + } `json:"increaseUserNumList"` ActiveUserNumList []struct { Date string `json:"date"` - ActiveUserNum int `json:"active_user_num"` - } `json:"active_user_num_list"` + ActiveUserNum int `json:"activeUserNum"` + } `json:"activeUserNumList"` TotalUserNumList []struct { Date string `json:"date"` - TotalUserNum int `json:"total_user_num"` - } `json:"total_user_num_list"` + TotalUserNum int `json:"totalUserNum"` + } `json:"totalUserNumList"` } type GetGroupStatisticsRequest struct { @@ -50,16 +51,16 @@ type GetGroupStatisticsRequest struct { // 群聊统计 type GetGroupStatisticsResponse struct { - IncreaseGroupNum int `json:"increase_group_num"` - TotalGroupNum int `json:"total_group_num"` + IncreaseGroupNum int `json:"increaseGroupNum"` + TotalGroupNum int `json:"totalGroupNum"` IncreaseGroupNumList []struct { Date string `json:"date"` - IncreaseGroupNum int `json:"increase_group_num"` - } `json:"increase_group_num_list"` + IncreaseGroupNum int `json:"increaseGroupNum"` + } `json:"increaseGroupNumList"` TotalGroupNumList []struct { Date string `json:"date"` - TotalGroupNum int `json:"total_group_num"` - } `json:"total_group_num_list"` + TotalGroupNum int `json:"totalGroupNum"` + } `json:"totalGroupNumList"` } type GetActiveUserRequest struct { @@ -69,10 +70,10 @@ type GetActiveUserRequest struct { type GetActiveUserResponse struct { ActiveUserList []struct { - NickName string `json:"nick_name"` - UserId string `json:"user_id"` - MessageNum int `json:"message_num"` - } `json:"active_user_list"` + NickName string `json:"nickName"` + UserId string `json:"userID"` + MessageNum int `json:"messageNum"` + } `json:"activeUserList"` } type GetActiveGroupRequest struct { @@ -82,8 +83,8 @@ type GetActiveGroupRequest struct { type GetActiveGroupResponse struct { ActiveGroupList []struct { - GroupName string `json:"group_name"` - GroupId string `json:"group_id"` - MessageNum int `json:"message_num"` - } `json:"active_group_list"` + GroupName string `json:"groupName"` + GroupId string `json:"groupID"` + MessageNum int `json:"messageNum"` + } `json:"activeGroupList"` } diff --git a/pkg/common/log/logrus.go b/pkg/common/log/logrus.go index b1f26855a..a10669452 100644 --- a/pkg/common/log/logrus.go +++ b/pkg/common/log/logrus.go @@ -2,7 +2,6 @@ package log import ( "Open_IM/pkg/common/config" - "bufio" //"bufio" "fmt" @@ -35,13 +34,13 @@ func loggerInit(moduleName string) *Logger { //All logs will be printed logger.SetLevel(logrus.Level(config.Config.Log.RemainLogLevel)) //Close std console output - src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) - if err != nil { - panic(err.Error()) - } - writer := bufio.NewWriter(src) - logger.SetOutput(writer) - //logger.SetOutput(os.Stdout) + // src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) + // if err != nil { + // panic(err.Error()) + // } + // writer := bufio.NewWriter(src) + // logger.SetOutput(writer) + logger.SetOutput(os.Stdout) //Log Console Print Style Setting logger.SetFormatter(&nested.Formatter{ TimestampFormat: "2006-01-02 15:04:05.000", diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 0ab31b3d1..00fc7fe42 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{0} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{1} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -136,7 +136,7 @@ func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{2} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{3} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -227,7 +227,7 @@ func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegis func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{4} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -267,7 +267,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{5} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -319,7 +319,7 @@ func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUse func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{6} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -358,7 +358,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{7} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -405,7 +405,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{8} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -464,7 +464,7 @@ func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{9} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{9} } func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) @@ -548,14 +548,15 @@ type ChatLog struct { SenderPlatformID int32 `protobuf:"varint,5,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"` SenderNickname string `protobuf:"bytes,6,opt,name=SenderNickname" json:"SenderNickname,omitempty"` SenderFaceURL string `protobuf:"bytes,7,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"` - SessionType int32 `protobuf:"varint,8,opt,name=SessionType" json:"SessionType,omitempty"` - MsgFrom int32 `protobuf:"varint,9,opt,name=MsgFrom" json:"MsgFrom,omitempty"` - ContentType int32 `protobuf:"varint,10,opt,name=ContentType" json:"ContentType,omitempty"` - Content string `protobuf:"bytes,11,opt,name=Content" json:"Content,omitempty"` - Status int32 `protobuf:"varint,12,opt,name=Status" json:"Status,omitempty"` - SendTime int64 `protobuf:"varint,13,opt,name=SendTime" json:"SendTime,omitempty"` - CreateTime int64 `protobuf:"varint,14,opt,name=CreateTime" json:"CreateTime,omitempty"` - Ex string `protobuf:"bytes,15,opt,name=Ex" json:"Ex,omitempty"` + GroupName string `protobuf:"bytes,8,opt,name=GroupName" json:"GroupName,omitempty"` + SessionType int32 `protobuf:"varint,9,opt,name=SessionType" json:"SessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,10,opt,name=MsgFrom" json:"MsgFrom,omitempty"` + ContentType int32 `protobuf:"varint,11,opt,name=ContentType" json:"ContentType,omitempty"` + Content string `protobuf:"bytes,12,opt,name=Content" json:"Content,omitempty"` + Status int32 `protobuf:"varint,13,opt,name=Status" json:"Status,omitempty"` + SendTime int64 `protobuf:"varint,14,opt,name=SendTime" json:"SendTime,omitempty"` + CreateTime int64 `protobuf:"varint,15,opt,name=CreateTime" json:"CreateTime,omitempty"` + Ex string `protobuf:"bytes,16,opt,name=Ex" json:"Ex,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -565,7 +566,7 @@ func (m *ChatLog) Reset() { *m = ChatLog{} } func (m *ChatLog) String() string { return proto.CompactTextString(m) } func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{10} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{10} } func (m *ChatLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChatLog.Unmarshal(m, b) @@ -634,6 +635,13 @@ func (m *ChatLog) GetSenderFaceURL() string { return "" } +func (m *ChatLog) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + func (m *ChatLog) GetSessionType() int32 { if m != nil { return m.SessionType @@ -704,7 +712,7 @@ func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{11} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{11} } func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) @@ -764,7 +772,7 @@ func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{12} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{12} } func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) @@ -810,7 +818,7 @@ func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{13} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{13} } func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) @@ -857,7 +865,7 @@ func (m *UserResp) Reset() { *m = UserResp{} } func (m *UserResp) String() string { return proto.CompactTextString(m) } func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{14} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{14} } func (m *UserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserResp.Unmarshal(m, b) @@ -910,7 +918,7 @@ func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{15} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{15} } func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) @@ -956,7 +964,7 @@ func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{16} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{16} } func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) @@ -1004,7 +1012,7 @@ func (m *GroupResp) Reset() { *m = GroupResp{} } func (m *GroupResp) String() string { return proto.CompactTextString(m) } func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{17} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{17} } func (m *GroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupResp.Unmarshal(m, b) @@ -1064,7 +1072,7 @@ func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{18} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{18} } func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) @@ -1110,7 +1118,7 @@ func (m *DateNumList) Reset() { *m = DateNumList{} } func (m *DateNumList) String() string { return proto.CompactTextString(m) } func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{19} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{19} } func (m *DateNumList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DateNumList.Unmarshal(m, b) @@ -1156,7 +1164,7 @@ func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{20} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{20} } func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) @@ -1205,7 +1213,7 @@ func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsRe func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{21} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{21} } func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) @@ -1272,7 +1280,7 @@ func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{22} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{22} } func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) @@ -1321,7 +1329,7 @@ func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{23} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{23} } func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) @@ -1388,7 +1396,7 @@ func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{24} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{24} } func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) @@ -1439,7 +1447,7 @@ func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_1a9119d2c1ff8ffc, []int{25} + return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{25} } func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) @@ -1907,97 +1915,98 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_1a9119d2c1ff8ffc) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_a6bac7cb5a282446) } -var fileDescriptor_admin_cms_1a9119d2c1ff8ffc = []byte{ - // 1408 bytes of a gzipped FileDescriptorProto +var fileDescriptor_admin_cms_a6bac7cb5a282446 = []byte{ + // 1416 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0xdb, 0xc6, - 0x13, 0x07, 0x25, 0xcb, 0x92, 0x46, 0xb1, 0x63, 0x6f, 0xec, 0x84, 0x51, 0xf2, 0xcf, 0x5f, 0x66, + 0x13, 0x07, 0x25, 0xcb, 0xb2, 0x46, 0xb1, 0x63, 0x6f, 0xec, 0x84, 0x51, 0xf2, 0xcf, 0x5f, 0x66, 0x93, 0x42, 0x2d, 0x52, 0xa9, 0x70, 0xd0, 0x53, 0x81, 0x14, 0x8e, 0x94, 0xa8, 0x0a, 0xac, 0xc4, - 0x60, 0x92, 0x02, 0x6d, 0xd1, 0x08, 0xac, 0xb4, 0x51, 0x09, 0x47, 0xe4, 0x9a, 0xbb, 0x72, 0x1c, - 0x14, 0xbd, 0xe6, 0xd2, 0x7b, 0x0f, 0x3d, 0xf6, 0x15, 0xfa, 0x04, 0x3d, 0xf6, 0x29, 0x8a, 0xa2, - 0x2f, 0x52, 0xec, 0x2e, 0x3f, 0x76, 0x49, 0x5a, 0x92, 0x1d, 0xd4, 0x37, 0xce, 0xec, 0x7c, 0xec, - 0xfc, 0x7e, 0x33, 0xcb, 0x25, 0xe1, 0xba, 0x33, 0x9e, 0xba, 0xde, 0x70, 0x34, 0xa5, 0xed, 0xf8, - 0xa9, 0x45, 0x02, 0x9f, 0xf9, 0xa8, 0x1a, 0x2b, 0xea, 0x3b, 0x4f, 0x09, 0xf6, 0x86, 0xfd, 0x41, - 0x9b, 0x1c, 0x4e, 0xda, 0x62, 0xb5, 0x4d, 0xc7, 0x87, 0xc3, 0x37, 0xb4, 0xfd, 0x26, 0xb4, 0xb6, - 0xee, 0x03, 0x74, 0xfc, 0xe9, 0xd4, 0xf7, 0x6c, 0x4c, 0x09, 0x32, 0xa1, 0x8c, 0x83, 0xa0, 0xe3, - 0x8f, 0xb1, 0x69, 0x34, 0x8c, 0x66, 0xc9, 0x8e, 0x44, 0x74, 0x15, 0x56, 0x71, 0x10, 0x0c, 0xe8, - 0xc4, 0x2c, 0x34, 0x8c, 0x66, 0xd5, 0x0e, 0x25, 0x6b, 0x04, 0x6b, 0x7b, 0x3c, 0xdf, 0xbe, 0x3f, - 0x71, 0x3d, 0x1b, 0x1f, 0xa1, 0x06, 0xd4, 0x9e, 0x12, 0x1c, 0x38, 0xcc, 0xf5, 0xbd, 0x7e, 0x57, - 0x84, 0xa9, 0xda, 0xaa, 0x8a, 0x27, 0x11, 0x2e, 0xfd, 0x6e, 0x18, 0x2b, 0x12, 0x79, 0x92, 0x67, - 0x78, 0x14, 0x60, 0x66, 0x16, 0x65, 0x12, 0x29, 0x59, 0xdf, 0xc1, 0xba, 0x9a, 0x84, 0x12, 0xb4, - 0x05, 0x25, 0xe6, 0x1f, 0x62, 0x2f, 0x8c, 0x2f, 0x05, 0xf4, 0x19, 0xc0, 0x28, 0x2e, 0x46, 0x04, - 0xaf, 0xed, 0x6e, 0xb7, 0x12, 0x80, 0x92, 0x4a, 0x6d, 0xc5, 0xd0, 0xc2, 0xb0, 0xb3, 0x37, 0x1e, - 0xbf, 0xa0, 0x38, 0xb0, 0xf1, 0xc4, 0xa5, 0x0c, 0x07, 0x7b, 0xe3, 0xf1, 0xa3, 0xc0, 0xc5, 0xde, - 0xb8, 0xdf, 0xdd, 0x77, 0x29, 0x0b, 0xeb, 0xf2, 0xb3, 0x75, 0x29, 0x2a, 0x74, 0x0b, 0x60, 0x46, - 0x71, 0x20, 0x5d, 0xcc, 0x42, 0xa3, 0xd8, 0xac, 0xda, 0x8a, 0xc6, 0xfa, 0x16, 0xac, 0x45, 0x69, - 0x28, 0x49, 0xd5, 0x60, 0x2c, 0x5b, 0xc3, 0x3b, 0x03, 0x6e, 0xdb, 0x78, 0x3c, 0x1b, 0xe1, 0xf7, - 0xae, 0xe3, 0x26, 0x54, 0x63, 0x51, 0x80, 0x58, 0xb2, 0x13, 0x45, 0xaa, 0xca, 0x62, 0xa6, 0xca, - 0x97, 0x70, 0x67, 0x89, 0x7d, 0x9c, 0xbf, 0xd0, 0x9f, 0x0d, 0xd8, 0xe9, 0x61, 0xf6, 0xde, 0x55, - 0x76, 0x01, 0x88, 0x33, 0x71, 0xbd, 0xa4, 0xcc, 0xda, 0xee, 0xed, 0x16, 0xc5, 0xc1, 0x31, 0x0e, - 0x86, 0x0e, 0x71, 0x87, 0xc4, 0x09, 0x9c, 0x29, 0x6d, 0xd9, 0xf8, 0x68, 0x86, 0x29, 0x3b, 0x88, - 0x6d, 0x6d, 0xc5, 0xcf, 0xfa, 0xc7, 0x00, 0x6b, 0xd1, 0x6e, 0x28, 0x41, 0x5f, 0xc0, 0x25, 0x01, - 0x91, 0xf7, 0xca, 0x17, 0xb0, 0x19, 0x8d, 0x62, 0xb3, 0xb6, 0x7b, 0x23, 0x27, 0xdd, 0x8b, 0xd0, - 0xcc, 0xd6, 0x1c, 0xd0, 0xc3, 0x9c, 0xdd, 0xde, 0xc9, 0xdd, 0x2d, 0x25, 0xbe, 0x47, 0x71, 0xfe, - 0x76, 0x53, 0x98, 0x17, 0x97, 0xc5, 0xfc, 0xb7, 0x02, 0xac, 0xf7, 0x30, 0xeb, 0xfc, 0xe0, 0xb0, - 0x7d, 0x7f, 0x42, 0x39, 0xc0, 0x26, 0x94, 0x3b, 0xbe, 0xc7, 0xb0, 0xc7, 0x42, 0x70, 0x23, 0x51, - 0x0e, 0x31, 0xaf, 0x3e, 0x3a, 0x29, 0xa4, 0xc4, 0xf5, 0x36, 0x1e, 0x1d, 0xf7, 0xbb, 0xd1, 0x70, - 0x4b, 0x09, 0xd5, 0xa1, 0xc2, 0x2d, 0x9e, 0xbb, 0x53, 0x6c, 0xae, 0x88, 0x95, 0x58, 0xe6, 0x34, - 0x3e, 0xc3, 0x94, 0xba, 0xbe, 0xf7, 0xfc, 0x2d, 0xc1, 0x66, 0x49, 0x34, 0xa3, 0xaa, 0xe2, 0x16, - 0x61, 0x62, 0x61, 0xb1, 0x2a, 0x2d, 0x14, 0x15, 0x27, 0x3a, 0x41, 0xc3, 0x2c, 0x9f, 0x85, 0xe8, - 0xe4, 0x39, 0x7d, 0xac, 0x55, 0x32, 0xc7, 0x9a, 0xf5, 0x57, 0x11, 0xca, 0x21, 0x42, 0x72, 0xdf, - 0x3c, 0xc1, 0x80, 0x4e, 0x92, 0xf6, 0x53, 0x54, 0xe8, 0x2e, 0x6c, 0x52, 0x16, 0xb8, 0xde, 0xa4, - 0xf3, 0xda, 0xc5, 0x1e, 0x93, 0x76, 0x12, 0xb0, 0xec, 0x82, 0x82, 0x69, 0xf1, 0x14, 0x4c, 0x57, - 0x34, 0x4c, 0x3f, 0x86, 0x0d, 0x6e, 0x81, 0x83, 0x83, 0xd7, 0x0e, 0x7b, 0xe5, 0x07, 0xd3, 0x7e, - 0x37, 0x04, 0x2f, 0xa3, 0x47, 0x1f, 0xc2, 0xba, 0xd4, 0x3d, 0x71, 0x47, 0x87, 0x9e, 0x33, 0x95, - 0x20, 0x56, 0xed, 0x94, 0x16, 0xdd, 0x86, 0x35, 0xa9, 0x79, 0xe4, 0x8c, 0xf0, 0x0b, 0x7b, 0x5f, - 0x40, 0x59, 0xb5, 0x75, 0x65, 0x9a, 0xb1, 0x4a, 0x96, 0x31, 0x13, 0xca, 0x03, 0x3a, 0x79, 0x14, - 0xf8, 0x53, 0xb3, 0x2a, 0xdf, 0x31, 0xa1, 0x98, 0xe6, 0x12, 0xb2, 0x5c, 0x2a, 0x5d, 0x57, 0xcb, - 0x76, 0x1d, 0x73, 0xd8, 0x8c, 0x9a, 0x97, 0x84, 0x5b, 0x28, 0x69, 0xdd, 0xb5, 0xd6, 0x30, 0x9a, - 0x45, 0xa5, 0xbb, 0x6e, 0x01, 0x74, 0x02, 0xec, 0x30, 0x2c, 0x56, 0xd7, 0xc5, 0xaa, 0xa2, 0x41, - 0xeb, 0x50, 0x78, 0x78, 0x62, 0x5e, 0x16, 0x89, 0x0a, 0x0f, 0x4f, 0xac, 0xbf, 0x0d, 0xb8, 0xac, - 0x8d, 0x01, 0x25, 0xa8, 0x05, 0x95, 0x48, 0x0e, 0xa7, 0x1a, 0xa9, 0xf3, 0x24, 0x97, 0xec, 0xd8, - 0x86, 0x0f, 0xf2, 0xc1, 0x79, 0x07, 0x59, 0x6f, 0xc7, 0x28, 0xe4, 0x93, 0xd9, 0x54, 0x74, 0x05, - 0x87, 0x2a, 0x51, 0xf1, 0x51, 0x4f, 0xa6, 0x59, 0xb4, 0xc7, 0xe9, 0xa3, 0x9e, 0x3c, 0x5b, 0xf7, - 0x60, 0x8d, 0x23, 0xe7, 0x52, 0xe6, 0x8e, 0xc4, 0xa0, 0x23, 0x58, 0x79, 0xc5, 0xb9, 0x92, 0x3d, - 0x2c, 0x9e, 0x39, 0x30, 0xcc, 0x0f, 0xbb, 0xb5, 0xc0, 0x7c, 0x8b, 0xc1, 0x46, 0x0f, 0xb3, 0xbd, - 0x11, 0x73, 0x8f, 0xc3, 0x63, 0xff, 0x08, 0xdd, 0x4f, 0x05, 0x0a, 0x4f, 0x78, 0x53, 0xd9, 0x82, - 0xb6, 0x6e, 0xa7, 0xf2, 0xa6, 0x06, 0xae, 0x90, 0x1d, 0xb8, 0x97, 0x50, 0x91, 0xc9, 0x28, 0xe1, - 0x34, 0xf3, 0x46, 0x7d, 0xc2, 0xdb, 0x57, 0xee, 0x34, 0x96, 0x79, 0x6b, 0x88, 0x53, 0x75, 0x1c, - 0x1d, 0x48, 0x52, 0xe2, 0xf4, 0x0f, 0x30, 0xa5, 0xce, 0x04, 0x27, 0x10, 0x2a, 0x1a, 0x6b, 0x06, - 0x9b, 0xa9, 0xaa, 0x28, 0x41, 0x1f, 0x41, 0x89, 0x3f, 0x47, 0x64, 0x5f, 0x51, 0xca, 0x89, 0x6c, - 0x6c, 0x69, 0x91, 0x62, 0xa0, 0xb0, 0x2c, 0x03, 0x6a, 0xda, 0x5e, 0xe0, 0xcf, 0xc8, 0xc5, 0xa0, - 0xf9, 0xab, 0x01, 0xd5, 0x30, 0x1d, 0x25, 0xfc, 0x0e, 0x20, 0x04, 0x05, 0xd0, 0x44, 0xc1, 0xc7, - 0x50, 0x08, 0x31, 0xa4, 0x91, 0xb8, 0x08, 0xd3, 0xf3, 0x76, 0xe5, 0x5b, 0x40, 0x69, 0x4c, 0x28, - 0x41, 0x77, 0x61, 0x55, 0x08, 0x11, 0x19, 0x5b, 0x4a, 0xa0, 0xd8, 0xca, 0x0e, 0x6d, 0xce, 0x4b, - 0xc7, 0x3d, 0xa8, 0x75, 0x1d, 0xc6, 0x37, 0x2f, 0x5e, 0xc4, 0x08, 0x56, 0xb8, 0x18, 0x8d, 0x03, - 0x7f, 0x46, 0x1b, 0x50, 0xe4, 0xd5, 0xca, 0xab, 0x12, 0x7f, 0xb4, 0x7e, 0x84, 0x6b, 0x3d, 0xcc, - 0xc2, 0xba, 0x75, 0x26, 0xfe, 0x7b, 0x26, 0xff, 0x28, 0x80, 0x99, 0x9f, 0x5d, 0x60, 0xb6, 0x79, - 0x10, 0xb8, 0xc7, 0x0e, 0xc3, 0x0a, 0x4f, 0xf2, 0xae, 0x9f, 0x5d, 0x40, 0x4d, 0xb8, 0x2c, 0xd0, - 0x53, 0x6c, 0x65, 0x95, 0x69, 0x35, 0xda, 0x87, 0xed, 0x8c, 0x7b, 0x7c, 0x43, 0xac, 0xed, 0x5e, - 0x55, 0xca, 0x53, 0xe0, 0xb4, 0xf3, 0x9d, 0xd0, 0x97, 0x70, 0x25, 0x95, 0x40, 0xc4, 0x5a, 0x99, - 0x1b, 0x2b, 0xcf, 0x25, 0xc5, 0x7a, 0x69, 0xf9, 0x86, 0xdb, 0xee, 0x61, 0x26, 0x02, 0x5e, 0x34, - 0x7d, 0xbf, 0x17, 0xe0, 0x6a, 0x5e, 0x6e, 0x4a, 0xf8, 0x6b, 0xbd, 0xef, 0x8d, 0x02, 0xec, 0x50, - 0x39, 0x05, 0x09, 0x77, 0x19, 0x3d, 0x7f, 0x5d, 0x3f, 0xf7, 0x99, 0xf3, 0x3a, 0x36, 0x94, 0xc4, - 0xe9, 0x4a, 0xf4, 0x18, 0xb6, 0xd2, 0x9e, 0x4b, 0xb0, 0x96, 0xeb, 0x83, 0xba, 0xb0, 0xa9, 0x05, - 0x5f, 0x82, 0xb2, 0xac, 0xc3, 0x79, 0x09, 0x3b, 0x81, 0xad, 0xf0, 0x1e, 0x7e, 0xd1, 0x7c, 0xfd, - 0x52, 0x14, 0xbd, 0x92, 0x4e, 0x4d, 0x09, 0x9f, 0x9e, 0x08, 0x28, 0xbe, 0x9a, 0xb0, 0x95, 0x56, - 0x73, 0xb2, 0x92, 0xf7, 0x8c, 0x42, 0x96, 0xa6, 0x44, 0x16, 0x5c, 0x12, 0x78, 0x45, 0x46, 0xf2, - 0x78, 0xd5, 0x74, 0x7c, 0x72, 0x52, 0xc1, 0x97, 0x99, 0x9c, 0x1c, 0x17, 0x4e, 0xa7, 0x96, 0x5e, - 0xc4, 0x29, 0xcd, 0xa7, 0x33, 0xe3, 0x80, 0x1e, 0xc0, 0x86, 0xba, 0x3f, 0x11, 0x64, 0x75, 0x6e, - 0x90, 0x8c, 0x7d, 0xaa, 0x25, 0xca, 0x4b, 0xb6, 0xc4, 0xee, 0x9f, 0x65, 0xa8, 0x08, 0xa3, 0xce, - 0xe0, 0x19, 0xda, 0x03, 0x48, 0x7e, 0x21, 0x20, 0x95, 0x7e, 0xed, 0xf7, 0x45, 0xfd, 0xfa, 0x29, - 0x2b, 0x94, 0xa0, 0x9f, 0xe0, 0xd6, 0xfc, 0xef, 0x77, 0x74, 0x57, 0x73, 0x5e, 0xf0, 0x47, 0xa1, - 0xfe, 0xc9, 0x19, 0xac, 0x29, 0x41, 0xef, 0x0c, 0xd8, 0x59, 0xf8, 0x65, 0x8d, 0xda, 0x4a, 0xd0, - 0x65, 0xfe, 0x07, 0xd4, 0x3f, 0x3d, 0x9b, 0x83, 0xc4, 0x61, 0xfe, 0x27, 0xaf, 0x86, 0xc3, 0xc2, - 0x6f, 0x75, 0x0d, 0x87, 0x25, 0xbe, 0xa5, 0xbb, 0x50, 0x53, 0x2e, 0xe1, 0xe8, 0xba, 0xee, 0xad, - 0x7c, 0xa3, 0xd6, 0xeb, 0xa7, 0x2d, 0x51, 0x82, 0x1e, 0xc3, 0x9a, 0x76, 0xb9, 0x43, 0x37, 0x74, - 0x63, 0xed, 0x32, 0x5b, 0xbf, 0x79, 0xfa, 0x22, 0x25, 0x68, 0x20, 0xbe, 0x8e, 0x95, 0xdb, 0x09, - 0xca, 0xb5, 0x8f, 0x2e, 0x73, 0xf5, 0xff, 0xcd, 0x59, 0xa5, 0x04, 0x0d, 0xc5, 0x51, 0x96, 0x79, - 0x7d, 0x23, 0x4b, 0x77, 0xcb, 0xbb, 0x5d, 0xd4, 0x3f, 0x58, 0x68, 0x43, 0x09, 0xfa, 0x5a, 0xdc, - 0xa6, 0x52, 0x2f, 0x18, 0xd4, 0xd0, 0x5d, 0xb3, 0xef, 0xbe, 0xfa, 0xce, 0x02, 0x0b, 0x4a, 0xd0, - 0x57, 0xe2, 0xf2, 0xaa, 0x9f, 0x85, 0xe8, 0xff, 0x59, 0x82, 0xf5, 0xc0, 0x8d, 0xf9, 0x06, 0x94, - 0x3c, 0xb8, 0xf6, 0xcd, 0x76, 0x2b, 0xf9, 0xd3, 0xf9, 0x79, 0xfc, 0xf4, 0xfd, 0xaa, 0xf8, 0x8d, - 0x79, 0xef, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x6a, 0x73, 0x53, 0x11, 0x15, 0x00, 0x00, + 0x60, 0x92, 0x02, 0x6d, 0xd1, 0x08, 0xac, 0xb4, 0x56, 0x09, 0x5b, 0xe4, 0x9a, 0xbb, 0x72, 0x1c, + 0x14, 0xbd, 0xe6, 0xd2, 0x7b, 0x0f, 0x3d, 0xf6, 0x15, 0xfa, 0x04, 0x3d, 0xf6, 0x31, 0x8a, 0x3e, + 0x47, 0x81, 0x62, 0x77, 0xf9, 0xb1, 0x4b, 0xd2, 0x92, 0xec, 0xa0, 0xbe, 0x71, 0x66, 0xe7, 0x63, + 0xe7, 0xf7, 0x9b, 0x59, 0x2e, 0x09, 0x37, 0x9d, 0xd1, 0xc4, 0xf5, 0x06, 0xc3, 0x09, 0x6d, 0xc5, + 0x4f, 0x4d, 0x12, 0xf8, 0xcc, 0x47, 0x95, 0x58, 0x51, 0xdb, 0x7e, 0x4e, 0xb0, 0x37, 0xe8, 0xf5, + 0x5b, 0xe4, 0x70, 0xdc, 0x12, 0xab, 0x2d, 0x3a, 0x3a, 0x1c, 0xbc, 0xa1, 0xad, 0x37, 0xa1, 0xb5, + 0xf5, 0x10, 0xa0, 0xed, 0x4f, 0x26, 0xbe, 0x67, 0x63, 0x4a, 0x90, 0x09, 0x65, 0x1c, 0x04, 0x6d, + 0x7f, 0x84, 0x4d, 0xa3, 0x6e, 0x34, 0x4a, 0x76, 0x24, 0xa2, 0xeb, 0xb0, 0x8c, 0x83, 0xa0, 0x4f, + 0xc7, 0x66, 0xa1, 0x6e, 0x34, 0x2a, 0x76, 0x28, 0x59, 0x43, 0x58, 0xdd, 0xe5, 0xf9, 0xf6, 0xfc, + 0xb1, 0xeb, 0xd9, 0xf8, 0x18, 0xd5, 0xa1, 0xfa, 0x9c, 0xe0, 0xc0, 0x61, 0xae, 0xef, 0xf5, 0x3a, + 0x22, 0x4c, 0xc5, 0x56, 0x55, 0x3c, 0x89, 0x70, 0xe9, 0x75, 0xc2, 0x58, 0x91, 0xc8, 0x93, 0xbc, + 0xc0, 0xc3, 0x00, 0x33, 0xb3, 0x28, 0x93, 0x48, 0xc9, 0xfa, 0x0e, 0xd6, 0xd4, 0x24, 0x94, 0xa0, + 0x4d, 0x28, 0x31, 0xff, 0x10, 0x7b, 0x61, 0x7c, 0x29, 0xa0, 0xcf, 0x00, 0x86, 0x71, 0x31, 0x22, + 0x78, 0x75, 0x67, 0xab, 0x99, 0x00, 0x94, 0x54, 0x6a, 0x2b, 0x86, 0x16, 0x86, 0xed, 0xdd, 0xd1, + 0xe8, 0x15, 0xc5, 0x81, 0x8d, 0xc7, 0x2e, 0x65, 0x38, 0xd8, 0x1d, 0x8d, 0x9e, 0x04, 0x2e, 0xf6, + 0x46, 0xbd, 0xce, 0x9e, 0x4b, 0x59, 0x58, 0x97, 0x9f, 0xad, 0x4b, 0x51, 0xa1, 0x3b, 0x00, 0x53, + 0x8a, 0x03, 0xe9, 0x62, 0x16, 0xea, 0xc5, 0x46, 0xc5, 0x56, 0x34, 0xd6, 0xb7, 0x60, 0xcd, 0x4b, + 0x43, 0x49, 0xaa, 0x06, 0x63, 0xd1, 0x1a, 0xde, 0x19, 0x70, 0xd7, 0xc6, 0xa3, 0xe9, 0x10, 0xbf, + 0x77, 0x1d, 0xb7, 0xa1, 0x12, 0x8b, 0x02, 0xc4, 0x92, 0x9d, 0x28, 0x52, 0x55, 0x16, 0x33, 0x55, + 0xbe, 0x86, 0x7b, 0x0b, 0xec, 0xe3, 0xe2, 0x85, 0xfe, 0x6c, 0xc0, 0x76, 0x17, 0xb3, 0xf7, 0xae, + 0xb2, 0x03, 0x40, 0x9c, 0xb1, 0xeb, 0x25, 0x65, 0x56, 0x77, 0xee, 0x36, 0x29, 0x0e, 0x4e, 0x70, + 0x30, 0x70, 0x88, 0x3b, 0x20, 0x4e, 0xe0, 0x4c, 0x68, 0xd3, 0xc6, 0xc7, 0x53, 0x4c, 0xd9, 0x7e, + 0x6c, 0x6b, 0x2b, 0x7e, 0xd6, 0xdf, 0x06, 0x58, 0xf3, 0x76, 0x43, 0x09, 0xfa, 0x02, 0xae, 0x08, + 0x88, 0xbc, 0x03, 0x5f, 0xc0, 0x66, 0xd4, 0x8b, 0x8d, 0xea, 0xce, 0xad, 0x9c, 0x74, 0xaf, 0x42, + 0x33, 0x5b, 0x73, 0x40, 0x8f, 0x73, 0x76, 0x7b, 0x2f, 0x77, 0xb7, 0x94, 0xf8, 0x1e, 0xc5, 0xf9, + 0xdb, 0x4d, 0x61, 0x5e, 0x5c, 0x14, 0xf3, 0xdf, 0x0a, 0xb0, 0xd6, 0xc5, 0xac, 0xfd, 0x83, 0xc3, + 0xf6, 0xfc, 0x31, 0xe5, 0x00, 0x9b, 0x50, 0x6e, 0xfb, 0x1e, 0xc3, 0x1e, 0x0b, 0xc1, 0x8d, 0x44, + 0x39, 0xc4, 0xbc, 0xfa, 0xe8, 0xa4, 0x90, 0x12, 0xd7, 0xdb, 0x78, 0x78, 0xd2, 0xeb, 0x44, 0xc3, + 0x2d, 0x25, 0x54, 0x83, 0x15, 0x6e, 0xf1, 0xd2, 0x9d, 0x60, 0x73, 0x49, 0xac, 0xc4, 0x32, 0xa7, + 0xf1, 0x05, 0xa6, 0xd4, 0xf5, 0xbd, 0x97, 0x6f, 0x09, 0x36, 0x4b, 0xa2, 0x19, 0x55, 0x15, 0xb7, + 0x08, 0x13, 0x0b, 0x8b, 0x65, 0x69, 0xa1, 0xa8, 0x38, 0xd1, 0x09, 0x1a, 0x66, 0xf9, 0x3c, 0x44, + 0x27, 0xcf, 0xe9, 0x63, 0x6d, 0x25, 0x73, 0xac, 0x59, 0xff, 0x14, 0xa1, 0x1c, 0x22, 0x24, 0xf7, + 0xcd, 0x13, 0xf4, 0xe9, 0x38, 0x69, 0x3f, 0x45, 0x85, 0xee, 0xc3, 0x06, 0x65, 0x81, 0xeb, 0x8d, + 0xdb, 0x47, 0x2e, 0xf6, 0x98, 0xb4, 0x93, 0x80, 0x65, 0x17, 0x14, 0x4c, 0x8b, 0x67, 0x60, 0xba, + 0xa4, 0x61, 0xfa, 0x31, 0xac, 0x73, 0x0b, 0x1c, 0xec, 0x1f, 0x39, 0xec, 0xc0, 0x0f, 0x26, 0xbd, + 0x4e, 0x08, 0x5e, 0x46, 0x8f, 0x3e, 0x84, 0x35, 0xa9, 0x7b, 0xe6, 0x0e, 0x0f, 0x3d, 0x67, 0x22, + 0x41, 0xac, 0xd8, 0x29, 0x2d, 0xba, 0x0b, 0xab, 0x52, 0xf3, 0xc4, 0x19, 0xe2, 0x57, 0xf6, 0x9e, + 0x80, 0xb2, 0x62, 0xeb, 0x4a, 0x7e, 0x78, 0x74, 0x03, 0x7f, 0x4a, 0x9e, 0xf1, 0x40, 0x12, 0xa5, + 0x44, 0x91, 0xe6, 0xb3, 0x92, 0xe5, 0xd3, 0x84, 0x72, 0x9f, 0x8e, 0x9f, 0x04, 0xfe, 0xc4, 0x04, + 0xf9, 0x06, 0x0a, 0xc5, 0x34, 0xd3, 0xd5, 0x2c, 0xd3, 0x4a, 0x4f, 0x5e, 0xc9, 0xf6, 0x24, 0x73, + 0xd8, 0x94, 0x9a, 0xab, 0xc2, 0x2d, 0x94, 0xb4, 0xde, 0x5b, 0xab, 0x1b, 0x8d, 0xa2, 0xd2, 0x7b, + 0x77, 0x00, 0xda, 0x01, 0x76, 0x18, 0x16, 0xab, 0x57, 0xc5, 0xaa, 0xa2, 0x41, 0x6b, 0x50, 0x78, + 0x7c, 0x6a, 0xae, 0x8b, 0x44, 0x85, 0xc7, 0xa7, 0xd6, 0x5f, 0x06, 0x5c, 0xd5, 0x86, 0x84, 0x12, + 0xd4, 0x84, 0x95, 0x48, 0x0e, 0x67, 0x1e, 0xa9, 0xd3, 0x26, 0x97, 0xec, 0xd8, 0x86, 0x8f, 0xf9, + 0xfe, 0x45, 0xc7, 0x5c, 0x6f, 0xd6, 0x28, 0xe4, 0xb3, 0xe9, 0x44, 0xf4, 0x0c, 0x87, 0x2a, 0x51, + 0xf1, 0x83, 0x20, 0x99, 0x75, 0xd1, 0x3c, 0x67, 0x1f, 0x04, 0xc9, 0xb3, 0xf5, 0x00, 0x56, 0x39, + 0x72, 0x2e, 0x65, 0xee, 0x50, 0x1c, 0x03, 0x08, 0x96, 0x0e, 0x38, 0x57, 0xb2, 0xc3, 0xc5, 0x33, + 0x07, 0x86, 0xf9, 0x61, 0x2f, 0x17, 0x98, 0x6f, 0x31, 0x58, 0xef, 0x62, 0xb6, 0x3b, 0x64, 0xee, + 0x49, 0xf8, 0x52, 0x38, 0x46, 0x0f, 0x53, 0x81, 0xc2, 0xf3, 0xdf, 0x54, 0xb6, 0xa0, 0xad, 0xdb, + 0xa9, 0xbc, 0xa9, 0x71, 0x2c, 0x64, 0xc7, 0xf1, 0x35, 0xac, 0xc8, 0x64, 0x94, 0x70, 0x9a, 0x79, + 0x1b, 0x8b, 0x9e, 0x94, 0x3b, 0x8d, 0x65, 0xde, 0x1a, 0xe2, 0xcc, 0x1d, 0x45, 0xc7, 0x95, 0x94, + 0x38, 0xfd, 0x7d, 0x4c, 0xa9, 0x33, 0xc6, 0x09, 0x84, 0x8a, 0xc6, 0x9a, 0xc2, 0x46, 0xaa, 0x2a, + 0x4a, 0xd0, 0x47, 0x50, 0xe2, 0xcf, 0x11, 0xd9, 0xd7, 0x94, 0x72, 0x22, 0x1b, 0x5b, 0x5a, 0xa4, + 0x18, 0x28, 0x2c, 0xca, 0x80, 0x9a, 0x56, 0xcc, 0xd5, 0xe5, 0xa0, 0xf9, 0xab, 0x11, 0xce, 0xb5, + 0x28, 0x53, 0x1b, 0x72, 0x23, 0x3d, 0xe4, 0x26, 0x94, 0x85, 0x10, 0x43, 0x1a, 0x89, 0xf3, 0x30, + 0xbd, 0x68, 0x57, 0xbe, 0x05, 0x94, 0xc6, 0x84, 0x12, 0x74, 0x1f, 0x96, 0x85, 0x10, 0x91, 0xb1, + 0xa9, 0x04, 0x8a, 0xad, 0xec, 0xd0, 0xe6, 0xa2, 0x74, 0x3c, 0x80, 0x6a, 0xc7, 0x61, 0x7c, 0xf3, + 0xe2, 0x35, 0x8d, 0x60, 0x89, 0x8b, 0xd1, 0x38, 0xf0, 0x67, 0xb4, 0x0e, 0x45, 0x5e, 0xad, 0xbc, + 0x48, 0xf1, 0x47, 0xeb, 0x47, 0xb8, 0xd1, 0xc5, 0x2c, 0xac, 0x5b, 0x67, 0xe2, 0xbf, 0x67, 0xf2, + 0x8f, 0x02, 0x98, 0xf9, 0xd9, 0x05, 0x66, 0x1b, 0xfb, 0x81, 0x7b, 0xe2, 0x30, 0xac, 0xf0, 0x24, + 0xbf, 0x04, 0xb2, 0x0b, 0xa8, 0x01, 0x57, 0x05, 0x7a, 0x8a, 0xad, 0xac, 0x32, 0xad, 0x46, 0x7b, + 0xb0, 0x95, 0x71, 0x8f, 0xef, 0x8f, 0xd5, 0x9d, 0xeb, 0x4a, 0x79, 0x0a, 0x9c, 0x76, 0xbe, 0x13, + 0xfa, 0x12, 0xae, 0xa5, 0x12, 0x88, 0x58, 0x4b, 0x33, 0x63, 0xe5, 0xb9, 0xa4, 0x58, 0x2f, 0x2d, + 0xde, 0x70, 0x5b, 0x5d, 0xcc, 0x44, 0xc0, 0xcb, 0xa6, 0xef, 0xf7, 0x02, 0x5c, 0xcf, 0xcb, 0x4d, + 0x09, 0x7f, 0xe9, 0xf7, 0xbc, 0x61, 0x80, 0x1d, 0x2a, 0xa7, 0x20, 0xe1, 0x2e, 0xa3, 0xe7, 0x2f, + 0xf3, 0x97, 0x3e, 0x73, 0x8e, 0x62, 0x43, 0x49, 0x9c, 0xae, 0x44, 0x4f, 0x61, 0x33, 0xed, 0xb9, + 0x00, 0x6b, 0xb9, 0x3e, 0xa8, 0x03, 0x1b, 0x5a, 0xf0, 0x05, 0x28, 0xcb, 0x3a, 0x5c, 0x94, 0xb0, + 0x53, 0xd8, 0x0c, 0x6f, 0xe9, 0x97, 0xcd, 0xd7, 0x2f, 0x45, 0xd1, 0x2b, 0xe9, 0xd4, 0x94, 0xf0, + 0xe9, 0x89, 0x80, 0xe2, 0xab, 0x09, 0x5b, 0x69, 0x35, 0x27, 0x2b, 0x79, 0xcf, 0x28, 0x64, 0x69, + 0x4a, 0x64, 0xc1, 0x15, 0x81, 0x57, 0x64, 0x24, 0x8f, 0x57, 0x4d, 0xc7, 0x27, 0x27, 0x15, 0x7c, + 0x91, 0xc9, 0xc9, 0x71, 0xe1, 0x74, 0x6a, 0xe9, 0x45, 0x9c, 0xd2, 0x6c, 0x3a, 0x33, 0x0e, 0xe8, + 0x11, 0xac, 0xab, 0xfb, 0x13, 0x41, 0x96, 0x67, 0x06, 0xc9, 0xd8, 0xa7, 0x5a, 0xa2, 0xbc, 0x60, + 0x4b, 0xec, 0xfc, 0x59, 0x86, 0x15, 0x61, 0xd4, 0xee, 0xbf, 0x40, 0xbb, 0x00, 0xc9, 0x0f, 0x06, + 0xa4, 0xd2, 0xaf, 0xfd, 0xdc, 0xa8, 0xdd, 0x3c, 0x63, 0x85, 0x12, 0xf4, 0x13, 0xdc, 0x99, 0xfd, + 0x75, 0x8f, 0xee, 0x6b, 0xce, 0x73, 0xfe, 0x37, 0xd4, 0x3e, 0x39, 0x87, 0x35, 0x25, 0xe8, 0x9d, + 0x01, 0xdb, 0x73, 0xbf, 0xbb, 0x51, 0x4b, 0x09, 0xba, 0xc8, 0xdf, 0x82, 0xda, 0xa7, 0xe7, 0x73, + 0x90, 0x38, 0xcc, 0xfe, 0x20, 0xd6, 0x70, 0x98, 0xfb, 0x25, 0xaf, 0xe1, 0xb0, 0xc0, 0x97, 0x76, + 0x07, 0xaa, 0xca, 0x25, 0x1c, 0xdd, 0xd4, 0xbd, 0x95, 0x2f, 0xd8, 0x5a, 0xed, 0xac, 0x25, 0x4a, + 0xd0, 0x53, 0x58, 0xd5, 0x2e, 0x77, 0xe8, 0x96, 0x6e, 0xac, 0x5d, 0x66, 0x6b, 0xb7, 0xcf, 0x5e, + 0xa4, 0x04, 0xf5, 0xc5, 0xb7, 0xb3, 0x72, 0x3b, 0x41, 0xb9, 0xf6, 0xd1, 0x65, 0xae, 0xf6, 0xbf, + 0x19, 0xab, 0x94, 0xa0, 0x81, 0x38, 0xca, 0x32, 0xaf, 0x6f, 0x64, 0xe9, 0x6e, 0x79, 0xb7, 0x8b, + 0xda, 0x07, 0x73, 0x6d, 0x28, 0x41, 0x5f, 0x8b, 0xdb, 0x54, 0xea, 0x05, 0x83, 0xea, 0xba, 0x6b, + 0xf6, 0xdd, 0x57, 0xdb, 0x9e, 0x63, 0x41, 0x09, 0xfa, 0x4a, 0x5c, 0x5e, 0xf5, 0xb3, 0x10, 0xfd, + 0x3f, 0x4b, 0xb0, 0x1e, 0xb8, 0x3e, 0xdb, 0x80, 0x92, 0x47, 0x37, 0xbe, 0xd9, 0x6a, 0x26, 0xff, + 0x41, 0x3f, 0x8f, 0x9f, 0xbe, 0x5f, 0x16, 0x3f, 0x39, 0x1f, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, + 0xcd, 0xf8, 0xf8, 0x38, 0x2f, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index 6dcd64628..381d8523d 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -71,14 +71,15 @@ message ChatLog { int32 SenderPlatformID = 5; string SenderNickname = 6; string SenderFaceURL = 7; - int32 SessionType = 8; - int32 MsgFrom = 9; - int32 ContentType = 10; - string Content = 11; - int32 Status = 12; - int64 SendTime = 13; - int64 CreateTime = 14; - string Ex = 15; + string GroupName = 8; + int32 SessionType = 9; + int32 MsgFrom = 10; + int32 ContentType = 11; + string Content = 12; + int32 Status = 13; + int64 SendTime = 14; + int64 CreateTime = 15; + string Ex = 16; } message GetChatLogsResp { From 9b5e1465c3973f388d81689b2f2747a1c40b1f92 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 16:05:12 +0800 Subject: [PATCH 12/44] add --- internal/cms_api/router.go | 1 - internal/cms_api/user/user.go | 51 +++++------------------------------ pkg/cms_api_struct/user.go | 22 +++++++-------- 3 files changed, 18 insertions(+), 56 deletions(-) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index 2987bd026..a9fceeb97 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -54,7 +54,6 @@ func NewGinRouter() *gin.Engine { userRouterGroup.POST("/unblock_user", user.UnblockUser) userRouterGroup.POST("/block_user", user.BlockUser) userRouterGroup.GET("/get_block_users", user.GetBlockUsers) - userRouterGroup.GET("/get_block_user", user.GetBlockUserById) } messageCMSRouterGroup := r2.Group("/message") { diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index 97dbc66a9..4c22bc56a 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -143,15 +143,13 @@ func GetBlockUsers(c *gin.Context) { for _, v := range respPb.BlockUsers { resp.BlockUsers = append(resp.BlockUsers, cms_api_struct.BlockUser{ UserResponse: cms_api_struct.UserResponse{ - UserId: v.User.UserId, - ProfilePhoto: v.User.ProfilePhoto, - Nickname: v.User.Nickname, - IsBlock: v.User.IsBlock, - Birth: v.User.Birth, - PhoneNumber: v.User.PhoneNumber, - Email: v.User.Email, - Gender: int(v.User.Gender), - CreateTime: v.User.CreateTime, + UserID: v.UserInfo.UserID, + FaceURL: v.UserInfo.FaceURL, + Nickname: v.UserInfo.Nickname, + PhoneNumber: v.UserInfo.PhoneNumber, + Email: v.UserInfo.Email, + Gender: int(v.UserInfo.Gender), + // CreateTime: v.UserInfo.CreateTime, }, BeginDisableTime: v.BeginDisableTime, EndDisableTime: v.EndDisableTime, @@ -163,38 +161,3 @@ func GetBlockUsers(c *gin.Context) { log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", resp) openIMHttp.RespHttp200(c, constant.OK, resp) } - -func GetBlockUserById(c *gin.Context) { - var ( - req cms_api_struct.GetBlockUserRequest - resp cms_api_struct.GetBlockUserResponse - reqPb pb.GetBlockUserByIdReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.UserId = req.UserId - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pb.NewUserClient(etcdConn) - respPb, err := client.GetBlockUserById(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, "GetBlockUserById rpc failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - resp.EndDisableTime = respPb.BlockUser.EndDisableTime - resp.BeginDisableTime = respPb.BlockUser.BeginDisableTime - utils.CopyStructFields(&resp, respPb.BlockUser.User) - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} diff --git a/pkg/cms_api_struct/user.go b/pkg/cms_api_struct/user.go index d4902c97a..c4c433a1e 100644 --- a/pkg/cms_api_struct/user.go +++ b/pkg/cms_api_struct/user.go @@ -1,17 +1,17 @@ package cms_api_struct type UserResponse struct { - ProfilePhoto string `json:"profile_photo"` - Nickname string `json:"nick_name"` - UserId string `json:"user_id"` - CreateTime string `json:"create_time,omitempty"` - CreateIp string `json:"create_ip,omitempty"` - LastLoginTime string `json:"last_login_time,omitempty"` - LastLoginIp string `json:"last_login_ip,omitempty"` - LoginTimes int32 `json:"login_times"` - LoginLimit int32 `json:"login_limit"` - IsBlock bool `json:"is_block"` - PhoneNumber string `json:"phone_number"` + FaceURL string `json:"faceURL"` + Nickname string `json:"nickName"` + UserID string `json:"userID"` + CreateTime string `json:"createTime,omitempty"` + CreateIp string `json:"createIp,omitempty"` + LastLoginTime string `json:"lastLoginTime,omitempty"` + LastLoginIp string `json:"lastLoginIP,omitempty"` + LoginTimes int32 `json:"loginTimes"` + LoginLimit int32 `json:"loginLimit"` + IsBlock bool `json:"isBlock"` + PhoneNumber string `json:"phoneNumber"` Email string `json:"email"` Birth string `json:"birth"` Gender int `json:"gender"` From bc1cfed3890b3f678691d5d7d2b2fcc84f08566a Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 16:09:10 +0800 Subject: [PATCH 13/44] xms --- internal/demo/register/ip_limit.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/demo/register/ip_limit.go b/internal/demo/register/ip_limit.go index 17a53795d..e68508894 100644 --- a/internal/demo/register/ip_limit.go +++ b/internal/demo/register/ip_limit.go @@ -7,7 +7,9 @@ import ( imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" + "github.com/gin-gonic/gin" + //"github.com/jinzhu/gorm" "net/http" "time" @@ -163,8 +165,8 @@ func AddUserIPLimitLogin(c *gin.Context) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) userIp := db.UserIpLimit{UserID: req.UserID, Ip: req.IP} err := imdb.UpdateUserInfo(db.User{ - UserID: req.UserID, - LoginLimit: 1, + UserID: req.UserID, + // LoginLimit: 1, }) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID) From 12e6cbb9e5958472fd548480a6b29a7069a8e744 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 16:11:56 +0800 Subject: [PATCH 14/44] add --- pkg/common/log/logrus.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkg/common/log/logrus.go b/pkg/common/log/logrus.go index a10669452..a19292e71 100644 --- a/pkg/common/log/logrus.go +++ b/pkg/common/log/logrus.go @@ -2,6 +2,7 @@ package log import ( "Open_IM/pkg/common/config" + "bufio" //"bufio" "fmt" @@ -34,13 +35,13 @@ func loggerInit(moduleName string) *Logger { //All logs will be printed logger.SetLevel(logrus.Level(config.Config.Log.RemainLogLevel)) //Close std console output - // src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) - // if err != nil { - // panic(err.Error()) - // } - // writer := bufio.NewWriter(src) - // logger.SetOutput(writer) - logger.SetOutput(os.Stdout) + src, err := os.OpenFile(os.DevNull, os.O_APPEND|os.O_WRONLY, os.ModeAppend) + if err != nil { + panic(err.Error()) + } + writer := bufio.NewWriter(src) + logger.SetOutput(writer) + // logger.SetOutput(os.Stdout) //Log Console Print Style Setting logger.SetFormatter(&nested.Formatter{ TimestampFormat: "2006-01-02 15:04:05.000", From c41464b9744eaf74b6aa538e1bdb6767b0af2484 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 16:34:13 +0800 Subject: [PATCH 15/44] cms --- internal/api/user/user.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index 410a9dd42..feebd9487 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -481,6 +481,7 @@ func GetUsers(c *gin.Context) { reqPb.OperationID = req.OperationID reqPb.UserID = req.UserID reqPb.UserName = req.UserName + reqPb.Pagination = &open_im_sdk.RequestPagination{ShowNumber: req.ShowNumber, PageNumber: req.PageNumber} etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" From da9918b655427ed7ebdee6102f93c692d5c89aba Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 29 Aug 2022 17:16:54 +0800 Subject: [PATCH 16/44] cms --- internal/api/user/user.go | 10 ++++++- internal/cms_api/admin/admin.go | 49 ++++++++++++++++----------------- 2 files changed, 33 insertions(+), 26 deletions(-) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index feebd9487..d944d774c 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -496,7 +496,15 @@ func GetUsers(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - utils.CopyStructFields(&resp.Data.UserList, respPb.UserList) + for _, v := range respPb.UserList { + resp.Data.UserList = append(resp.Data.UserList, &struct { + open_im_sdk.UserInfo + IsBlock bool "json:\"isBlock\"" + }{ + IsBlock: v.IsBlock, + UserInfo: *v.User, + }) + } resp.CommResp.ErrCode = respPb.CommonResp.ErrCode resp.CommResp.ErrMsg = respPb.CommonResp.ErrMsg resp.Data.TotalNum = respPb.TotalNums diff --git a/internal/cms_api/admin/admin.go b/internal/cms_api/admin/admin.go index c71689c57..b2eee5f2e 100644 --- a/internal/cms_api/admin/admin.go +++ b/internal/cms_api/admin/admin.go @@ -3,8 +3,6 @@ package admin import ( apiStruct "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbAdmin "Open_IM/pkg/proto/admin_cms" @@ -66,8 +64,8 @@ func AdminLogin(c *gin.Context) { reqPb pbAdmin.AdminLoginReq ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.Secret = req.Secret @@ -84,24 +82,24 @@ func AdminLogin(c *gin.Context) { respPb, err := client.AdminLogin(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } resp.Token = respPb.Token - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func AddUserRegisterAddFriendIDList(c *gin.Context) { var ( - req apiStruct.AddUserRegisterAddFriendIDListRequest - resp apiStruct.AddUserRegisterAddFriendIDListResponse + req apiStruct.AddUserRegisterAddFriendIDListRequest + // resp apiStruct.AddUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, req.OperationID) if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetConn == nil" @@ -110,23 +108,24 @@ func AddUserRegisterAddFriendIDList(c *gin.Context) { return } client := pbAdmin.NewAdminCMSClient(etcdConn) - _, err := client.AddUserRegisterAddFriendIDList(context.Background(), &pbAdmin.AddUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList}) + respPb, err := client.AddUserRegisterAddFriendIDList(context.Background(), &pbAdmin.AddUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp:", respPb.String()) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func ReduceUserRegisterAddFriendIDList(c *gin.Context) { var ( - req apiStruct.ReduceUserRegisterAddFriendIDListRequest - resp apiStruct.ReduceUserRegisterAddFriendIDListResponse + req apiStruct.ReduceUserRegisterAddFriendIDListRequest + // resp apiStruct.ReduceUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) @@ -138,13 +137,13 @@ func ReduceUserRegisterAddFriendIDList(c *gin.Context) { return } client := pbAdmin.NewAdminCMSClient(etcdConn) - _, err := client.ReduceUserRegisterAddFriendIDList(context.Background(), &pbAdmin.ReduceUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList, Operation: req.Operation}) + respPb, err := client.ReduceUserRegisterAddFriendIDList(context.Background(), &pbAdmin.ReduceUserRegisterAddFriendIDListReq{OperationID: req.OperationID, UserIDList: req.UserIDList, Operation: req.Operation}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func GetUserRegisterAddFriendIDList(c *gin.Context) { @@ -153,8 +152,8 @@ func GetUserRegisterAddFriendIDList(c *gin.Context) { resp apiStruct.GetUserRegisterAddFriendIDListResponse ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req) @@ -172,12 +171,12 @@ func GetUserRegisterAddFriendIDList(c *gin.Context) { }}) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } resp.Users = respPb.UserInfoList resp.ShowNumber = int(respPb.Pagination.ShowNumber) resp.CurrentPage = int(respPb.Pagination.CurrentPage) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } From 8d4e5ad3f1c3fa1e8829e68262262754eb049865 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:38:23 +0800 Subject: [PATCH 17/44] cms --- cmd/open_im_api/main.go | 1 - internal/api/group/group.go | 5 +- internal/api/user/user.go | 2 +- internal/cms_api/group/group.go | 104 +- internal/cms_api/message_cms/message.go | 11 +- internal/cms_api/middleware/jwt_auth.go | 6 +- internal/cms_api/router.go | 24 +- internal/cms_api/statistics/statistics.go | 12 +- internal/cms_api/user/user.go | 50 +- internal/rpc/admin_cms/admin_cms.go | 4 +- internal/rpc/group/group.go | 327 +---- internal/rpc/message_cms/message_cms.go | 182 --- internal/rpc/statistics/statistics.go | 399 ------ pkg/cms_api_struct/admin.go | 2 +- pkg/cms_api_struct/group.go | 114 +- pkg/cms_api_struct/user.go | 88 +- pkg/common/db/model_struct.go | 12 +- .../mysql_model/im_mysql_model/message_cms.go | 5 +- pkg/common/http/http_resp.go | 43 - pkg/proto/admin_cms/admin_cms.pb.go | 283 +++-- pkg/proto/admin_cms/admin_cms.proto | 30 +- pkg/proto/group/group.pb.go | 1125 ++++------------- pkg/proto/group/group.proto | 70 +- 23 files changed, 548 insertions(+), 2351 deletions(-) delete mode 100644 internal/rpc/message_cms/message_cms.go delete mode 100644 internal/rpc/statistics/statistics.go delete mode 100644 pkg/common/http/http_resp.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 2e4b83d60..5154841c2 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -111,7 +111,6 @@ func main() { groupRouterGroup.POST("/set_group_member_nickname", group.SetGroupMemberNickname) groupRouterGroup.POST("/set_group_member_info", group.SetGroupMemberInfo) groupRouterGroup.POST("/get_group_abstract_info", group.GetGroupAbstractInfo) - groupRouterGroup.POST("/get_groups", group.GetGroups) //groupRouterGroup.POST("/get_group_all_member_list_by_split", group.GetGroupAllMemberListBySplit) } superGroupRouterGroup := r.Group("/super_group") diff --git a/internal/api/group/group.go b/internal/api/group/group.go index 88a232ef9..ac8364d98 100644 --- a/internal/api/group/group.go +++ b/internal/api/group/group.go @@ -11,6 +11,7 @@ import ( open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "github.com/golang/protobuf/ptypes/wrappers" "google.golang.org/grpc" @@ -1318,7 +1319,3 @@ func GetGroupAbstractInfo(c *gin.Context) { c.JSON(http.StatusOK, resp) return } - -func GetGroups(c *gin.Context) { - -} \ No newline at end of file diff --git a/internal/api/user/user.go b/internal/api/user/user.go index d944d774c..152783f1c 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -463,7 +463,7 @@ func GetUsers(c *gin.Context) { resp api.GetUsersResp reqPb rpc.GetUsersReq ) - if err := c.Bind(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, "Bind failed ", err.Error(), req) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return diff --git a/internal/cms_api/group/group.go b/internal/cms_api/group/group.go index 3485fc3f4..c73ac9599 100644 --- a/internal/cms_api/group/group.go +++ b/internal/cms_api/group/group.go @@ -3,8 +3,6 @@ package group import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" commonPb "Open_IM/pkg/proto/sdk_ws" @@ -18,51 +16,15 @@ import ( "github.com/gin-gonic/gin" ) -func GetGroupByID(c *gin.Context) { - var ( - req cms_api_struct.GetGroupByIDRequest - resp cms_api_struct.GetGroupByIDResponse - reqPb pbGroup.GetGroupByIDReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupID = req.GroupID - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.GetGroupByID(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupById failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) - return - } - utils.CopyStructFields(&resp, respPb.CMSGroup.GroupInfo) - resp.GroupOwnerID = respPb.CMSGroup.GroupOwnerUserID - resp.GroupOwnerName = respPb.CMSGroup.GroupOwnerUserName - - log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - func GetGroups(c *gin.Context) { var ( req cms_api_struct.GetGroupsRequest resp cms_api_struct.GetGroupsResponse reqPb pbGroup.GetGroupsReq ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -80,7 +42,7 @@ func GetGroups(c *gin.Context) { respPb, err := client.GetGroups(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserInfo failed ", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, v := range respPb.CMSGroups { @@ -91,54 +53,10 @@ func GetGroups(c *gin.Context) { resp.Groups = append(resp.Groups, groupResp) } resp.GroupNums = int(respPb.GroupNum) - resp.CurrentPage = int(respPb.Pagination.PageNumber) + resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.ShowNumber = int(respPb.Pagination.ShowNumber) log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) -} - -func GetGroupByName(c *gin.Context) { - var ( - req cms_api_struct.GetGroupRequest - resp cms_api_struct.GetGroupResponse - reqPb pbGroup.GetGroupReq - ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) - return - } - reqPb.OperationID = utils.OperationIDGenerator() - log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - reqPb.GroupName = req.GroupName - reqPb.Pagination = &commonPb.RequestPagination{} - utils.CopyStructFields(&reqPb.Pagination, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, reqPb.OperationID) - if etcdConn == nil { - errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(reqPb.OperationID, errMsg) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - return - } - client := pbGroup.NewGroupClient(etcdConn) - respPb, err := client.GetGroup(context.Background(), &reqPb) - if err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroup failed", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrServer, nil) - return - } - for _, v := range respPb.CMSGroups { - groupResp := cms_api_struct.GroupResponse{} - utils.CopyStructFields(&groupResp, v.GroupInfo) - groupResp.GroupOwnerName = v.GroupOwnerUserName - groupResp.GroupOwnerID = v.GroupOwnerUserID - resp.Groups = append(resp.Groups, groupResp) - } - resp.CurrentPage = int(respPb.Pagination.PageNumber) - resp.ShowNumber = int(respPb.Pagination.ShowNumber) - resp.GroupNums = int(respPb.GroupNums) - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } func GetGroupMembers(c *gin.Context) { @@ -147,9 +65,9 @@ func GetGroupMembers(c *gin.Context) { reqPb pbGroup.GetGroupMembersCMSReq resp cms_api_struct.GetGroupMembersResponse ) - if err := c.ShouldBindQuery(&req); err != nil { - log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + if err := c.BindJSON(&req); err != nil { + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -171,7 +89,7 @@ func GetGroupMembers(c *gin.Context) { respPb, err := client.GetGroupMembersCMS(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupMembersCMS failed:", err.Error()) - openIMHttp.RespHttp200(c, err, nil) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } resp.ResponsePagination = cms_api_struct.ResponsePagination{ @@ -185,5 +103,5 @@ func GetGroupMembers(c *gin.Context) { resp.GroupMembers = append(resp.GroupMembers, memberResp) } log.NewInfo("", utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/message_cms/message.go b/internal/cms_api/message_cms/message.go index d5dfadc92..277076271 100644 --- a/internal/cms_api/message_cms/message.go +++ b/internal/cms_api/message_cms/message.go @@ -3,7 +3,6 @@ package messageCMS import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbAdminCMS "Open_IM/pkg/proto/admin_cms" @@ -13,8 +12,6 @@ import ( "net/http" "strings" - "Open_IM/pkg/common/constant" - "github.com/gin-gonic/gin" ) @@ -24,9 +21,9 @@ func GetChatLogs(c *gin.Context) { resp cms_api_struct.GetChatLogsResp reqPb pbAdminCMS.GetChatLogsReq ) - if err := c.ShouldBindQuery(&req); err != nil { + if err := c.Bind(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.Pagination = &pbCommon.RequestPagination{ @@ -46,7 +43,7 @@ func GetChatLogs(c *gin.Context) { respPb, err := client.GetChatLogs(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 400, "errMsg": err.Error()}) return } for _, v := range respPb.ChatLogs { @@ -58,5 +55,5 @@ func GetChatLogs(c *gin.Context) { resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.ChatLogsNum = int(respPb.ChatLogsNum) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/cms_api/middleware/jwt_auth.go b/internal/cms_api/middleware/jwt_auth.go index 255e3eaaf..e551a35d8 100644 --- a/internal/cms_api/middleware/jwt_auth.go +++ b/internal/cms_api/middleware/jwt_auth.go @@ -1,11 +1,11 @@ package middleware import ( - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/utils" + "net/http" + "github.com/gin-gonic/gin" ) @@ -17,7 +17,7 @@ func JWTAuth() gin.HandlerFunc { if !ok { log.NewError("", "GetUserIDFromToken false ", c.Request.Header.Get("token")) c.Abort() - http.RespHttp200(c, constant.ErrParseToken, nil) + c.JSON(http.StatusOK, gin.H{"errCode": 400, "errMsg": errInfo}) return } else { log.NewInfo("0", utils.GetSelfFuncName(), "failed: ", errInfo) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index a9fceeb97..2f4273782 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -28,25 +28,17 @@ func NewGinRouter() *gin.Engine { r2.Use(middleware.JWTAuth()) statisticsRouterGroup := r2.Group("/statistics") { - statisticsRouterGroup.GET("/get_messages_statistics", statistics.GetMessagesStatistics) - statisticsRouterGroup.GET("/get_user_statistics", statistics.GetUserStatistics) - statisticsRouterGroup.GET("/get_group_statistics", statistics.GetGroupStatistics) - statisticsRouterGroup.GET("/get_active_user", statistics.GetActiveUser) - statisticsRouterGroup.GET("/get_active_group", statistics.GetActiveGroup) + statisticsRouterGroup.POST("/get_messages_statistics", statistics.GetMessagesStatistics) + statisticsRouterGroup.POST("/get_user_statistics", statistics.GetUserStatistics) + statisticsRouterGroup.POST("/get_group_statistics", statistics.GetGroupStatistics) + statisticsRouterGroup.POST("/get_active_user", statistics.GetActiveUser) + statisticsRouterGroup.POST("/get_active_group", statistics.GetActiveGroup) } groupRouterGroup := r2.Group("/group") { - groupRouterGroup.GET("/get_group_by_id", group.GetGroupByID) - groupRouterGroup.GET("/get_groups", group.GetGroups) - groupRouterGroup.GET("/get_group_by_name", group.GetGroupByName) - groupRouterGroup.GET("/get_group_members", group.GetGroupMembers) - // groupRouterGroup.POST("/create_group", group.CreateGroup) - // groupRouterGroup.POST("/add_members", group.AddGroupMembers) - // groupRouterGroup.POST("/remove_members", group.RemoveGroupMembers) - // groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) - // groupRouterGroup.POST("/set_group_master", group.SetGroupOwner) - // groupRouterGroup.POST("/set_group_ordinary_user", group.SetGroupOrdinaryUsers) - // groupRouterGroup.POST("/alter_group_info", group.AlterGroupInfo) + groupRouterGroup.POST("/get_groups", group.GetGroups) + groupRouterGroup.POST("/get_group_members", group.GetGroupMembers) + groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) } userRouterGroup := r2.Group("/user") { diff --git a/internal/cms_api/statistics/statistics.go b/internal/cms_api/statistics/statistics.go index 99386fd3b..ccfe97020 100644 --- a/internal/cms_api/statistics/statistics.go +++ b/internal/cms_api/statistics/statistics.go @@ -21,7 +21,7 @@ func GetMessagesStatistics(c *gin.Context) { reqPb admin.GetMessageStatisticsReq ) reqPb.StatisticsReq = &admin.StatisticsReq{} - if err := c.Bind(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -75,7 +75,7 @@ func GetUserStatistics(c *gin.Context) { reqPb admin.GetUserStatisticsReq ) reqPb.StatisticsReq = &admin.StatisticsReq{} - if err := c.Bind(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -138,7 +138,7 @@ func GetGroupStatistics(c *gin.Context) { reqPb admin.GetGroupStatisticsReq ) reqPb.StatisticsReq = &admin.StatisticsReq{} - if err := c.Bind(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -195,7 +195,7 @@ func GetActiveUser(c *gin.Context) { reqPb admin.GetActiveUserReq ) reqPb.StatisticsReq = &admin.StatisticsReq{} - if err := c.Bind(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return @@ -229,8 +229,8 @@ func GetActiveGroup(c *gin.Context) { reqPb admin.GetActiveGroupReq ) reqPb.StatisticsReq = &admin.StatisticsReq{} - if err := c.Bind(&req); err != nil { - log.NewError("0", utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index 4c22bc56a..84d2b12db 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -3,15 +3,12 @@ package user import ( "Open_IM/pkg/cms_api_struct" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - openIMHttp "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" commonPb "Open_IM/pkg/proto/sdk_ws" pb "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "fmt" "net/http" "strings" @@ -25,7 +22,7 @@ func AddUser(c *gin.Context) { ) if err := c.BindJSON(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, nil) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -39,23 +36,24 @@ func AddUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - _, err := client.AddUser(context.Background(), &reqPb) + respPb, err := client.AddUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, nil) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, nil) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func BlockUser(c *gin.Context) { var ( - req cms_api_struct.BlockUserRequest - resp cms_api_struct.BlockUserResponse + req cms_api_struct.BlockUserRequest + // resp cms_api_struct.BlockUserResponse reqPb pb.BlockUserReq ) if err := c.BindJSON(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -69,13 +67,13 @@ func BlockUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - fmt.Println(reqPb) - _, err := client.BlockUser(context.Background(), &reqPb) + respPb, err := client.BlockUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, resp) + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func UnblockUser(c *gin.Context) { @@ -84,9 +82,9 @@ func UnblockUser(c *gin.Context) { resp cms_api_struct.UnBlockUserResponse reqPb pb.UnBlockUserReq ) - if err := c.ShouldBind(&req); err != nil { - log.NewError("0", "BindJSON failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -100,13 +98,14 @@ func UnblockUser(c *gin.Context) { return } client := pb.NewUserClient(etcdConn) - _, err := client.UnBlockUser(context.Background(), &reqPb) + respPb, err := client.UnBlockUser(context.Background(), &reqPb) if err != nil { - openIMHttp.RespHttp200(c, err, resp) + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), err.Error(), reqPb.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg}) } func GetBlockUsers(c *gin.Context) { @@ -117,9 +116,9 @@ func GetBlockUsers(c *gin.Context) { respPb *pb.GetBlockUsersResp ) reqPb.Pagination = &commonPb.RequestPagination{} - if err := c.ShouldBindQuery(&req); err != nil { + if err := c.BindJSON(&req); err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) - openIMHttp.RespHttp200(c, constant.ErrArgs, resp) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -137,7 +136,7 @@ func GetBlockUsers(c *gin.Context) { respPb, err := client.GetBlockUsers(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetBlockUsers rpc", err.Error()) - openIMHttp.RespHttp200(c, err, resp) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, v := range respPb.BlockUsers { @@ -149,7 +148,6 @@ func GetBlockUsers(c *gin.Context) { PhoneNumber: v.UserInfo.PhoneNumber, Email: v.UserInfo.Email, Gender: int(v.UserInfo.Gender), - // CreateTime: v.UserInfo.CreateTime, }, BeginDisableTime: v.BeginDisableTime, EndDisableTime: v.EndDisableTime, @@ -159,5 +157,5 @@ func GetBlockUsers(c *gin.Context) { resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.UserNums = respPb.UserNums log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", resp) - openIMHttp.RespHttp200(c, constant.OK, resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 2832c54ea..51e3a7aab 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -140,7 +140,7 @@ func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, re } } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", req.String()) - return resp, nil + return resp, nil } func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.GetUserRegisterAddFriendIDListReq) (*pbAdminCMS.GetUserRegisterAddFriendIDListResp, error) { @@ -223,7 +223,7 @@ func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatL } pbChatLog.SenderNickname = recvUser.Nickname - case constant.GroupChatType: + case constant.GroupChatType, constant.SuperGroupChatType: group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 7a821c34e..1948c93ac 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -6,7 +6,7 @@ import ( "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/db/rocks_cache" + rocksCache "Open_IM/pkg/common/db/rocks_cache" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" @@ -19,12 +19,13 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" - "google.golang.org/grpc" "math/big" "net" "strconv" "strings" "time" + + "google.golang.org/grpc" ) type groupServer struct { @@ -315,7 +316,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite resp.Id2ResultList = append(resp.Id2ResultList, &resultNode) continue - log.NewError(req.OperationID, "InsertIntoGroupRequest failed ", err.Error(), groupRequest) + // log.NewError(req.OperationID, "InsertIntoGroupRequest failed ", err.Error(), groupRequest) // return &pbGroup.JoinGroupResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } else { var resultNode pbGroup.Id2Result @@ -826,7 +827,6 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI func (s *groupServer) GroupApplicationResponse(_ context.Context, req *pbGroup.GroupApplicationResponseReq) (*pbGroup.GroupApplicationResponseResp, error) { log.NewInfo(req.OperationID, "GroupApplicationResponse args ", req.String()) - groupRequest := db.GroupRequest{} utils.CopyStructFields(&groupRequest, req) groupRequest.UserID = req.FromUserID @@ -1335,139 +1335,53 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe } -func (s *groupServer) GetGroupByID(_ context.Context, req *pbGroup.GetGroupByIDReq) (*pbGroup.GetGroupByIDResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbGroup.GetGroupByIDResp{CMSGroup: &pbGroup.CMSGroup{ - GroupInfo: &open_im_sdk.GroupInfo{}, - }} - group, err := imdb.GetGroupInfoByGroupID(req.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById error", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - utils.CopyStructFields(resp.CMSGroup.GroupInfo, group) - groupMember, err := imdb.GetGroupOwnerInfoByGroupID(group.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - groupMemberNum, err := imdb.GetGroupMemberNumByGroupID(req.GroupID) - if err == nil { - resp.CMSGroup.GroupInfo.MemberCount = uint32(groupMemberNum) - } else { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - resp.CMSGroup.GroupOwnerUserName = groupMember.Nickname - resp.CMSGroup.GroupOwnerUserID = groupMember.UserID - resp.CMSGroup.GroupInfo.CreatorUserID = group.CreatorUserID - resp.CMSGroup.GroupInfo.CreateTime = uint32(group.CreateTime.Unix()) - utils.CopyStructFields(resp.CMSGroup.GroupInfo, group) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - -func (s *groupServer) GetGroup(_ context.Context, req *pbGroup.GetGroupReq) (*pbGroup.GetGroupResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbGroup.GetGroupResp{ - CMSGroups: []*pbGroup.CMSGroup{}, - } - groups, err := imdb.GetGroupsByName(req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsByName error", req.String(), req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) - return resp, http.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "groups", groups) - nums, err := imdb.GetGroupsCountNum(db.Group{GroupName: req.GroupName}) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error(), req.GroupName) - return resp, http.WrapError(constant.ErrDB) - } - resp.GroupNums = nums - resp.Pagination = &open_im_sdk.RequestPagination{ - PageNumber: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - for _, v := range groups { - group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} - utils.CopyStructFields(group.GroupInfo, v) - groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster error", err.Error()) - continue - } - - group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix()) - group.GroupOwnerUserID = groupMember.UserID - group.GroupOwnerUserName = groupMember.Nickname - resp.CMSGroups = append(resp.CMSGroups, group) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return resp, nil -} - func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*pbGroup.GetGroupsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups ", req.String()) resp := &pbGroup.GetGroupsResp{ CMSGroups: []*pbGroup.CMSGroup{}, - Pagination: &open_im_sdk.RequestPagination{}, + Pagination: &open_im_sdk.ResponsePagination{}, } - groups, err := imdb.GetGroups(int(req.Pagination.PageNumber), int(req.Pagination.ShowNumber)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroups error", err.Error()) - return resp, http.WrapError(constant.ErrDB) + if req.GroupID != "" { + groupInfoDB, err := imdb.GetGroupInfoByGroupID(req.GroupID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.GroupNum = 1 + groupInfo := &open_im_sdk.GroupInfo{} + utils.CopyStructFields(groupInfo, groupInfoDB) + resp.CMSGroups = append(resp.CMSGroups, &pbGroup.CMSGroup{GroupInfo: groupInfo}) + } else { + groups, err := imdb.GetGroupsByName(req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsByName error", req.String(), req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + } + for _, v := range groups { + group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} + utils.CopyStructFields(group.GroupInfo, v) + groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupOwnerInfoByGroupID failed", err.Error(), v) + continue + } + group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix()) + group.GroupOwnerUserID = groupMember.UserID + group.GroupOwnerUserName = groupMember.Nickname + resp.CMSGroups = append(resp.CMSGroups, group) + } + resp.GroupNum, err = imdb.GetGroupsCountNum(db.Group{GroupName: req.GroupName}) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } } - resp.GroupNum, err = imdb.GetGroupsCountNum(db.Group{}) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupsCountNum error", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - resp.Pagination.PageNumber = req.Pagination.PageNumber + resp.Pagination.CurrentPage = req.Pagination.PageNumber resp.Pagination.ShowNumber = req.Pagination.ShowNumber - for _, v := range groups { - group := &pbGroup.CMSGroup{GroupInfo: &open_im_sdk.GroupInfo{}} - utils.CopyStructFields(group.GroupInfo, v) - groupMember, err := imdb.GetGroupOwnerInfoByGroupID(v.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error(), v) - continue - } - group.GroupInfo.CreateTime = uint32(v.CreateTime.Unix()) - group.GroupOwnerUserID = groupMember.UserID - group.GroupOwnerUserName = groupMember.Nickname - resp.CMSGroups = append(resp.CMSGroups, group) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups ", resp.String()) - return resp, nil -} - -func (s *groupServer) OperateUserRole(_ context.Context, req *pbGroup.OperateUserRoleReq) (*pbGroup.OperateUserRoleResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.OperateUserRoleResp{} - oldOwnerUserID, err := imdb.GetGroupOwnerInfoByGroupID(req.GroupID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrInternal) - } - client := pbGroup.NewGroupClient(etcdConn) - var reqPb pbGroup.TransferGroupOwnerReq - reqPb.OperationID = req.OperationID - reqPb.NewOwnerUserID = req.UserID - reqPb.GroupID = req.GroupID - reqPb.OpUserID = "cms admin" - reqPb.OldOwnerUserID = oldOwnerUserID.UserID - reply, err := client.TransferGroupOwner(context.Background(), &reqPb) - if reply.CommonResp.ErrCode != 0 || err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "TransferGroupOwner rpc failed") - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - } - } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups resp", resp.String()) return resp, nil } @@ -1477,12 +1391,16 @@ func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGrou groupMembers, err := imdb.GetGroupMembersByGroupIdCMS(req.GroupID, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMembersByGroupIdCMS Error", err.Error()) - return resp, http.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } groupMembersCount, err := imdb.GetGroupMembersCount(req.GroupID, req.UserName) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMembersCMS Error", err.Error()) - return resp, http.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } log.NewInfo(req.OperationID, groupMembersCount) resp.MemberNums = int32(groupMembersCount) @@ -1501,151 +1419,6 @@ func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGrou return resp, nil } -func (s *groupServer) RemoveGroupMembersCMS(_ context.Context, req *pbGroup.RemoveGroupMembersCMSReq) (*pbGroup.RemoveGroupMembersCMSResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.RemoveGroupMembersCMSResp{} - for _, userId := range req.UserIDList { - err := imdb.DeleteGroupMemberByGroupIDAndUserID(req.GroupID, userId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - resp.Failed = append(resp.Failed, userId) - } else { - resp.Success = append(resp.Success, userId) - } - } - reqKick := &pbGroup.KickGroupMemberReq{ - GroupID: req.GroupID, - KickedUserIDList: resp.Success, - Reason: "admin kick", - OperationID: req.OperationID, - OpUserID: req.OpUserID, - } - var reqPb pbUser.SetConversationReq - var c pbConversation.Conversation - for _, v := range resp.Success { - reqPb.OperationID = req.OperationID - c.OwnerUserID = v - c.ConversationID = utils.GetConversationIDBySessionType(req.GroupID, constant.GroupChatType) - c.ConversationType = constant.GroupChatType - c.GroupID = req.GroupID - c.IsNotInGroup = true - reqPb.Conversation = &c - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrInternal) - } - client := pbUser.NewUserClient(etcdConn) - respPb, err := client.SetConversation(context.Background(), &reqPb) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetConversation rpc failed, ", reqPb.String(), err.Error(), v) - } else { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "SetConversation success", respPb.String(), v) - } - } - - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrDB) - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return resp, http.WrapError(constant.ErrDB) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - - for _, userID := range resp.Success { - if err := rocksCache.DelGroupMemberInfoFromCache(req.GroupID, userID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID, userID) - } - } - - chat.MemberKickedNotification(reqKick, resp.Success) - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *groupServer) AddGroupMembersCMS(_ context.Context, req *pbGroup.AddGroupMembersCMSReq) (*pbGroup.AddGroupMembersCMSResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.AddGroupMembersCMSResp{} - for _, userId := range req.UserIDList { - if isExist := imdb.IsExistGroupMember(req.GroupID, userId); isExist { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "user is exist in group", userId, req.GroupID) - resp.Failed = append(resp.Failed, userId) - continue - } - user, err := imdb.GetUserByUserID(userId) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID", err.Error()) - resp.Failed = append(resp.Failed, userId) - continue - } - groupMember := db.GroupMember{ - GroupID: req.GroupID, - UserID: userId, - Nickname: user.Nickname, - FaceURL: "", - RoleLevel: 1, - JoinTime: time.Time{}, - JoinSource: constant.JoinByAdmin, - OperatorUserID: "CmsAdmin", - Ex: "", - } - if err := imdb.InsertIntoGroupMember(groupMember); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "InsertIntoGroupMember failed", req.String()) - resp.Failed = append(resp.Failed, userId) - } else { - resp.Success = append(resp.Success, userId) - } - } - - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImCacheName, req.OperationID) - if etcdConn == nil { - errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" - log.NewError(req.OperationID, errMsg) - return resp, http.WrapError(constant.ErrDB) - } - cacheClient := pbCache.NewCacheClient(etcdConn) - cacheResp, err := cacheClient.DelGroupMemberIDListFromCache(context.Background(), &pbCache.DelGroupMemberIDListFromCacheReq{ - GroupID: req.GroupID, - OperationID: req.OperationID, - }) - if err != nil { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc call failed ", err.Error()) - return resp, http.WrapError(constant.ErrDB) - } - if cacheResp.CommonResp.ErrCode != 0 { - log.NewError(req.OperationID, "DelGroupMemberIDListFromCache rpc logic call failed ", cacheResp.String()) - return resp, http.WrapError(constant.ErrDB) - } - if err := rocksCache.DelGroupMemberListHashFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - if err := rocksCache.DelGroupMemberNumFromCache(req.GroupID); err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) - } - - chat.MemberInvitedNotification(req.OperationID, req.GroupID, req.OpUserID, "admin add you to group", resp.Success) - return resp, nil -} - func (s *groupServer) GetUserReqApplicationList(_ context.Context, req *pbGroup.GetUserReqApplicationListReq) (*pbGroup.GetUserReqApplicationListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) resp := &pbGroup.GetUserReqApplicationListResp{} diff --git a/internal/rpc/message_cms/message_cms.go b/internal/rpc/message_cms/message_cms.go deleted file mode 100644 index 58a7e7d4e..000000000 --- a/internal/rpc/message_cms/message_cms.go +++ /dev/null @@ -1,182 +0,0 @@ -package messageCMS - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db" - errors "Open_IM/pkg/common/http" - "context" - "strconv" - - "Open_IM/pkg/common/log" - - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbMessageCMS "Open_IM/pkg/proto/message_cms" - open_im_sdk "Open_IM/pkg/proto/sdk_ws" - - "Open_IM/pkg/utils" - - "net" - "strings" - - "google.golang.org/grpc" -) - -type messageCMSServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewMessageCMSServer(port int) *messageCMSServer { - log.NewPrivateLog(constant.LogFileName) - return &messageCMSServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImMessageCMSName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *messageCMSServer) Run() { - log.NewInfo("0", "messageCMS rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbMessageCMS.RegisterMessageCMSServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - log.NewInfo("", "rpcRegisterIP", rpcRegisterIP) - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - panic(utils.Wrap(err, "register message_cms module rpc to etcd err")) - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "message cms rpc success") -} - -func (s *messageCMSServer) BoradcastMessage(_ context.Context, req *pbMessageCMS.BoradcastMessageReq) (*pbMessageCMS.BoradcastMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "BoradcastMessage", req.String()) - resp := &pbMessageCMS.BoradcastMessageResp{} - return resp, errors.WrapError(constant.ErrDB) -} - -func (s *messageCMSServer) GetChatLogs(_ context.Context, req *pbMessageCMS.GetChatLogsReq) (*pbMessageCMS.GetChatLogsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) - resp := &pbMessageCMS.GetChatLogsResp{} - time, err := utils.TimeStringToTime(req.Date) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) - } - chatLog := db.ChatLog{ - Content: req.Content, - SendTime: time, - ContentType: req.ContentType, - SessionType: req.SessionType, - } - switch chatLog.SessionType { - case constant.SingleChatType: - chatLog.SendID = req.UserId - case constant.GroupChatType: - chatLog.RecvID = req.GroupId - chatLog.SendID = req.UserId - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "chat_log: ", chatLog) - nums, err := imdb.GetChatLogCount(chatLog) - resp.ChatLogsNum = int32(nums) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLogCount", err.Error()) - } - chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, chatLog := range chatLogs { - pbChatLog := &pbMessageCMS.ChatLogs{ - SessionType: chatLog.SessionType, - ContentType: chatLog.ContentType, - SearchContent: req.Content, - WholeContent: chatLog.Content, - Date: chatLog.CreateTime.String(), - SenderNickName: chatLog.SenderNickname, - SenderId: chatLog.SendID, - } - if chatLog.SenderNickname == "" { - sendUser, err := imdb.GetUserByUserID(chatLog.SendID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.SenderNickName = sendUser.Nickname - } - switch chatLog.SessionType { - case constant.SingleChatType: - recvUser, err := imdb.GetUserByUserID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetUserByUserID failed", err.Error()) - continue - } - pbChatLog.ReciverId = recvUser.UserID - pbChatLog.ReciverNickName = recvUser.Nickname - - case constant.GroupChatType: - group, err := imdb.GetGroupInfoByGroupID(chatLog.RecvID) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupById failed") - continue - } - pbChatLog.GroupId = group.GroupID - pbChatLog.GroupName = group.GroupName - } - resp.ChatLogs = append(resp.ChatLogs, pbChatLog) - } - resp.Pagination = &open_im_sdk.ResponsePagination{ - CurrentPage: req.Pagination.PageNumber, - ShowNumber: req.Pagination.ShowNumber, - } - - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp output: ", resp.String()) - return resp, nil -} - -func (s *messageCMSServer) MassSendMessage(_ context.Context, req *pbMessageCMS.MassSendMessageReq) (*pbMessageCMS.MassSendMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "MassSendMessage", req.String()) - resp := &pbMessageCMS.MassSendMessageResp{} - return resp, nil -} - -func (s *messageCMSServer) WithdrawMessage(_ context.Context, req *pbMessageCMS.WithdrawMessageReq) (*pbMessageCMS.WithdrawMessageResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "WithdrawMessage", req.String()) - resp := &pbMessageCMS.WithdrawMessageResp{} - return resp, nil -} diff --git a/internal/rpc/statistics/statistics.go b/internal/rpc/statistics/statistics.go deleted file mode 100644 index 8947c6a74..000000000 --- a/internal/rpc/statistics/statistics.go +++ /dev/null @@ -1,399 +0,0 @@ -package statistics - -import ( - "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" - "context" - "strconv" - "sync" - "time" - - //"Open_IM/pkg/common/constant" - //"Open_IM/pkg/common/db" - imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" - "Open_IM/pkg/common/log" - - //cp "Open_IM/pkg/common/utils" - "Open_IM/pkg/grpc-etcdv3/getcdv3" - pbStatistics "Open_IM/pkg/proto/statistics" - - //open_im_sdk "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" - //"context" - errors "Open_IM/pkg/common/http" - "net" - "strings" - - "google.golang.org/grpc" -) - -type statisticsServer struct { - rpcPort int - rpcRegisterName string - etcdSchema string - etcdAddr []string -} - -func NewStatisticsServer(port int) *statisticsServer { - log.NewPrivateLog(constant.LogFileName) - return &statisticsServer{ - rpcPort: port, - rpcRegisterName: config.Config.RpcRegisterName.OpenImStatisticsName, - etcdSchema: config.Config.Etcd.EtcdSchema, - etcdAddr: config.Config.Etcd.EtcdAddr, - } -} - -func (s *statisticsServer) Run() { - log.NewInfo("0", "Statistics rpc start ") - - listenIP := "" - if config.Config.ListenIP == "" { - listenIP = "0.0.0.0" - } else { - listenIP = config.Config.ListenIP - } - address := listenIP + ":" + strconv.Itoa(s.rpcPort) - - //listener network - listener, err := net.Listen("tcp", address) - if err != nil { - panic("listening err:" + err.Error() + s.rpcRegisterName) - } - log.NewInfo("0", "listen network success, ", address, listener) - defer listener.Close() - //grpc server - srv := grpc.NewServer() - defer srv.GracefulStop() - //Service registers with etcd - pbStatistics.RegisterUserServer(srv, s) - rpcRegisterIP := config.Config.RpcRegisterIP - if config.Config.RpcRegisterIP == "" { - rpcRegisterIP, err = utils.GetLocalIP() - if err != nil { - log.Error("", "GetLocalIP failed ", err.Error()) - } - } - err = getcdv3.RegisterEtcd(s.etcdSchema, strings.Join(s.etcdAddr, ","), rpcRegisterIP, s.rpcPort, s.rpcRegisterName, 10) - if err != nil { - log.NewError("0", "RegisterEtcd failed ", err.Error()) - panic(utils.Wrap(err, "register statistics module rpc to etcd err")) - } - err = srv.Serve(listener) - if err != nil { - log.NewError("0", "Serve failed ", err.Error()) - return - } - log.NewInfo("0", "statistics rpc success") -} - -func (s *statisticsServer) GetActiveGroup(_ context.Context, req *pbStatistics.GetActiveGroupReq) (*pbStatistics.GetActiveGroupResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req", req.String()) - resp := &pbStatistics.GetActiveGroupResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeGroup := range activeGroups { - resp.Groups = append(resp.Groups, - &pbStatistics.GroupResp{ - GroupName: activeGroup.Name, - GroupId: activeGroup.Id, - MessageNum: int32(activeGroup.MessageNum), - }) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func (s *statisticsServer) GetActiveUser(_ context.Context, req *pbStatistics.GetActiveUserReq) (*pbStatistics.GetActiveUserResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetActiveUserResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) - activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - for _, activeUser := range activeUsers { - resp.Users = append(resp.Users, - &pbStatistics.UserResp{ - UserId: activeUser.Id, - NickName: activeUser.Name, - MessageNum: int32(activeUser.MessageNum), - }, - ) - } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp.String()) - return resp, nil -} - -func ParseTimeFromTo(from, to string) (time.Time, time.Time, error) { - var fromTime time.Time - var toTime time.Time - fromTime, err := utils.TimeStringToTime(from) - if err != nil { - return fromTime, toTime, err - } - toTime, err = utils.TimeStringToTime(to) - if err != nil { - return fromTime, toTime, err - } - return fromTime, toTime, nil -} - -func isInOneMonth(from, to time.Time) bool { - return from.Month() == to.Month() && from.Year() == to.Year() -} - -func GetRangeDate(from, to time.Time) [][2]time.Time { - interval := to.Sub(from) - var times [][2]time.Time - switch { - // today - case interval == 0: - times = append(times, [2]time.Time{ - from, from.Add(time.Hour * 24), - }) - // days - case isInOneMonth(from, to): - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - // month - case !isInOneMonth(from, to): - if to.Sub(from) < time.Hour*24*30 { - for i := 0; ; i++ { - fromTime := from.Add(time.Hour * 24 * time.Duration(i)) - toTime := from.Add(time.Hour * 24 * time.Duration(i+1)) - if toTime.After(to.Add(time.Hour * 24)) { - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - } else { - for i := 0; ; i++ { - if i == 0 { - fromTime := from - toTime := getFirstDateOfNextNMonth(fromTime, 1) - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } else { - fromTime := getFirstDateOfNextNMonth(from, i) - toTime := getFirstDateOfNextNMonth(fromTime, 1) - if toTime.After(to) { - toTime = to - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - break - } - times = append(times, [2]time.Time{ - fromTime, toTime, - }) - } - - } - } - } - return times -} - -func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { - lastOfMonth := time.Date(currentTime.Year(), currentTime.Month(), 1, 0, 0, 0, 0, currentTime.Location()).AddDate(0, n, 0) - return lastOfMonth -} - -func (s *statisticsServer) GetGroupStatistics(_ context.Context, req *pbStatistics.GetGroupStatisticsReq) (*pbStatistics.GetGroupStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetGroupStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) - return resp, errors.WrapError(constant.ErrDB) - } - totalGroupNum, err := imdb.GetTotalGroupNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.IncreaseGroupNum = increaseGroupNum - resp.TotalGroupNum = totalGroupNum - times := GetRangeDate(fromTime, toTime) - log.NewDebug(req.OperationID, "times:", times) - wg := &sync.WaitGroup{} - resp.IncreaseGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.TotalGroupNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetIncreaseGroupNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.IncreaseGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupNum(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.TotalGroupNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} - -func (s *statisticsServer) GetMessageStatistics(_ context.Context, req *pbStatistics.GetMessageStatisticsReq) (*pbStatistics.GetMessageStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbStatistics.GetMessageStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) - resp.PrivateMessageNum = privateMessageNum - resp.GroupMessageNum = groupMessageNum - times := GetRangeDate(fromTime, toTime) - resp.GroupMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.PrivateMessageNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - - num, err := imdb.GetPrivateMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.PrivateMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetGroupMessageNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.GroupMessageNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - return resp, nil -} - -func (s *statisticsServer) GetUserStatistics(_ context.Context, req *pbStatistics.GetUserStatisticsReq) (*pbStatistics.GetUserStatisticsResp, error) { - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbStatistics.GetUserStatisticsResp{} - fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) - return resp, errors.WrapError(constant.ErrArgs) - } - activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - totalUserNum, err := imdb.GetTotalUserNum() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) - } - resp.ActiveUserNum = activeUserNum - resp.TotalUserNum = totalUserNum - resp.IncreaseUserNum = increaseUserNum - times := GetRangeDate(fromTime, toTime) - resp.TotalUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.ActiveUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - resp.IncreaseUserNumList = make([]*pbStatistics.DateNumList, len(times), len(times)) - wg := &sync.WaitGroup{} - wg.Add(len(times)) - for i, v := range times { - go func(wg *sync.WaitGroup, index int, v [2]time.Time) { - defer wg.Done() - num, err := imdb.GetActiveUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum", v, err.Error()) - } - resp.ActiveUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - - num, err = imdb.GetTotalUserNumByDate(v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNumByDate", v, err.Error()) - } - resp.TotalUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - num, err = imdb.GetIncreaseUserNum(v[0], v[1]) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum", v, err.Error()) - } - resp.IncreaseUserNumList[index] = &pbStatistics.DateNumList{ - Date: v[0].String(), - Num: num, - } - }(wg, i, v) - } - wg.Wait() - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) - return resp, nil -} diff --git a/pkg/cms_api_struct/admin.go b/pkg/cms_api_struct/admin.go index bdd375d1a..bca998291 100644 --- a/pkg/cms_api_struct/admin.go +++ b/pkg/cms_api_struct/admin.go @@ -6,7 +6,7 @@ import ( ) type AdminLoginRequest struct { - AdminName string `json:"adminName" binding:"required"` + AdminName string `json:"adminID" binding:"required"` Secret string `json:"secret" binding:"required"` OperationID string `json:"operationID" binding:"required"` } diff --git a/pkg/cms_api_struct/group.go b/pkg/cms_api_struct/group.go index 5296478b6..416e040b5 100644 --- a/pkg/cms_api_struct/group.go +++ b/pkg/cms_api_struct/group.go @@ -1,9 +1,8 @@ package cms_api_struct type GroupResponse struct { - GroupOwnerName string `json:"GroupOwnerName"` - GroupOwnerID string `json:"GroupOwnerID"` - //*server_api_params.GroupInfo + GroupOwnerName string `json:"GroupOwnerName"` + GroupOwnerID string `json:"GroupOwnerID"` GroupID string `json:"groupID"` GroupName string `json:"groupName"` Notification string `json:"notification"` @@ -23,27 +22,9 @@ type GroupResponse struct { NotificationUserID string `json:"notificationUserID"` } -type GetGroupByIDRequest struct { - GroupID string `form:"groupID" binding:"required"` -} - -type GetGroupByIDResponse struct { - GroupResponse -} - -type GetGroupRequest struct { - GroupName string `form:"groupName" binding:"required"` - RequestPagination -} - -type GetGroupResponse struct { - Groups []GroupResponse `json:"groups"` - GroupNums int `json:"groupNums"` - ResponsePagination -} - type GetGroupsRequest struct { RequestPagination + OperationID string `json:"operationID"` } type GetGroupsResponse struct { @@ -52,55 +33,10 @@ type GetGroupsResponse struct { ResponsePagination } -type CreateGroupRequest struct { - GroupName string `json:"groupName" binding:"required"` - GroupMasterId string `json:"groupOwnerID" binding:"required"` - GroupMembers []string `json:"groupMembers" binding:"required"` -} - -type CreateGroupResponse struct { -} - -type SetGroupMasterRequest struct { - GroupId string `json:"groupID" binding:"required"` - UserId string `json:"userID" binding:"required"` -} - -type SetGroupMasterResponse struct { -} - -type SetGroupMemberRequest struct { - GroupId string `json:"groupID" binding:"required"` - UserId string `json:"userID" binding:"required"` -} - -type SetGroupMemberRespones struct { -} - -type BanGroupChatRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type BanGroupChatResponse struct { -} - -type BanPrivateChatRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type BanPrivateChatResponse struct { -} - -type DeleteGroupRequest struct { - GroupId string `json:"groupID" binding:"required"` -} - -type DeleteGroupResponse struct { -} - type GetGroupMembersRequest struct { - GroupID string `form:"groupID" binding:"required"` - UserName string `form:"userName"` + GroupID string `form:"groupID" binding:"required"` + UserName string `form:"userName"` + OperationID string `json:"operationID"` RequestPagination } @@ -124,41 +60,3 @@ type GetGroupMembersResponse struct { ResponsePagination MemberNums int `json:"memberNums"` } - -type GroupMemberRequest struct { - GroupId string `json:"groupID" binding:"required"` - Members []string `json:"members" binding:"required"` -} - -type GroupMemberOperateResponse struct { - Success []string `json:"success"` - Failed []string `json:"failed"` -} - -type AddGroupMembersRequest struct { - GroupMemberRequest -} - -type AddGroupMembersResponse struct { - GroupMemberOperateResponse -} - -type RemoveGroupMembersRequest struct { - GroupMemberRequest -} - -type RemoveGroupMembersResponse struct { - GroupMemberOperateResponse -} - -type AlterGroupInfoRequest struct { - GroupID string `json:"groupID"` - GroupName string `json:"groupName"` - Notification string `json:"notification"` - Introduction string `json:"introduction"` - ProfilePhoto string `json:"profilePhoto"` - GroupType int `json:"groupType"` -} - -type AlterGroupInfoResponse struct { -} diff --git a/pkg/cms_api_struct/user.go b/pkg/cms_api_struct/user.go index c4c433a1e..b994d07e0 100644 --- a/pkg/cms_api_struct/user.go +++ b/pkg/cms_api_struct/user.go @@ -17,63 +17,15 @@ type UserResponse struct { Gender int `json:"gender"` } -type GetUserRequest struct { - UserId string `form:"user_id" binding:"required"` -} - -type GetUserResponse struct { - UserResponse -} - -type GetUsersRequest struct { - RequestPagination -} - -type GetUsersResponse struct { - Users []*UserResponse `json:"users"` - ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type GetUsersByNameRequest struct { - UserName string `form:"user_name" binding:"required"` - RequestPagination -} - -type GetUsersByNameResponse struct { - Users []*UserResponse `json:"users"` - ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type ResignUserRequest struct { - UserId string `json:"user_id"` -} - -type ResignUserResponse struct { -} - -type AlterUserRequest struct { - UserId string `json:"user_id" binding:"required"` - Nickname string `json:"nickname"` - PhoneNumber string `json:"phone_number" validate:"len=11"` - Email string `json:"email"` - Birth string `json:"birth"` - Gender string `json:"gender"` - Photo string `json:"photo"` -} - -type AlterUserResponse struct { -} - type AddUserRequest struct { - PhoneNumber string `json:"phone_number" binding:"required"` - UserId string `json:"user_id" binding:"required"` + OperationID string `json:"operationID"` + PhoneNumber string `json:"phoneNumber" binding:"required"` + UserId string `json:"userID" binding:"required"` Name string `json:"name" binding:"required"` Email string `json:"email"` Birth string `json:"birth"` Gender string `json:"gender"` - Photo string `json:"photo"` + FaceURL string `json:"faceURL"` } type AddUserResponse struct { @@ -81,46 +33,34 @@ type AddUserResponse struct { type BlockUser struct { UserResponse - BeginDisableTime string `json:"begin_disable_time"` - EndDisableTime string `json:"end_disable_time"` + BeginDisableTime string `json:"beginDisableTime"` + EndDisableTime string `json:"endDisableTime"` } type BlockUserRequest struct { - UserId string `json:"user_id" binding:"required"` - EndDisableTime string `json:"end_disable_time" binding:"required"` + OperationID string `json:"operationID"` + UserID string `json:"userID" binding:"required"` + EndDisableTime string `json:"endDisableTime" binding:"required"` } type BlockUserResponse struct { } type UnblockUserRequest struct { - UserId string `json:"user_id" binding:"required"` + OperationID string `json:"operationID"` + UserID string `json:"userID" binding:"required"` } type UnBlockUserResponse struct { } type GetBlockUsersRequest struct { + OperationID string `json:"operationID"` RequestPagination } type GetBlockUsersResponse struct { - BlockUsers []BlockUser `json:"block_users"` + BlockUsers []BlockUser `json:"blockUsers"` ResponsePagination - UserNums int32 `json:"user_nums"` -} - -type GetBlockUserRequest struct { - UserId string `form:"user_id" binding:"required"` -} - -type GetBlockUserResponse struct { - BlockUser -} - -type DeleteUserRequest struct { - UserId string `json:"user_id" binding:"required"` -} - -type DeleteUserResponse struct { + UserNums int32 `json:"userNums"` } diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 489c27c47..65be89ce3 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -227,17 +227,17 @@ type Black struct { type ChatLog struct { ServerMsgID string `gorm:"column:server_msg_id;primary_key;type:char(64)" json:"serverMsgID"` ClientMsgID string `gorm:"column:client_msg_id;type:char(64)" json:"clientMsgID"` - SendID string `gorm:"column:send_id;type:char(64)" json:"sendID"` - RecvID string `gorm:"column:recv_id;type:char(64)" json:"recvID"` + SendID string `gorm:"column:send_id;type:char(64);index:search" json:"sendID"` + RecvID string `gorm:"column:recv_id;type:char(64);index:search" json:"recvID"` SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255)" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type" json:"sessionType"` + SessionType int32 `gorm:"column:session_type;;index:search" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` - ContentType int32 `gorm:"column:content_type" json:"contentType"` - Content string `gorm:"column:content;type:varchar(3000)" json:"content"` + ContentType int32 `gorm:"column:content_type;index:search" json:"contentType"` + Content string `gorm:"column:content;type:varchar(3000);index:search" json:"content"` Status int32 `gorm:"column:status" json:"status"` - SendTime time.Time `gorm:"column:send_time" json:"sendTime"` + SendTime time.Time `gorm:"column:send_time;;index:search" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 1279aad80..80000e1bd 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -1,6 +1,7 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" @@ -15,8 +16,10 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, if chatLog.SessionType != 0 { db = db.Where("session_type = ?", chatLog.SessionType) } - if chatLog.ContentType != 0 { + if chatLog.ContentType == 1 { db = db.Where("content_type = ?", chatLog.ContentType) + } else if chatLog.ContentType == 2 { + db = db.Where("content_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } if chatLog.SendID != "" { db = db.Where("send_id = ?", chatLog.SendID) diff --git a/pkg/common/http/http_resp.go b/pkg/common/http/http_resp.go deleted file mode 100644 index cdbf04463..000000000 --- a/pkg/common/http/http_resp.go +++ /dev/null @@ -1,43 +0,0 @@ -package http - -import ( - "Open_IM/pkg/common/constant" - "fmt" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - //"Open_IM/pkg/cms_api_struct" - "net/http" - - "github.com/gin-gonic/gin" -) - -type BaseResp struct { - Code int32 `json:"code"` - ErrMsg string `json:"err_msg"` - Data interface{} `json:"data"` -} - -func RespHttp200(ctx *gin.Context, err error, data interface{}) { - var resp BaseResp - switch e := err.(type) { - case constant.ErrInfo: - resp.Code = e.ErrCode - resp.ErrMsg = e.ErrMsg - default: - s, ok := status.FromError(err) - if !ok { - fmt.Println("need grpc format error") - return - } - resp.Code = int32(s.Code()) - resp.ErrMsg = s.Message() - } - resp.Data = data - ctx.JSON(http.StatusOK, resp) -} - -// warp error -func WrapError(err constant.ErrInfo) error { - return status.Error(codes.Code(err.ErrCode), err.ErrMsg) -} diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 00fc7fe42..311feb3ca 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{0} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{1} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -136,7 +136,7 @@ func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{2} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{3} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -227,7 +227,7 @@ func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegis func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{4} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -267,7 +267,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{5} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -319,7 +319,7 @@ func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUse func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{6} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -358,7 +358,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{7} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -405,7 +405,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{8} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -464,7 +464,7 @@ func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{9} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{9} } func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) @@ -542,21 +542,23 @@ func (m *GetChatLogsReq) GetOperationID() string { type ChatLog struct { ServerMsgID string `protobuf:"bytes,1,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"` - StringClientMsgID string `protobuf:"bytes,2,opt,name=stringClientMsgID" json:"stringClientMsgID,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"` SendID string `protobuf:"bytes,3,opt,name=SendID" json:"SendID,omitempty"` RecvID string `protobuf:"bytes,4,opt,name=RecvID" json:"RecvID,omitempty"` - SenderPlatformID int32 `protobuf:"varint,5,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"` - SenderNickname string `protobuf:"bytes,6,opt,name=SenderNickname" json:"SenderNickname,omitempty"` - SenderFaceURL string `protobuf:"bytes,7,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"` - GroupName string `protobuf:"bytes,8,opt,name=GroupName" json:"GroupName,omitempty"` - SessionType int32 `protobuf:"varint,9,opt,name=SessionType" json:"SessionType,omitempty"` - MsgFrom int32 `protobuf:"varint,10,opt,name=MsgFrom" json:"MsgFrom,omitempty"` - ContentType int32 `protobuf:"varint,11,opt,name=ContentType" json:"ContentType,omitempty"` - Content string `protobuf:"bytes,12,opt,name=Content" json:"Content,omitempty"` - Status int32 `protobuf:"varint,13,opt,name=Status" json:"Status,omitempty"` - SendTime int64 `protobuf:"varint,14,opt,name=SendTime" json:"SendTime,omitempty"` - CreateTime int64 `protobuf:"varint,15,opt,name=CreateTime" json:"CreateTime,omitempty"` - Ex string `protobuf:"bytes,16,opt,name=Ex" json:"Ex,omitempty"` + GroupID string `protobuf:"bytes,5,opt,name=groupID" json:"groupID,omitempty"` + RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname" json:"recvNickname,omitempty"` + SenderPlatformID int32 `protobuf:"varint,7,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,8,opt,name=SenderNickname" json:"SenderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,9,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"` + GroupName string `protobuf:"bytes,10,opt,name=GroupName" json:"GroupName,omitempty"` + SessionType int32 `protobuf:"varint,11,opt,name=SessionType" json:"SessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,12,opt,name=MsgFrom" json:"MsgFrom,omitempty"` + ContentType int32 `protobuf:"varint,13,opt,name=ContentType" json:"ContentType,omitempty"` + Content string `protobuf:"bytes,14,opt,name=Content" json:"Content,omitempty"` + Status int32 `protobuf:"varint,15,opt,name=Status" json:"Status,omitempty"` + SendTime int64 `protobuf:"varint,16,opt,name=SendTime" json:"SendTime,omitempty"` + CreateTime int64 `protobuf:"varint,17,opt,name=CreateTime" json:"CreateTime,omitempty"` + Ex string `protobuf:"bytes,18,opt,name=Ex" json:"Ex,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -566,7 +568,7 @@ func (m *ChatLog) Reset() { *m = ChatLog{} } func (m *ChatLog) String() string { return proto.CompactTextString(m) } func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{10} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{10} } func (m *ChatLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChatLog.Unmarshal(m, b) @@ -593,9 +595,9 @@ func (m *ChatLog) GetServerMsgID() string { return "" } -func (m *ChatLog) GetStringClientMsgID() string { +func (m *ChatLog) GetClientMsgID() string { if m != nil { - return m.StringClientMsgID + return m.ClientMsgID } return "" } @@ -614,6 +616,20 @@ func (m *ChatLog) GetRecvID() string { return "" } +func (m *ChatLog) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *ChatLog) GetRecvNickname() string { + if m != nil { + return m.RecvNickname + } + return "" +} + func (m *ChatLog) GetSenderPlatformID() int32 { if m != nil { return m.SenderPlatformID @@ -712,7 +728,7 @@ func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{11} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{11} } func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) @@ -772,7 +788,7 @@ func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{12} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{12} } func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) @@ -818,7 +834,7 @@ func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{13} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{13} } func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) @@ -865,7 +881,7 @@ func (m *UserResp) Reset() { *m = UserResp{} } func (m *UserResp) String() string { return proto.CompactTextString(m) } func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{14} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{14} } func (m *UserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserResp.Unmarshal(m, b) @@ -918,7 +934,7 @@ func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{15} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{15} } func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) @@ -964,7 +980,7 @@ func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{16} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{16} } func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) @@ -1012,7 +1028,7 @@ func (m *GroupResp) Reset() { *m = GroupResp{} } func (m *GroupResp) String() string { return proto.CompactTextString(m) } func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{17} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{17} } func (m *GroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupResp.Unmarshal(m, b) @@ -1072,7 +1088,7 @@ func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{18} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{18} } func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) @@ -1118,7 +1134,7 @@ func (m *DateNumList) Reset() { *m = DateNumList{} } func (m *DateNumList) String() string { return proto.CompactTextString(m) } func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{19} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{19} } func (m *DateNumList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DateNumList.Unmarshal(m, b) @@ -1164,7 +1180,7 @@ func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{20} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{20} } func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) @@ -1213,7 +1229,7 @@ func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsRe func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{21} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{21} } func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) @@ -1280,7 +1296,7 @@ func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{22} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{22} } func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) @@ -1329,7 +1345,7 @@ func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{23} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{23} } func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) @@ -1396,7 +1412,7 @@ func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{24} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{24} } func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) @@ -1447,7 +1463,7 @@ func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_a6bac7cb5a282446, []int{25} + return fileDescriptor_admin_cms_521fdb68576e364f, []int{25} } func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) @@ -1915,98 +1931,99 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_a6bac7cb5a282446) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_521fdb68576e364f) } -var fileDescriptor_admin_cms_a6bac7cb5a282446 = []byte{ - // 1416 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6e, 0xdb, 0xc6, - 0x13, 0x07, 0x25, 0xcb, 0xb2, 0x46, 0xb1, 0x63, 0x6f, 0xec, 0x84, 0x51, 0xf2, 0xcf, 0x5f, 0x66, - 0x93, 0x42, 0x2d, 0x52, 0xa9, 0x70, 0xd0, 0x53, 0x81, 0x14, 0x8e, 0x94, 0xa8, 0x0a, 0xac, 0xc4, - 0x60, 0x92, 0x02, 0x6d, 0xd1, 0x08, 0xac, 0xb4, 0x56, 0x09, 0x5b, 0xe4, 0x9a, 0xbb, 0x72, 0x1c, - 0x14, 0xbd, 0xe6, 0xd2, 0x7b, 0x0f, 0x3d, 0xf6, 0x15, 0xfa, 0x04, 0x3d, 0xf6, 0x31, 0x8a, 0x3e, - 0x47, 0x81, 0x62, 0x77, 0xf9, 0xb1, 0x4b, 0xd2, 0x92, 0xec, 0xa0, 0xbe, 0x71, 0x66, 0xe7, 0x63, - 0xe7, 0xf7, 0x9b, 0x59, 0x2e, 0x09, 0x37, 0x9d, 0xd1, 0xc4, 0xf5, 0x06, 0xc3, 0x09, 0x6d, 0xc5, - 0x4f, 0x4d, 0x12, 0xf8, 0xcc, 0x47, 0x95, 0x58, 0x51, 0xdb, 0x7e, 0x4e, 0xb0, 0x37, 0xe8, 0xf5, - 0x5b, 0xe4, 0x70, 0xdc, 0x12, 0xab, 0x2d, 0x3a, 0x3a, 0x1c, 0xbc, 0xa1, 0xad, 0x37, 0xa1, 0xb5, - 0xf5, 0x10, 0xa0, 0xed, 0x4f, 0x26, 0xbe, 0x67, 0x63, 0x4a, 0x90, 0x09, 0x65, 0x1c, 0x04, 0x6d, - 0x7f, 0x84, 0x4d, 0xa3, 0x6e, 0x34, 0x4a, 0x76, 0x24, 0xa2, 0xeb, 0xb0, 0x8c, 0x83, 0xa0, 0x4f, - 0xc7, 0x66, 0xa1, 0x6e, 0x34, 0x2a, 0x76, 0x28, 0x59, 0x43, 0x58, 0xdd, 0xe5, 0xf9, 0xf6, 0xfc, - 0xb1, 0xeb, 0xd9, 0xf8, 0x18, 0xd5, 0xa1, 0xfa, 0x9c, 0xe0, 0xc0, 0x61, 0xae, 0xef, 0xf5, 0x3a, - 0x22, 0x4c, 0xc5, 0x56, 0x55, 0x3c, 0x89, 0x70, 0xe9, 0x75, 0xc2, 0x58, 0x91, 0xc8, 0x93, 0xbc, - 0xc0, 0xc3, 0x00, 0x33, 0xb3, 0x28, 0x93, 0x48, 0xc9, 0xfa, 0x0e, 0xd6, 0xd4, 0x24, 0x94, 0xa0, - 0x4d, 0x28, 0x31, 0xff, 0x10, 0x7b, 0x61, 0x7c, 0x29, 0xa0, 0xcf, 0x00, 0x86, 0x71, 0x31, 0x22, - 0x78, 0x75, 0x67, 0xab, 0x99, 0x00, 0x94, 0x54, 0x6a, 0x2b, 0x86, 0x16, 0x86, 0xed, 0xdd, 0xd1, - 0xe8, 0x15, 0xc5, 0x81, 0x8d, 0xc7, 0x2e, 0x65, 0x38, 0xd8, 0x1d, 0x8d, 0x9e, 0x04, 0x2e, 0xf6, - 0x46, 0xbd, 0xce, 0x9e, 0x4b, 0x59, 0x58, 0x97, 0x9f, 0xad, 0x4b, 0x51, 0xa1, 0x3b, 0x00, 0x53, - 0x8a, 0x03, 0xe9, 0x62, 0x16, 0xea, 0xc5, 0x46, 0xc5, 0x56, 0x34, 0xd6, 0xb7, 0x60, 0xcd, 0x4b, - 0x43, 0x49, 0xaa, 0x06, 0x63, 0xd1, 0x1a, 0xde, 0x19, 0x70, 0xd7, 0xc6, 0xa3, 0xe9, 0x10, 0xbf, - 0x77, 0x1d, 0xb7, 0xa1, 0x12, 0x8b, 0x02, 0xc4, 0x92, 0x9d, 0x28, 0x52, 0x55, 0x16, 0x33, 0x55, - 0xbe, 0x86, 0x7b, 0x0b, 0xec, 0xe3, 0xe2, 0x85, 0xfe, 0x6c, 0xc0, 0x76, 0x17, 0xb3, 0xf7, 0xae, - 0xb2, 0x03, 0x40, 0x9c, 0xb1, 0xeb, 0x25, 0x65, 0x56, 0x77, 0xee, 0x36, 0x29, 0x0e, 0x4e, 0x70, - 0x30, 0x70, 0x88, 0x3b, 0x20, 0x4e, 0xe0, 0x4c, 0x68, 0xd3, 0xc6, 0xc7, 0x53, 0x4c, 0xd9, 0x7e, - 0x6c, 0x6b, 0x2b, 0x7e, 0xd6, 0xdf, 0x06, 0x58, 0xf3, 0x76, 0x43, 0x09, 0xfa, 0x02, 0xae, 0x08, - 0x88, 0xbc, 0x03, 0x5f, 0xc0, 0x66, 0xd4, 0x8b, 0x8d, 0xea, 0xce, 0xad, 0x9c, 0x74, 0xaf, 0x42, - 0x33, 0x5b, 0x73, 0x40, 0x8f, 0x73, 0x76, 0x7b, 0x2f, 0x77, 0xb7, 0x94, 0xf8, 0x1e, 0xc5, 0xf9, - 0xdb, 0x4d, 0x61, 0x5e, 0x5c, 0x14, 0xf3, 0xdf, 0x0a, 0xb0, 0xd6, 0xc5, 0xac, 0xfd, 0x83, 0xc3, - 0xf6, 0xfc, 0x31, 0xe5, 0x00, 0x9b, 0x50, 0x6e, 0xfb, 0x1e, 0xc3, 0x1e, 0x0b, 0xc1, 0x8d, 0x44, - 0x39, 0xc4, 0xbc, 0xfa, 0xe8, 0xa4, 0x90, 0x12, 0xd7, 0xdb, 0x78, 0x78, 0xd2, 0xeb, 0x44, 0xc3, - 0x2d, 0x25, 0x54, 0x83, 0x15, 0x6e, 0xf1, 0xd2, 0x9d, 0x60, 0x73, 0x49, 0xac, 0xc4, 0x32, 0xa7, - 0xf1, 0x05, 0xa6, 0xd4, 0xf5, 0xbd, 0x97, 0x6f, 0x09, 0x36, 0x4b, 0xa2, 0x19, 0x55, 0x15, 0xb7, - 0x08, 0x13, 0x0b, 0x8b, 0x65, 0x69, 0xa1, 0xa8, 0x38, 0xd1, 0x09, 0x1a, 0x66, 0xf9, 0x3c, 0x44, - 0x27, 0xcf, 0xe9, 0x63, 0x6d, 0x25, 0x73, 0xac, 0x59, 0xff, 0x14, 0xa1, 0x1c, 0x22, 0x24, 0xf7, - 0xcd, 0x13, 0xf4, 0xe9, 0x38, 0x69, 0x3f, 0x45, 0x85, 0xee, 0xc3, 0x06, 0x65, 0x81, 0xeb, 0x8d, - 0xdb, 0x47, 0x2e, 0xf6, 0x98, 0xb4, 0x93, 0x80, 0x65, 0x17, 0x14, 0x4c, 0x8b, 0x67, 0x60, 0xba, - 0xa4, 0x61, 0xfa, 0x31, 0xac, 0x73, 0x0b, 0x1c, 0xec, 0x1f, 0x39, 0xec, 0xc0, 0x0f, 0x26, 0xbd, - 0x4e, 0x08, 0x5e, 0x46, 0x8f, 0x3e, 0x84, 0x35, 0xa9, 0x7b, 0xe6, 0x0e, 0x0f, 0x3d, 0x67, 0x22, - 0x41, 0xac, 0xd8, 0x29, 0x2d, 0xba, 0x0b, 0xab, 0x52, 0xf3, 0xc4, 0x19, 0xe2, 0x57, 0xf6, 0x9e, - 0x80, 0xb2, 0x62, 0xeb, 0x4a, 0x7e, 0x78, 0x74, 0x03, 0x7f, 0x4a, 0x9e, 0xf1, 0x40, 0x12, 0xa5, - 0x44, 0x91, 0xe6, 0xb3, 0x92, 0xe5, 0xd3, 0x84, 0x72, 0x9f, 0x8e, 0x9f, 0x04, 0xfe, 0xc4, 0x04, - 0xf9, 0x06, 0x0a, 0xc5, 0x34, 0xd3, 0xd5, 0x2c, 0xd3, 0x4a, 0x4f, 0x5e, 0xc9, 0xf6, 0x24, 0x73, - 0xd8, 0x94, 0x9a, 0xab, 0xc2, 0x2d, 0x94, 0xb4, 0xde, 0x5b, 0xab, 0x1b, 0x8d, 0xa2, 0xd2, 0x7b, - 0x77, 0x00, 0xda, 0x01, 0x76, 0x18, 0x16, 0xab, 0x57, 0xc5, 0xaa, 0xa2, 0x41, 0x6b, 0x50, 0x78, - 0x7c, 0x6a, 0xae, 0x8b, 0x44, 0x85, 0xc7, 0xa7, 0xd6, 0x5f, 0x06, 0x5c, 0xd5, 0x86, 0x84, 0x12, - 0xd4, 0x84, 0x95, 0x48, 0x0e, 0x67, 0x1e, 0xa9, 0xd3, 0x26, 0x97, 0xec, 0xd8, 0x86, 0x8f, 0xf9, - 0xfe, 0x45, 0xc7, 0x5c, 0x6f, 0xd6, 0x28, 0xe4, 0xb3, 0xe9, 0x44, 0xf4, 0x0c, 0x87, 0x2a, 0x51, - 0xf1, 0x83, 0x20, 0x99, 0x75, 0xd1, 0x3c, 0x67, 0x1f, 0x04, 0xc9, 0xb3, 0xf5, 0x00, 0x56, 0x39, - 0x72, 0x2e, 0x65, 0xee, 0x50, 0x1c, 0x03, 0x08, 0x96, 0x0e, 0x38, 0x57, 0xb2, 0xc3, 0xc5, 0x33, - 0x07, 0x86, 0xf9, 0x61, 0x2f, 0x17, 0x98, 0x6f, 0x31, 0x58, 0xef, 0x62, 0xb6, 0x3b, 0x64, 0xee, - 0x49, 0xf8, 0x52, 0x38, 0x46, 0x0f, 0x53, 0x81, 0xc2, 0xf3, 0xdf, 0x54, 0xb6, 0xa0, 0xad, 0xdb, - 0xa9, 0xbc, 0xa9, 0x71, 0x2c, 0x64, 0xc7, 0xf1, 0x35, 0xac, 0xc8, 0x64, 0x94, 0x70, 0x9a, 0x79, - 0x1b, 0x8b, 0x9e, 0x94, 0x3b, 0x8d, 0x65, 0xde, 0x1a, 0xe2, 0xcc, 0x1d, 0x45, 0xc7, 0x95, 0x94, - 0x38, 0xfd, 0x7d, 0x4c, 0xa9, 0x33, 0xc6, 0x09, 0x84, 0x8a, 0xc6, 0x9a, 0xc2, 0x46, 0xaa, 0x2a, - 0x4a, 0xd0, 0x47, 0x50, 0xe2, 0xcf, 0x11, 0xd9, 0xd7, 0x94, 0x72, 0x22, 0x1b, 0x5b, 0x5a, 0xa4, - 0x18, 0x28, 0x2c, 0xca, 0x80, 0x9a, 0x56, 0xcc, 0xd5, 0xe5, 0xa0, 0xf9, 0xab, 0x11, 0xce, 0xb5, - 0x28, 0x53, 0x1b, 0x72, 0x23, 0x3d, 0xe4, 0x26, 0x94, 0x85, 0x10, 0x43, 0x1a, 0x89, 0xf3, 0x30, - 0xbd, 0x68, 0x57, 0xbe, 0x05, 0x94, 0xc6, 0x84, 0x12, 0x74, 0x1f, 0x96, 0x85, 0x10, 0x91, 0xb1, - 0xa9, 0x04, 0x8a, 0xad, 0xec, 0xd0, 0xe6, 0xa2, 0x74, 0x3c, 0x80, 0x6a, 0xc7, 0x61, 0x7c, 0xf3, - 0xe2, 0x35, 0x8d, 0x60, 0x89, 0x8b, 0xd1, 0x38, 0xf0, 0x67, 0xb4, 0x0e, 0x45, 0x5e, 0xad, 0xbc, - 0x48, 0xf1, 0x47, 0xeb, 0x47, 0xb8, 0xd1, 0xc5, 0x2c, 0xac, 0x5b, 0x67, 0xe2, 0xbf, 0x67, 0xf2, - 0x8f, 0x02, 0x98, 0xf9, 0xd9, 0x05, 0x66, 0x1b, 0xfb, 0x81, 0x7b, 0xe2, 0x30, 0xac, 0xf0, 0x24, - 0xbf, 0x04, 0xb2, 0x0b, 0xa8, 0x01, 0x57, 0x05, 0x7a, 0x8a, 0xad, 0xac, 0x32, 0xad, 0x46, 0x7b, - 0xb0, 0x95, 0x71, 0x8f, 0xef, 0x8f, 0xd5, 0x9d, 0xeb, 0x4a, 0x79, 0x0a, 0x9c, 0x76, 0xbe, 0x13, - 0xfa, 0x12, 0xae, 0xa5, 0x12, 0x88, 0x58, 0x4b, 0x33, 0x63, 0xe5, 0xb9, 0xa4, 0x58, 0x2f, 0x2d, - 0xde, 0x70, 0x5b, 0x5d, 0xcc, 0x44, 0xc0, 0xcb, 0xa6, 0xef, 0xf7, 0x02, 0x5c, 0xcf, 0xcb, 0x4d, - 0x09, 0x7f, 0xe9, 0xf7, 0xbc, 0x61, 0x80, 0x1d, 0x2a, 0xa7, 0x20, 0xe1, 0x2e, 0xa3, 0xe7, 0x2f, - 0xf3, 0x97, 0x3e, 0x73, 0x8e, 0x62, 0x43, 0x49, 0x9c, 0xae, 0x44, 0x4f, 0x61, 0x33, 0xed, 0xb9, - 0x00, 0x6b, 0xb9, 0x3e, 0xa8, 0x03, 0x1b, 0x5a, 0xf0, 0x05, 0x28, 0xcb, 0x3a, 0x5c, 0x94, 0xb0, - 0x53, 0xd8, 0x0c, 0x6f, 0xe9, 0x97, 0xcd, 0xd7, 0x2f, 0x45, 0xd1, 0x2b, 0xe9, 0xd4, 0x94, 0xf0, - 0xe9, 0x89, 0x80, 0xe2, 0xab, 0x09, 0x5b, 0x69, 0x35, 0x27, 0x2b, 0x79, 0xcf, 0x28, 0x64, 0x69, - 0x4a, 0x64, 0xc1, 0x15, 0x81, 0x57, 0x64, 0x24, 0x8f, 0x57, 0x4d, 0xc7, 0x27, 0x27, 0x15, 0x7c, - 0x91, 0xc9, 0xc9, 0x71, 0xe1, 0x74, 0x6a, 0xe9, 0x45, 0x9c, 0xd2, 0x6c, 0x3a, 0x33, 0x0e, 0xe8, - 0x11, 0xac, 0xab, 0xfb, 0x13, 0x41, 0x96, 0x67, 0x06, 0xc9, 0xd8, 0xa7, 0x5a, 0xa2, 0xbc, 0x60, - 0x4b, 0xec, 0xfc, 0x59, 0x86, 0x15, 0x61, 0xd4, 0xee, 0xbf, 0x40, 0xbb, 0x00, 0xc9, 0x0f, 0x06, - 0xa4, 0xd2, 0xaf, 0xfd, 0xdc, 0xa8, 0xdd, 0x3c, 0x63, 0x85, 0x12, 0xf4, 0x13, 0xdc, 0x99, 0xfd, - 0x75, 0x8f, 0xee, 0x6b, 0xce, 0x73, 0xfe, 0x37, 0xd4, 0x3e, 0x39, 0x87, 0x35, 0x25, 0xe8, 0x9d, - 0x01, 0xdb, 0x73, 0xbf, 0xbb, 0x51, 0x4b, 0x09, 0xba, 0xc8, 0xdf, 0x82, 0xda, 0xa7, 0xe7, 0x73, - 0x90, 0x38, 0xcc, 0xfe, 0x20, 0xd6, 0x70, 0x98, 0xfb, 0x25, 0xaf, 0xe1, 0xb0, 0xc0, 0x97, 0x76, - 0x07, 0xaa, 0xca, 0x25, 0x1c, 0xdd, 0xd4, 0xbd, 0x95, 0x2f, 0xd8, 0x5a, 0xed, 0xac, 0x25, 0x4a, - 0xd0, 0x53, 0x58, 0xd5, 0x2e, 0x77, 0xe8, 0x96, 0x6e, 0xac, 0x5d, 0x66, 0x6b, 0xb7, 0xcf, 0x5e, - 0xa4, 0x04, 0xf5, 0xc5, 0xb7, 0xb3, 0x72, 0x3b, 0x41, 0xb9, 0xf6, 0xd1, 0x65, 0xae, 0xf6, 0xbf, - 0x19, 0xab, 0x94, 0xa0, 0x81, 0x38, 0xca, 0x32, 0xaf, 0x6f, 0x64, 0xe9, 0x6e, 0x79, 0xb7, 0x8b, - 0xda, 0x07, 0x73, 0x6d, 0x28, 0x41, 0x5f, 0x8b, 0xdb, 0x54, 0xea, 0x05, 0x83, 0xea, 0xba, 0x6b, - 0xf6, 0xdd, 0x57, 0xdb, 0x9e, 0x63, 0x41, 0x09, 0xfa, 0x4a, 0x5c, 0x5e, 0xf5, 0xb3, 0x10, 0xfd, - 0x3f, 0x4b, 0xb0, 0x1e, 0xb8, 0x3e, 0xdb, 0x80, 0x92, 0x47, 0x37, 0xbe, 0xd9, 0x6a, 0x26, 0xff, - 0x41, 0x3f, 0x8f, 0x9f, 0xbe, 0x5f, 0x16, 0x3f, 0x39, 0x1f, 0xfc, 0x1b, 0x00, 0x00, 0xff, 0xff, - 0xcd, 0xf8, 0xf8, 0x38, 0x2f, 0x15, 0x00, 0x00, +var fileDescriptor_admin_cms_521fdb68576e364f = []byte{ + // 1436 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x6e, 0x13, 0xc7, + 0x17, 0xd7, 0xda, 0x71, 0x1c, 0x1f, 0x93, 0x90, 0x1c, 0x12, 0x58, 0x0c, 0x7f, 0xfe, 0xce, 0x16, + 0xaa, 0xb4, 0xa2, 0x49, 0x15, 0xd4, 0xab, 0x4a, 0x54, 0x21, 0x86, 0xd4, 0x28, 0x86, 0x68, 0x81, + 0x4a, 0x6d, 0x55, 0xac, 0xad, 0x3d, 0xb8, 0xab, 0xe0, 0xdd, 0x61, 0x67, 0x1c, 0x40, 0x55, 0x6f, + 0xb9, 0xe9, 0x7d, 0x2f, 0x7a, 0xd9, 0x17, 0xe8, 0x45, 0x9f, 0xa0, 0x97, 0x7d, 0x8c, 0xaa, 0x2f, + 0x52, 0xcd, 0xcc, 0x7e, 0xcc, 0xec, 0x6e, 0x6c, 0x13, 0x54, 0xee, 0xe6, 0x9c, 0x39, 0x1f, 0x73, + 0x7e, 0xe7, 0x63, 0x66, 0x17, 0x2e, 0x7b, 0xc3, 0xb1, 0x1f, 0xf4, 0x07, 0x63, 0xb6, 0x93, 0xae, + 0xb6, 0x69, 0x14, 0xf2, 0x10, 0x1b, 0x29, 0xa3, 0xb5, 0xf9, 0x90, 0x92, 0xa0, 0xdf, 0xed, 0xed, + 0xd0, 0xe3, 0xd1, 0x8e, 0xdc, 0xdd, 0x61, 0xc3, 0xe3, 0xfe, 0x4b, 0xb6, 0xf3, 0x32, 0x96, 0x76, + 0x6e, 0x03, 0xec, 0x87, 0xe3, 0x71, 0x18, 0xb8, 0x84, 0x51, 0xb4, 0xa1, 0x4e, 0xa2, 0x68, 0x3f, + 0x1c, 0x12, 0xdb, 0x6a, 0x5b, 0x5b, 0x35, 0x37, 0x21, 0xf1, 0x22, 0x2c, 0x92, 0x28, 0xea, 0xb1, + 0x91, 0x5d, 0x69, 0x5b, 0x5b, 0x0d, 0x37, 0xa6, 0x9c, 0x01, 0x2c, 0xef, 0x09, 0x7f, 0x87, 0xe1, + 0xc8, 0x0f, 0x5c, 0xf2, 0x02, 0xdb, 0xd0, 0x7c, 0x48, 0x49, 0xe4, 0x71, 0x3f, 0x0c, 0xba, 0x1d, + 0x69, 0xa6, 0xe1, 0xea, 0x2c, 0xe1, 0x44, 0xaa, 0x74, 0x3b, 0xb1, 0xad, 0x84, 0x14, 0x4e, 0x1e, + 0x91, 0x41, 0x44, 0xb8, 0x5d, 0x55, 0x4e, 0x14, 0xe5, 0x7c, 0x07, 0x2b, 0xba, 0x13, 0x46, 0x71, + 0x1d, 0x6a, 0x3c, 0x3c, 0x26, 0x41, 0x6c, 0x5f, 0x11, 0xf8, 0x19, 0xc0, 0x20, 0x0d, 0x46, 0x1a, + 0x6f, 0xee, 0x6e, 0x6c, 0x67, 0x00, 0x65, 0x91, 0xba, 0x9a, 0xa0, 0x43, 0x60, 0x73, 0x6f, 0x38, + 0x7c, 0xc2, 0x48, 0xe4, 0x92, 0x91, 0xcf, 0x38, 0x89, 0xf6, 0x86, 0xc3, 0x7b, 0x91, 0x4f, 0x82, + 0x61, 0xb7, 0x73, 0xe8, 0x33, 0x1e, 0xc7, 0x15, 0x16, 0xe3, 0xd2, 0x58, 0x78, 0x0d, 0x60, 0xc2, + 0x48, 0xa4, 0x54, 0xec, 0x4a, 0xbb, 0xba, 0xd5, 0x70, 0x35, 0x8e, 0xf3, 0x2d, 0x38, 0xb3, 0xdc, + 0x30, 0x9a, 0x8b, 0xc1, 0x9a, 0x37, 0x86, 0x37, 0x16, 0x5c, 0x77, 0xc9, 0x70, 0x32, 0x20, 0xef, + 0x1c, 0xc7, 0x55, 0x68, 0xa4, 0xa4, 0x04, 0xb1, 0xe6, 0x66, 0x8c, 0x5c, 0x94, 0xd5, 0x42, 0x94, + 0x4f, 0xe1, 0xc6, 0x1c, 0xe7, 0x38, 0x7b, 0xa0, 0x3f, 0x5b, 0xb0, 0x79, 0x40, 0xf8, 0x3b, 0x47, + 0xd9, 0x01, 0xa0, 0xde, 0xc8, 0x0f, 0xb2, 0x30, 0x9b, 0xbb, 0xd7, 0xb7, 0x19, 0x89, 0x4e, 0x48, + 0xd4, 0xf7, 0xa8, 0xdf, 0xa7, 0x5e, 0xe4, 0x8d, 0xd9, 0xb6, 0x4b, 0x5e, 0x4c, 0x08, 0xe3, 0x47, + 0xa9, 0xac, 0xab, 0xe9, 0x39, 0xff, 0x58, 0xe0, 0xcc, 0x3a, 0x0d, 0xa3, 0xf8, 0x05, 0x9c, 0x93, + 0x10, 0x05, 0xcf, 0x42, 0x09, 0x9b, 0xd5, 0xae, 0x6e, 0x35, 0x77, 0xaf, 0x94, 0xb8, 0x7b, 0x12, + 0x8b, 0xb9, 0x86, 0x02, 0xde, 0x2d, 0x39, 0xed, 0x8d, 0xd2, 0xd3, 0x32, 0x1a, 0x06, 0x8c, 0x94, + 0x1f, 0x37, 0x87, 0x79, 0x75, 0x5e, 0xcc, 0x7f, 0xab, 0xc0, 0xca, 0x01, 0xe1, 0xfb, 0x3f, 0x78, + 0xfc, 0x30, 0x1c, 0x31, 0x01, 0xb0, 0x0d, 0xf5, 0xfd, 0x30, 0xe0, 0x24, 0xe0, 0x31, 0xb8, 0x09, + 0xa9, 0x9a, 0x58, 0x44, 0x9f, 0x4c, 0x0a, 0x45, 0x09, 0xbe, 0x4b, 0x06, 0x27, 0xdd, 0x4e, 0xd2, + 0xdc, 0x8a, 0xc2, 0x16, 0x2c, 0x09, 0x89, 0xc7, 0xfe, 0x98, 0xd8, 0x0b, 0x72, 0x27, 0xa5, 0x45, + 0x1a, 0x1f, 0x11, 0xc6, 0xfc, 0x30, 0x78, 0xfc, 0x9a, 0x12, 0xbb, 0x26, 0x8b, 0x51, 0x67, 0x09, + 0x89, 0xd8, 0xb1, 0x94, 0x58, 0x54, 0x12, 0x1a, 0x4b, 0x24, 0x3a, 0x43, 0xc3, 0xae, 0xbf, 0x4d, + 0xa2, 0xb3, 0x75, 0x7e, 0xac, 0x2d, 0x15, 0xc6, 0x9a, 0xf3, 0xfb, 0x02, 0xd4, 0x63, 0x84, 0xd4, + 0xb9, 0x85, 0x83, 0x1e, 0x1b, 0x65, 0xe5, 0xa7, 0xb1, 0xe4, 0xb9, 0x9f, 0xfb, 0x24, 0xe0, 0x4a, + 0x42, 0x41, 0xa5, 0xb3, 0x34, 0x1c, 0xab, 0xa7, 0xe0, 0xb8, 0x60, 0xe0, 0x68, 0x43, 0x7d, 0x14, + 0x85, 0x13, 0xda, 0xed, 0x48, 0x9c, 0x1a, 0x6e, 0x42, 0xa2, 0x03, 0xe7, 0x22, 0x32, 0x38, 0x79, + 0xe0, 0x0f, 0x8e, 0x03, 0x6f, 0xac, 0x40, 0x6a, 0xb8, 0x06, 0x0f, 0x3f, 0x86, 0x55, 0x61, 0x9f, + 0x44, 0x47, 0xcf, 0x3d, 0xfe, 0x2c, 0x8c, 0xc6, 0xdd, 0x8e, 0xc4, 0xaa, 0xe6, 0x16, 0xf8, 0xf8, + 0x21, 0xac, 0x28, 0x5e, 0x6a, 0x51, 0xc1, 0x91, 0xe3, 0xe2, 0x75, 0x58, 0x56, 0x9c, 0x7b, 0xde, + 0x80, 0x3c, 0x71, 0x0f, 0xed, 0x86, 0x14, 0x33, 0x99, 0x62, 0xdc, 0x1c, 0x88, 0x83, 0x3e, 0x10, + 0x86, 0x40, 0x4a, 0x64, 0x8c, 0x7c, 0x05, 0x34, 0x8b, 0x15, 0x60, 0x43, 0xbd, 0xc7, 0x46, 0xf7, + 0xa2, 0x70, 0x6c, 0x9f, 0x53, 0x77, 0x56, 0x4c, 0xe6, 0x6b, 0x63, 0xb9, 0x58, 0x1b, 0x5a, 0x15, + 0xaf, 0x14, 0xab, 0x98, 0x7b, 0x7c, 0xc2, 0xec, 0xf3, 0x52, 0x2d, 0xa6, 0x8c, 0x6a, 0x5d, 0x6d, + 0x5b, 0x5b, 0x55, 0xad, 0x5a, 0xaf, 0x01, 0xec, 0x47, 0xc4, 0xe3, 0x44, 0xee, 0xae, 0xc9, 0x5d, + 0x8d, 0x83, 0x2b, 0x50, 0xb9, 0xfb, 0xca, 0x46, 0xe9, 0xa8, 0x72, 0xf7, 0x95, 0xf3, 0xb7, 0x05, + 0xe7, 0x8d, 0xb6, 0x62, 0x14, 0xb7, 0x61, 0x29, 0xa1, 0xe3, 0x29, 0x81, 0x7a, 0x7f, 0xaa, 0x2d, + 0x37, 0x95, 0x11, 0x83, 0xe1, 0xe8, 0xac, 0x83, 0xc1, 0x2c, 0xef, 0xc4, 0xe4, 0x83, 0xc9, 0x58, + 0x56, 0x9c, 0x80, 0x2a, 0x63, 0x89, 0xd1, 0x91, 0x4d, 0x07, 0x59, 0x7a, 0xa7, 0x8f, 0x8e, 0x6c, + 0xed, 0xdc, 0x82, 0x65, 0x81, 0x9c, 0xcf, 0xb8, 0x3f, 0x90, 0x83, 0x03, 0x61, 0xe1, 0x99, 0xc8, + 0x95, 0xea, 0x09, 0xb9, 0x16, 0xc0, 0xf0, 0x30, 0xee, 0x81, 0x0a, 0x0f, 0x1d, 0x0e, 0xab, 0x07, + 0x84, 0xef, 0x0d, 0xb8, 0x7f, 0x12, 0x5f, 0x23, 0x2f, 0xf0, 0x76, 0xce, 0x50, 0x7c, 0x63, 0xd8, + 0xda, 0x11, 0x8c, 0x7d, 0x37, 0xe7, 0x37, 0xd7, 0xc0, 0x95, 0x62, 0x03, 0x3f, 0x85, 0x25, 0xe5, + 0x8c, 0x51, 0x91, 0x66, 0x51, 0xc6, 0xb2, 0x26, 0xd5, 0x49, 0x53, 0x5a, 0x94, 0x86, 0x9c, 0xd2, + 0xc3, 0x64, 0xc0, 0x29, 0x4a, 0xa4, 0xbf, 0x47, 0x18, 0xf3, 0x46, 0x24, 0x83, 0x50, 0xe3, 0x38, + 0x13, 0x58, 0xcb, 0x45, 0xc5, 0x28, 0x7e, 0x04, 0x35, 0xb1, 0x4e, 0x92, 0x7d, 0x41, 0x0b, 0x27, + 0x91, 0x71, 0x95, 0x44, 0x2e, 0x03, 0x95, 0x79, 0x33, 0xa0, 0xbb, 0x95, 0x7d, 0xf5, 0x7e, 0xd0, + 0xfc, 0xd5, 0x8a, 0xfb, 0x5a, 0x86, 0x69, 0x34, 0xb9, 0x95, 0x6f, 0x72, 0x1b, 0xea, 0x92, 0x48, + 0x21, 0x4d, 0xc8, 0x59, 0x98, 0x9e, 0xb5, 0x2a, 0x5f, 0x03, 0xe6, 0x31, 0x61, 0x14, 0x6f, 0xc2, + 0xa2, 0x24, 0x92, 0x64, 0xac, 0x6b, 0x86, 0x52, 0x29, 0x37, 0x96, 0x39, 0x6b, 0x3a, 0x6e, 0x41, + 0xb3, 0xe3, 0x71, 0x71, 0x78, 0x79, 0xb1, 0x23, 0x2c, 0x08, 0x32, 0x69, 0x07, 0xb1, 0xc6, 0x55, + 0xa8, 0x8a, 0x68, 0xd5, 0xd3, 0x4b, 0x2c, 0x9d, 0x1f, 0xe1, 0xd2, 0x01, 0xe1, 0x71, 0xdc, 0x66, + 0x26, 0xfe, 0xfb, 0x4c, 0xfe, 0x59, 0x01, 0xbb, 0xdc, 0xbb, 0xc4, 0x6c, 0xed, 0x28, 0xf2, 0x4f, + 0x3c, 0x4e, 0xb4, 0x3c, 0xa9, 0x6f, 0x87, 0xe2, 0x06, 0x6e, 0xc1, 0x79, 0x89, 0x9e, 0x26, 0xab, + 0xa2, 0xcc, 0xb3, 0xf1, 0x10, 0x36, 0x0a, 0xea, 0xe9, 0x8b, 0xb3, 0xb9, 0x7b, 0x51, 0x0b, 0x4f, + 0x83, 0xd3, 0x2d, 0x57, 0xc2, 0x2f, 0xe1, 0x42, 0xce, 0x81, 0xb4, 0xb5, 0x30, 0xd5, 0x56, 0x99, + 0x4a, 0x2e, 0xeb, 0xb5, 0xf9, 0x0b, 0x6e, 0xe3, 0x80, 0x70, 0x69, 0xf0, 0x7d, 0xa7, 0xef, 0x8f, + 0x0a, 0x5c, 0x2c, 0xf3, 0xcd, 0xa8, 0xb8, 0xf4, 0xbb, 0xc1, 0x20, 0x22, 0x1e, 0x53, 0x5d, 0x90, + 0xe5, 0xae, 0xc0, 0x17, 0x97, 0xf9, 0xe3, 0x90, 0x7b, 0xcf, 0x53, 0x41, 0x95, 0x38, 0x93, 0x89, + 0xf7, 0x61, 0x3d, 0xaf, 0x39, 0x47, 0xd6, 0x4a, 0x75, 0xb0, 0x03, 0x6b, 0x86, 0xf1, 0x39, 0x52, + 0x56, 0x54, 0x38, 0x6b, 0xc2, 0x5e, 0xc1, 0x7a, 0xfc, 0xae, 0x7f, 0xdf, 0xf9, 0xfa, 0xa5, 0x2a, + 0x6b, 0x25, 0xef, 0x9a, 0x51, 0xd1, 0x3d, 0x09, 0x50, 0x62, 0x37, 0xcb, 0x56, 0x9e, 0x2d, 0x92, + 0x95, 0xdd, 0x33, 0x5a, 0xb2, 0x0c, 0xa6, 0x78, 0x17, 0x4a, 0xbc, 0x12, 0x21, 0x35, 0x5e, 0x0d, + 0x9e, 0xe8, 0x9c, 0x9c, 0xf1, 0x79, 0x3a, 0xa7, 0x44, 0x45, 0xa4, 0xd3, 0x70, 0x2f, 0xed, 0xd4, + 0xa6, 0xa7, 0xb3, 0xa0, 0x80, 0x77, 0x60, 0x55, 0x3f, 0x9f, 0x34, 0xb2, 0x38, 0xd5, 0x48, 0x41, + 0x3e, 0x57, 0x12, 0xf5, 0x39, 0x4b, 0x62, 0xf7, 0xaf, 0x3a, 0x2c, 0x49, 0xa1, 0xfd, 0xde, 0x23, + 0xdc, 0x03, 0xc8, 0x7e, 0x49, 0xa0, 0x9e, 0x7e, 0xe3, 0x77, 0x48, 0xeb, 0xf2, 0x29, 0x3b, 0x8c, + 0xe2, 0x4f, 0x70, 0x6d, 0xfa, 0xff, 0x00, 0xbc, 0x69, 0x28, 0xcf, 0xf8, 0x43, 0xd1, 0xfa, 0xe4, + 0x2d, 0xa4, 0x19, 0xc5, 0x37, 0x16, 0x6c, 0xce, 0xfc, 0x52, 0xc7, 0x1d, 0xcd, 0xe8, 0x3c, 0xff, + 0x17, 0x5a, 0x9f, 0xbe, 0x9d, 0x82, 0xc2, 0x61, 0xfa, 0x27, 0xb4, 0x81, 0xc3, 0xcc, 0x6f, 0x7f, + 0x03, 0x87, 0x39, 0xbe, 0xcd, 0x3b, 0xd0, 0xd4, 0x1e, 0xe1, 0x78, 0xd9, 0xd4, 0xd6, 0xbe, 0x79, + 0x5b, 0xad, 0xd3, 0xb6, 0x18, 0xc5, 0xfb, 0xb0, 0x6c, 0x3c, 0xee, 0xf0, 0x8a, 0x29, 0x6c, 0x3c, + 0x66, 0x5b, 0x57, 0x4f, 0xdf, 0x64, 0x14, 0x7b, 0xf2, 0x6b, 0x5b, 0x7b, 0x9d, 0x60, 0xa9, 0x7c, + 0xf2, 0x98, 0x6b, 0xfd, 0x6f, 0xca, 0x2e, 0xa3, 0xd8, 0x97, 0xa3, 0xac, 0x70, 0x7d, 0xa3, 0x63, + 0xaa, 0x95, 0xbd, 0x2e, 0x5a, 0x1f, 0xcc, 0x94, 0x61, 0x14, 0xbf, 0x96, 0xaf, 0xa9, 0xdc, 0x05, + 0x83, 0x6d, 0x53, 0xb5, 0x78, 0xf7, 0xb5, 0x36, 0x67, 0x48, 0x30, 0x8a, 0x5f, 0xc9, 0xc7, 0xab, + 0x39, 0x0b, 0xf1, 0xff, 0xc5, 0x04, 0x9b, 0x86, 0xdb, 0xd3, 0x05, 0x18, 0xbd, 0x73, 0xe9, 0x9b, + 0x8d, 0xed, 0xec, 0xcf, 0xe9, 0xe7, 0xe9, 0xea, 0xfb, 0x45, 0xf9, 0x5b, 0xf4, 0xd6, 0xbf, 0x01, + 0x00, 0x00, 0xff, 0xff, 0x9c, 0x40, 0xb4, 0xf6, 0x61, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index 381d8523d..c0118d7ba 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -65,21 +65,23 @@ message GetChatLogsReq { message ChatLog { string ServerMsgID = 1; - string stringClientMsgID = 2; + string ClientMsgID = 2; string SendID = 3; - string RecvID = 4; - int32 SenderPlatformID = 5; - string SenderNickname = 6; - string SenderFaceURL = 7; - string GroupName = 8; - int32 SessionType = 9; - int32 MsgFrom = 10; - int32 ContentType = 11; - string Content = 12; - int32 Status = 13; - int64 SendTime = 14; - int64 CreateTime = 15; - string Ex = 16; + string RecvID = 4; + string groupID = 5; + string recvNickname = 6; + int32 SenderPlatformID = 7; + string SenderNickname = 8; + string SenderFaceURL = 9; + string GroupName = 10; + int32 SessionType = 11; + int32 MsgFrom = 12; + int32 ContentType = 13; + string Content = 14; + int32 Status = 15; + int64 SendTime = 16; + int64 CreateTime = 17; + string Ex = 18; } message GetChatLogsResp { diff --git a/pkg/proto/group/group.pb.go b/pkg/proto/group/group.pb.go index d4cd55960..5fbfa123d 100644 --- a/pkg/proto/group/group.pb.go +++ b/pkg/proto/group/group.pb.go @@ -37,7 +37,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{0} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *GroupAddMemberInfo) Reset() { *m = GroupAddMemberInfo{} } func (m *GroupAddMemberInfo) String() string { return proto.CompactTextString(m) } func (*GroupAddMemberInfo) ProtoMessage() {} func (*GroupAddMemberInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{1} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{1} } func (m *GroupAddMemberInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupAddMemberInfo.Unmarshal(m, b) @@ -132,7 +132,7 @@ func (m *CreateGroupReq) Reset() { *m = CreateGroupReq{} } func (m *CreateGroupReq) String() string { return proto.CompactTextString(m) } func (*CreateGroupReq) ProtoMessage() {} func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{2} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{2} } func (m *CreateGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupReq.Unmarshal(m, b) @@ -200,7 +200,7 @@ func (m *CreateGroupResp) Reset() { *m = CreateGroupResp{} } func (m *CreateGroupResp) String() string { return proto.CompactTextString(m) } func (*CreateGroupResp) ProtoMessage() {} func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{3} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{3} } func (m *CreateGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateGroupResp.Unmarshal(m, b) @@ -254,7 +254,7 @@ func (m *GetGroupsInfoReq) Reset() { *m = GetGroupsInfoReq{} } func (m *GetGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoReq) ProtoMessage() {} func (*GetGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{4} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{4} } func (m *GetGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoReq.Unmarshal(m, b) @@ -308,7 +308,7 @@ func (m *GetGroupsInfoResp) Reset() { *m = GetGroupsInfoResp{} } func (m *GetGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsInfoResp) ProtoMessage() {} func (*GetGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{5} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{5} } func (m *GetGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsInfoResp.Unmarshal(m, b) @@ -362,7 +362,7 @@ func (m *SetGroupInfoReq) Reset() { *m = SetGroupInfoReq{} } func (m *SetGroupInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoReq) ProtoMessage() {} func (*SetGroupInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{6} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{6} } func (m *SetGroupInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoReq.Unmarshal(m, b) @@ -414,7 +414,7 @@ func (m *SetGroupInfoResp) Reset() { *m = SetGroupInfoResp{} } func (m *SetGroupInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupInfoResp) ProtoMessage() {} func (*SetGroupInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{7} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{7} } func (m *SetGroupInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupInfoResp.Unmarshal(m, b) @@ -454,7 +454,7 @@ func (m *GetGroupApplicationListReq) Reset() { *m = GetGroupApplicationL func (m *GetGroupApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListReq) ProtoMessage() {} func (*GetGroupApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{8} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{8} } func (m *GetGroupApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListReq.Unmarshal(m, b) @@ -508,7 +508,7 @@ func (m *GetGroupApplicationListResp) Reset() { *m = GetGroupApplication func (m *GetGroupApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupApplicationListResp) ProtoMessage() {} func (*GetGroupApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{9} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{9} } func (m *GetGroupApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupApplicationListResp.Unmarshal(m, b) @@ -562,7 +562,7 @@ func (m *GetUserReqApplicationListReq) Reset() { *m = GetUserReqApplicat func (m *GetUserReqApplicationListReq) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListReq) ProtoMessage() {} func (*GetUserReqApplicationListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{10} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{10} } func (m *GetUserReqApplicationListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListReq.Unmarshal(m, b) @@ -615,7 +615,7 @@ func (m *GetUserReqApplicationListResp) Reset() { *m = GetUserReqApplica func (m *GetUserReqApplicationListResp) String() string { return proto.CompactTextString(m) } func (*GetUserReqApplicationListResp) ProtoMessage() {} func (*GetUserReqApplicationListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{11} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{11} } func (m *GetUserReqApplicationListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserReqApplicationListResp.Unmarshal(m, b) @@ -664,7 +664,7 @@ func (m *TransferGroupOwnerReq) Reset() { *m = TransferGroupOwnerReq{} } func (m *TransferGroupOwnerReq) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerReq) ProtoMessage() {} func (*TransferGroupOwnerReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{12} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{12} } func (m *TransferGroupOwnerReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerReq.Unmarshal(m, b) @@ -730,7 +730,7 @@ func (m *TransferGroupOwnerResp) Reset() { *m = TransferGroupOwnerResp{} func (m *TransferGroupOwnerResp) String() string { return proto.CompactTextString(m) } func (*TransferGroupOwnerResp) ProtoMessage() {} func (*TransferGroupOwnerResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{13} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{13} } func (m *TransferGroupOwnerResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransferGroupOwnerResp.Unmarshal(m, b) @@ -773,7 +773,7 @@ func (m *JoinGroupReq) Reset() { *m = JoinGroupReq{} } func (m *JoinGroupReq) String() string { return proto.CompactTextString(m) } func (*JoinGroupReq) ProtoMessage() {} func (*JoinGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{14} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{14} } func (m *JoinGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupReq.Unmarshal(m, b) @@ -846,7 +846,7 @@ func (m *JoinGroupResp) Reset() { *m = JoinGroupResp{} } func (m *JoinGroupResp) String() string { return proto.CompactTextString(m) } func (*JoinGroupResp) ProtoMessage() {} func (*JoinGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{15} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{15} } func (m *JoinGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupResp.Unmarshal(m, b) @@ -889,7 +889,7 @@ func (m *GroupApplicationResponseReq) Reset() { *m = GroupApplicationRes func (m *GroupApplicationResponseReq) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseReq) ProtoMessage() {} func (*GroupApplicationResponseReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{16} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{16} } func (m *GroupApplicationResponseReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseReq.Unmarshal(m, b) @@ -962,7 +962,7 @@ func (m *GroupApplicationResponseResp) Reset() { *m = GroupApplicationRe func (m *GroupApplicationResponseResp) String() string { return proto.CompactTextString(m) } func (*GroupApplicationResponseResp) ProtoMessage() {} func (*GroupApplicationResponseResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{17} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{17} } func (m *GroupApplicationResponseResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationResponseResp.Unmarshal(m, b) @@ -1002,7 +1002,7 @@ func (m *QuitGroupReq) Reset() { *m = QuitGroupReq{} } func (m *QuitGroupReq) String() string { return proto.CompactTextString(m) } func (*QuitGroupReq) ProtoMessage() {} func (*QuitGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{18} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{18} } func (m *QuitGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupReq.Unmarshal(m, b) @@ -1054,7 +1054,7 @@ func (m *QuitGroupResp) Reset() { *m = QuitGroupResp{} } func (m *QuitGroupResp) String() string { return proto.CompactTextString(m) } func (*QuitGroupResp) ProtoMessage() {} func (*QuitGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{19} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{19} } func (m *QuitGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuitGroupResp.Unmarshal(m, b) @@ -1096,7 +1096,7 @@ func (m *GetGroupMemberListReq) Reset() { *m = GetGroupMemberListReq{} } func (m *GetGroupMemberListReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListReq) ProtoMessage() {} func (*GetGroupMemberListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{20} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{20} } func (m *GetGroupMemberListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListReq.Unmarshal(m, b) @@ -1165,7 +1165,7 @@ func (m *GetGroupMemberListResp) Reset() { *m = GetGroupMemberListResp{} func (m *GetGroupMemberListResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberListResp) ProtoMessage() {} func (*GetGroupMemberListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{21} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{21} } func (m *GetGroupMemberListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberListResp.Unmarshal(m, b) @@ -1227,7 +1227,7 @@ func (m *GetGroupMembersInfoReq) Reset() { *m = GetGroupMembersInfoReq{} func (m *GetGroupMembersInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoReq) ProtoMessage() {} func (*GetGroupMembersInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{22} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{22} } func (m *GetGroupMembersInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoReq.Unmarshal(m, b) @@ -1288,7 +1288,7 @@ func (m *GetGroupMembersInfoResp) Reset() { *m = GetGroupMembersInfoResp func (m *GetGroupMembersInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersInfoResp) ProtoMessage() {} func (*GetGroupMembersInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{23} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{23} } func (m *GetGroupMembersInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersInfoResp.Unmarshal(m, b) @@ -1344,7 +1344,7 @@ func (m *KickGroupMemberReq) Reset() { *m = KickGroupMemberReq{} } func (m *KickGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberReq) ProtoMessage() {} func (*KickGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{24} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{24} } func (m *KickGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberReq.Unmarshal(m, b) @@ -1411,7 +1411,7 @@ func (m *Id2Result) Reset() { *m = Id2Result{} } func (m *Id2Result) String() string { return proto.CompactTextString(m) } func (*Id2Result) ProtoMessage() {} func (*Id2Result) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{25} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{25} } func (m *Id2Result) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Id2Result.Unmarshal(m, b) @@ -1458,7 +1458,7 @@ func (m *KickGroupMemberResp) Reset() { *m = KickGroupMemberResp{} } func (m *KickGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*KickGroupMemberResp) ProtoMessage() {} func (*KickGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{26} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{26} } func (m *KickGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KickGroupMemberResp.Unmarshal(m, b) @@ -1512,7 +1512,7 @@ func (m *GetJoinedGroupListReq) Reset() { *m = GetJoinedGroupListReq{} } func (m *GetJoinedGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListReq) ProtoMessage() {} func (*GetJoinedGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{27} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{27} } func (m *GetJoinedGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListReq.Unmarshal(m, b) @@ -1566,7 +1566,7 @@ func (m *GetJoinedGroupListResp) Reset() { *m = GetJoinedGroupListResp{} func (m *GetJoinedGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedGroupListResp) ProtoMessage() {} func (*GetJoinedGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{28} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{28} } func (m *GetJoinedGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedGroupListResp.Unmarshal(m, b) @@ -1622,7 +1622,7 @@ func (m *InviteUserToGroupReq) Reset() { *m = InviteUserToGroupReq{} } func (m *InviteUserToGroupReq) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupReq) ProtoMessage() {} func (*InviteUserToGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{29} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{29} } func (m *InviteUserToGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupReq.Unmarshal(m, b) @@ -1690,7 +1690,7 @@ func (m *InviteUserToGroupResp) Reset() { *m = InviteUserToGroupResp{} } func (m *InviteUserToGroupResp) String() string { return proto.CompactTextString(m) } func (*InviteUserToGroupResp) ProtoMessage() {} func (*InviteUserToGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{30} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{30} } func (m *InviteUserToGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InviteUserToGroupResp.Unmarshal(m, b) @@ -1746,7 +1746,7 @@ func (m *GetGroupAllMemberReq) Reset() { *m = GetGroupAllMemberReq{} } func (m *GetGroupAllMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberReq) ProtoMessage() {} func (*GetGroupAllMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{31} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{31} } func (m *GetGroupAllMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberReq.Unmarshal(m, b) @@ -1814,7 +1814,7 @@ func (m *GetGroupAllMemberResp) Reset() { *m = GetGroupAllMemberResp{} } func (m *GetGroupAllMemberResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAllMemberResp) ProtoMessage() {} func (*GetGroupAllMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{32} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{32} } func (m *GetGroupAllMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAllMemberResp.Unmarshal(m, b) @@ -1868,7 +1868,7 @@ func (m *CMSGroup) Reset() { *m = CMSGroup{} } func (m *CMSGroup) String() string { return proto.CompactTextString(m) } func (*CMSGroup) ProtoMessage() {} func (*CMSGroup) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{33} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{33} } func (m *CMSGroup) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CMSGroup.Unmarshal(m, b) @@ -1909,117 +1909,11 @@ func (m *CMSGroup) GetGroupOwnerUserID() string { return "" } -type GetGroupReq struct { - GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupReq) Reset() { *m = GetGroupReq{} } -func (m *GetGroupReq) String() string { return proto.CompactTextString(m) } -func (*GetGroupReq) ProtoMessage() {} -func (*GetGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{34} -} -func (m *GetGroupReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupReq.Unmarshal(m, b) -} -func (m *GetGroupReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupReq.Merge(dst, src) -} -func (m *GetGroupReq) XXX_Size() int { - return xxx_messageInfo_GetGroupReq.Size(m) -} -func (m *GetGroupReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupReq proto.InternalMessageInfo - -func (m *GetGroupReq) GetGroupName() string { - if m != nil { - return m.GroupName - } - return "" -} - -func (m *GetGroupReq) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetGroupReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetGroupResp struct { - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - GroupNums int32 `protobuf:"varint,3,opt,name=GroupNums" json:"GroupNums,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupResp) Reset() { *m = GetGroupResp{} } -func (m *GetGroupResp) String() string { return proto.CompactTextString(m) } -func (*GetGroupResp) ProtoMessage() {} -func (*GetGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{35} -} -func (m *GetGroupResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupResp.Unmarshal(m, b) -} -func (m *GetGroupResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupResp.Marshal(b, m, deterministic) -} -func (dst *GetGroupResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupResp.Merge(dst, src) -} -func (m *GetGroupResp) XXX_Size() int { - return xxx_messageInfo_GetGroupResp.Size(m) -} -func (m *GetGroupResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupResp proto.InternalMessageInfo - -func (m *GetGroupResp) GetCMSGroups() []*CMSGroup { - if m != nil { - return m.CMSGroups - } - return nil -} - -func (m *GetGroupResp) GetPagination() *sdk_ws.RequestPagination { - if m != nil { - return m.Pagination - } - return nil -} - -func (m *GetGroupResp) GetGroupNums() int32 { - if m != nil { - return m.GroupNums - } - return 0 -} - type GetGroupsReq struct { Pagination *sdk_ws.RequestPagination `protobuf:"bytes,1,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + GroupName string `protobuf:"bytes,2,opt,name=GroupName" json:"GroupName,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=GroupID" json:"GroupID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2029,7 +1923,7 @@ func (m *GetGroupsReq) Reset() { *m = GetGroupsReq{} } func (m *GetGroupsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupsReq) ProtoMessage() {} func (*GetGroupsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{36} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{34} } func (m *GetGroupsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsReq.Unmarshal(m, b) @@ -2056,6 +1950,20 @@ func (m *GetGroupsReq) GetPagination() *sdk_ws.RequestPagination { return nil } +func (m *GetGroupsReq) GetGroupName() string { + if m != nil { + return m.GroupName + } + return "" +} + +func (m *GetGroupsReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + func (m *GetGroupsReq) GetOperationID() string { if m != nil { return m.OperationID @@ -2064,19 +1972,20 @@ func (m *GetGroupsReq) GetOperationID() string { } type GetGroupsResp struct { - CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + CMSGroups []*CMSGroup `protobuf:"bytes,1,rep,name=CMSGroups" json:"CMSGroups,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + GroupNum int32 `protobuf:"varint,3,opt,name=GroupNum" json:"GroupNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *GetGroupsResp) Reset() { *m = GetGroupsResp{} } func (m *GetGroupsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupsResp) ProtoMessage() {} func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{37} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{35} } func (m *GetGroupsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupsResp.Unmarshal(m, b) @@ -2103,7 +2012,7 @@ func (m *GetGroupsResp) GetCMSGroups() []*CMSGroup { return nil } -func (m *GetGroupsResp) GetPagination() *sdk_ws.RequestPagination { +func (m *GetGroupsResp) GetPagination() *sdk_ws.ResponsePagination { if m != nil { return m.Pagination } @@ -2117,6 +2026,13 @@ func (m *GetGroupsResp) GetGroupNum() int32 { return 0 } +func (m *GetGroupsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type GetGroupMemberReq struct { GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` @@ -2129,7 +2045,7 @@ func (m *GetGroupMemberReq) Reset() { *m = GetGroupMemberReq{} } func (m *GetGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMemberReq) ProtoMessage() {} func (*GetGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{38} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{36} } func (m *GetGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMemberReq.Unmarshal(m, b) @@ -2163,182 +2079,6 @@ func (m *GetGroupMemberReq) GetOperationID() string { return "" } -type OperateUserRoleReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserID string `protobuf:"bytes,2,opt,name=UserID" json:"UserID,omitempty"` - RoleLevel int32 `protobuf:"varint,3,opt,name=RoleLevel" json:"RoleLevel,omitempty"` - OperationID string `protobuf:"bytes,4,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OperateUserRoleReq) Reset() { *m = OperateUserRoleReq{} } -func (m *OperateUserRoleReq) String() string { return proto.CompactTextString(m) } -func (*OperateUserRoleReq) ProtoMessage() {} -func (*OperateUserRoleReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{39} -} -func (m *OperateUserRoleReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateUserRoleReq.Unmarshal(m, b) -} -func (m *OperateUserRoleReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateUserRoleReq.Marshal(b, m, deterministic) -} -func (dst *OperateUserRoleReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateUserRoleReq.Merge(dst, src) -} -func (m *OperateUserRoleReq) XXX_Size() int { - return xxx_messageInfo_OperateUserRoleReq.Size(m) -} -func (m *OperateUserRoleReq) XXX_DiscardUnknown() { - xxx_messageInfo_OperateUserRoleReq.DiscardUnknown(m) -} - -var xxx_messageInfo_OperateUserRoleReq proto.InternalMessageInfo - -func (m *OperateUserRoleReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *OperateUserRoleReq) GetUserID() string { - if m != nil { - return m.UserID - } - return "" -} - -func (m *OperateUserRoleReq) GetRoleLevel() int32 { - if m != nil { - return m.RoleLevel - } - return 0 -} - -func (m *OperateUserRoleReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type OperateUserRoleResp struct { - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *OperateUserRoleResp) Reset() { *m = OperateUserRoleResp{} } -func (m *OperateUserRoleResp) String() string { return proto.CompactTextString(m) } -func (*OperateUserRoleResp) ProtoMessage() {} -func (*OperateUserRoleResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{40} -} -func (m *OperateUserRoleResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateUserRoleResp.Unmarshal(m, b) -} -func (m *OperateUserRoleResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateUserRoleResp.Marshal(b, m, deterministic) -} -func (dst *OperateUserRoleResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateUserRoleResp.Merge(dst, src) -} -func (m *OperateUserRoleResp) XXX_Size() int { - return xxx_messageInfo_OperateUserRoleResp.Size(m) -} -func (m *OperateUserRoleResp) XXX_DiscardUnknown() { - xxx_messageInfo_OperateUserRoleResp.DiscardUnknown(m) -} - -var xxx_messageInfo_OperateUserRoleResp proto.InternalMessageInfo - -type GetGroupByIDReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupByIDReq) Reset() { *m = GetGroupByIDReq{} } -func (m *GetGroupByIDReq) String() string { return proto.CompactTextString(m) } -func (*GetGroupByIDReq) ProtoMessage() {} -func (*GetGroupByIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{41} -} -func (m *GetGroupByIDReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupByIDReq.Unmarshal(m, b) -} -func (m *GetGroupByIDReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupByIDReq.Marshal(b, m, deterministic) -} -func (dst *GetGroupByIDReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupByIDReq.Merge(dst, src) -} -func (m *GetGroupByIDReq) XXX_Size() int { - return xxx_messageInfo_GetGroupByIDReq.Size(m) -} -func (m *GetGroupByIDReq) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupByIDReq.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupByIDReq proto.InternalMessageInfo - -func (m *GetGroupByIDReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *GetGroupByIDReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -type GetGroupByIDResp struct { - CMSGroup *CMSGroup `protobuf:"bytes,1,opt,name=CMSGroup" json:"CMSGroup,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *GetGroupByIDResp) Reset() { *m = GetGroupByIDResp{} } -func (m *GetGroupByIDResp) String() string { return proto.CompactTextString(m) } -func (*GetGroupByIDResp) ProtoMessage() {} -func (*GetGroupByIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{42} -} -func (m *GetGroupByIDResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_GetGroupByIDResp.Unmarshal(m, b) -} -func (m *GetGroupByIDResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_GetGroupByIDResp.Marshal(b, m, deterministic) -} -func (dst *GetGroupByIDResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_GetGroupByIDResp.Merge(dst, src) -} -func (m *GetGroupByIDResp) XXX_Size() int { - return xxx_messageInfo_GetGroupByIDResp.Size(m) -} -func (m *GetGroupByIDResp) XXX_DiscardUnknown() { - xxx_messageInfo_GetGroupByIDResp.DiscardUnknown(m) -} - -var xxx_messageInfo_GetGroupByIDResp proto.InternalMessageInfo - -func (m *GetGroupByIDResp) GetCMSGroup() *CMSGroup { - if m != nil { - return m.CMSGroup - } - return nil -} - type GetGroupMembersCMSReq struct { GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` UserName string `protobuf:"bytes,2,opt,name=UserName" json:"UserName,omitempty"` @@ -2353,7 +2093,7 @@ func (m *GetGroupMembersCMSReq) Reset() { *m = GetGroupMembersCMSReq{} } func (m *GetGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSReq) ProtoMessage() {} func (*GetGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{43} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{37} } func (m *GetGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSReq.Unmarshal(m, b) @@ -2405,6 +2145,7 @@ type GetGroupMembersCMSResp struct { Members []*sdk_ws.GroupMemberFullInfo `protobuf:"bytes,1,rep,name=members" json:"members,omitempty"` Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` MemberNums int32 `protobuf:"varint,3,opt,name=MemberNums" json:"MemberNums,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -2414,7 +2155,7 @@ func (m *GetGroupMembersCMSResp) Reset() { *m = GetGroupMembersCMSResp{} func (m *GetGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } func (*GetGroupMembersCMSResp) ProtoMessage() {} func (*GetGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{44} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{38} } func (m *GetGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupMembersCMSResp.Unmarshal(m, b) @@ -2455,218 +2196,9 @@ func (m *GetGroupMembersCMSResp) GetMemberNums() int32 { return 0 } -type RemoveGroupMembersCMSReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList" json:"UserIDList,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RemoveGroupMembersCMSReq) Reset() { *m = RemoveGroupMembersCMSReq{} } -func (m *RemoveGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } -func (*RemoveGroupMembersCMSReq) ProtoMessage() {} -func (*RemoveGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{45} -} -func (m *RemoveGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Unmarshal(m, b) -} -func (m *RemoveGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Marshal(b, m, deterministic) -} -func (dst *RemoveGroupMembersCMSReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_RemoveGroupMembersCMSReq.Merge(dst, src) -} -func (m *RemoveGroupMembersCMSReq) XXX_Size() int { - return xxx_messageInfo_RemoveGroupMembersCMSReq.Size(m) -} -func (m *RemoveGroupMembersCMSReq) XXX_DiscardUnknown() { - xxx_messageInfo_RemoveGroupMembersCMSReq.DiscardUnknown(m) -} - -var xxx_messageInfo_RemoveGroupMembersCMSReq proto.InternalMessageInfo - -func (m *RemoveGroupMembersCMSReq) GetGroupID() string { +func (m *GetGroupMembersCMSResp) GetCommonResp() *CommonResp { if m != nil { - return m.GroupID - } - return "" -} - -func (m *RemoveGroupMembersCMSReq) GetUserIDList() []string { - if m != nil { - return m.UserIDList - } - return nil -} - -func (m *RemoveGroupMembersCMSReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *RemoveGroupMembersCMSReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -type RemoveGroupMembersCMSResp struct { - Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *RemoveGroupMembersCMSResp) Reset() { *m = RemoveGroupMembersCMSResp{} } -func (m *RemoveGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } -func (*RemoveGroupMembersCMSResp) ProtoMessage() {} -func (*RemoveGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{46} -} -func (m *RemoveGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Unmarshal(m, b) -} -func (m *RemoveGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Marshal(b, m, deterministic) -} -func (dst *RemoveGroupMembersCMSResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_RemoveGroupMembersCMSResp.Merge(dst, src) -} -func (m *RemoveGroupMembersCMSResp) XXX_Size() int { - return xxx_messageInfo_RemoveGroupMembersCMSResp.Size(m) -} -func (m *RemoveGroupMembersCMSResp) XXX_DiscardUnknown() { - xxx_messageInfo_RemoveGroupMembersCMSResp.DiscardUnknown(m) -} - -var xxx_messageInfo_RemoveGroupMembersCMSResp proto.InternalMessageInfo - -func (m *RemoveGroupMembersCMSResp) GetSuccess() []string { - if m != nil { - return m.Success - } - return nil -} - -func (m *RemoveGroupMembersCMSResp) GetFailed() []string { - if m != nil { - return m.Failed - } - return nil -} - -type AddGroupMembersCMSReq struct { - GroupID string `protobuf:"bytes,1,opt,name=GroupID" json:"GroupID,omitempty"` - UserIDList []string `protobuf:"bytes,2,rep,name=UserIDList" json:"UserIDList,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=OperationID" json:"OperationID,omitempty"` - OpUserID string `protobuf:"bytes,4,opt,name=OpUserID" json:"OpUserID,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AddGroupMembersCMSReq) Reset() { *m = AddGroupMembersCMSReq{} } -func (m *AddGroupMembersCMSReq) String() string { return proto.CompactTextString(m) } -func (*AddGroupMembersCMSReq) ProtoMessage() {} -func (*AddGroupMembersCMSReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{47} -} -func (m *AddGroupMembersCMSReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddGroupMembersCMSReq.Unmarshal(m, b) -} -func (m *AddGroupMembersCMSReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddGroupMembersCMSReq.Marshal(b, m, deterministic) -} -func (dst *AddGroupMembersCMSReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddGroupMembersCMSReq.Merge(dst, src) -} -func (m *AddGroupMembersCMSReq) XXX_Size() int { - return xxx_messageInfo_AddGroupMembersCMSReq.Size(m) -} -func (m *AddGroupMembersCMSReq) XXX_DiscardUnknown() { - xxx_messageInfo_AddGroupMembersCMSReq.DiscardUnknown(m) -} - -var xxx_messageInfo_AddGroupMembersCMSReq proto.InternalMessageInfo - -func (m *AddGroupMembersCMSReq) GetGroupID() string { - if m != nil { - return m.GroupID - } - return "" -} - -func (m *AddGroupMembersCMSReq) GetUserIDList() []string { - if m != nil { - return m.UserIDList - } - return nil -} - -func (m *AddGroupMembersCMSReq) GetOperationID() string { - if m != nil { - return m.OperationID - } - return "" -} - -func (m *AddGroupMembersCMSReq) GetOpUserID() string { - if m != nil { - return m.OpUserID - } - return "" -} - -type AddGroupMembersCMSResp struct { - Success []string `protobuf:"bytes,1,rep,name=success" json:"success,omitempty"` - Failed []string `protobuf:"bytes,2,rep,name=failed" json:"failed,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *AddGroupMembersCMSResp) Reset() { *m = AddGroupMembersCMSResp{} } -func (m *AddGroupMembersCMSResp) String() string { return proto.CompactTextString(m) } -func (*AddGroupMembersCMSResp) ProtoMessage() {} -func (*AddGroupMembersCMSResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{48} -} -func (m *AddGroupMembersCMSResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_AddGroupMembersCMSResp.Unmarshal(m, b) -} -func (m *AddGroupMembersCMSResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_AddGroupMembersCMSResp.Marshal(b, m, deterministic) -} -func (dst *AddGroupMembersCMSResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_AddGroupMembersCMSResp.Merge(dst, src) -} -func (m *AddGroupMembersCMSResp) XXX_Size() int { - return xxx_messageInfo_AddGroupMembersCMSResp.Size(m) -} -func (m *AddGroupMembersCMSResp) XXX_DiscardUnknown() { - xxx_messageInfo_AddGroupMembersCMSResp.DiscardUnknown(m) -} - -var xxx_messageInfo_AddGroupMembersCMSResp proto.InternalMessageInfo - -func (m *AddGroupMembersCMSResp) GetSuccess() []string { - if m != nil { - return m.Success - } - return nil -} - -func (m *AddGroupMembersCMSResp) GetFailed() []string { - if m != nil { - return m.Failed + return m.CommonResp } return nil } @@ -2684,7 +2216,7 @@ func (m *DismissGroupReq) Reset() { *m = DismissGroupReq{} } func (m *DismissGroupReq) String() string { return proto.CompactTextString(m) } func (*DismissGroupReq) ProtoMessage() {} func (*DismissGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{49} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{39} } func (m *DismissGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupReq.Unmarshal(m, b) @@ -2736,7 +2268,7 @@ func (m *DismissGroupResp) Reset() { *m = DismissGroupResp{} } func (m *DismissGroupResp) String() string { return proto.CompactTextString(m) } func (*DismissGroupResp) ProtoMessage() {} func (*DismissGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{50} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{40} } func (m *DismissGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DismissGroupResp.Unmarshal(m, b) @@ -2778,7 +2310,7 @@ func (m *MuteGroupMemberReq) Reset() { *m = MuteGroupMemberReq{} } func (m *MuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberReq) ProtoMessage() {} func (*MuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{51} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{41} } func (m *MuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberReq.Unmarshal(m, b) @@ -2844,7 +2376,7 @@ func (m *MuteGroupMemberResp) Reset() { *m = MuteGroupMemberResp{} } func (m *MuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupMemberResp) ProtoMessage() {} func (*MuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{52} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{42} } func (m *MuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupMemberResp.Unmarshal(m, b) @@ -2885,7 +2417,7 @@ func (m *CancelMuteGroupMemberReq) Reset() { *m = CancelMuteGroupMemberR func (m *CancelMuteGroupMemberReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberReq) ProtoMessage() {} func (*CancelMuteGroupMemberReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{53} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{43} } func (m *CancelMuteGroupMemberReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberReq.Unmarshal(m, b) @@ -2944,7 +2476,7 @@ func (m *CancelMuteGroupMemberResp) Reset() { *m = CancelMuteGroupMember func (m *CancelMuteGroupMemberResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupMemberResp) ProtoMessage() {} func (*CancelMuteGroupMemberResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{54} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{44} } func (m *CancelMuteGroupMemberResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupMemberResp.Unmarshal(m, b) @@ -2984,7 +2516,7 @@ func (m *MuteGroupReq) Reset() { *m = MuteGroupReq{} } func (m *MuteGroupReq) String() string { return proto.CompactTextString(m) } func (*MuteGroupReq) ProtoMessage() {} func (*MuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{55} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{45} } func (m *MuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupReq.Unmarshal(m, b) @@ -3036,7 +2568,7 @@ func (m *MuteGroupResp) Reset() { *m = MuteGroupResp{} } func (m *MuteGroupResp) String() string { return proto.CompactTextString(m) } func (*MuteGroupResp) ProtoMessage() {} func (*MuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{56} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{46} } func (m *MuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MuteGroupResp.Unmarshal(m, b) @@ -3076,7 +2608,7 @@ func (m *CancelMuteGroupReq) Reset() { *m = CancelMuteGroupReq{} } func (m *CancelMuteGroupReq) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupReq) ProtoMessage() {} func (*CancelMuteGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{57} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{47} } func (m *CancelMuteGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupReq.Unmarshal(m, b) @@ -3128,7 +2660,7 @@ func (m *CancelMuteGroupResp) Reset() { *m = CancelMuteGroupResp{} } func (m *CancelMuteGroupResp) String() string { return proto.CompactTextString(m) } func (*CancelMuteGroupResp) ProtoMessage() {} func (*CancelMuteGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{58} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{48} } func (m *CancelMuteGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CancelMuteGroupResp.Unmarshal(m, b) @@ -3170,7 +2702,7 @@ func (m *SetGroupMemberNicknameReq) Reset() { *m = SetGroupMemberNicknam func (m *SetGroupMemberNicknameReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameReq) ProtoMessage() {} func (*SetGroupMemberNicknameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{59} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{49} } func (m *SetGroupMemberNicknameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameReq.Unmarshal(m, b) @@ -3236,7 +2768,7 @@ func (m *SetGroupMemberNicknameResp) Reset() { *m = SetGroupMemberNickna func (m *SetGroupMemberNicknameResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberNicknameResp) ProtoMessage() {} func (*SetGroupMemberNicknameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{60} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{50} } func (m *SetGroupMemberNicknameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberNicknameResp.Unmarshal(m, b) @@ -3276,7 +2808,7 @@ func (m *GetJoinedSuperGroupListReq) Reset() { *m = GetJoinedSuperGroupL func (m *GetJoinedSuperGroupListReq) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListReq) ProtoMessage() {} func (*GetJoinedSuperGroupListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{61} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{51} } func (m *GetJoinedSuperGroupListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListReq.Unmarshal(m, b) @@ -3329,7 +2861,7 @@ func (m *GetJoinedSuperGroupListResp) Reset() { *m = GetJoinedSuperGroup func (m *GetJoinedSuperGroupListResp) String() string { return proto.CompactTextString(m) } func (*GetJoinedSuperGroupListResp) ProtoMessage() {} func (*GetJoinedSuperGroupListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{62} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{52} } func (m *GetJoinedSuperGroupListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetJoinedSuperGroupListResp.Unmarshal(m, b) @@ -3376,7 +2908,7 @@ func (m *GetSuperGroupsInfoReq) Reset() { *m = GetSuperGroupsInfoReq{} } func (m *GetSuperGroupsInfoReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoReq) ProtoMessage() {} func (*GetSuperGroupsInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{63} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{53} } func (m *GetSuperGroupsInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoReq.Unmarshal(m, b) @@ -3429,7 +2961,7 @@ func (m *GetSuperGroupsInfoResp) Reset() { *m = GetSuperGroupsInfoResp{} func (m *GetSuperGroupsInfoResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupsInfoResp) ProtoMessage() {} func (*GetSuperGroupsInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{64} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{54} } func (m *GetSuperGroupsInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupsInfoResp.Unmarshal(m, b) @@ -3481,7 +3013,7 @@ func (m *SetGroupMemberInfoReq) Reset() { *m = SetGroupMemberInfoReq{} } func (m *SetGroupMemberInfoReq) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoReq) ProtoMessage() {} func (*SetGroupMemberInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{65} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{55} } func (m *SetGroupMemberInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoReq.Unmarshal(m, b) @@ -3568,7 +3100,7 @@ func (m *SetGroupMemberInfoResp) Reset() { *m = SetGroupMemberInfoResp{} func (m *SetGroupMemberInfoResp) String() string { return proto.CompactTextString(m) } func (*SetGroupMemberInfoResp) ProtoMessage() {} func (*SetGroupMemberInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{66} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{56} } func (m *SetGroupMemberInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGroupMemberInfoResp.Unmarshal(m, b) @@ -3608,7 +3140,7 @@ func (m *GetGroupAbstractInfoReq) Reset() { *m = GetGroupAbstractInfoReq func (m *GetGroupAbstractInfoReq) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoReq) ProtoMessage() {} func (*GetGroupAbstractInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{67} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{57} } func (m *GetGroupAbstractInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoReq.Unmarshal(m, b) @@ -3662,7 +3194,7 @@ func (m *GetGroupAbstractInfoResp) Reset() { *m = GetGroupAbstractInfoRe func (m *GetGroupAbstractInfoResp) String() string { return proto.CompactTextString(m) } func (*GetGroupAbstractInfoResp) ProtoMessage() {} func (*GetGroupAbstractInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_group_077aa2a789cf93ed, []int{68} + return fileDescriptor_group_37a68c49b6b0a4e7, []int{58} } func (m *GetGroupAbstractInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupAbstractInfoResp.Unmarshal(m, b) @@ -3738,21 +3270,11 @@ func init() { proto.RegisterType((*GetGroupAllMemberReq)(nil), "group.GetGroupAllMemberReq") proto.RegisterType((*GetGroupAllMemberResp)(nil), "group.GetGroupAllMemberResp") proto.RegisterType((*CMSGroup)(nil), "group.CMSGroup") - proto.RegisterType((*GetGroupReq)(nil), "group.GetGroupReq") - proto.RegisterType((*GetGroupResp)(nil), "group.GetGroupResp") proto.RegisterType((*GetGroupsReq)(nil), "group.GetGroupsReq") proto.RegisterType((*GetGroupsResp)(nil), "group.GetGroupsResp") proto.RegisterType((*GetGroupMemberReq)(nil), "group.GetGroupMemberReq") - proto.RegisterType((*OperateUserRoleReq)(nil), "group.OperateUserRoleReq") - proto.RegisterType((*OperateUserRoleResp)(nil), "group.OperateUserRoleResp") - proto.RegisterType((*GetGroupByIDReq)(nil), "group.GetGroupByIDReq") - proto.RegisterType((*GetGroupByIDResp)(nil), "group.GetGroupByIDResp") proto.RegisterType((*GetGroupMembersCMSReq)(nil), "group.GetGroupMembersCMSReq") proto.RegisterType((*GetGroupMembersCMSResp)(nil), "group.GetGroupMembersCMSResp") - proto.RegisterType((*RemoveGroupMembersCMSReq)(nil), "group.RemoveGroupMembersCMSReq") - proto.RegisterType((*RemoveGroupMembersCMSResp)(nil), "group.RemoveGroupMembersCMSResp") - proto.RegisterType((*AddGroupMembersCMSReq)(nil), "group.AddGroupMembersCMSReq") - proto.RegisterType((*AddGroupMembersCMSResp)(nil), "group.AddGroupMembersCMSResp") proto.RegisterType((*DismissGroupReq)(nil), "group.DismissGroupReq") proto.RegisterType((*DismissGroupResp)(nil), "group.DismissGroupResp") proto.RegisterType((*MuteGroupMemberReq)(nil), "group.MuteGroupMemberReq") @@ -3801,13 +3323,8 @@ type GroupClient interface { GetJoinedGroupList(ctx context.Context, in *GetJoinedGroupListReq, opts ...grpc.CallOption) (*GetJoinedGroupListResp, error) InviteUserToGroup(ctx context.Context, in *InviteUserToGroupReq, opts ...grpc.CallOption) (*InviteUserToGroupResp, error) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemberReq, opts ...grpc.CallOption) (*GetGroupAllMemberResp, error) - GetGroupByID(ctx context.Context, in *GetGroupByIDReq, opts ...grpc.CallOption) (*GetGroupByIDResp, error) - GetGroup(ctx context.Context, in *GetGroupReq, opts ...grpc.CallOption) (*GetGroupResp, error) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) - OperateUserRole(ctx context.Context, in *OperateUserRoleReq, opts ...grpc.CallOption) (*OperateUserRoleResp, error) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) - RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) - AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) MuteGroupMember(ctx context.Context, in *MuteGroupMemberReq, opts ...grpc.CallOption) (*MuteGroupMemberResp, error) CancelMuteGroupMember(ctx context.Context, in *CancelMuteGroupMemberReq, opts ...grpc.CallOption) (*CancelMuteGroupMemberResp, error) @@ -3963,24 +3480,6 @@ func (c *groupClient) GetGroupAllMember(ctx context.Context, in *GetGroupAllMemb return out, nil } -func (c *groupClient) GetGroupByID(ctx context.Context, in *GetGroupByIDReq, opts ...grpc.CallOption) (*GetGroupByIDResp, error) { - out := new(GetGroupByIDResp) - err := grpc.Invoke(ctx, "/group.group/GetGroupByID", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *groupClient) GetGroup(ctx context.Context, in *GetGroupReq, opts ...grpc.CallOption) (*GetGroupResp, error) { - out := new(GetGroupResp) - err := grpc.Invoke(ctx, "/group.group/GetGroup", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...grpc.CallOption) (*GetGroupsResp, error) { out := new(GetGroupsResp) err := grpc.Invoke(ctx, "/group.group/GetGroups", in, out, c.cc, opts...) @@ -3990,15 +3489,6 @@ func (c *groupClient) GetGroups(ctx context.Context, in *GetGroupsReq, opts ...g return out, nil } -func (c *groupClient) OperateUserRole(ctx context.Context, in *OperateUserRoleReq, opts ...grpc.CallOption) (*OperateUserRoleResp, error) { - out := new(OperateUserRoleResp) - err := grpc.Invoke(ctx, "/group.group/OperateUserRole", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMembersCMSReq, opts ...grpc.CallOption) (*GetGroupMembersCMSResp, error) { out := new(GetGroupMembersCMSResp) err := grpc.Invoke(ctx, "/group.group/GetGroupMembersCMS", in, out, c.cc, opts...) @@ -4008,24 +3498,6 @@ func (c *groupClient) GetGroupMembersCMS(ctx context.Context, in *GetGroupMember return out, nil } -func (c *groupClient) RemoveGroupMembersCMS(ctx context.Context, in *RemoveGroupMembersCMSReq, opts ...grpc.CallOption) (*RemoveGroupMembersCMSResp, error) { - out := new(RemoveGroupMembersCMSResp) - err := grpc.Invoke(ctx, "/group.group/RemoveGroupMembersCMS", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *groupClient) AddGroupMembersCMS(ctx context.Context, in *AddGroupMembersCMSReq, opts ...grpc.CallOption) (*AddGroupMembersCMSResp, error) { - out := new(AddGroupMembersCMSResp) - err := grpc.Invoke(ctx, "/group.group/AddGroupMembersCMS", in, out, c.cc, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *groupClient) DismissGroup(ctx context.Context, in *DismissGroupReq, opts ...grpc.CallOption) (*DismissGroupResp, error) { out := new(DismissGroupResp) err := grpc.Invoke(ctx, "/group.group/DismissGroup", in, out, c.cc, opts...) @@ -4134,13 +3606,8 @@ type GroupServer interface { GetJoinedGroupList(context.Context, *GetJoinedGroupListReq) (*GetJoinedGroupListResp, error) InviteUserToGroup(context.Context, *InviteUserToGroupReq) (*InviteUserToGroupResp, error) GetGroupAllMember(context.Context, *GetGroupAllMemberReq) (*GetGroupAllMemberResp, error) - GetGroupByID(context.Context, *GetGroupByIDReq) (*GetGroupByIDResp, error) - GetGroup(context.Context, *GetGroupReq) (*GetGroupResp, error) GetGroups(context.Context, *GetGroupsReq) (*GetGroupsResp, error) - OperateUserRole(context.Context, *OperateUserRoleReq) (*OperateUserRoleResp, error) GetGroupMembersCMS(context.Context, *GetGroupMembersCMSReq) (*GetGroupMembersCMSResp, error) - RemoveGroupMembersCMS(context.Context, *RemoveGroupMembersCMSReq) (*RemoveGroupMembersCMSResp, error) - AddGroupMembersCMS(context.Context, *AddGroupMembersCMSReq) (*AddGroupMembersCMSResp, error) DismissGroup(context.Context, *DismissGroupReq) (*DismissGroupResp, error) MuteGroupMember(context.Context, *MuteGroupMemberReq) (*MuteGroupMemberResp, error) CancelMuteGroupMember(context.Context, *CancelMuteGroupMemberReq) (*CancelMuteGroupMemberResp, error) @@ -4427,42 +3894,6 @@ func _Group_GetGroupAllMember_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Group_GetGroupByID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupByIDReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).GetGroupByID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/GetGroupByID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).GetGroupByID(ctx, req.(*GetGroupByIDReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Group_GetGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetGroupReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).GetGroup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/GetGroup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).GetGroup(ctx, req.(*GetGroupReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGroupsReq) if err := dec(in); err != nil { @@ -4481,24 +3912,6 @@ func _Group_GetGroups_Handler(srv interface{}, ctx context.Context, dec func(int return interceptor(ctx, in, info, handler) } -func _Group_OperateUserRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateUserRoleReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).OperateUserRole(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/OperateUserRole", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).OperateUserRole(ctx, req.(*OperateUserRoleReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_GetGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetGroupMembersCMSReq) if err := dec(in); err != nil { @@ -4517,42 +3930,6 @@ func _Group_GetGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Group_RemoveGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RemoveGroupMembersCMSReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).RemoveGroupMembersCMS(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/RemoveGroupMembersCMS", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).RemoveGroupMembersCMS(ctx, req.(*RemoveGroupMembersCMSReq)) - } - return interceptor(ctx, in, info, handler) -} - -func _Group_AddGroupMembersCMS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddGroupMembersCMSReq) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(GroupServer).AddGroupMembersCMS(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/group.group/AddGroupMembersCMS", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(GroupServer).AddGroupMembersCMS(ctx, req.(*AddGroupMembersCMSReq)) - } - return interceptor(ctx, in, info, handler) -} - func _Group_DismissGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DismissGroupReq) if err := dec(in); err != nil { @@ -4797,34 +4174,14 @@ var _Group_serviceDesc = grpc.ServiceDesc{ MethodName: "getGroupAllMember", Handler: _Group_GetGroupAllMember_Handler, }, - { - MethodName: "GetGroupByID", - Handler: _Group_GetGroupByID_Handler, - }, - { - MethodName: "GetGroup", - Handler: _Group_GetGroup_Handler, - }, { MethodName: "GetGroups", Handler: _Group_GetGroups_Handler, }, - { - MethodName: "OperateUserRole", - Handler: _Group_OperateUserRole_Handler, - }, { MethodName: "GetGroupMembersCMS", Handler: _Group_GetGroupMembersCMS_Handler, }, - { - MethodName: "RemoveGroupMembersCMS", - Handler: _Group_RemoveGroupMembersCMS_Handler, - }, - { - MethodName: "AddGroupMembersCMS", - Handler: _Group_AddGroupMembersCMS_Handler, - }, { MethodName: "DismissGroup", Handler: _Group_DismissGroup_Handler, @@ -4870,159 +4227,145 @@ var _Group_serviceDesc = grpc.ServiceDesc{ Metadata: "group/group.proto", } -func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_077aa2a789cf93ed) } +func init() { proto.RegisterFile("group/group.proto", fileDescriptor_group_37a68c49b6b0a4e7) } -var fileDescriptor_group_077aa2a789cf93ed = []byte{ - // 2401 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x1a, 0x4d, 0x6f, 0x1c, 0x49, - 0x55, 0x3d, 0xe3, 0x89, 0x3d, 0xcf, 0x9e, 0x8c, 0x53, 0x8e, 0x9d, 0x49, 0xc7, 0xeb, 0x38, 0xb5, - 0x61, 0x89, 0x20, 0x38, 0xe0, 0x48, 0x11, 0xb0, 0x88, 0x10, 0xdb, 0x49, 0xec, 0x24, 0xb6, 0x49, - 0x4f, 0x16, 0xa4, 0x48, 0x28, 0x8c, 0x67, 0x6a, 0x9a, 0xc1, 0x33, 0xdd, 0xed, 0xae, 0x1e, 0x3b, - 0x70, 0x59, 0x71, 0x59, 0x09, 0x84, 0xb4, 0x7c, 0x5c, 0x17, 0xc1, 0x72, 0x81, 0x03, 0x48, 0x1c, - 0xe0, 0x8c, 0x38, 0x70, 0xe3, 0x0f, 0x70, 0xe5, 0x0f, 0xf0, 0x17, 0x50, 0x57, 0x55, 0x57, 0x57, - 0x77, 0x75, 0xb7, 0x27, 0xed, 0x64, 0xc3, 0xa5, 0xa5, 0x7a, 0xf5, 0xaa, 0xea, 0x7d, 0xd5, 0xab, - 0xf7, 0xd1, 0x70, 0xc1, 0xf6, 0xdd, 0xb1, 0x77, 0x8b, 0x7d, 0xd7, 0x3c, 0xdf, 0x0d, 0x5c, 0x54, - 0x63, 0x03, 0xf3, 0xda, 0xbe, 0x47, 0x9c, 0x17, 0x3b, 0xbb, 0xb7, 0xbc, 0x43, 0xfb, 0x16, 0x9b, - 0xb9, 0x45, 0x7b, 0x87, 0x2f, 0x4e, 0xe8, 0xad, 0x13, 0xca, 0x31, 0xcd, 0xcf, 0xe7, 0xa3, 0xf8, - 0x1d, 0xcf, 0x23, 0xbe, 0x40, 0xc4, 0xdf, 0x04, 0xd8, 0x74, 0x47, 0x23, 0xd7, 0xb1, 0x08, 0xf5, - 0x50, 0x0b, 0xa6, 0xef, 0xfb, 0xfe, 0xa6, 0xdb, 0x23, 0x2d, 0x63, 0xd5, 0xb8, 0x51, 0xb3, 0xa2, - 0x21, 0x5a, 0x82, 0x73, 0xf7, 0x7d, 0x7f, 0x97, 0xda, 0xad, 0xca, 0xaa, 0x71, 0xa3, 0x6e, 0x89, - 0x11, 0x7e, 0x04, 0xe8, 0x61, 0x48, 0xd4, 0xbd, 0x5e, 0x6f, 0x97, 0x8c, 0x0e, 0x88, 0xbf, 0xe3, - 0xf4, 0xdd, 0x10, 0xfb, 0x03, 0x4a, 0xfc, 0x9d, 0x2d, 0xb6, 0x4d, 0xdd, 0x12, 0x23, 0xb4, 0x0c, - 0x75, 0xcb, 0x1d, 0x92, 0x27, 0xe4, 0x98, 0x0c, 0xd9, 0x46, 0x35, 0x2b, 0x06, 0xe0, 0xff, 0x1a, - 0x70, 0x7e, 0xd3, 0x27, 0x9d, 0x80, 0xb0, 0x2d, 0x2d, 0x72, 0x84, 0xee, 0xc1, 0xf9, 0x1d, 0x67, - 0x10, 0xf0, 0xad, 0x9f, 0x0c, 0x68, 0xd0, 0x32, 0x56, 0xab, 0x37, 0x66, 0xd7, 0x2f, 0xaf, 0x71, - 0xb9, 0xe8, 0x67, 0x5b, 0xa9, 0x05, 0xe8, 0xeb, 0x50, 0x67, 0x58, 0xe1, 0x24, 0x3b, 0x73, 0x76, - 0x7d, 0x79, 0x8d, 0x12, 0xff, 0x98, 0xf8, 0x2f, 0x3a, 0xde, 0xe0, 0x85, 0xd7, 0xf1, 0x3b, 0x23, - 0xba, 0x26, 0x71, 0xac, 0x18, 0x1d, 0xad, 0xc2, 0xec, 0xbe, 0x47, 0xfc, 0x4e, 0x30, 0x70, 0x9d, - 0x9d, 0xad, 0x56, 0x95, 0x31, 0xa3, 0x82, 0x90, 0x09, 0x33, 0xfb, 0x9e, 0xe0, 0x75, 0x8a, 0x4d, - 0xcb, 0x31, 0x5b, 0x7d, 0xe2, 0x10, 0x5f, 0x4c, 0xd7, 0xc4, 0xea, 0x18, 0x84, 0x3f, 0x84, 0x66, - 0x82, 0xe1, 0x32, 0x2a, 0x48, 0x32, 0x58, 0x7d, 0x25, 0x06, 0xb1, 0x0f, 0xf3, 0x0f, 0x49, 0xc0, - 0xc6, 0x94, 0xcd, 0x91, 0xa3, 0x90, 0x6c, 0x8e, 0xb0, 0x25, 0x05, 0x5e, 0xb7, 0x54, 0x50, 0x5a, - 0x2c, 0x95, 0x62, 0xb1, 0x54, 0x93, 0x62, 0xc1, 0x3f, 0x35, 0xe0, 0x42, 0xea, 0xd0, 0x52, 0x7c, - 0x6f, 0x40, 0x43, 0x32, 0xc2, 0x28, 0xad, 0x32, 0xd3, 0x28, 0xe6, 0x3d, 0xb9, 0x04, 0xff, 0xc6, - 0x80, 0x66, 0x5b, 0xd0, 0x12, 0xf1, 0xff, 0x04, 0x9a, 0x76, 0x34, 0x7e, 0xe0, 0xfa, 0x6d, 0x12, - 0x30, 0x8a, 0x66, 0xd7, 0x71, 0xd1, 0xce, 0x1c, 0xd3, 0x4a, 0x2f, 0x4d, 0x48, 0xa2, 0x92, 0x61, - 0x20, 0x85, 0xe6, 0x85, 0xef, 0xc3, 0x7c, 0x92, 0x3c, 0xea, 0xa1, 0xaf, 0xa8, 0x57, 0x56, 0x90, - 0x76, 0x41, 0xdc, 0x87, 0x78, 0xc2, 0x52, 0x90, 0xf0, 0x8f, 0xc1, 0x8c, 0x24, 0x7e, 0xcf, 0xf3, - 0x86, 0x83, 0x2e, 0xdb, 0x3f, 0x94, 0x40, 0xc8, 0xb0, 0x4a, 0xa2, 0x51, 0x4c, 0x62, 0x86, 0xaa, - 0x57, 0x00, 0x1e, 0xf8, 0xee, 0x28, 0xa1, 0x6c, 0x05, 0x82, 0x3f, 0x31, 0xe0, 0x4a, 0xee, 0xe1, - 0xa5, 0x14, 0xff, 0x18, 0xe6, 0x23, 0x07, 0x31, 0x26, 0x34, 0x50, 0x74, 0x7f, 0x35, 0x4f, 0x43, - 0x02, 0xd5, 0xd2, 0x16, 0xe2, 0x00, 0x96, 0x1f, 0x92, 0x20, 0xa4, 0xd5, 0x22, 0x47, 0x19, 0xc2, - 0xc9, 0x73, 0x65, 0x67, 0xd3, 0xeb, 0x6f, 0x0d, 0x78, 0xa7, 0xe0, 0xd8, 0x52, 0x5a, 0xce, 0x94, - 0x4b, 0xa5, 0xac, 0x5c, 0xfe, 0x6e, 0xc0, 0xe2, 0x33, 0xbf, 0xe3, 0xd0, 0x3e, 0xf1, 0xd9, 0x24, - 0xf3, 0x5b, 0xa1, 0x44, 0x5a, 0x30, 0x2d, 0x9c, 0x81, 0x10, 0x49, 0x34, 0x44, 0xef, 0xc1, 0xf9, - 0xfd, 0x61, 0x4f, 0xf5, 0x79, 0x5c, 0x32, 0x29, 0x68, 0x88, 0xb7, 0x47, 0x4e, 0x54, 0x3c, 0x2e, - 0xa2, 0x14, 0x34, 0x2d, 0xc7, 0xa9, 0x62, 0x3f, 0x53, 0x4b, 0xf9, 0x99, 0xc7, 0xb0, 0x94, 0xc5, - 0x40, 0xb9, 0x1b, 0xf4, 0x2f, 0x03, 0xe6, 0x1e, 0xb9, 0x03, 0x47, 0xbe, 0x4c, 0xf9, 0x52, 0x58, - 0x01, 0xb0, 0xc8, 0xd1, 0x2e, 0xa1, 0xb4, 0x63, 0x13, 0x21, 0x01, 0x05, 0x52, 0xe4, 0x1b, 0x27, - 0xe0, 0x78, 0x05, 0x20, 0xa4, 0xa3, 0xed, 0x8e, 0xfd, 0x2e, 0x61, 0x3c, 0xd7, 0x2c, 0x05, 0x82, - 0xae, 0x43, 0x63, 0xc7, 0x39, 0x1e, 0x04, 0x52, 0xb4, 0xe7, 0xd8, 0x1e, 0x49, 0x20, 0xde, 0x80, - 0x86, 0xc2, 0x4d, 0x39, 0x91, 0xfc, 0x3b, 0xbc, 0xd8, 0xa9, 0x5b, 0x1d, 0x4e, 0xb8, 0x0e, 0x25, - 0xe2, 0x1d, 0x51, 0x79, 0x31, 0x8a, 0xb5, 0x97, 0xbe, 0x43, 0x8a, 0x7c, 0xab, 0x9a, 0x7c, 0x15, - 0x87, 0x33, 0x95, 0x76, 0x38, 0xe1, 0xfc, 0x76, 0xc7, 0xe9, 0x0d, 0x49, 0x2f, 0x74, 0x1d, 0xdc, - 0x2a, 0x14, 0x08, 0xc2, 0x30, 0xc7, 0x47, 0x16, 0xa1, 0xe3, 0x61, 0xc0, 0x04, 0x54, 0xb3, 0x12, - 0x30, 0xfc, 0x14, 0x96, 0xf3, 0x59, 0x2b, 0x27, 0xae, 0x3e, 0xcc, 0x3d, 0x1d, 0x0f, 0x82, 0x09, - 0x0c, 0xe8, 0x6c, 0xcf, 0xeb, 0x06, 0x34, 0x94, 0x73, 0xca, 0xd1, 0xfa, 0xa9, 0x01, 0x8b, 0x91, - 0xcf, 0x8e, 0x43, 0xa9, 0x62, 0xaa, 0xcf, 0xe4, 0x10, 0x43, 0x37, 0xfb, 0x60, 0x30, 0x0c, 0x88, - 0xcf, 0x14, 0x5a, 0xb3, 0xc4, 0x28, 0x3c, 0x6f, 0x8f, 0xbc, 0x0c, 0xda, 0xe4, 0x48, 0xd8, 0x7a, - 0x34, 0xc4, 0x7f, 0x32, 0x60, 0x29, 0x8b, 0xc6, 0x52, 0x4f, 0xca, 0x03, 0x80, 0x51, 0x1c, 0x63, - 0xf2, 0xc7, 0xe4, 0xbd, 0x3c, 0xa7, 0xc9, 0x4f, 0x7b, 0x30, 0x1e, 0x0e, 0xd9, 0x9b, 0xac, 0xac, - 0x0c, 0x4f, 0x76, 0x04, 0xb9, 0x9c, 0x8f, 0x68, 0x88, 0x7f, 0xa1, 0x91, 0x2b, 0x03, 0xae, 0x42, - 0x57, 0xa2, 0x90, 0x55, 0x61, 0x91, 0x98, 0x7a, 0xdc, 0x99, 0x5c, 0x09, 0xfe, 0xb5, 0x01, 0x97, - 0x32, 0x49, 0x7a, 0x9b, 0x22, 0xc4, 0x7f, 0x31, 0x00, 0x3d, 0x1e, 0x74, 0x0f, 0x15, 0xbc, 0x62, - 0x21, 0x7d, 0x01, 0xe6, 0x43, 0x7c, 0xd2, 0xe3, 0x8c, 0x2b, 0xa2, 0xd2, 0xe0, 0x21, 0xf1, 0x16, - 0xe9, 0x50, 0xd7, 0x11, 0xe2, 0x12, 0xa3, 0xb4, 0xb0, 0x6a, 0xc5, 0x57, 0xee, 0x5c, 0xea, 0xca, - 0xbd, 0x0f, 0xf5, 0x9d, 0xde, 0x3a, 0x77, 0x1d, 0xb9, 0x01, 0x03, 0x3b, 0x9a, 0x39, 0x1c, 0x9e, - 0xf8, 0x88, 0x11, 0xfe, 0x10, 0x16, 0x34, 0x76, 0x4b, 0x29, 0xe0, 0x0e, 0x34, 0x24, 0x15, 0x8a, - 0x0e, 0xe6, 0xc5, 0x55, 0x97, 0x73, 0x56, 0x12, 0x0d, 0x8f, 0xd9, 0x5d, 0x0f, 0x9f, 0x03, 0xd2, - 0x63, 0x54, 0x44, 0x77, 0x3d, 0xe9, 0x68, 0x0d, 0xcd, 0xd1, 0xae, 0xc2, 0xac, 0xab, 0xfb, 0x29, - 0x77, 0x42, 0x3f, 0xf5, 0x11, 0xbf, 0x10, 0xda, 0xb9, 0x67, 0xca, 0x81, 0x26, 0xce, 0x03, 0x62, - 0x74, 0xfc, 0x57, 0x03, 0x2e, 0xf2, 0xd7, 0x31, 0xa4, 0xec, 0x99, 0x2b, 0x3d, 0xf4, 0xe9, 0x7e, - 0x38, 0xff, 0x91, 0x8a, 0x0d, 0x6d, 0x2a, 0x61, 0x68, 0x37, 0xe1, 0x02, 0x3f, 0x4b, 0xb5, 0xd6, - 0x1a, 0xb3, 0x56, 0x7d, 0xa2, 0xd0, 0xe8, 0x7e, 0x62, 0xc0, 0x62, 0x06, 0xd9, 0x9f, 0xa9, 0xe9, - 0x7c, 0x62, 0xc0, 0x45, 0x19, 0xdb, 0x0f, 0x87, 0x93, 0xdc, 0xd6, 0x33, 0x3f, 0x13, 0xfb, 0xfd, - 0x3e, 0x25, 0x41, 0xf4, 0x4c, 0xf0, 0x11, 0xba, 0x08, 0xb5, 0x4d, 0x77, 0xec, 0x04, 0xe2, 0x91, - 0xe0, 0x03, 0xfc, 0x4b, 0xe5, 0x19, 0x53, 0xc8, 0x7b, 0xab, 0xee, 0xed, 0xf7, 0x06, 0xcc, 0x6c, - 0xee, 0xb6, 0x19, 0x5a, 0x32, 0x75, 0x37, 0x5e, 0xad, 0x36, 0xb1, 0x26, 0x2a, 0x2f, 0x32, 0x60, - 0xde, 0xeb, 0x8c, 0xa2, 0x70, 0x33, 0x63, 0x26, 0x74, 0x93, 0x49, 0xa8, 0x94, 0xb0, 0x06, 0x0f, - 0x5f, 0x86, 0xd9, 0x48, 0x70, 0xa1, 0x3a, 0x97, 0x05, 0x9d, 0xec, 0x08, 0xae, 0xd0, 0x18, 0x80, - 0xb6, 0x00, 0xbe, 0xdd, 0xb1, 0x07, 0x0e, 0x53, 0x92, 0x28, 0xb1, 0x5c, 0xcf, 0x60, 0x43, 0xa4, - 0x17, 0x31, 0xae, 0xa5, 0xac, 0x9b, 0x20, 0x69, 0xfa, 0xd4, 0x80, 0xb9, 0x98, 0x2a, 0xea, 0xa1, - 0x2f, 0x41, 0x3d, 0x12, 0x25, 0x15, 0x85, 0xa1, 0x66, 0x14, 0xd8, 0x08, 0xb8, 0x15, 0x63, 0xbc, - 0x26, 0x3a, 0xa5, 0x2c, 0xc6, 0x23, 0xca, 0xa8, 0xac, 0x59, 0x31, 0x00, 0x1f, 0xc7, 0x24, 0xd2, - 0x50, 0x72, 0xc9, 0x33, 0x8d, 0xd7, 0x23, 0x1b, 0xdd, 0x13, 0xe1, 0xdf, 0x19, 0xd0, 0x50, 0x0e, - 0x7e, 0x5b, 0xc2, 0x31, 0x61, 0x26, 0x92, 0x85, 0x90, 0x8d, 0x1c, 0xe3, 0xfd, 0xb8, 0xec, 0x33, - 0x89, 0xa3, 0x38, 0x9d, 0xe7, 0x8f, 0x0c, 0x40, 0x7c, 0xcc, 0x5c, 0xa0, 0xe5, 0x0e, 0x49, 0xf1, - 0x96, 0xf1, 0xd3, 0x5c, 0xc9, 0x2f, 0x4b, 0x56, 0x53, 0x65, 0xc9, 0x09, 0x02, 0xa9, 0x45, 0x58, - 0xd0, 0xe8, 0xa0, 0x1e, 0xde, 0x85, 0x66, 0xc4, 0xf0, 0xc6, 0x8f, 0x76, 0xb6, 0xce, 0xca, 0xee, - 0xdd, 0xb8, 0x56, 0xc7, 0xb7, 0xa3, 0x1e, 0xfa, 0x62, 0xec, 0x4c, 0x84, 0x71, 0x69, 0x3a, 0x96, - 0x08, 0xf8, 0x6f, 0x5a, 0x54, 0x4f, 0x37, 0x77, 0xdb, 0xa7, 0xba, 0xeb, 0x94, 0x6f, 0x91, 0xe3, - 0x94, 0xc9, 0x54, 0x5f, 0x8f, 0x6d, 0x67, 0x88, 0xf7, 0x1f, 0x7a, 0xe8, 0xcc, 0xe8, 0xa6, 0x1e, - 0xfa, 0x16, 0x4c, 0x73, 0xdf, 0x1a, 0x99, 0xf8, 0xa4, 0x2e, 0x39, 0x5a, 0x86, 0xee, 0x67, 0xd8, - 0xfd, 0xe7, 0x32, 0x99, 0xe0, 0xe9, 0x5f, 0x0e, 0x17, 0x2b, 0x00, 0xfc, 0x04, 0xc5, 0x2d, 0x28, - 0x10, 0xfc, 0x2b, 0x03, 0x5a, 0x16, 0x19, 0xb9, 0xc7, 0xe4, 0x95, 0xc4, 0xbf, 0x02, 0xa0, 0x45, - 0xb5, 0x0a, 0xe4, 0x6c, 0x05, 0x6a, 0xbc, 0x0b, 0x97, 0x73, 0x68, 0xe2, 0x4f, 0x24, 0x1d, 0x77, - 0xbb, 0x84, 0x52, 0x51, 0x02, 0x8e, 0x86, 0xe1, 0x35, 0xea, 0x77, 0x06, 0x43, 0xd2, 0x13, 0x04, - 0x89, 0x11, 0xfe, 0xd8, 0x80, 0xc5, 0x7b, 0xbd, 0xde, 0xff, 0x11, 0x83, 0x8f, 0x60, 0x29, 0x8b, - 0xa0, 0x52, 0xdc, 0x0d, 0xa0, 0xb9, 0x35, 0xa0, 0xa3, 0x01, 0xa5, 0xf2, 0x59, 0x34, 0x61, 0xc6, - 0x4d, 0x15, 0x4e, 0x5d, 0x6f, 0xe2, 0xe0, 0xb8, 0x05, 0xd3, 0x76, 0x32, 0x78, 0x14, 0x43, 0x7c, - 0x1f, 0xe6, 0x93, 0x47, 0xf1, 0x2c, 0xbe, 0x3b, 0x49, 0x16, 0x1f, 0x23, 0xe1, 0x3f, 0x1a, 0x80, - 0x76, 0xc7, 0x01, 0x49, 0xb9, 0xdc, 0x37, 0x44, 0x75, 0x28, 0xb8, 0xb1, 0xaa, 0x06, 0x31, 0x42, - 0x18, 0xe6, 0x46, 0xe3, 0x80, 0xf4, 0xda, 0xa4, 0xeb, 0x3a, 0x3d, 0xca, 0x42, 0xb4, 0x86, 0x95, - 0x80, 0xe1, 0x6d, 0x58, 0xd0, 0x28, 0x2d, 0xc7, 0xf4, 0xcf, 0x0c, 0x68, 0x6d, 0x76, 0x9c, 0x2e, - 0x19, 0xbe, 0x7d, 0xd6, 0xf1, 0x1e, 0x5c, 0xce, 0xa1, 0xa5, 0x1c, 0x73, 0x7d, 0x98, 0x93, 0x3b, - 0xbd, 0x49, 0x03, 0xdc, 0x80, 0x86, 0x72, 0x4e, 0x39, 0x5a, 0x87, 0x80, 0x52, 0xbc, 0xbf, 0x49, - 0x8a, 0xb7, 0x61, 0x41, 0x3b, 0xad, 0x1c, 0xdd, 0x7f, 0x30, 0xe0, 0x72, 0x3b, 0xf1, 0xda, 0xec, - 0x0d, 0xba, 0x87, 0x4e, 0x67, 0x14, 0x05, 0x17, 0x76, 0xd2, 0x93, 0xd9, 0xf1, 0x4b, 0xe9, 0x08, - 0xc4, 0xe8, 0xa5, 0x8c, 0xc6, 0x09, 0xae, 0xab, 0xc5, 0x5c, 0x4f, 0xe9, 0x5c, 0xc7, 0xd6, 0x55, - 0x4b, 0x58, 0xd7, 0x3e, 0x98, 0x79, 0x84, 0x96, 0x2b, 0xfb, 0xf9, 0xac, 0x4d, 0xc4, 0x33, 0xf2, - 0xf6, 0xd8, 0x13, 0x75, 0xf3, 0xa8, 0x1c, 0x90, 0x22, 0xd4, 0x28, 0x22, 0xb4, 0x92, 0xf0, 0x00, - 0x05, 0xec, 0xe3, 0x9f, 0xf3, 0xf6, 0x50, 0xf6, 0xa1, 0xa5, 0x34, 0x78, 0xa6, 0x62, 0xc0, 0x09, - 0x0b, 0x91, 0x62, 0x3a, 0x3e, 0xb3, 0xae, 0xe8, 0xc7, 0x3c, 0xc8, 0xd1, 0x4e, 0x2e, 0x27, 0x82, - 0xd7, 0xd1, 0x1b, 0xfd, 0x4f, 0x05, 0x16, 0x93, 0xf6, 0xa5, 0x14, 0x2c, 0x73, 0x2e, 0x41, 0x09, - 0x0b, 0x98, 0xe0, 0x02, 0x7c, 0x55, 0xb9, 0x5a, 0x35, 0x91, 0x25, 0xdb, 0xae, 0x6b, 0x0f, 0x09, - 0xff, 0x8b, 0xe1, 0x60, 0xdc, 0x5f, 0x6b, 0x07, 0xfe, 0xc0, 0xb1, 0xbf, 0xd3, 0x19, 0x8e, 0x89, - 0x72, 0xf1, 0xee, 0xc0, 0x74, 0xbf, 0xd3, 0x25, 0x1f, 0x58, 0x4f, 0x58, 0xfd, 0xe4, 0xb4, 0x85, - 0x11, 0x32, 0xfa, 0x1a, 0xd4, 0x7d, 0x99, 0x11, 0x4c, 0xb3, 0x95, 0x57, 0xb4, 0x95, 0x3b, 0x4e, - 0x70, 0x7b, 0x9d, 0x2f, 0x8c, 0xb1, 0xd1, 0x4d, 0xa8, 0x90, 0x97, 0xad, 0x99, 0x09, 0x4e, 0xab, - 0x90, 0x97, 0xf8, 0x31, 0x2c, 0x65, 0xc9, 0xb8, 0xdc, 0xfd, 0x3d, 0x8a, 0xeb, 0xb9, 0xf7, 0x0e, - 0x68, 0xe0, 0x77, 0xba, 0xc1, 0xe9, 0x2a, 0x53, 0x55, 0x53, 0x29, 0x56, 0x4d, 0x55, 0x53, 0x0d, - 0xfe, 0xb3, 0x01, 0xad, 0xec, 0x33, 0xcb, 0xf5, 0x30, 0x6f, 0x8a, 0xff, 0x5e, 0x64, 0xe8, 0x7c, - 0x40, 0x7c, 0x51, 0x30, 0xd5, 0x27, 0xd0, 0x97, 0x61, 0xc1, 0x4e, 0xd6, 0xff, 0xb7, 0x3b, 0xf4, - 0x07, 0x8c, 0xce, 0x29, 0x2b, 0x6b, 0x6a, 0xfd, 0x9f, 0x0b, 0xc0, 0xff, 0xa2, 0x41, 0xdf, 0x80, - 0xd9, 0x6e, 0xfc, 0xef, 0x05, 0x5a, 0x8c, 0xe8, 0x4a, 0xfc, 0x80, 0x62, 0x2e, 0x65, 0x81, 0xa9, - 0x87, 0xee, 0x40, 0xfd, 0x87, 0x51, 0x03, 0x0d, 0x2d, 0x08, 0x24, 0xb5, 0x41, 0x68, 0x5e, 0xd4, - 0x81, 0x7c, 0xdd, 0x51, 0xd4, 0x9d, 0x91, 0xeb, 0xd4, 0xbe, 0x90, 0x5c, 0x97, 0x6c, 0xe2, 0x6c, - 0x40, 0xc3, 0x56, 0xff, 0x99, 0x40, 0x97, 0xa2, 0x3f, 0x60, 0x52, 0xbf, 0x6f, 0x98, 0xad, 0xec, - 0x09, 0xea, 0xa1, 0xbb, 0x30, 0x47, 0x95, 0x9f, 0x09, 0x50, 0xc4, 0x5b, 0xea, 0x07, 0x08, 0xf3, - 0x52, 0x26, 0x9c, 0x7a, 0xe8, 0xfb, 0x70, 0xc9, 0xce, 0xee, 0xe4, 0xa3, 0x6b, 0xa9, 0x53, 0xf5, - 0x4e, 0xba, 0x89, 0x4f, 0x43, 0xa1, 0x1e, 0xea, 0xc3, 0x65, 0x3b, 0xaf, 0x2d, 0x8e, 0xde, 0x8d, - 0x37, 0xc8, 0xed, 0xd7, 0x9b, 0xd7, 0x4f, 0x47, 0xa2, 0x1e, 0x7a, 0x0a, 0x28, 0xd0, 0x7a, 0xc3, - 0x68, 0x59, 0xac, 0xcd, 0xec, 0x7b, 0x9b, 0xef, 0x14, 0xcc, 0x52, 0x0f, 0x75, 0xa1, 0x65, 0xe7, - 0xb4, 0x0c, 0x11, 0x4e, 0xfc, 0xae, 0x94, 0xd9, 0x2e, 0x35, 0xdf, 0x3d, 0x15, 0x87, 0xd3, 0x6d, - 0x6b, 0x3d, 0x2f, 0x49, 0x77, 0x66, 0xcb, 0x4e, 0xd2, 0x9d, 0xd3, 0x2c, 0x7b, 0x06, 0x0b, 0xb6, - 0xde, 0x04, 0x42, 0xd9, 0xab, 0xa4, 0x95, 0xad, 0x14, 0x4d, 0x53, 0x0f, 0x6d, 0x43, 0xf3, 0x30, - 0xd9, 0xd5, 0x40, 0xd1, 0x3f, 0x5b, 0x7a, 0x73, 0xc7, 0x34, 0xf3, 0xa6, 0x24, 0xcb, 0xa9, 0x36, - 0x81, 0xca, 0xb2, 0xde, 0xb9, 0x50, 0x59, 0xce, 0xea, 0x2f, 0xec, 0xc1, 0x85, 0x41, 0xba, 0x72, - 0x8e, 0xae, 0x44, 0xc5, 0xee, 0x8c, 0x56, 0x80, 0xb9, 0x9c, 0x3f, 0xc9, 0xf7, 0xb3, 0xd3, 0x65, - 0x66, 0xb9, 0x5f, 0x56, 0x7d, 0xdc, 0x5c, 0xce, 0x9f, 0xe4, 0x17, 0x55, 0xad, 0xf4, 0xc8, 0x8b, - 0x9a, 0xaa, 0x26, 0x99, 0x97, 0x32, 0xe1, 0xd4, 0x43, 0xb7, 0x61, 0x26, 0x82, 0x21, 0x94, 0x42, - 0x0a, 0x17, 0x2e, 0x68, 0x30, 0xee, 0x9a, 0xa4, 0xcf, 0x40, 0x69, 0x0c, 0xaa, 0xba, 0xa6, 0x64, - 0xa1, 0x71, 0x1b, 0x9a, 0xa9, 0xea, 0x97, 0x54, 0xb5, 0x5e, 0x9d, 0x93, 0xaa, 0xce, 0x28, 0x98, - 0x85, 0xaa, 0xd6, 0xeb, 0x3c, 0x39, 0xd6, 0x2d, 0x4a, 0x0b, 0x39, 0xd6, 0x2d, 0xf3, 0xfc, 0xe7, - 0xb0, 0x98, 0x59, 0xe2, 0x40, 0x57, 0xc5, 0xba, 0xbc, 0xa2, 0x8c, 0xb9, 0x5a, 0x8c, 0xc0, 0xc9, - 0xd5, 0xab, 0x0b, 0x92, 0xdc, 0xcc, 0x4a, 0x88, 0x24, 0x37, 0xa7, 0x2c, 0x71, 0x17, 0xe6, 0xd4, - 0xcc, 0x5f, 0x6a, 0x3e, 0x55, 0x79, 0x90, 0x9a, 0xd7, 0xca, 0x04, 0xdb, 0xd0, 0x4c, 0xe5, 0x9a, - 0x52, 0x19, 0x7a, 0x3e, 0x2c, 0x95, 0x91, 0x95, 0x9e, 0x3e, 0x87, 0xc5, 0xcc, 0xdc, 0x55, 0x4a, - 0x2e, 0x2f, 0xcb, 0x96, 0x92, 0xcb, 0x4f, 0x7d, 0xef, 0x40, 0x5d, 0x82, 0xa5, 0xa9, 0xa9, 0x79, - 0xa2, 0x34, 0xb5, 0x64, 0x3a, 0xb7, 0x0d, 0xcd, 0xd4, 0xa6, 0x92, 0x3b, 0x3d, 0xd7, 0x94, 0xdc, - 0x65, 0x25, 0x86, 0xdf, 0x4b, 0xc7, 0x5d, 0x51, 0xee, 0x84, 0x56, 0x53, 0xaf, 0x9f, 0x96, 0x03, - 0x9a, 0xd7, 0x4e, 0xc1, 0xe0, 0x2f, 0x65, 0x4e, 0x52, 0xa3, 0xbe, 0x94, 0x39, 0x99, 0x96, 0xfa, - 0x52, 0xe6, 0xe6, 0x45, 0xfc, 0xae, 0xa4, 0xd2, 0x05, 0xf5, 0xae, 0xe8, 0x39, 0x8c, 0x7a, 0x57, - 0xb2, 0xf2, 0x8c, 0xa7, 0x80, 0xf4, 0x58, 0x54, 0x6e, 0x99, 0x99, 0x0a, 0xc8, 0x2d, 0x73, 0x82, - 0xd8, 0xef, 0x2a, 0xfd, 0x41, 0x25, 0x3a, 0x44, 0xe9, 0xe7, 0x23, 0x15, 0xae, 0x9a, 0x57, 0x0b, - 0xe7, 0xa9, 0xb7, 0xd1, 0x7c, 0xde, 0x58, 0xe3, 0xff, 0x46, 0xbf, 0xcf, 0xbe, 0x07, 0xe7, 0x58, - 0x88, 0x7d, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd1, 0xe2, 0x3c, 0x77, 0x37, 0x2d, 0x00, - 0x00, +var fileDescriptor_group_37a68c49b6b0a4e7 = []byte{ + // 2188 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x1a, 0xdf, 0x6f, 0xdc, 0x48, + 0x59, 0xde, 0x64, 0x9b, 0xec, 0x97, 0x6c, 0x37, 0x99, 0x34, 0xe9, 0xd6, 0xcd, 0xa5, 0xa9, 0xaf, + 0x1c, 0x15, 0x2a, 0x09, 0xe4, 0xa4, 0x0a, 0x38, 0xc4, 0xd1, 0xfc, 0x6a, 0x72, 0x6d, 0x12, 0xe2, + 0xed, 0x81, 0x74, 0x12, 0x2a, 0xce, 0xee, 0xac, 0x31, 0xd9, 0xb5, 0x1d, 0x8f, 0xb7, 0xa9, 0x78, + 0x39, 0xf1, 0x82, 0x04, 0x42, 0x02, 0xc4, 0xeb, 0x21, 0x04, 0x2f, 0xf0, 0x00, 0x88, 0x07, 0x78, + 0xe6, 0x1f, 0xe0, 0x11, 0x21, 0xf1, 0xca, 0x3f, 0xc0, 0x0b, 0x7f, 0x00, 0xf2, 0xcc, 0x78, 0x3c, + 0xf6, 0xd8, 0xde, 0x3d, 0xe7, 0xda, 0xbe, 0xac, 0x34, 0xdf, 0x7c, 0xe3, 0xf9, 0x7e, 0xcf, 0xf7, + 0x63, 0x61, 0xd1, 0x0e, 0xbc, 0x91, 0xbf, 0x49, 0x7f, 0x37, 0xfc, 0xc0, 0x0b, 0x3d, 0x54, 0xa7, + 0x0b, 0xfd, 0xee, 0x89, 0x8f, 0xdd, 0xe7, 0x87, 0x47, 0x9b, 0xfe, 0xb9, 0xbd, 0x49, 0x77, 0x36, + 0x49, 0xef, 0xfc, 0xf9, 0x25, 0xd9, 0xbc, 0x24, 0x0c, 0x53, 0xff, 0x7c, 0x31, 0x4a, 0x60, 0xf9, + 0x3e, 0x0e, 0x38, 0xa2, 0xf1, 0x0d, 0x80, 0x1d, 0x6f, 0x38, 0xf4, 0x5c, 0x13, 0x13, 0x1f, 0xb5, + 0x61, 0x66, 0x2f, 0x08, 0x76, 0xbc, 0x1e, 0x6e, 0x6b, 0xeb, 0xda, 0xfd, 0xba, 0x19, 0x2f, 0xd1, + 0x0a, 0x5c, 0xdb, 0x0b, 0x82, 0x23, 0x62, 0xb7, 0x6b, 0xeb, 0xda, 0xfd, 0x86, 0xc9, 0x57, 0xc6, + 0x07, 0x80, 0x1e, 0x47, 0x44, 0x3d, 0xea, 0xf5, 0x8e, 0xf0, 0xf0, 0x0c, 0x07, 0x87, 0x6e, 0xdf, + 0x8b, 0xb0, 0x3f, 0x24, 0x38, 0x38, 0xdc, 0xa5, 0x9f, 0x69, 0x98, 0x7c, 0x85, 0x56, 0xa1, 0x61, + 0x7a, 0x03, 0xfc, 0x14, 0xbf, 0xc0, 0x03, 0xfa, 0xa1, 0xba, 0x99, 0x00, 0x8c, 0xff, 0x6a, 0x70, + 0x7d, 0x27, 0xc0, 0x56, 0x88, 0xe9, 0x27, 0x4d, 0x7c, 0x81, 0x1e, 0xc1, 0xf5, 0x43, 0xd7, 0x09, + 0xd9, 0xa7, 0x9f, 0x3a, 0x24, 0x6c, 0x6b, 0xeb, 0x53, 0xf7, 0xe7, 0xb6, 0x6e, 0x6d, 0x30, 0xb9, + 0xa8, 0x77, 0x9b, 0x99, 0x03, 0xe8, 0x6b, 0xd0, 0xa0, 0x58, 0xd1, 0x26, 0xbd, 0x73, 0x6e, 0x6b, + 0x75, 0x83, 0xe0, 0xe0, 0x05, 0x0e, 0x9e, 0x5b, 0xbe, 0xf3, 0xdc, 0xb7, 0x02, 0x6b, 0x48, 0x36, + 0x04, 0x8e, 0x99, 0xa0, 0xa3, 0x75, 0x98, 0x3b, 0xf1, 0x71, 0x60, 0x85, 0x8e, 0xe7, 0x1e, 0xee, + 0xb6, 0xa7, 0x28, 0x33, 0x32, 0x08, 0xe9, 0x30, 0x7b, 0xe2, 0x73, 0x5e, 0xa7, 0xe9, 0xb6, 0x58, + 0xd3, 0xd3, 0x97, 0x2e, 0x0e, 0xf8, 0x76, 0x9d, 0x9f, 0x4e, 0x40, 0xc6, 0xc7, 0xd0, 0x4a, 0x31, + 0x5c, 0x45, 0x05, 0x69, 0x06, 0xa7, 0x3e, 0x15, 0x83, 0x46, 0x00, 0x0b, 0x8f, 0x71, 0x48, 0xd7, + 0x84, 0xee, 0xe1, 0x8b, 0x88, 0x6c, 0x86, 0xb0, 0x2b, 0x04, 0xde, 0x30, 0x65, 0x50, 0x56, 0x2c, + 0xb5, 0x72, 0xb1, 0x4c, 0xa5, 0xc5, 0x62, 0xfc, 0x44, 0x83, 0xc5, 0xcc, 0xa5, 0x95, 0xf8, 0xde, + 0x86, 0xa6, 0x60, 0x84, 0x52, 0x3a, 0x45, 0x4d, 0xa3, 0x9c, 0xf7, 0xf4, 0x11, 0xe3, 0xd7, 0x1a, + 0xb4, 0x3a, 0x9c, 0x96, 0x98, 0xff, 0xa7, 0xd0, 0xb2, 0xe3, 0xf5, 0xbe, 0x17, 0x74, 0x70, 0x48, + 0x29, 0x9a, 0xdb, 0x32, 0xca, 0xbe, 0xcc, 0x30, 0xcd, 0xec, 0xd1, 0x94, 0x24, 0x6a, 0x39, 0x06, + 0x52, 0x6a, 0x5e, 0xc6, 0x1e, 0x2c, 0xa4, 0xc9, 0x23, 0x3e, 0xfa, 0xb2, 0xec, 0xb2, 0x9c, 0xb4, + 0x45, 0xee, 0x0f, 0xc9, 0x86, 0x29, 0x21, 0x19, 0x3f, 0x04, 0x3d, 0x96, 0xf8, 0x23, 0xdf, 0x1f, + 0x38, 0x5d, 0xfa, 0xfd, 0x48, 0x02, 0x11, 0xc3, 0x32, 0x89, 0x5a, 0x39, 0x89, 0x39, 0xaa, 0x5e, + 0x03, 0xd8, 0x0f, 0xbc, 0x61, 0x4a, 0xd9, 0x12, 0xc4, 0xf8, 0x44, 0x83, 0xdb, 0x85, 0x97, 0x57, + 0x52, 0xfc, 0x13, 0x58, 0x88, 0x03, 0xc4, 0x08, 0x93, 0x50, 0xd2, 0xfd, 0x9d, 0x22, 0x0d, 0x71, + 0x54, 0x53, 0x39, 0x68, 0x84, 0xb0, 0xfa, 0x18, 0x87, 0x11, 0xad, 0x26, 0xbe, 0xc8, 0x11, 0x4e, + 0x51, 0x28, 0xbb, 0x9a, 0x5e, 0x7f, 0xa3, 0xc1, 0x5b, 0x25, 0xd7, 0x56, 0xd2, 0x72, 0xae, 0x5c, + 0x6a, 0x55, 0xe5, 0xf2, 0x77, 0x0d, 0x96, 0x9f, 0x05, 0x96, 0x4b, 0xfa, 0x38, 0xa0, 0x9b, 0x34, + 0x6e, 0x45, 0x12, 0x69, 0xc3, 0x0c, 0x0f, 0x06, 0x5c, 0x24, 0xf1, 0x12, 0xbd, 0x03, 0xd7, 0x4f, + 0x06, 0x3d, 0x39, 0xe6, 0x31, 0xc9, 0x64, 0xa0, 0x11, 0xde, 0x31, 0xbe, 0x94, 0xf1, 0x98, 0x88, + 0x32, 0xd0, 0xac, 0x1c, 0xa7, 0xcb, 0xe3, 0x4c, 0x3d, 0x13, 0x67, 0x9e, 0xc0, 0x4a, 0x1e, 0x03, + 0xd5, 0x3c, 0xe8, 0x1f, 0x1a, 0xcc, 0x7f, 0xe0, 0x39, 0xae, 0x78, 0x99, 0x8a, 0xa5, 0xb0, 0x06, + 0x60, 0xe2, 0x8b, 0x23, 0x4c, 0x88, 0x65, 0x63, 0x2e, 0x01, 0x09, 0x52, 0x16, 0x1b, 0x27, 0xe0, + 0x78, 0x0d, 0x20, 0xa2, 0xa3, 0xe3, 0x8d, 0x82, 0x2e, 0xa6, 0x3c, 0xd7, 0x4d, 0x09, 0x82, 0xee, + 0x41, 0xf3, 0xd0, 0x7d, 0xe1, 0x84, 0x42, 0xb4, 0xd7, 0xe8, 0x37, 0xd2, 0x40, 0x63, 0x1b, 0x9a, + 0x12, 0x37, 0xd5, 0x44, 0xf2, 0xef, 0xc8, 0xb1, 0x33, 0x5e, 0x1d, 0x6d, 0x78, 0x2e, 0xc1, 0xfc, + 0x1d, 0x91, 0x79, 0xd1, 0xca, 0xb5, 0x97, 0xf5, 0x21, 0x49, 0xbe, 0x53, 0x8a, 0x7c, 0xa5, 0x80, + 0x33, 0x9d, 0x0d, 0x38, 0xd1, 0xfe, 0x81, 0xe5, 0xf6, 0x06, 0xb8, 0x17, 0x85, 0x0e, 0x66, 0x15, + 0x12, 0x04, 0x19, 0x30, 0xcf, 0x56, 0x26, 0x26, 0xa3, 0x41, 0x48, 0x05, 0x54, 0x37, 0x53, 0x30, + 0xe3, 0x14, 0x56, 0x8b, 0x59, 0xab, 0x26, 0xae, 0x3e, 0xcc, 0x9f, 0x8e, 0x9c, 0x70, 0x02, 0x03, + 0xba, 0xda, 0xf3, 0xba, 0x0d, 0x4d, 0xe9, 0x9e, 0x6a, 0xb4, 0xfe, 0x56, 0x83, 0xe5, 0x38, 0x66, + 0x27, 0xa9, 0x54, 0x39, 0xd5, 0x57, 0x0a, 0x88, 0x51, 0x98, 0xdd, 0x77, 0x06, 0x21, 0x0e, 0xa8, + 0x42, 0xeb, 0x26, 0x5f, 0x45, 0xf7, 0x1d, 0xe3, 0x97, 0x61, 0x07, 0x5f, 0x70, 0x5b, 0x8f, 0x97, + 0xc6, 0x1f, 0x35, 0x58, 0xc9, 0xa3, 0xb1, 0xd2, 0x93, 0xb2, 0x0f, 0x30, 0x4c, 0x72, 0x4c, 0xf6, + 0x98, 0xbc, 0x53, 0x14, 0x34, 0xd9, 0x6d, 0xfb, 0xa3, 0xc1, 0x80, 0xbe, 0xc9, 0xd2, 0xc9, 0xe8, + 0x66, 0x97, 0x93, 0xcb, 0xf8, 0x88, 0x97, 0xc6, 0x2f, 0x14, 0x72, 0x45, 0xc2, 0x55, 0x1a, 0x4a, + 0x24, 0xb2, 0x6a, 0x34, 0x13, 0x93, 0xaf, 0xbb, 0x52, 0x28, 0x31, 0x7e, 0xa5, 0xc1, 0xcd, 0x5c, + 0x92, 0xde, 0xa4, 0x08, 0x8d, 0xbf, 0x68, 0x80, 0x9e, 0x38, 0xdd, 0x73, 0x09, 0xaf, 0x5c, 0x48, + 0x5f, 0x80, 0x85, 0x08, 0x1f, 0xf7, 0x18, 0xe3, 0x92, 0xa8, 0x14, 0x78, 0x44, 0xbc, 0x89, 0x2d, + 0xe2, 0xb9, 0x5c, 0x5c, 0x7c, 0x95, 0x15, 0x56, 0xbd, 0xdc, 0xe5, 0xae, 0x65, 0x5c, 0xee, 0x3d, + 0x68, 0x1c, 0xf6, 0xb6, 0x58, 0xe8, 0x28, 0x4c, 0x18, 0xe8, 0xd5, 0x34, 0xe0, 0xb0, 0xc2, 0x87, + 0xaf, 0x8c, 0x8f, 0x61, 0x49, 0x61, 0xb7, 0x92, 0x02, 0x1e, 0x42, 0x53, 0x50, 0x21, 0xe9, 0x60, + 0x81, 0xbb, 0xba, 0xd8, 0x33, 0xd3, 0x68, 0xc6, 0x88, 0xfa, 0x7a, 0xf4, 0x1c, 0xe0, 0x1e, 0xa5, + 0x22, 0xf6, 0xf5, 0x74, 0xa0, 0xd5, 0x94, 0x40, 0xbb, 0x0e, 0x73, 0x9e, 0x1a, 0xa7, 0xbc, 0x09, + 0xe3, 0xd4, 0x8f, 0x99, 0x43, 0x28, 0xf7, 0x5e, 0xa9, 0x06, 0x9a, 0xb8, 0x0e, 0x48, 0xd0, 0x8d, + 0xbf, 0x6a, 0x70, 0x83, 0xbd, 0x8e, 0x11, 0x65, 0xcf, 0x3c, 0x11, 0xa1, 0xc7, 0xc7, 0xe1, 0xe2, + 0x47, 0x2a, 0x31, 0xb4, 0xe9, 0x94, 0xa1, 0x3d, 0x80, 0x45, 0x76, 0x97, 0x6c, 0xad, 0x75, 0x6a, + 0xad, 0xea, 0x46, 0xa9, 0xd1, 0xfd, 0x48, 0x83, 0xe5, 0x1c, 0xb2, 0x5f, 0xab, 0xe9, 0x7c, 0xa2, + 0xc1, 0x0d, 0x91, 0xdb, 0x0f, 0x06, 0x93, 0x78, 0xeb, 0x95, 0x9f, 0x89, 0x93, 0x7e, 0x9f, 0xe0, + 0x30, 0x7e, 0x26, 0xd8, 0x0a, 0xdd, 0x80, 0xfa, 0x8e, 0x37, 0x72, 0x43, 0xfe, 0x48, 0xb0, 0x85, + 0xf1, 0x4b, 0xe9, 0x19, 0x93, 0xc8, 0x7b, 0xa3, 0xe1, 0xed, 0x77, 0x1a, 0xcc, 0xee, 0x1c, 0x75, + 0x28, 0x5a, 0xba, 0x74, 0xd7, 0x3e, 0x5d, 0x6f, 0x62, 0x83, 0x77, 0x5e, 0x44, 0xc2, 0x7c, 0x6c, + 0x0d, 0xe3, 0x74, 0x33, 0x67, 0x27, 0x0a, 0x93, 0x69, 0xa8, 0x90, 0xb0, 0x02, 0x37, 0xfe, 0xac, + 0xc1, 0xbc, 0x28, 0xd1, 0x23, 0x7d, 0xee, 0x02, 0x7c, 0xcb, 0xb2, 0x1d, 0x97, 0xea, 0x81, 0x53, + 0x7a, 0x2f, 0x87, 0x52, 0x5e, 0x41, 0x24, 0xb8, 0xa6, 0x74, 0x0e, 0xad, 0x72, 0x76, 0x25, 0x4a, + 0x13, 0x40, 0x89, 0x33, 0x8d, 0x7f, 0xca, 0xfe, 0xa9, 0x41, 0x53, 0x22, 0x98, 0xf8, 0xe8, 0x8b, + 0xd0, 0x88, 0xc5, 0x4c, 0x78, 0xd3, 0xa8, 0x15, 0x27, 0x3d, 0x1c, 0x6e, 0x26, 0x18, 0x68, 0x2f, + 0xc5, 0x20, 0x6b, 0x13, 0x7d, 0x2e, 0x97, 0x41, 0x96, 0x05, 0x16, 0x70, 0xa8, 0xc3, 0x2c, 0x63, + 0x68, 0x34, 0xa4, 0x4c, 0xd4, 0x4d, 0xb1, 0x8e, 0xf2, 0xb0, 0x6e, 0x92, 0x87, 0x4d, 0x17, 0xe6, + 0x61, 0x09, 0x92, 0x71, 0x92, 0x74, 0x4a, 0x26, 0xf1, 0xad, 0xb1, 0x01, 0xcb, 0xf8, 0x9b, 0x92, + 0xd8, 0x91, 0x9d, 0xa3, 0xce, 0x58, 0x8f, 0xcd, 0x98, 0x97, 0x58, 0x67, 0xec, 0x62, 0xaa, 0xa2, + 0x5d, 0x8c, 0xd7, 0xef, 0xff, 0xd4, 0xec, 0x89, 0xd2, 0x4d, 0x7c, 0xf4, 0x4d, 0x98, 0x61, 0xee, + 0x15, 0xab, 0x79, 0x52, 0xaf, 0x8c, 0x8f, 0x7d, 0x56, 0xba, 0x5f, 0x03, 0x60, 0x37, 0x1c, 0x8f, + 0x86, 0x84, 0x6b, 0x5f, 0x82, 0x54, 0xd1, 0xbf, 0x03, 0xad, 0x5d, 0x87, 0x0c, 0x1d, 0x42, 0xc4, + 0xa3, 0xa4, 0xc3, 0xac, 0x97, 0x69, 0xd6, 0x78, 0xfe, 0xc4, 0x0f, 0x72, 0x1b, 0x66, 0xec, 0xb4, + 0x8f, 0xf1, 0xa5, 0xb1, 0x07, 0x0b, 0xe9, 0xab, 0x58, 0xe5, 0xd0, 0x9d, 0xa4, 0x72, 0x90, 0x28, + 0xfe, 0x83, 0x06, 0xe8, 0x68, 0xc4, 0x1b, 0x9a, 0x89, 0xcd, 0xbe, 0x22, 0xaa, 0xa3, 0x68, 0x3d, + 0x92, 0xeb, 0x40, 0xbe, 0x8a, 0x6a, 0xbc, 0xe1, 0x28, 0xc4, 0xbd, 0x0e, 0xee, 0x7a, 0x6e, 0x8f, + 0xd0, 0x67, 0xa1, 0x69, 0xa6, 0x60, 0xc6, 0x01, 0x2c, 0x29, 0x94, 0x56, 0x63, 0xfa, 0xa7, 0x1a, + 0xb4, 0x77, 0x2c, 0xb7, 0x8b, 0x07, 0x6f, 0x9e, 0x75, 0xe3, 0x18, 0x6e, 0x15, 0xd0, 0x52, 0x8d, + 0xb9, 0x3e, 0xcc, 0x8b, 0x2f, 0xbd, 0x4a, 0x03, 0xdc, 0x86, 0xa6, 0x74, 0x4f, 0x35, 0x5a, 0x07, + 0x80, 0x32, 0xbc, 0xbf, 0x4a, 0x8a, 0x0f, 0x60, 0x49, 0xb9, 0xad, 0x1a, 0xdd, 0xbf, 0xd7, 0xe0, + 0x56, 0x27, 0x15, 0xde, 0x8e, 0x9d, 0xee, 0xb9, 0x6b, 0x0d, 0x31, 0x0f, 0xcd, 0x76, 0x3a, 0x34, + 0xdb, 0x49, 0x68, 0x76, 0x39, 0x62, 0x1c, 0x9a, 0xe3, 0x75, 0x8a, 0xeb, 0xa9, 0x72, 0xae, 0xa7, + 0x55, 0xae, 0x13, 0xeb, 0xaa, 0xa7, 0xac, 0xeb, 0x04, 0xf4, 0x22, 0x42, 0xab, 0xb5, 0x1a, 0x02, + 0xda, 0x9a, 0x66, 0x55, 0x40, 0x67, 0xe4, 0xf3, 0x5e, 0x5d, 0x5c, 0x82, 0x64, 0x08, 0xd5, 0xca, + 0x08, 0xad, 0xa5, 0x22, 0x40, 0x09, 0xfb, 0xc6, 0xcf, 0x58, 0x4b, 0x3a, 0xff, 0xd2, 0x4a, 0x1a, + 0xbc, 0x52, 0x01, 0x72, 0x49, 0xdf, 0xe4, 0x84, 0x8e, 0xd7, 0x36, 0x89, 0xf9, 0x39, 0x7b, 0x55, + 0x95, 0x9b, 0xab, 0x89, 0xe0, 0xb3, 0x98, 0xc7, 0xfc, 0xa7, 0x06, 0xcb, 0x69, 0xfb, 0x92, 0x9a, + 0x24, 0x05, 0x4e, 0x50, 0xc1, 0x02, 0x26, 0x70, 0x80, 0xaf, 0x48, 0xae, 0x55, 0xe7, 0x99, 0xb9, + 0xed, 0x79, 0xf6, 0x00, 0xb3, 0xc9, 0xe9, 0xd9, 0xa8, 0xbf, 0xd1, 0x09, 0x03, 0xc7, 0xb5, 0xbf, + 0x6d, 0x0d, 0x46, 0x58, 0x72, 0xbc, 0x87, 0x30, 0xd3, 0xb7, 0xba, 0xf8, 0x43, 0xf3, 0x29, 0xad, + 0xd9, 0xc6, 0x1d, 0x8c, 0x91, 0xd1, 0x57, 0xa1, 0x11, 0x88, 0xe1, 0xe8, 0x0c, 0x3d, 0x79, 0x5b, + 0x39, 0x79, 0xe8, 0x86, 0xef, 0x6e, 0xb1, 0x83, 0x09, 0x36, 0x7a, 0x00, 0x35, 0xfc, 0xb2, 0x3d, + 0x3b, 0xc1, 0x6d, 0x35, 0xfc, 0xd2, 0x78, 0x02, 0x2b, 0x79, 0x32, 0xae, 0xe6, 0xbf, 0x17, 0x49, + 0x0f, 0xe9, 0xd1, 0x19, 0x09, 0x03, 0xab, 0x1b, 0x8e, 0x57, 0x99, 0xac, 0x9a, 0x5a, 0xb9, 0x6a, + 0xa6, 0x14, 0xd5, 0x18, 0x7f, 0xd2, 0xa0, 0x9d, 0x7f, 0x67, 0xb5, 0xb9, 0xc9, 0x03, 0x3e, 0x6b, + 0x17, 0xb9, 0xda, 0x19, 0x0e, 0x78, 0x93, 0x46, 0xdd, 0x40, 0x5f, 0x82, 0x25, 0x3b, 0xdd, 0x73, + 0x3c, 0xb0, 0xc8, 0xf7, 0x29, 0x9d, 0xd3, 0x66, 0xde, 0xd6, 0xd6, 0xbf, 0x16, 0x80, 0x4d, 0xee, + 0xd1, 0xd7, 0x61, 0xae, 0x9b, 0xcc, 0x7b, 0xd1, 0x72, 0x4c, 0x57, 0x6a, 0xe8, 0xad, 0xaf, 0xe4, + 0x81, 0x89, 0x8f, 0x1e, 0x42, 0xe3, 0x07, 0x71, 0xd3, 0x1e, 0x2d, 0x71, 0x24, 0x79, 0x28, 0xa1, + 0xdf, 0x50, 0x81, 0xec, 0xdc, 0x45, 0xdc, 0x11, 0x16, 0xe7, 0xe4, 0x5e, 0xb4, 0x38, 0x97, 0x6e, + 0x1c, 0x6f, 0x43, 0xd3, 0x96, 0xe7, 0xb4, 0xe8, 0x66, 0x3c, 0x75, 0xcf, 0x8c, 0x8c, 0xf5, 0x76, + 0xfe, 0x06, 0xf1, 0xd1, 0xfb, 0x30, 0x4f, 0xa4, 0x01, 0x26, 0x8a, 0x79, 0xcb, 0x0c, 0x5d, 0xf5, + 0x9b, 0xb9, 0x70, 0xe2, 0xa3, 0xef, 0xc1, 0x4d, 0x3b, 0x7f, 0x7a, 0x88, 0xee, 0x66, 0x6e, 0x55, + 0xa7, 0x77, 0xba, 0x31, 0x0e, 0x85, 0xf8, 0xa8, 0x0f, 0xb7, 0xec, 0xa2, 0x51, 0x1c, 0x7a, 0x3b, + 0xf9, 0x40, 0xe1, 0x8c, 0x50, 0xbf, 0x37, 0x1e, 0x89, 0xf8, 0xe8, 0x14, 0x50, 0xa8, 0xcc, 0xa3, + 0xd0, 0x2a, 0x3f, 0x9b, 0x3b, 0x6b, 0xd3, 0xdf, 0x2a, 0xd9, 0x25, 0x3e, 0xea, 0x42, 0xdb, 0x2e, + 0x18, 0x53, 0x20, 0x23, 0xf5, 0x17, 0x89, 0xdc, 0x11, 0x8d, 0xfe, 0xf6, 0x58, 0x1c, 0x46, 0xb7, + 0xad, 0xf4, 0xd9, 0x05, 0xdd, 0xb9, 0x63, 0x02, 0x41, 0x77, 0x41, 0x83, 0xfe, 0x19, 0x2c, 0xd9, + 0x6a, 0xe3, 0x19, 0xe5, 0x9f, 0x12, 0x56, 0xb6, 0x56, 0xb6, 0x4d, 0x7c, 0x74, 0x00, 0xad, 0xf3, + 0x74, 0x27, 0x15, 0xc5, 0xff, 0x13, 0x51, 0x1b, 0xca, 0xba, 0x5e, 0xb4, 0x25, 0x58, 0xce, 0xb4, + 0x26, 0x65, 0x96, 0xd5, 0x6e, 0xa9, 0xcc, 0x72, 0x5e, 0x4f, 0xf3, 0x18, 0x16, 0x9d, 0x6c, 0xb7, + 0x0e, 0xdd, 0x8e, 0x1b, 0x6c, 0x39, 0xed, 0x47, 0x7d, 0xb5, 0x78, 0x93, 0x7d, 0xcf, 0xce, 0xb6, + 0xb6, 0xc4, 0xf7, 0xf2, 0x7a, 0x72, 0xfa, 0x6a, 0xf1, 0x26, 0x0b, 0x12, 0xc2, 0x7b, 0x45, 0x90, + 0x90, 0x7b, 0x40, 0x22, 0x48, 0xa4, 0xfb, 0x2c, 0xa7, 0x80, 0xd4, 0xc2, 0xbc, 0xc0, 0x3a, 0x78, + 0xaf, 0xa1, 0xc0, 0x3a, 0x44, 0x45, 0xff, 0x3e, 0xcc, 0xcb, 0xa5, 0xa8, 0x88, 0x19, 0x99, 0x52, + 0x58, 0xc4, 0x0c, 0xa5, 0x6e, 0x3d, 0x80, 0x56, 0xa6, 0xf8, 0x11, 0x86, 0xa0, 0x16, 0x68, 0xc2, + 0x10, 0xf2, 0xea, 0xa5, 0x8f, 0x60, 0x39, 0xb7, 0x98, 0x42, 0x77, 0xe2, 0x18, 0x5d, 0x50, 0xf6, + 0xe9, 0xeb, 0xe5, 0x08, 0x4c, 0xe2, 0x02, 0x2c, 0x24, 0x2e, 0x17, 0x2e, 0x42, 0xe2, 0xe9, 0xfa, + 0xe2, 0x00, 0x5a, 0x99, 0x8f, 0x0a, 0xee, 0xd4, 0xe2, 0x47, 0x70, 0x97, 0x57, 0xa9, 0x7c, 0x37, + 0x9b, 0x08, 0xc4, 0xc9, 0x3c, 0x5a, 0xcf, 0x84, 0x63, 0xa5, 0x28, 0xd1, 0xef, 0x8e, 0xc1, 0x60, + 0xa1, 0xbb, 0x20, 0xcb, 0x96, 0x43, 0x77, 0x41, 0xea, 0x2f, 0x87, 0xee, 0xc2, 0x44, 0x9d, 0x19, + 0x5f, 0x26, 0x7f, 0x95, 0x8d, 0x4f, 0x4d, 0xaa, 0x65, 0xe3, 0xcb, 0x4b, 0x7c, 0x4f, 0x01, 0xa9, + 0xc9, 0x91, 0xf8, 0x64, 0x6e, 0x6e, 0x2a, 0x3e, 0x59, 0x90, 0x55, 0x7d, 0x47, 0x6a, 0x92, 0x4b, + 0xe9, 0x0a, 0xca, 0xc6, 0xb3, 0x4c, 0xfe, 0xa4, 0xdf, 0x29, 0xdd, 0x27, 0xfe, 0x76, 0xeb, 0xa3, + 0xe6, 0x06, 0xfb, 0x83, 0xe0, 0x7b, 0xf4, 0xf7, 0xec, 0x1a, 0xcd, 0xf9, 0xde, 0xfd, 0x7f, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xa6, 0x62, 0x5f, 0x0b, 0x3c, 0x28, 0x00, 0x00, } diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index cffe91886..852dbba5b 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -219,27 +219,19 @@ message CMSGroup { string GroupOwnerUserID = 3; } -message GetGroupReq { - string GroupName = 1; - server_api_params.RequestPagination Pagination = 2; - string OperationID = 3; -} - -message GetGroupResp { - repeated CMSGroup CMSGroups = 1; - server_api_params.RequestPagination Pagination = 2; - int32 GroupNums = 3; -} message GetGroupsReq { server_api_params.RequestPagination Pagination = 1; - string OperationID = 2; + string GroupName = 2; + string GroupID = 3; + string OperationID = 4; } message GetGroupsResp { repeated CMSGroup CMSGroups = 1; - server_api_params.RequestPagination Pagination = 2; + server_api_params.ResponsePagination Pagination = 2; int32 GroupNum = 3; + CommonResp commonResp = 4; } message GetGroupMemberReq { @@ -247,26 +239,6 @@ message GetGroupMemberReq { string OperationID = 2; } -message OperateUserRoleReq { - string GroupID = 1; - string UserID = 2; - int32 RoleLevel = 3; - string OperationID = 4; -} - -message OperateUserRoleResp { - -} - -message GetGroupByIDReq { - string GroupID = 1; - string OperationID = 2; -} - -message GetGroupByIDResp { - CMSGroup CMSGroup = 1; -} - message GetGroupMembersCMSReq { string GroupID = 1; string UserName = 2; @@ -278,30 +250,7 @@ message GetGroupMembersCMSResp { repeated server_api_params.GroupMemberFullInfo members = 1; server_api_params.ResponsePagination Pagination = 2; int32 MemberNums = 3; -} - -message RemoveGroupMembersCMSReq { - string GroupID = 1; - repeated string UserIDList = 2; - string OperationID = 3; - string OpUserID = 4; -} - -message RemoveGroupMembersCMSResp { - repeated string success = 1; - repeated string failed = 2; -} - -message AddGroupMembersCMSReq { - string GroupID = 1; - repeated string UserIDList = 2; - string OperationID = 3; - string OpUserID = 4; -} - -message AddGroupMembersCMSResp { - repeated string success = 1; - repeated string failed = 2; + CommonResp commonResp = 4; } message DismissGroupReq{ @@ -444,13 +393,9 @@ service group{ rpc inviteUserToGroup(InviteUserToGroupReq) returns (InviteUserToGroupResp); rpc getGroupAllMember(GetGroupAllMemberReq) returns(GetGroupAllMemberResp); - rpc GetGroupByID(GetGroupByIDReq) returns(GetGroupByIDResp); - rpc GetGroup(GetGroupReq) returns(GetGroupResp); rpc GetGroups(GetGroupsReq) returns(GetGroupsResp); - rpc OperateUserRole(OperateUserRoleReq) returns(OperateUserRoleResp); rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp); - rpc RemoveGroupMembersCMS(RemoveGroupMembersCMSReq) returns(RemoveGroupMembersCMSResp); - rpc AddGroupMembersCMS(AddGroupMembersCMSReq) returns(AddGroupMembersCMSResp); + rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp); rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp); @@ -459,7 +404,6 @@ service group{ rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp); rpc SetGroupMemberNickname(SetGroupMemberNicknameReq) returns (SetGroupMemberNicknameResp); - rpc GetJoinedSuperGroupList(GetJoinedSuperGroupListReq) returns (GetJoinedSuperGroupListResp); rpc GetSuperGroupsInfo(GetSuperGroupsInfoReq) returns (GetSuperGroupsInfoResp); rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp); From a4767bc7e3cd54cf0d14591d3b2b62bebd85d6d0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:40:54 +0800 Subject: [PATCH 18/44] cms --- internal/rpc/user/user.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 56670eb72..7d82bb192 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -7,7 +7,6 @@ import ( "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" rocksCache "Open_IM/pkg/common/db/rocks_cache" - errors "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -697,7 +696,9 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser nums, err := imdb.GetBlockUsersNumCount() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsersNumCount failed", err.Error()) - return resp, errors.WrapError(constant.ErrDB) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil } resp.UserNums = nums log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) From 42f7af3d52399808ca75f16291a8e9bc330deb5e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:42:27 +0800 Subject: [PATCH 19/44] cms --- pkg/common/db/model_struct.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 65be89ce3..ba7afe19f 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -237,7 +237,7 @@ type ChatLog struct { ContentType int32 `gorm:"column:content_type;index:search" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000);index:search" json:"content"` Status int32 `gorm:"column:status" json:"status"` - SendTime time.Time `gorm:"column:send_time;;index:search" json:"sendTime"` + SendTime time.Time `gorm:"column:send_time;index:search;priority:1" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } From b75b46f415172ac7b50fafbf1e66acd21f7fbde4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:44:34 +0800 Subject: [PATCH 20/44] cms --- internal/rpc/group/group.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 1948c93ac..6e9e4b3af 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1161,7 +1161,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf group, err := imdb.GetGroupInfoByGroupID(req.GroupInfoForSet.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", err.Error(), req.GroupInfoForSet.GroupID) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}}, nil } if group.Status == constant.GroupStatusDismissed { @@ -1198,7 +1198,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["need_verification"] = req.GroupInfoForSet.NeedVerification.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } if req.GroupInfoForSet.LookMemberInfo != nil { @@ -1207,7 +1207,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["look_member_info"] = req.GroupInfoForSet.LookMemberInfo.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } if req.GroupInfoForSet.ApplyMemberFriend != nil { @@ -1216,7 +1216,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf m["apply_member_friend"] = req.GroupInfoForSet.ApplyMemberFriend.Value if err := imdb.UpdateGroupInfoDefaultZero(req.GroupInfoForSet.GroupID, m); err != nil { log.NewError(req.OperationID, "UpdateGroupInfoDefaultZero failed ", err.Error(), m) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } } // @@ -1233,11 +1233,11 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf err = imdb.SetGroupInfo(groupInfo) if err != nil { log.NewError(req.OperationID, "SetGroupInfo failed ", err.Error(), groupInfo) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } if err := rocksCache.DelGroupInfoFromCache(req.GroupInfoForSet.GroupID); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelGroupInfoFromCache failed ", err.Error(), req.GroupInfoForSet.GroupID) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, http.WrapError(constant.ErrDB) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } log.NewInfo(req.OperationID, "SetGroupInfo rpc return ", pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{}}) @@ -1251,7 +1251,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(req.OperationID, errMsg) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, http.WrapError(constant.ErrInternal) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil } client := pbCache.NewCacheClient(etcdConn) cacheResp, err := client.GetGroupMemberIDListFromCache(context.Background(), getGroupMemberIDListFromCacheReq) @@ -1280,7 +1280,7 @@ func (s *groupServer) SetGroupInfo(ctx context.Context, req *pbGroup.SetGroupInf if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(req.OperationID, errMsg) - return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, http.WrapError(constant.ErrInternal) + return &pbGroup.SetGroupInfoResp{CommonResp: &pbGroup.CommonResp{ErrCode: constant.ErrInternal.ErrCode, ErrMsg: errMsg}}, nil } nClient := pbConversation.NewConversationClient(nEtcdConn) conversationReply, err := nClient.ModifyConversationField(context.Background(), &conversationReq) From f43c04222371d4feda65c8a8859465df84481ea4 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:45:41 +0800 Subject: [PATCH 21/44] cms --- internal/rpc/group/group.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 6e9e4b3af..d70798668 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -7,7 +7,6 @@ import ( "Open_IM/pkg/common/db" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" rocksCache "Open_IM/pkg/common/db/rocks_cache" - "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" cp "Open_IM/pkg/common/utils" @@ -122,7 +121,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR err := imdb.InsertIntoGroup(groupInfo) if err != nil { log.NewError(req.OperationID, "InsertIntoGroup failed, ", err.Error(), groupInfo) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } var okUserIDList []string resp := &pbGroup.CreateGroupResp{GroupInfo: &open_im_sdk.GroupInfo{}} @@ -132,7 +131,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR us, err = imdb.GetUserByUserID(req.OwnerUserID) if err != nil { log.NewError(req.OperationID, "GetUserByUserID failed ", err.Error(), req.OwnerUserID) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } //to group member groupMember = db.GroupMember{GroupID: groupId, RoleLevel: constant.GroupOwner, OperatorUserID: req.OpUserID, JoinSource: constant.JoinByInvitation, InviterUserID: req.OpUserID} @@ -140,7 +139,7 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR err = imdb.InsertIntoGroupMember(groupMember) if err != nil { log.NewError(req.OperationID, "InsertIntoGroupMember failed ", err.Error(), groupMember) - return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, http.WrapError(constant.ErrDB) + return &pbGroup.CreateGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil } } if req.GroupInfo.GroupType != constant.SuperGroup { From 2a8b19d31948353fa30e4dc2ef1ebbb833c404a2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 01:57:06 +0800 Subject: [PATCH 22/44] cms --- internal/rpc/group/group.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index d70798668..1f3145340 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1337,6 +1337,7 @@ func (s *groupServer) TransferGroupOwner(_ context.Context, req *pbGroup.Transfe func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (*pbGroup.GetGroupsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups ", req.String()) resp := &pbGroup.GetGroupsResp{ + CommonResp: &pbGroup.CommonResp{}, CMSGroups: []*pbGroup.CMSGroup{}, Pagination: &open_im_sdk.ResponsePagination{}, } From 2c2d3e4641bdf9efb58b8e2d96ecf831b84fb164 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 02:02:41 +0800 Subject: [PATCH 23/44] cms --- internal/cms_api/router.go | 1 - pkg/cms_api_struct/group.go | 2 +- pkg/common/db/model_struct.go | 10 +++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index 2f4273782..60f61650f 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -38,7 +38,6 @@ func NewGinRouter() *gin.Engine { { groupRouterGroup.POST("/get_groups", group.GetGroups) groupRouterGroup.POST("/get_group_members", group.GetGroupMembers) - groupRouterGroup.POST("/get_members_in_group", group.GetGroupMembers) } userRouterGroup := r2.Group("/user") { diff --git a/pkg/cms_api_struct/group.go b/pkg/cms_api_struct/group.go index 416e040b5..3427c8967 100644 --- a/pkg/cms_api_struct/group.go +++ b/pkg/cms_api_struct/group.go @@ -24,7 +24,7 @@ type GroupResponse struct { type GetGroupsRequest struct { RequestPagination - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` } type GetGroupsResponse struct { diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index ba7afe19f..29486c16d 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -227,17 +227,17 @@ type Black struct { type ChatLog struct { ServerMsgID string `gorm:"column:server_msg_id;primary_key;type:char(64)" json:"serverMsgID"` ClientMsgID string `gorm:"column:client_msg_id;type:char(64)" json:"clientMsgID"` - SendID string `gorm:"column:send_id;type:char(64);index:search" json:"sendID"` - RecvID string `gorm:"column:recv_id;type:char(64);index:search" json:"recvID"` + SendID string `gorm:"column:send_id;type:char(64);index:send_id" json:"sendID"` + RecvID string `gorm:"column:recv_id;type:char(64);index:recv_id" json:"recvID"` SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255)" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type;;index:search" json:"sessionType"` + SessionType int32 `gorm:"column:session_type;;index:session_type" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` - ContentType int32 `gorm:"column:content_type;index:search" json:"contentType"` + ContentType int32 `gorm:"column:content_type;index:content_type" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000);index:search" json:"content"` Status int32 `gorm:"column:status" json:"status"` - SendTime time.Time `gorm:"column:send_time;index:search;priority:1" json:"sendTime"` + SendTime time.Time `gorm:"column:send_time;index:sendTime" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } From 87dfdb2ddcd68bc0221fb4dde5cd101cc458d975 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 02:20:04 +0800 Subject: [PATCH 24/44] cms --- internal/cms_api/group/group.go | 4 +++- internal/rpc/group/group.go | 2 +- pkg/cms_api_struct/group.go | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/internal/cms_api/group/group.go b/internal/cms_api/group/group.go index c73ac9599..b53bc6bc1 100644 --- a/internal/cms_api/group/group.go +++ b/internal/cms_api/group/group.go @@ -38,6 +38,8 @@ func GetGroups(c *gin.Context) { c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } + reqPb.GroupID = req.GroupID + reqPb.GroupName = req.GroupName client := pbGroup.NewGroupClient(etcdConn) respPb, err := client.GetGroups(context.Background(), &reqPb) if err != nil { @@ -55,7 +57,7 @@ func GetGroups(c *gin.Context) { resp.GroupNums = int(respPb.GroupNum) resp.CurrentPage = int(respPb.Pagination.CurrentPage) resp.ShowNumber = int(respPb.Pagination.ShowNumber) - log.NewInfo("", utils.GetSelfFuncName(), "resp: ", resp) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 1f3145340..72e5e4825 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1387,7 +1387,7 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* func (s *groupServer) GetGroupMembersCMS(_ context.Context, req *pbGroup.GetGroupMembersCMSReq) (*pbGroup.GetGroupMembersCMSResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) - resp := &pbGroup.GetGroupMembersCMSResp{} + resp := &pbGroup.GetGroupMembersCMSResp{CommonResp: &pbGroup.CommonResp{}} groupMembers, err := imdb.GetGroupMembersByGroupIdCMS(req.GroupID, req.UserName, req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMembersByGroupIdCMS Error", err.Error()) diff --git a/pkg/cms_api_struct/group.go b/pkg/cms_api_struct/group.go index 3427c8967..00769e80f 100644 --- a/pkg/cms_api_struct/group.go +++ b/pkg/cms_api_struct/group.go @@ -25,6 +25,8 @@ type GroupResponse struct { type GetGroupsRequest struct { RequestPagination OperationID string `json:"operationID" binding:"required"` + GroupID string `json:"groupID"` + GroupName string `json:"groupName"` } type GetGroupsResponse struct { @@ -36,7 +38,7 @@ type GetGroupsResponse struct { type GetGroupMembersRequest struct { GroupID string `form:"groupID" binding:"required"` UserName string `form:"userName"` - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` RequestPagination } From 54c56037e7f66f1fa63682b7d01effc0baef6d10 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 14:17:40 +0800 Subject: [PATCH 25/44] cms --- internal/rpc/group/group.go | 13 +++++++++++-- internal/rpc/user/user.go | 3 ++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 72e5e4825..9b43c33e9 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -18,6 +18,7 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" + "errors" "math/big" "net" "strconv" @@ -25,6 +26,7 @@ import ( "time" "google.golang.org/grpc" + "gorm.io/gorm" ) type groupServer struct { @@ -1343,7 +1345,7 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* } if req.GroupID != "" { groupInfoDB, err := imdb.GetGroupInfoByGroupID(req.GroupID) - if err != nil { + if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() @@ -1352,7 +1354,14 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* resp.GroupNum = 1 groupInfo := &open_im_sdk.GroupInfo{} utils.CopyStructFields(groupInfo, groupInfoDB) - resp.CMSGroups = append(resp.CMSGroups, &pbGroup.CMSGroup{GroupInfo: groupInfo}) + groupMember, err := imdb.GetGroupOwnerInfoByGroupID(req.GroupID) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.CMSGroups = append(resp.CMSGroups, &pbGroup.CMSGroup{GroupInfo: groupInfo, GroupOwnerUserName: groupMember.Nickname, GroupOwnerUserID: groupMember.UserID}) } else { groups, err := imdb.GetGroupsByName(req.GroupName, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 7d82bb192..18f07260c 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -17,6 +17,7 @@ import ( pbUser "Open_IM/pkg/proto/user" "Open_IM/pkg/utils" "context" + "errors" "net" "strconv" "strings" @@ -552,7 +553,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}} if req.UserID != "" { userDB, err := imdb.GetUserByUserID(req.UserID) - if err != nil && !gorm.IsRecordNotFoundError(err) { + if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserID, err.Error()) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg From 77327f59b9898ae4e98434c53f49d146b2490c33 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 16:53:15 +0800 Subject: [PATCH 26/44] cms --- internal/cms_api/router.go | 4 +- internal/cms_api/statistics/statistics.go | 10 +-- internal/cms_api/user/user.go | 7 +- internal/rpc/group/group.go | 11 ++-- internal/rpc/user/user.go | 65 ++++++++++++------- pkg/cms_api_struct/user.go | 8 +-- .../mysql_model/im_mysql_model/group_model.go | 2 +- .../mysql_model/im_mysql_model/user_model.go | 6 +- 8 files changed, 66 insertions(+), 47 deletions(-) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index 60f61650f..b49df0e7f 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -44,11 +44,11 @@ func NewGinRouter() *gin.Engine { userRouterGroup.POST("/add_user", user.AddUser) userRouterGroup.POST("/unblock_user", user.UnblockUser) userRouterGroup.POST("/block_user", user.BlockUser) - userRouterGroup.GET("/get_block_users", user.GetBlockUsers) + userRouterGroup.POST("/get_block_users", user.GetBlockUsers) } messageCMSRouterGroup := r2.Group("/message") { - messageCMSRouterGroup.GET("/get_chat_logs", messageCMS.GetChatLogs) + messageCMSRouterGroup.POST("/get_chat_logs", messageCMS.GetChatLogs) } return baseRouter } diff --git a/internal/cms_api/statistics/statistics.go b/internal/cms_api/statistics/statistics.go index ccfe97020..f8cc80717 100644 --- a/internal/cms_api/statistics/statistics.go +++ b/internal/cms_api/statistics/statistics.go @@ -29,7 +29,7 @@ func GetMessagesStatistics(c *gin.Context) { reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) @@ -83,7 +83,7 @@ func GetUserStatistics(c *gin.Context) { reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) @@ -146,7 +146,7 @@ func GetGroupStatistics(c *gin.Context) { reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, &req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) @@ -203,7 +203,7 @@ func GetActiveUser(c *gin.Context) { reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) @@ -237,7 +237,7 @@ func GetActiveGroup(c *gin.Context) { reqPb.OperationID = utils.OperationIDGenerator() log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) utils.CopyStructFields(&reqPb.StatisticsReq, req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImStatisticsName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) diff --git a/internal/cms_api/user/user.go b/internal/cms_api/user/user.go index 84d2b12db..dff3a853f 100644 --- a/internal/cms_api/user/user.go +++ b/internal/cms_api/user/user.go @@ -47,13 +47,12 @@ func AddUser(c *gin.Context) { func BlockUser(c *gin.Context) { var ( - req cms_api_struct.BlockUserRequest - // resp cms_api_struct.BlockUserResponse + req cms_api_struct.BlockUserRequest reqPb pb.BlockUserReq ) if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() @@ -84,7 +83,7 @@ func UnblockUser(c *gin.Context) { ) if err := c.BindJSON(&req); err != nil { log.NewError(req.OperationID, "BindJSON failed ", err.Error()) - c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } reqPb.OperationID = utils.OperationIDGenerator() diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 9b43c33e9..d1569883b 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1341,15 +1341,20 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* resp := &pbGroup.GetGroupsResp{ CommonResp: &pbGroup.CommonResp{}, CMSGroups: []*pbGroup.CMSGroup{}, - Pagination: &open_im_sdk.ResponsePagination{}, + Pagination: &open_im_sdk.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}, } if req.GroupID != "" { groupInfoDB, err := imdb.GetGroupInfoByGroupID(req.GroupID) - if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) { + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.GroupID) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil + } else { + } resp.GroupNum = 1 groupInfo := &open_im_sdk.GroupInfo{} @@ -1388,8 +1393,6 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* return resp, nil } } - resp.Pagination.CurrentPage = req.Pagination.PageNumber - resp.Pagination.ShowNumber = req.Pagination.ShowNumber log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetGroups resp", resp.String()) return resp, nil } diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 18f07260c..2f96a4759 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -22,8 +22,8 @@ import ( "strconv" "strings" - "github.com/jinzhu/gorm" "google.golang.org/grpc" + "gorm.io/gorm" ) type userServer struct { @@ -550,15 +550,19 @@ func (s *userServer) SyncJoinedGroupMemberNickname(userID string, newNickname, o func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pbUser.GetUsersResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}} + resp := &pbUser.GetUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}} if req.UserID != "" { userDB, err := imdb.GetUserByUserID(req.UserID) - if err != nil && errors.Is(err, gorm.ErrRecordNotFound) { + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } log.NewError(req.OperationID, utils.GetSelfFuncName(), req.UserID, err.Error()) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = constant.ErrDB.ErrMsg return resp, nil } + user := pbUser.CmsUser{User: &sdkws.UserInfo{}} utils.CopyStructFields(&user.User, userDB) resp.UserList = append(resp.UserList, &user) @@ -621,7 +625,6 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb v.IsBlock = true } } - resp.Pagination = &sdkws.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber} log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } @@ -655,7 +658,7 @@ func (s *userServer) BlockUser(ctx context.Context, req *pbUser.BlockUserReq) (* func (s *userServer) UnBlockUser(ctx context.Context, req *pbUser.UnBlockUserReq) (*pbUser.UnBlockUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.UnBlockUserResp{} + resp := &pbUser.UnBlockUserResp{CommonResp: &pbUser.CommonResp{}} err := imdb.UnBlockUser(req.UserID) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "unBlockUser", err.Error()) @@ -667,15 +670,40 @@ func (s *userServer) UnBlockUser(ctx context.Context, req *pbUser.UnBlockUserReq return resp, nil } -func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUsersReq) (*pbUser.GetBlockUsersResp, error) { +func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUsersReq) (resp *pbUser.GetBlockUsersResp, err error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.GetBlockUsersResp{} - blockUsers, err := imdb.GetBlockUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) - if err != nil { - log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error(), req.Pagination.ShowNumber, req.Pagination.PageNumber) - resp.CommonResp.ErrCode = constant.ErrDB.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil + resp = &pbUser.GetBlockUsersResp{CommonResp: &pbUser.CommonResp{}, Pagination: &sdkws.ResponsePagination{ShowNumber: req.Pagination.ShowNumber, CurrentPage: req.Pagination.PageNumber}} + var blockUsers []imdb.BlockUserInfo + if req.UserID != "" { + blockUser, err := imdb.GetBlockUserByID(req.UserID) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + blockUsers = append(blockUsers, blockUser) + resp.UserNums = 1 + } else { + blockUsers, err = imdb.GetBlockUsers(req.Pagination.ShowNumber, req.Pagination.PageNumber) + if err != nil { + log.Error(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsers", err.Error(), req.Pagination.ShowNumber, req.Pagination.PageNumber) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + + nums, err := imdb.GetBlockUsersNumCount() + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsersNumCount failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + resp.UserNums = nums } for _, v := range blockUsers { resp.BlockUsers = append(resp.BlockUsers, &pbUser.BlockUser{ @@ -691,17 +719,6 @@ func (s *userServer) GetBlockUsers(ctx context.Context, req *pbUser.GetBlockUser EndDisableTime: (v.EndDisableTime).String(), }) } - resp.Pagination = &sdkws.ResponsePagination{} - resp.Pagination.ShowNumber = req.Pagination.ShowNumber - resp.Pagination.CurrentPage = req.Pagination.PageNumber - nums, err := imdb.GetBlockUsersNumCount() - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetBlockUsersNumCount failed", err.Error()) - resp.CommonResp.ErrCode = constant.ErrDB.ErrCode - resp.CommonResp.ErrMsg = err.Error() - return resp, nil - } - resp.UserNums = nums log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) return resp, nil } diff --git a/pkg/cms_api_struct/user.go b/pkg/cms_api_struct/user.go index b994d07e0..5de29cc32 100644 --- a/pkg/cms_api_struct/user.go +++ b/pkg/cms_api_struct/user.go @@ -18,7 +18,7 @@ type UserResponse struct { } type AddUserRequest struct { - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` PhoneNumber string `json:"phoneNumber" binding:"required"` UserId string `json:"userID" binding:"required"` Name string `json:"name" binding:"required"` @@ -38,7 +38,7 @@ type BlockUser struct { } type BlockUserRequest struct { - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` UserID string `json:"userID" binding:"required"` EndDisableTime string `json:"endDisableTime" binding:"required"` } @@ -47,7 +47,7 @@ type BlockUserResponse struct { } type UnblockUserRequest struct { - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` UserID string `json:"userID" binding:"required"` } @@ -55,7 +55,7 @@ type UnBlockUserResponse struct { } type GetBlockUsersRequest struct { - OperationID string `json:"operationID"` + OperationID string `json:"operationID" binding:"required"` RequestPagination } diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index aa4ef29b9..2def46596 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -80,7 +80,7 @@ func OperateGroupStatus(groupId string, groupStatus int32) error { func GetGroupsCountNum(group db.Group) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(fmt.Sprintf(" name like '%%%s%%' ", group.GroupName)).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(" name like '%%%s%%' ", group.GroupName).Count(&count).Error; err != nil { return 0, err } return int32(count), nil diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index d328e311e..c4023c404 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -199,7 +199,7 @@ type BlockUserInfo struct { EndDisableTime time.Time } -func GetBlockUserById(userId string) (BlockUserInfo, error) { +func GetBlockUserByID(userId string) (BlockUserInfo, error) { var blockUserInfo BlockUserInfo blockUser := db.BlackList{ UserId: userId, @@ -254,13 +254,13 @@ func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) { func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, error) { var users []db.User - err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like '%%%s%%' ", userName).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error return users, err } func GetUsersCount(nickname string) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(fmt.Sprintf(" name like '%%%s%%' ", nickname)).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like '%%%s%%' ", nickname).Count(&count).Error; err != nil { return 0, err } return int32(count), nil From 5134faeefd97d45ace85c445bdbf6a24d425c4fe Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 17:33:20 +0800 Subject: [PATCH 27/44] cms --- internal/rpc/admin_cms/admin_cms.go | 39 +++++++++++++++++-- .../mysql_model/im_mysql_model/user_model.go | 2 +- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 51e3a7aab..ead456677 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -199,6 +199,8 @@ func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatL chatLogs, err := imdb.GetChatLog(chatLog, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetChatLog", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } for _, chatLog := range chatLogs { @@ -249,12 +251,16 @@ func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetAc fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeGroups, err := imdb.GetActiveGroups(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveGroups failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } for _, activeGroup := range activeGroups { @@ -271,16 +277,20 @@ func (s *adminCMSServer) GetActiveGroup(_ context.Context, req *pbAdminCMS.GetAc func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetActiveUserReq) (*pbAdminCMS.GetActiveUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbAdminCMS.GetActiveUserResp{} + resp := &pbAdminCMS.GetActiveUserResp{CommonResp: &pbAdminCMS.CommonResp{}} fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "time: ", fromTime, toTime) activeUsers, err := imdb.GetActiveUsers(fromTime, toTime, 12) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUsers failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } for _, activeUser := range activeUsers { @@ -384,20 +394,27 @@ func getFirstDateOfNextNMonth(currentTime time.Time, n int) time.Time { func (s *adminCMSServer) GetGroupStatistics(_ context.Context, req *pbAdminCMS.GetGroupStatisticsReq) (*pbAdminCMS.GetGroupStatisticsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbAdminCMS.GetGroupStatisticsResp{} + resp := &pbAdminCMS.GetGroupStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } increaseGroupNum, err := imdb.GetIncreaseGroupNum(fromTime, toTime.Add(time.Hour*24)) + if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseGroupNum failed", err.Error(), fromTime, toTime) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } totalGroupNum, err := imdb.GetTotalGroupNum() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } resp.IncreaseGroupNum = increaseGroupNum @@ -436,21 +453,27 @@ func (s *adminCMSServer) GetGroupStatistics(_ context.Context, req *pbAdminCMS.G func (s *adminCMSServer) GetMessageStatistics(_ context.Context, req *pbAdminCMS.GetMessageStatisticsReq) (*pbAdminCMS.GetMessageStatisticsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), req.String()) - resp := &pbAdminCMS.GetMessageStatisticsResp{} + resp := &pbAdminCMS.GetMessageStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "times: ", fromTime, toTime) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } privateMessageNum, err := imdb.GetPrivateMessageNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetPrivateMessageNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } groupMessageNum, err := imdb.GetGroupMessageNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMessageNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } log.NewDebug(req.OperationID, utils.GetSelfFuncName(), privateMessageNum, groupMessageNum) @@ -489,25 +512,33 @@ func (s *adminCMSServer) GetMessageStatistics(_ context.Context, req *pbAdminCMS func (s *adminCMSServer) GetUserStatistics(_ context.Context, req *pbAdminCMS.GetUserStatisticsReq) (*pbAdminCMS.GetUserStatisticsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.GetUserStatisticsResp{} + resp := &pbAdminCMS.GetUserStatisticsResp{CommonResp: &pbAdminCMS.CommonResp{}} fromTime, toTime, err := ParseTimeFromTo(req.StatisticsReq.From, req.StatisticsReq.To) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "ParseTimeFromTo failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } activeUserNum, err := imdb.GetActiveUserNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetActiveUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } increaseUserNum, err := imdb.GetIncreaseUserNum(fromTime, toTime.Add(time.Hour*24)) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetIncreaseUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } totalUserNum, err := imdb.GetTotalUserNum() if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetTotalUserNum failed", err.Error()) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() return resp, nil } resp.ActiveUserNum = activeUserNum diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index c4023c404..1a53e8eac 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -254,7 +254,7 @@ func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) { func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, error) { var users []db.User - err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like '%%%s%%' ", userName).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like %?%", userName).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error return users, err } From a4b95cb7cf3ead39de6f5c03e284f3a6360da1c8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Tue, 30 Aug 2022 23:23:53 +0800 Subject: [PATCH 28/44] cms --- pkg/common/db/mysql_model/im_mysql_model/group_model.go | 4 ++-- pkg/common/db/mysql_model/im_mysql_model/user_model.go | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index 2def46596..ccf317ff4 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -54,7 +54,7 @@ type GroupWithNum struct { func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]GroupWithNum, error) { var groups []GroupWithNum err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Select("groups.*, (select count(*) from group_members where group_members.group_id=groups.group_id) as num"). - Where(fmt.Sprintf(" name like '%%%s%%' ", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error + Where(" name like ? ", fmt.Sprintf("%%%s%%", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error return groups, err } @@ -80,7 +80,7 @@ func OperateGroupStatus(groupId string, groupStatus int32) error { func GetGroupsCountNum(group db.Group) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(" name like '%%%s%%' ", group.GroupName).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Where(" name like ? ", fmt.Sprintf("%%%s%%", group.GroupName)).Count(&count).Error; err != nil { return 0, err } return int32(count), nil diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index 1a53e8eac..cb9322ea0 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -254,13 +254,13 @@ func GetBlockUsers(showNumber, pageNumber int32) ([]BlockUserInfo, error) { func GetUserByName(userName string, showNumber, pageNumber int32) ([]db.User, error) { var users []db.User - err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like %?%", userName).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ?", fmt.Sprintf("%%%s%%", userName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&users).Error return users, err } -func GetUsersCount(nickname string) (int32, error) { +func GetUsersCount(userName string) (int32, error) { var count int64 - if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like '%%%s%%' ", nickname).Count(&count).Error; err != nil { + if err := db.DB.MysqlDB.DefaultGormDB().Table("users").Where(" name like ? ", fmt.Sprintf("%%%s%%", userName)).Count(&count).Error; err != nil { return 0, err } return int32(count), nil From c2831e6676a9f19f571359fdd2e07a8e6e7967a8 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 00:43:06 +0800 Subject: [PATCH 29/44] cms --- cmd/open_im_cms_api/main.go | 1 + internal/cms_api/message_cms/message.go | 4 ++-- internal/rpc/admin_cms/admin_cms.go | 2 +- pkg/cms_api_struct/message_cms.go | 1 + pkg/common/db/model_struct.go | 6 +++--- .../im_mysql_model/statistics_model.go | 20 +++++++++++-------- .../im_mysql_model/user_black_list_model.go | 16 +++++++-------- 7 files changed, 28 insertions(+), 22 deletions(-) diff --git a/cmd/open_im_cms_api/main.go b/cmd/open_im_cms_api/main.go index b2b1cae7c..622d72924 100644 --- a/cmd/open_im_cms_api/main.go +++ b/cmd/open_im_cms_api/main.go @@ -8,6 +8,7 @@ import ( "strconv" "Open_IM/pkg/common/config" + "github.com/gin-gonic/gin" ) diff --git a/internal/cms_api/message_cms/message.go b/internal/cms_api/message_cms/message.go index 277076271..c3f6cf231 100644 --- a/internal/cms_api/message_cms/message.go +++ b/internal/cms_api/message_cms/message.go @@ -32,7 +32,7 @@ func GetChatLogs(c *gin.Context) { } utils.CopyStructFields(&reqPb, &req) log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) - etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMessageCMSName, reqPb.OperationID) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) if etcdConn == nil { errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" log.NewError(reqPb.OperationID, errMsg) @@ -43,7 +43,7 @@ func GetChatLogs(c *gin.Context) { respPb, err := client.GetChatLogs(context.Background(), &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetChatLogs rpc failed", err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 400, "errMsg": err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) return } for _, v := range respPb.ChatLogs { diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index ead456677..392841fe2 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -296,7 +296,7 @@ func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetAct for _, activeUser := range activeUsers { resp.Users = append(resp.Users, &pbAdminCMS.UserResp{ - UserId: activeUser.Id, + UserId: activeUser.ID, NickName: activeUser.Name, MessageNum: int32(activeUser.MessageNum), }, diff --git a/pkg/cms_api_struct/message_cms.go b/pkg/cms_api_struct/message_cms.go index 891e24772..2b6dfb4be 100644 --- a/pkg/cms_api_struct/message_cms.go +++ b/pkg/cms_api_struct/message_cms.go @@ -13,6 +13,7 @@ type GetChatLogsReq struct { GroupID string `json:"groupID"` SendTime string `json:"sendTime"` RequestPagination + OperationID string `json:"operationID"` } type GetChatLogsResp struct { diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 29486c16d..7023996d7 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -92,7 +92,7 @@ type Group struct { Notification string `gorm:"column:notification;size:255" json:"notification"` Introduction string `gorm:"column:introduction;size:255" json:"introduction"` FaceURL string `gorm:"column:face_url;size:255" json:"faceURL"` - CreateTime time.Time `gorm:"column:create_time"` + CreateTime time.Time `gorm:"column:create_time;index:create_time"` Ex string `gorm:"column:ex" json:"ex;size:1024" json:"ex"` Status int32 `gorm:"column:status"` CreatorUserID string `gorm:"column:creator_user_id;size:64"` @@ -176,7 +176,7 @@ type User struct { Birth time.Time `gorm:"column:birth"` Email string `gorm:"column:email;size:64"` Ex string `gorm:"column:ex;size:1024"` - CreateTime time.Time `gorm:"column:create_time"` + CreateTime time.Time `gorm:"column:create_time;index:create_time"` AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` InvitationCode string `gorm:"column:invitation_code"` @@ -232,7 +232,7 @@ type ChatLog struct { SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255)" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type;;index:session_type" json:"sessionType"` + SessionType int32 `gorm:"column:session_type;index:session_type" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` ContentType int32 `gorm:"column:content_type;index:content_type" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000);index:search" json:"content"` diff --git a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go index b8d3e9d17..4a8626cf0 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/statistics_model.go @@ -1,13 +1,14 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "time" ) func GetActiveUserNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("count(distinct(send_id))").Where("create_time >= ? and create_time <= ?", from, to).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("count(distinct(send_id))").Where("send_time >= ? and send_time <= ?", from, to).Count(&num).Error return int32(num), err } @@ -31,13 +32,13 @@ func GetTotalUserNumByDate(to time.Time) (int32, error) { func GetPrivateMessageNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, 1).Count(&num).Error return int32(num), err } func GetGroupMessageNum(from, to time.Time) (int32, error) { var num int64 - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Count(&num).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, 2).Count(&num).Error return int32(num), err } @@ -67,7 +68,7 @@ type activeGroup struct { func GetActiveGroups(from, to time.Time, limit int) ([]*activeGroup, error) { var activeGroups []*activeGroup - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("recv_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 2).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("recv_id, count(*) as message_num").Where("send_time >= ? and send_time <= ? and session_type in (?)", from, to, []int{constant.GroupChatType, constant.SuperGroupChatType}).Group("recv_id").Limit(limit).Order("message_num DESC").Find(&activeGroups).Error for _, activeGroup := range activeGroups { group := db.Group{ GroupID: activeGroup.Id, @@ -80,18 +81,21 @@ func GetActiveGroups(from, to time.Time, limit int) ([]*activeGroup, error) { type activeUser struct { Name string - Id string `gorm:"column:send_id"` + ID string `gorm:"column:send_id"` MessageNum int `gorm:"column:message_num"` } func GetActiveUsers(from, to time.Time, limit int) ([]*activeUser, error) { var activeUsers []*activeUser - err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("send_id, count(*) as message_num").Where("create_time >= ? and create_time <= ? and session_type = ?", from, to, 1).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error + err := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs").Select("send_id, count(*) as message_num").Where("send_time >= ? and send_time <= ? and session_type = ?", from, to, constant.SingleChatType).Group("send_id").Limit(limit).Order("message_num DESC").Find(&activeUsers).Error for _, activeUser := range activeUsers { user := db.User{ - UserID: activeUser.Id, + UserID: activeUser.ID, + } + err = db.DB.MysqlDB.DefaultGormDB().Table("users").Select("user_id, name").Find(&user).Error + if err != nil { + continue } - db.DB.MysqlDB.DefaultGormDB().Table("users").Select("user_id, name").Find(&user) activeUser.Name = user.Nickname } return activeUsers, err diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go index b4bfc1038..b848bff41 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_black_list_model.go @@ -11,14 +11,14 @@ func InsertInToUserBlackList(black db.Black) error { return db.DB.MysqlDB.DefaultGormDB().Table("blacks").Create(black).Error } -//type Black struct { -// OwnerUserID string `gorm:"column:owner_user_id;primaryKey;"` -// BlockUserID string `gorm:"column:block_user_id;primaryKey;"` -// CreateTime time.Time `gorm:"column:create_time"` -// AddSource int32 `gorm:"column:add_source"` -// OperatorUserID int32 `gorm:"column:operator_user_id"` -// Ex string `gorm:"column:ex"` -//} +// type Black struct { +// OwnerUserID string `gorm:"column:owner_user_id;primaryKey;"` +// BlockUserID string `gorm:"column:block_user_id;primaryKey;"` +// CreateTime time.Time `gorm:"column:create_time"` +// AddSource int32 `gorm:"column:add_source"` +// OperatorUserID int32 `gorm:"column:operator_user_id"` +// Ex string `gorm:"column:ex"` +// } func CheckBlack(ownerUserID, blockUserID string) error { var black db.Black From d16ceac14914138d83ab3c6e8ef63c39fc758f7c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 00:54:02 +0800 Subject: [PATCH 30/44] cms --- pkg/common/db/model_struct.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 7023996d7..ce52a0e70 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -235,7 +235,7 @@ type ChatLog struct { SessionType int32 `gorm:"column:session_type;index:session_type" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` ContentType int32 `gorm:"column:content_type;index:content_type" json:"contentType"` - Content string `gorm:"column:content;type:varchar(3000);index:search" json:"content"` + Content string `gorm:"column:content;type:varchar(3000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` SendTime time.Time `gorm:"column:send_time;index:sendTime" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` From 8e063f6e59b7cf233fd6ea4900bf0c9a3ce09b26 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 01:01:38 +0800 Subject: [PATCH 31/44] cms --- pkg/common/db/mysql.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql.go b/pkg/common/db/mysql.go index f28be8dc1..6141e4119 100644 --- a/pkg/common/db/mysql.go +++ b/pkg/common/db/mysql.go @@ -56,7 +56,7 @@ func initMysqlDB() { Writer{}, logger.Config{ SlowThreshold: 200 * time.Millisecond, // Slow SQL threshold - LogLevel: logger.Error, // Log level + LogLevel: logger.Info, // Log level IgnoreRecordNotFoundError: true, // Ignore ErrRecordNotFound error for logger Colorful: true, // Disable color }, From 1da5ad88302ec268b21dd2545ead48b365d4f6a5 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 01:29:29 +0800 Subject: [PATCH 32/44] add --- pkg/common/db/model_struct.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index ce52a0e70..e4a7330aa 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -227,17 +227,17 @@ type Black struct { type ChatLog struct { ServerMsgID string `gorm:"column:server_msg_id;primary_key;type:char(64)" json:"serverMsgID"` ClientMsgID string `gorm:"column:client_msg_id;type:char(64)" json:"clientMsgID"` - SendID string `gorm:"column:send_id;type:char(64);index:send_id" json:"sendID"` - RecvID string `gorm:"column:recv_id;type:char(64);index:recv_id" json:"recvID"` + SendID string `gorm:"column:send_id;type:char(64);index:send_id,priority:2" json:"sendID"` + RecvID string `gorm:"column:recv_id;type:char(64);index:recv_id,priority:2" json:"recvID"` SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` - SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255)" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type;index:session_type" json:"sessionType"` + SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255);index:content_type,priority:1" json:"senderFaceURL"` + SessionType int32 `gorm:"column:session_type;index:session_type,priority:2" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` - ContentType int32 `gorm:"column:content_type;index:content_type" json:"contentType"` + ContentType int32 `gorm:"column:content_type;index:content_type,priority:2" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` - SendTime time.Time `gorm:"column:send_time;index:sendTime" json:"sendTime"` + SendTime time.Time `gorm:"column:send_time;index:sendTime;index:content_type,priority:1;index:session_type,priority:1;index:recv_id,priority:1;index:send_id,priority:1" json:"sendTime"` CreateTime time.Time `gorm:"column:create_time" json:"createTime"` Ex string `gorm:"column:ex;type:varchar(1024)" json:"ex"` } From af110f75d69f17bb58ab244d13ab91dd872404a6 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 01:50:56 +0800 Subject: [PATCH 33/44] add --- internal/rpc/admin_cms/admin_cms.go | 2 +- pkg/common/db/model_struct.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 392841fe2..d02f84d37 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -171,7 +171,7 @@ func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) GetChatLogs(_ context.Context, req *pbAdminCMS.GetChatLogsReq) (*pbAdminCMS.GetChatLogsResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "GetChatLogs", req.String()) - resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}} + resp := &pbAdminCMS.GetChatLogsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{}} time, err := utils.TimeStringToTime(req.SendTime) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "time string parse error", err.Error()) diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index e4a7330aa..18e651f3e 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -231,10 +231,10 @@ type ChatLog struct { RecvID string `gorm:"column:recv_id;type:char(64);index:recv_id,priority:2" json:"recvID"` SenderPlatformID int32 `gorm:"column:sender_platform_id" json:"senderPlatformID"` SenderNickname string `gorm:"column:sender_nick_name;type:varchar(255)" json:"senderNickname"` - SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255);index:content_type,priority:1" json:"senderFaceURL"` - SessionType int32 `gorm:"column:session_type;index:session_type,priority:2" json:"sessionType"` + SenderFaceURL string `gorm:"column:sender_face_url;type:varchar(255);" json:"senderFaceURL"` + SessionType int32 `gorm:"column:session_type;index:session_type,priority:2;index:session_type_alone" json:"sessionType"` MsgFrom int32 `gorm:"column:msg_from" json:"msgFrom"` - ContentType int32 `gorm:"column:content_type;index:content_type,priority:2" json:"contentType"` + ContentType int32 `gorm:"column:content_type;index:content_type,priority:2;index:content_type_alone" json:"contentType"` Content string `gorm:"column:content;type:varchar(3000)" json:"content"` Status int32 `gorm:"column:status" json:"status"` SendTime time.Time `gorm:"column:send_time;index:sendTime;index:content_type,priority:1;index:session_type,priority:1;index:recv_id,priority:1;index:send_id,priority:1" json:"sendTime"` From c7e130237708d7f646c19f0b3af02a673a0046e2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 15:06:59 +0800 Subject: [PATCH 34/44] add --- internal/cms_api/middleware/jwt_auth.go | 2 +- internal/cms_api/router.go | 13 +++++++++++++ internal/cms_api/statistics/statistics.go | 21 ++++++++++++++++----- internal/rpc/admin_cms/admin_cms.go | 6 +++--- internal/rpc/user/user.go | 3 +++ 5 files changed, 36 insertions(+), 9 deletions(-) diff --git a/internal/cms_api/middleware/jwt_auth.go b/internal/cms_api/middleware/jwt_auth.go index e551a35d8..5ab3ffbbf 100644 --- a/internal/cms_api/middleware/jwt_auth.go +++ b/internal/cms_api/middleware/jwt_auth.go @@ -12,7 +12,7 @@ import ( func JWTAuth() gin.HandlerFunc { return func(c *gin.Context) { ok, userID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), "") - log.NewInfo("0", utils.GetSelfFuncName(), "userID: ", userID) + // log.NewInfo("0", utils.GetSelfFuncName(), "userID: ", userID) c.Set("userID", userID) if !ok { log.NewError("", "GetUserIDFromToken false ", c.Request.Header.Get("token")) diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index b49df0e7f..a846f4ef1 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -7,6 +7,7 @@ import ( "Open_IM/internal/cms_api/middleware" "Open_IM/internal/cms_api/statistics" "Open_IM/internal/cms_api/user" + "Open_IM/internal/demo/register" "github.com/gin-gonic/gin" ) @@ -23,6 +24,18 @@ func NewGinRouter() *gin.Engine { adminRouterGroup.POST("/add_user_register_add_friend_id", admin.AddUserRegisterAddFriendIDList) adminRouterGroup.POST("/reduce_user_register_reduce_friend_id", admin.ReduceUserRegisterAddFriendIDList) adminRouterGroup.POST("/get_user_register_reduce_friend_id_list", admin.GetUserRegisterAddFriendIDList) + + adminRouterGroup.POST("/generate_invitation_code", register.GenerateInvitationCode) + adminRouterGroup.POST("/query_invitation_code", register.QueryInvitationCode) + adminRouterGroup.POST("/get_invitation_codes", register.GetInvitationCodes) + + adminRouterGroup.POST("/query_user_ip_limit_login", register.QueryUserIDLimitLogin) + adminRouterGroup.POST("/add_user_ip_limit_login", register.AddUserIPLimitLogin) + adminRouterGroup.POST("/remove_user_ip_limit_login", register.RemoveUserIPLimitLogin) + + adminRouterGroup.POST("/query_ip_register", register.QueryIPRegister) + adminRouterGroup.POST("/add_ip_limit", register.AddIPLimit) + adminRouterGroup.POST("/remove_ip_Limit", register.RemoveIPLimit) } r2 := router.Group("") r2.Use(middleware.JWTAuth()) diff --git a/internal/cms_api/statistics/statistics.go b/internal/cms_api/statistics/statistics.go index f8cc80717..76aad968e 100644 --- a/internal/cms_api/statistics/statistics.go +++ b/internal/cms_api/statistics/statistics.go @@ -10,6 +10,7 @@ import ( "context" "net/http" "strings" + "time" "github.com/gin-gonic/gin" ) @@ -37,7 +38,9 @@ func GetMessagesStatistics(c *gin.Context) { return } client := admin.NewAdminCMSClient(etcdConn) - respPb, err := client.GetMessageStatistics(context.Background(), &reqPb) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetMessageStatistics(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetMessageStatistics failed", err.Error()) c.JSON(http.StatusInternalServerError, gin.H{"errCode": 400, "errMsg": err.Error()}) @@ -91,7 +94,9 @@ func GetUserStatistics(c *gin.Context) { return } client := admin.NewAdminCMSClient(etcdConn) - respPb, err := client.GetUserStatistics(context.Background(), &reqPb) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetUserStatistics(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserStatistics failed", err.Error(), reqPb.String()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) @@ -154,7 +159,9 @@ func GetGroupStatistics(c *gin.Context) { return } client := admin.NewAdminCMSClient(etcdConn) - respPb, err := client.GetGroupStatistics(context.Background(), &reqPb) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetGroupStatistics(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetGroupStatistics failed", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) @@ -211,7 +218,9 @@ func GetActiveUser(c *gin.Context) { return } client := admin.NewAdminCMSClient(etcdConn) - respPb, err := client.GetActiveUser(context.Background(), &reqPb) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetActiveUser(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveUser failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) @@ -245,7 +254,9 @@ func GetActiveGroup(c *gin.Context) { return } client := admin.NewAdminCMSClient(etcdConn) - respPb, err := client.GetActiveGroup(context.Background(), &reqPb) + ctx, cancel := context.WithTimeout(context.TODO(), time.Second*100) + defer cancel() + respPb, err := client.GetActiveGroup(ctx, &reqPb) if err != nil { log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetActiveGroup failed ", err.Error()) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": err.Error()}) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index d02f84d37..1f5648999 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -110,7 +110,7 @@ func (s *adminCMSServer) AdminLogin(_ context.Context, req *pbAdminCMS.AdminLogi func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.AddUserRegisterAddFriendIDListReq) (*pbAdminCMS.AddUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{} + resp := &pbAdminCMS.AddUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} if err := imdb.AddUserRegisterAddFriendIDList(req.UserIDList...); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode @@ -123,7 +123,7 @@ func (s *adminCMSServer) AddUserRegisterAddFriendIDList(_ context.Context, req * func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.ReduceUserRegisterAddFriendIDListReq) (*pbAdminCMS.ReduceUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.ReduceUserRegisterAddFriendIDListResp{} + resp := &pbAdminCMS.ReduceUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} if req.Operation == 0 { if err := imdb.ReduceUserRegisterAddFriendIDList(req.UserIDList...); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserIDList) @@ -145,7 +145,7 @@ func (s *adminCMSServer) ReduceUserRegisterAddFriendIDList(_ context.Context, re func (s *adminCMSServer) GetUserRegisterAddFriendIDList(_ context.Context, req *pbAdminCMS.GetUserRegisterAddFriendIDListReq) (*pbAdminCMS.GetUserRegisterAddFriendIDListResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{} + resp := &pbAdminCMS.GetUserRegisterAddFriendIDListResp{CommonResp: &pbAdminCMS.CommonResp{}} userIDList, err := imdb.GetRegisterAddFriendList(req.Pagination.ShowNumber, req.Pagination.PageNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error()) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 2f96a4759..ed259438e 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -565,6 +565,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb user := pbUser.CmsUser{User: &sdkws.UserInfo{}} utils.CopyStructFields(&user.User, userDB) + user.User.CreateTime = uint32(userDB.CreateTime.Unix()) resp.UserList = append(resp.UserList, &user) resp.TotalNums = 1 } else if req.UserName != "" { @@ -585,6 +586,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb for _, userDB := range usersDB { var user sdkws.UserInfo utils.CopyStructFields(&user, userDB) + user.CreateTime = uint32(userDB.CreateTime.Unix()) resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) } } else { @@ -605,6 +607,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb for _, userDB := range usersDB { var user sdkws.UserInfo utils.CopyStructFields(&user, userDB) + user.CreateTime = uint32(userDB.CreateTime.Unix()) resp.UserList = append(resp.UserList, &pbUser.CmsUser{User: &user}) } } From c7d544685ed3d6f6136c2a002fd81f07353067e9 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Wed, 31 Aug 2022 15:26:32 +0800 Subject: [PATCH 35/44] cms --- internal/demo/register/ip_limit.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/demo/register/ip_limit.go b/internal/demo/register/ip_limit.go index e68508894..a94e51e74 100644 --- a/internal/demo/register/ip_limit.go +++ b/internal/demo/register/ip_limit.go @@ -143,7 +143,7 @@ func QueryUserIDLimitLogin(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) return } - c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": resp}) + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": "", "data": gin.H{"limit": resp}}) } type AddUserIPLimitLoginReq struct { From b401917c194658ad9ee61d9e11419b3f16c4a785 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 1 Sep 2022 21:58:53 +0800 Subject: [PATCH 36/44] cache --- internal/rpc/cache/cache.go | 6 ++++-- pkg/common/db/rocks_cache/rocks_cache.go | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/rpc/cache/cache.go b/internal/rpc/cache/cache.go index 60cc52d32..510fc94a1 100644 --- a/internal/rpc/cache/cache.go +++ b/internal/rpc/cache/cache.go @@ -3,16 +3,17 @@ package cache import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/db/rocks_cache" + rocksCache "Open_IM/pkg/common/db/rocks_cache" "Open_IM/pkg/common/log" "Open_IM/pkg/grpc-etcdv3/getcdv3" pbCache "Open_IM/pkg/proto/cache" "Open_IM/pkg/utils" "context" - "google.golang.org/grpc" "net" "strconv" "strings" + + "google.golang.org/grpc" ) type cacheServer struct { @@ -67,6 +68,7 @@ func (s *cacheServer) Run() { log.NewError("0", "RegisterEtcd failed ", err.Error()) return } + go rocksCache.DelKeys() err = srv.Serve(listener) if err != nil { log.NewError("0", "Serve failed ", err.Error()) diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 103bd51f7..d698029b6 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -36,7 +36,7 @@ const ( conversationIDListCache = "CONVERSATION_ID_LIST_CACHE:" ) -func init() { +func DelKeys() { fmt.Println("init to del old keys") for _, key := range []string{groupCache, friendRelationCache, blackListCache, userInfoCache, groupInfoCache, groupOwnerIDCache, joinedGroupListCache, groupMemberInfoCache, groupAllMemberInfoCache, allFriendInfoCache} { From 6774a8594fa69c3e0153a7daa04c9a13fdcb078f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 02:01:42 +0800 Subject: [PATCH 37/44] cms --- internal/cms_api/friend/friend.go | 63 + internal/cms_api/message_cms/message.go | 2 +- internal/cms_api/router.go | 5 + internal/rpc/admin_cms/admin_cms.go | 81 +- internal/rpc/auth/auth.go | 37 +- internal/rpc/group/group.go | 2 - internal/rpc/user/user.go | 2 +- pkg/cms_api_struct/friend.go | 25 + pkg/cms_api_struct/message_cms.go | 29 +- pkg/common/config/config.go | 2 + pkg/common/db/model_struct.go | 6 +- .../mysql_model/im_mysql_model/demo_model.go | 8 + .../im_mysql_model/friend_model.go | 32 +- .../mysql_model/im_mysql_model/group_model.go | 4 +- .../mysql_model/im_mysql_model/message_cms.go | 24 +- .../mysql_model/im_mysql_model/user_model.go | 28 +- pkg/common/db/rocks_cache/rocks_cache.go | 34 - pkg/proto/admin_cms/admin_cms.pb.go | 1952 +++++++++++++++-- pkg/proto/admin_cms/admin_cms.proto | 235 +- 19 files changed, 2292 insertions(+), 279 deletions(-) create mode 100644 internal/cms_api/friend/friend.go create mode 100644 pkg/cms_api_struct/friend.go diff --git a/internal/cms_api/friend/friend.go b/internal/cms_api/friend/friend.go new file mode 100644 index 000000000..0aee0cd61 --- /dev/null +++ b/internal/cms_api/friend/friend.go @@ -0,0 +1,63 @@ +package friend + +import ( + "Open_IM/pkg/cms_api_struct" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbAdmin "Open_IM/pkg/proto/admin_cms" + pbCommon "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "net/http" + "strings" + + "github.com/gin-gonic/gin" +) + +func GetUserFriends(c *gin.Context) { + var ( + req cms_api_struct.GetFriendsReq + resp cms_api_struct.GetFriendsResp + reqPb pbAdmin.GetUserFriendsReq + ) + if err := c.BindJSON(&req); err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "ShouldBindQuery failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(reqPb.OperationID, utils.GetSelfFuncName(), "req: ", req) + reqPb.Pagination = &pbCommon.RequestPagination{} + utils.CopyStructFields(&reqPb.Pagination, req) + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImAdminCMSName, reqPb.OperationID) + if etcdConn == nil { + errMsg := reqPb.OperationID + "getcdv3.GetDefaultConn == nil" + log.NewError(reqPb.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + reqPb.OperationID = req.OperationID + reqPb.UserID = req.UserID + reqPb.FriendUserName = req.FriendUserName + reqPb.FriendUserID = req.FriendUserID + + client := pbAdmin.NewAdminCMSClient(etcdConn) + respPb, err := client.GetUserFriends(context.Background(), &reqPb) + if err != nil { + log.NewError(reqPb.OperationID, utils.GetSelfFuncName(), "GetUserInfo failed ", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": err.Error()}) + return + } + for _, v := range respPb.FriendInfoList { + friend := &cms_api_struct.FriendInfo{} + utils.CopyStructFields(friend, v) + friend.Nickname = v.FriendUser.Nickname + friend.UserID = v.FriendUser.UserID + resp.FriendInfoList = append(resp.FriendInfoList, friend) + } + resp.FriendNums = respPb.FriendNums + resp.CurrentPage = int(respPb.Pagination.CurrentPage) + resp.ShowNumber = int(respPb.Pagination.ShowNumber) + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) + c.JSON(http.StatusOK, gin.H{"errCode": respPb.CommonResp.ErrCode, "errMsg": respPb.CommonResp.ErrMsg, "data": resp}) +} diff --git a/internal/cms_api/message_cms/message.go b/internal/cms_api/message_cms/message.go index c3f6cf231..758e9dc29 100644 --- a/internal/cms_api/message_cms/message.go +++ b/internal/cms_api/message_cms/message.go @@ -47,7 +47,7 @@ func GetChatLogs(c *gin.Context) { return } for _, v := range respPb.ChatLogs { - chatLog := pbCommon.MsgData{} + chatLog := cms_api_struct.ChatLog{} utils.CopyStructFields(&chatLog, v) resp.ChatLogs = append(resp.ChatLogs, &chatLog) } diff --git a/internal/cms_api/router.go b/internal/cms_api/router.go index a846f4ef1..7636eee8c 100644 --- a/internal/cms_api/router.go +++ b/internal/cms_api/router.go @@ -2,6 +2,7 @@ package cms_api import ( "Open_IM/internal/cms_api/admin" + "Open_IM/internal/cms_api/friend" "Open_IM/internal/cms_api/group" messageCMS "Open_IM/internal/cms_api/message_cms" "Open_IM/internal/cms_api/middleware" @@ -63,5 +64,9 @@ func NewGinRouter() *gin.Engine { { messageCMSRouterGroup.POST("/get_chat_logs", messageCMS.GetChatLogs) } + friendCMSRouterGroup := r2.Group("friend") + { + friendCMSRouterGroup.POST("/get_friends", friend.GetUserFriends) + } return baseRouter } diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 1f5648999..1590a502e 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -12,6 +12,7 @@ import ( server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "errors" "net" "strconv" "strings" @@ -19,6 +20,7 @@ import ( "time" "google.golang.org/grpc" + "gorm.io/gorm" ) type adminCMSServer struct { @@ -296,7 +298,7 @@ func (s *adminCMSServer) GetActiveUser(_ context.Context, req *pbAdminCMS.GetAct for _, activeUser := range activeUsers { resp.Users = append(resp.Users, &pbAdminCMS.UserResp{ - UserId: activeUser.ID, + UserID: activeUser.ID, NickName: activeUser.Name, MessageNum: int32(activeUser.MessageNum), }, @@ -584,3 +586,80 @@ func (s *adminCMSServer) GetUserStatistics(_ context.Context, req *pbAdminCMS.Ge log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp) return resp, nil } + +func (s *adminCMSServer) GetUserFriends(_ context.Context, req *pbAdminCMS.GetUserFriendsReq) (*pbAdminCMS.GetUserFriendsResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + resp := &pbAdminCMS.GetUserFriendsResp{CommonResp: &pbAdminCMS.CommonResp{}, Pagination: &server_api_params.ResponsePagination{CurrentPage: req.Pagination.PageNumber, ShowNumber: req.Pagination.ShowNumber}} + var friendList []*imdb.FriendUser + var err error + if req.FriendUserID != "" { + friend, err := imdb.GetFriendByIDCMS(req.UserID, req.FriendUserID) + if err != nil { + if errors.Is(err, gorm.ErrRecordNotFound) { + return resp, nil + } + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserID) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + friendList = append(friendList, friend) + } else { + friendList, err = imdb.GetUserFriendsCMS(req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + resp.CommonResp.ErrCode = constant.ErrDB.ErrCode + resp.CommonResp.ErrMsg = err.Error() + return resp, nil + } + } + for _, v := range friendList { + friendInfo := &server_api_params.FriendInfo{} + userInfo := &server_api_params.UserInfo{UserID: v.FriendUserID, Nickname: v.Nickname} + utils.CopyStructFields(friendInfo, v) + friendInfo.FriendUser = userInfo + resp.FriendInfoList = append(resp.FriendInfoList, friendInfo) + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return nil, nil +} + +func (s *adminCMSServer) GenerateInvitationCode(_ context.Context, req *pbAdminCMS.GenerateInvitationCodeReq) (*pbAdminCMS.GenerateInvitationCodeResp, error) { + return nil, nil +} + +func (s *adminCMSServer) GetInvitationCodes(_ context.Context, req *pbAdminCMS.GetInvitationCodesReq) (*pbAdminCMS.GetInvitationCodesResp, error) { + return nil, nil +} + +func (s *adminCMSServer) QueryIPRegister(_ context.Context, req *pbAdminCMS.QueryIPRegisterReq) (*pbAdminCMS.QueryIPRegisterResp, error) { + return nil, nil +} + +func (s *adminCMSServer) AddIPLimit(_ context.Context, req *pbAdminCMS.AddIPLimitReq) (*pbAdminCMS.AddIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) RemoveIPLimit(_ context.Context, req *pbAdminCMS.RemoveIPLimitReq) (*pbAdminCMS.RemoveIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) QueryUserIDIPLimitLogin(_ context.Context, req *pbAdminCMS.QueryUserIDIPLimitLoginReq) (*pbAdminCMS.QueryUserIDIPLimitLoginResp, error) { + return nil, nil +} + +func (s *adminCMSServer) AddUserIPLimitLogin(_ context.Context, req *pbAdminCMS.AddUserIPLimitLoginReq) (*pbAdminCMS.AddUserIPLimitLoginResp, error) { + return nil, nil +} + +func (s *adminCMSServer) RemoveUserIPLimit(_ context.Context, req *pbAdminCMS.RemoveUserIPLimitReq) (*pbAdminCMS.RemoveUserIPLimitResp, error) { + return nil, nil +} + +func (s *adminCMSServer) GetClientInitConfig(_ context.Context, req *pbAdminCMS.GetClientInitConfigReq) (*pbAdminCMS.GetClientInitConfigResp, error) { + return nil, nil +} + +func (s *adminCMSServer) SetClientInitConfig(_ context.Context, req *pbAdminCMS.SetClientInitConfigReq) (*pbAdminCMS.SetClientInitConfigResp, error) { + return nil, nil +} diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index ccab54c65..0e2b4d2af 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -52,11 +52,38 @@ func (rpc *rpcAuth) UserRegister(_ context.Context, req *pbAuth.UserRegisterReq) func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String()) - _, err := imdb.GetUserByUserID(req.FromUserID) - if err != nil { - errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.FromUserID - log.NewError(req.OperationID, errMsg) - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil + + if config.Config.Demo.UseIPLimit { + user, err := imdb.GetUserIPLimit(req.FromUserID) + if err != nil { + errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.FromUserID + log.NewError(req.OperationID, errMsg) + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil + } + + var Limited bool + var LimitError error + Limited, LimitError = imdb.IsLimitLoginIp(req.LoginIp) + if LimitError != nil { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil + } + if Limited { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil + } + Limited, LimitError = imdb.IsLimitUserLoginIp(user.UserID, req.LoginIp) + if LimitError != nil { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil + } + if Limited { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil + } + Limited, LimitError = imdb.UserIsBlock(user.UserID) + if LimitError != nil { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil + } + if Limited { + return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil + } } tokens, expTime, err := token_verify.CreateToken(req.FromUserID, int(req.Platform)) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index d1569883b..141fd7048 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1353,8 +1353,6 @@ func (s *groupServer) GetGroups(_ context.Context, req *pbGroup.GetGroupsReq) (* resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil - } else { - } resp.GroupNum = 1 groupInfo := &open_im_sdk.GroupInfo{} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index ed259438e..0379ab204 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -634,7 +634,7 @@ func (s *userServer) GetUsers(ctx context.Context, req *pbUser.GetUsersReq) (*pb func (s *userServer) AddUser(ctx context.Context, req *pbUser.AddUserReq) (*pbUser.AddUserResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) - resp := &pbUser.AddUserResp{} + resp := &pbUser.AddUserResp{CommonResp: &pbUser.CommonResp{}} err := imdb.AddUser(req.UserInfo.UserID, req.UserInfo.PhoneNumber, req.UserInfo.Nickname, req.UserInfo.Email, req.UserInfo.Gender, req.UserInfo.FaceURL, req.UserInfo.Birth) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "AddUser", err.Error(), req.String()) diff --git a/pkg/cms_api_struct/friend.go b/pkg/cms_api_struct/friend.go new file mode 100644 index 000000000..ce3af6ddc --- /dev/null +++ b/pkg/cms_api_struct/friend.go @@ -0,0 +1,25 @@ +package cms_api_struct + +type GetFriendsReq struct { + OperationID string `json:"operationID"` + UserID string `json:"userID"` + FriendUserName string `json:"friendUserName"` + FriendUserID string `json:"friendUserID"` + RequestPagination +} + +type FriendInfo struct { + OwnerUserID string `json:"ownerUserID"` + Remark string `json:"remark"` + CreateTime uint32 `json:"createTime"` + UserID string `json:"userID"` + Nickname string `json:"nickName"` + AddSource int32 `json:"addSource"` + OperatorUserID string `json:"operatorUserID"` +} + +type GetFriendsResp struct { + ResponsePagination + FriendInfoList []*FriendInfo `json:"friendInfoList"` + FriendNums int32 `json:"friendNums"` +} diff --git a/pkg/cms_api_struct/message_cms.go b/pkg/cms_api_struct/message_cms.go index 2b6dfb4be..708e70c4f 100644 --- a/pkg/cms_api_struct/message_cms.go +++ b/pkg/cms_api_struct/message_cms.go @@ -16,8 +16,33 @@ type GetChatLogsReq struct { OperationID string `json:"operationID"` } +type ChatLog struct { + SendID string `json:"sendID,omitempty"` + RecvID string `json:"recvID,omitempty"` + GroupID string `json:"groupID,omitempty"` + ClientMsgID string `json:"clientMsgID,omitempty"` + ServerMsgID string `json:"serverMsgID,omitempty"` + SenderPlatformID int32 `json:"senderPlatformID,omitempty"` + SenderNickname string `json:"senderNickname,omitempty"` + SenderFaceURL string `json:"senderFaceURL,omitempty"` + SessionType int32 `json:"sessionType,omitempty"` + MsgFrom int32 `json:"msgFrom,omitempty"` + ContentType int32 `json:"contentType,omitempty"` + Content string `json:"content,omitempty"` + Seq uint32 `json:"seq,omitempty"` + SendTime int64 `json:"sendTime,omitempty"` + CreateTime int64 `json:"createTime,omitempty"` + Status int32 `json:"status,omitempty"` + Options map[string]bool `json:"options,omitempty"` + OfflinePushInfo *pbCommon.OfflinePushInfo `json:"offlinePushInfo,omitempty"` + AtUserIDList []string `json:"atUserIDList,omitempty"` + MsgDataList []byte `json:"msgDataList,omitempty"` + AttachedInfo string `json:"attachedInfo,omitempty"` + Ex string `json:"ex,omitempty"` +} + type GetChatLogsResp struct { - ChatLogs []*pbCommon.MsgData `json:"chatLogs"` - ChatLogsNum int `json:"logNums"` + ChatLogs []*ChatLog `json:"chatLogs"` + ChatLogsNum int `json:"logNums"` ResponsePagination } diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index ba8b25fa2..6210fd0b3 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -508,6 +508,8 @@ type config struct { JoinDepartmentIDList []string `yaml:"joinDepartmentIDList"` JoinDepartmentGroups bool `yaml:"joinDepartmentGroups"` OaNotification bool `yaml:"oaNotification"` + + UseIPLimit bool `yaml:"useIPLimit"` } Rtc struct { SignalTimeout string `yaml:"signalTimeout"` diff --git a/pkg/common/db/model_struct.go b/pkg/common/db/model_struct.go index 18e651f3e..043240532 100644 --- a/pkg/common/db/model_struct.go +++ b/pkg/common/db/model_struct.go @@ -15,7 +15,7 @@ type Register struct { type Invitation struct { InvitationCode string `gorm:"column:invitation_code;primary_key;type:varchar(32)"` CreateTime time.Time `gorm:"column:create_time"` - UserID string `gorm:"column:user_id"` + UserID string `gorm:"column:user_id;index:userID"` LastTime time.Time `gorm:"column:last_time"` Status int32 `gorm:"column:status"` } @@ -179,8 +179,8 @@ type User struct { CreateTime time.Time `gorm:"column:create_time;index:create_time"` AppMangerLevel int32 `gorm:"column:app_manger_level"` GlobalRecvMsgOpt int32 `gorm:"column:global_recv_msg_opt"` - InvitationCode string `gorm:"column:invitation_code"` - status int32 `gorm:"column:status"` + + status int32 `gorm:"column:status"` } type UserIpRecord struct { diff --git a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go index 349555c31..b023d2b40 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/demo_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/demo_model.go @@ -3,6 +3,7 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" "errors" + _ "gorm.io/gorm" ) @@ -74,3 +75,10 @@ func DeleteAllRegisterAddFriendIDList() error { err := db.DB.MysqlDB.DefaultGormDB().Where("1 = 1").Delete(&db.RegisterAddFriend{}).Error return err } + +func GetUserIPLimit(userID string) (db.UserIpLimit, error) { + var limit db.UserIpLimit + limit.UserID = userID + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpLimit{}).Take(&limit).Error + return limit, err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 33e22771d..5115bf4d3 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -2,8 +2,10 @@ package im_mysql_model import ( "Open_IM/pkg/common/db" - _ "github.com/jinzhu/gorm/dialects/mysql" + "fmt" "time" + + _ "github.com/jinzhu/gorm/dialects/mysql" ) func InsertToFriend(toInsertFollow *db.Friend) error { @@ -51,3 +53,31 @@ func UpdateFriendComment(OwnerUserID, FriendUserID, Remark string) error { func DeleteSingleFriendInfo(OwnerUserID, FriendUserID string) error { return db.DB.MysqlDB.DefaultGormDB().Table("friends").Where("owner_user_id=? and friend_user_id=?", OwnerUserID, FriendUserID).Delete(db.Friend{}).Error } + +type FriendUser struct { + db.Friend + Nickname string `gorm:"column:name;size:255"` +} + +func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, err error) { + db := db.DB.MysqlDB.DefaultGormDB().Table("friends"). + Select("friends.*, users.name"). + Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)). + Joins("left join friends on friends.friend_user_id = users.user_id"). + Offset(int(showNumber * (pageNumber - 1))) + if friendUserName != "" { + db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName)) + } + err = db.Find(&friendUserList).Error + return +} + +func GetFriendByIDCMS(ownerUserID, friendUserID string) (friendUser *FriendUser, err error) { + friendUser = &FriendUser{} + err = db.DB.MysqlDB.DefaultGormDB().Table("friends"). + Select("friends.*, users.name"). + Where("friends.owner_user_id=? and friends.friend_user_id=?", ownerUserID, friendUserID). + Joins("left join friends on friends.friend_user_id = users.user_id"). + Take(friendUser).Error + return friendUser, err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/group_model.go b/pkg/common/db/mysql_model/im_mysql_model/group_model.go index ccf317ff4..9f9b10d3c 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/group_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/group_model.go @@ -1,9 +1,11 @@ package im_mysql_model import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/utils" "fmt" + "time" ) @@ -54,7 +56,7 @@ type GroupWithNum struct { func GetGroupsByName(groupName string, pageNumber, showNumber int32) ([]GroupWithNum, error) { var groups []GroupWithNum err := db.DB.MysqlDB.DefaultGormDB().Table("groups").Select("groups.*, (select count(*) from group_members where group_members.group_id=groups.group_id) as num"). - Where(" name like ? ", fmt.Sprintf("%%%s%%", groupName)).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error + Where(" name like ? and status != ?", fmt.Sprintf("%%%s%%", groupName), constant.GroupStatusDismissed).Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))).Find(&groups).Error return groups, err } diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 80000e1bd..2b7e74673 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -11,16 +11,18 @@ import ( func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, error) { var chatLogs []db.ChatLog db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). - Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content)). Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) - if chatLog.SessionType != 0 { - db = db.Where("session_type = ?", chatLog.SessionType) + if chatLog.Content != "" { + db = db.Where(" name like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } - if chatLog.ContentType == 1 { - db = db.Where("content_type = ?", chatLog.ContentType) - } else if chatLog.ContentType == 2 { + if chatLog.SessionType == 1 { + db = db.Where("session_type = ?", chatLog.SessionType) + } else if chatLog.SessionType == 2 { db = db.Where("content_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } + if chatLog.ContentType != 0 { + db = db.Where("content_type = ?", chatLog.ContentType) + } if chatLog.SendID != "" { db = db.Where("send_id = ?", chatLog.SendID) } @@ -37,13 +39,17 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, func GetChatLogCount(chatLog db.ChatLog) (int64, error) { var chatLogs []db.ChatLog var count int64 - db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). - Where(fmt.Sprintf(" content like '%%%s%%'", chatLog.Content)) + db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") + if chatLog.Content != "" { + db = db.Where(" name like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + } if chatLog.SessionType != 0 { db = db.Where("session_type = ?", chatLog.SessionType) } - if chatLog.ContentType != 0 { + if chatLog.ContentType == 1 { db = db.Where("content_type = ?", chatLog.ContentType) + } else if chatLog.ContentType == 2 { + db = db.Where("content_type in (?)", []int{constant.GroupChatType, constant.SuperGroupChatType}) } if chatLog.SendID != "" { db = db.Where("send_id = ?", chatLog.SendID) diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index cb9322ea0..4605fd5a8 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -130,21 +130,29 @@ func AddUser(userID string, phoneNumber string, name string, email string, gende _birth = time.Now() } user := db.User{ - UserID: userID, - Nickname: name, - FaceURL: faceURL, - Gender: gender, - PhoneNumber: phoneNumber, - Birth: _birth, - Email: email, - Ex: "", - CreateTime: time.Now(), - InvitationCode: "", + UserID: userID, + Nickname: name, + FaceURL: faceURL, + Gender: gender, + PhoneNumber: phoneNumber, + Birth: _birth, + Email: email, + Ex: "", + CreateTime: time.Now(), } result := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user) return result.Error } +func UserIsBlock(userId string) (bool, error) { + var user db.BlackList + rows := db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid=?", userId).First(&user).RowsAffected + if rows >= 1 { + return user.EndDisableTime.After(time.Now()), nil + } + return false, nil +} + func UsersIsBlock(userIDList []string) (inBlockUserIDList []string, err error) { err = db.DB.MysqlDB.DefaultGormDB().Table("black_lists").Where("uid in (?) and end_disable_time > now()", userIDList).Pluck("uid", &inBlockUserIDList).Error return inBlockUserIDList, err diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 08dcddd01..bb8565dc1 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -6,10 +6,8 @@ import ( imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" "Open_IM/pkg/utils" - "context" "encoding/json" "errors" - "fmt" "math/big" "sort" "strconv" @@ -36,38 +34,6 @@ const ( conversationIDListCache = "CONVERSATION_ID_LIST_CACHE:" ) -func init() { - fmt.Println("init to del old keys") - for _, key := range []string{groupCache, friendRelationCache, blackListCache, userInfoCache, groupInfoCache, groupOwnerIDCache, joinedGroupListCache, - groupMemberInfoCache, groupAllMemberInfoCache, allFriendInfoCache} { - fName := utils.GetSelfFuncName() - var cursor uint64 - var n int - for { - var keys []string - var err error - keys, cursor, err = db.DB.RDB.Scan(context.Background(), cursor, key+"*", 3000).Result() - if err != nil { - panic(err.Error()) - } - n += len(keys) - // for each for redis cluster - for _, key := range keys { - if err = db.DB.RDB.Del(context.Background(), key).Err(); err != nil { - log.NewError("", fName, key, err.Error()) - err = db.DB.RDB.Del(context.Background(), key).Err() - if err != nil { - panic(err.Error()) - } - } - } - if cursor == 0 { - break - } - } - } -} - func GetFriendIDListFromCache(userID string) ([]string, error) { getFriendIDList := func() (string, error) { friendIDList, err := imdb.GetFriendIDListByUserID(userID) diff --git a/pkg/proto/admin_cms/admin_cms.pb.go b/pkg/proto/admin_cms/admin_cms.pb.go index 311feb3ca..11180d164 100644 --- a/pkg/proto/admin_cms/admin_cms.pb.go +++ b/pkg/proto/admin_cms/admin_cms.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{0} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -71,9 +71,9 @@ func (m *CommonResp) GetErrMsg() string { } type AdminLoginReq struct { - OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"` - AdminID string `protobuf:"bytes,2,opt,name=AdminID" json:"AdminID,omitempty"` - Secret string `protobuf:"bytes,3,opt,name=Secret" json:"Secret,omitempty"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + AdminID string `protobuf:"bytes,2,opt,name=adminID" json:"adminID,omitempty"` + Secret string `protobuf:"bytes,3,opt,name=secret" json:"secret,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -83,7 +83,7 @@ func (m *AdminLoginReq) Reset() { *m = AdminLoginReq{} } func (m *AdminLoginReq) String() string { return proto.CompactTextString(m) } func (*AdminLoginReq) ProtoMessage() {} func (*AdminLoginReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{1} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{1} } func (m *AdminLoginReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginReq.Unmarshal(m, b) @@ -136,7 +136,7 @@ func (m *AdminLoginResp) Reset() { *m = AdminLoginResp{} } func (m *AdminLoginResp) String() string { return proto.CompactTextString(m) } func (*AdminLoginResp) ProtoMessage() {} func (*AdminLoginResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{2} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{2} } func (m *AdminLoginResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AdminLoginResp.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *AddUserRegisterAddFriendIDListReq) Reset() { *m = AddUserRegist func (m *AddUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{3} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{3} } func (m *AddUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -227,7 +227,7 @@ func (m *AddUserRegisterAddFriendIDListResp) Reset() { *m = AddUserRegis func (m *AddUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*AddUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*AddUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{4} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{4} } func (m *AddUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -267,7 +267,7 @@ func (m *ReduceUserRegisterAddFriendIDListReq) Reset() { *m = ReduceUser func (m *ReduceUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{5} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{5} } func (m *ReduceUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -319,7 +319,7 @@ func (m *ReduceUserRegisterAddFriendIDListResp) Reset() { *m = ReduceUse func (m *ReduceUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*ReduceUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*ReduceUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{6} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{6} } func (m *ReduceUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ReduceUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -358,7 +358,7 @@ func (m *GetUserRegisterAddFriendIDListReq) Reset() { *m = GetUserRegist func (m *GetUserRegisterAddFriendIDListReq) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListReq) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{7} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{7} } func (m *GetUserRegisterAddFriendIDListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListReq.Unmarshal(m, b) @@ -405,7 +405,7 @@ func (m *GetUserRegisterAddFriendIDListResp) Reset() { *m = GetUserRegis func (m *GetUserRegisterAddFriendIDListResp) String() string { return proto.CompactTextString(m) } func (*GetUserRegisterAddFriendIDListResp) ProtoMessage() {} func (*GetUserRegisterAddFriendIDListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{8} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{8} } func (m *GetUserRegisterAddFriendIDListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserRegisterAddFriendIDListResp.Unmarshal(m, b) @@ -447,14 +447,14 @@ func (m *GetUserRegisterAddFriendIDListResp) GetCommonResp() *CommonResp { } type GetChatLogsReq struct { - Content string `protobuf:"bytes,1,opt,name=Content" json:"Content,omitempty"` - SendID string `protobuf:"bytes,2,opt,name=SendID" json:"SendID,omitempty"` - RecvID string `protobuf:"bytes,3,opt,name=RecvID" json:"RecvID,omitempty"` - SendTime string `protobuf:"bytes,4,opt,name=SendTime" json:"SendTime,omitempty"` - SessionType int32 `protobuf:"varint,5,opt,name=SessionType" json:"SessionType,omitempty"` - ContentType int32 `protobuf:"varint,6,opt,name=ContentType" json:"ContentType,omitempty"` - Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=Pagination" json:"Pagination,omitempty"` - OperationID string `protobuf:"bytes,8,opt,name=OperationID" json:"OperationID,omitempty"` + Content string `protobuf:"bytes,1,opt,name=content" json:"content,omitempty"` + SendID string `protobuf:"bytes,2,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,3,opt,name=recvID" json:"recvID,omitempty"` + SendTime string `protobuf:"bytes,4,opt,name=sendTime" json:"sendTime,omitempty"` + SessionType int32 `protobuf:"varint,5,opt,name=sessionType" json:"sessionType,omitempty"` + ContentType int32 `protobuf:"varint,6,opt,name=contentType" json:"contentType,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,7,opt,name=pagination" json:"pagination,omitempty"` + OperationID string `protobuf:"bytes,8,opt,name=operationID" json:"operationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -464,7 +464,7 @@ func (m *GetChatLogsReq) Reset() { *m = GetChatLogsReq{} } func (m *GetChatLogsReq) String() string { return proto.CompactTextString(m) } func (*GetChatLogsReq) ProtoMessage() {} func (*GetChatLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{9} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{9} } func (m *GetChatLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsReq.Unmarshal(m, b) @@ -541,24 +541,24 @@ func (m *GetChatLogsReq) GetOperationID() string { } type ChatLog struct { - ServerMsgID string `protobuf:"bytes,1,opt,name=ServerMsgID" json:"ServerMsgID,omitempty"` - ClientMsgID string `protobuf:"bytes,2,opt,name=ClientMsgID" json:"ClientMsgID,omitempty"` - SendID string `protobuf:"bytes,3,opt,name=SendID" json:"SendID,omitempty"` - RecvID string `protobuf:"bytes,4,opt,name=RecvID" json:"RecvID,omitempty"` + ServerMsgID string `protobuf:"bytes,1,opt,name=serverMsgID" json:"serverMsgID,omitempty"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + SendID string `protobuf:"bytes,3,opt,name=sendID" json:"sendID,omitempty"` + RecvID string `protobuf:"bytes,4,opt,name=recvID" json:"recvID,omitempty"` GroupID string `protobuf:"bytes,5,opt,name=groupID" json:"groupID,omitempty"` RecvNickname string `protobuf:"bytes,6,opt,name=recvNickname" json:"recvNickname,omitempty"` - SenderPlatformID int32 `protobuf:"varint,7,opt,name=SenderPlatformID" json:"SenderPlatformID,omitempty"` - SenderNickname string `protobuf:"bytes,8,opt,name=SenderNickname" json:"SenderNickname,omitempty"` - SenderFaceURL string `protobuf:"bytes,9,opt,name=SenderFaceURL" json:"SenderFaceURL,omitempty"` - GroupName string `protobuf:"bytes,10,opt,name=GroupName" json:"GroupName,omitempty"` - SessionType int32 `protobuf:"varint,11,opt,name=SessionType" json:"SessionType,omitempty"` - MsgFrom int32 `protobuf:"varint,12,opt,name=MsgFrom" json:"MsgFrom,omitempty"` - ContentType int32 `protobuf:"varint,13,opt,name=ContentType" json:"ContentType,omitempty"` - Content string `protobuf:"bytes,14,opt,name=Content" json:"Content,omitempty"` - Status int32 `protobuf:"varint,15,opt,name=Status" json:"Status,omitempty"` - SendTime int64 `protobuf:"varint,16,opt,name=SendTime" json:"SendTime,omitempty"` - CreateTime int64 `protobuf:"varint,17,opt,name=CreateTime" json:"CreateTime,omitempty"` - Ex string `protobuf:"bytes,18,opt,name=Ex" json:"Ex,omitempty"` + SenderPlatformID int32 `protobuf:"varint,7,opt,name=senderPlatformID" json:"senderPlatformID,omitempty"` + SenderNickname string `protobuf:"bytes,8,opt,name=senderNickname" json:"senderNickname,omitempty"` + SenderFaceURL string `protobuf:"bytes,9,opt,name=senderFaceURL" json:"senderFaceURL,omitempty"` + GroupName string `protobuf:"bytes,10,opt,name=groupName" json:"groupName,omitempty"` + SessionType int32 `protobuf:"varint,11,opt,name=sessionType" json:"sessionType,omitempty"` + MsgFrom int32 `protobuf:"varint,12,opt,name=msgFrom" json:"msgFrom,omitempty"` + ContentType int32 `protobuf:"varint,13,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,14,opt,name=content" json:"content,omitempty"` + Status int32 `protobuf:"varint,15,opt,name=status" json:"status,omitempty"` + SendTime int64 `protobuf:"varint,16,opt,name=sendTime" json:"sendTime,omitempty"` + CreateTime int64 `protobuf:"varint,17,opt,name=createTime" json:"createTime,omitempty"` + Ex string `protobuf:"bytes,18,opt,name=ex" json:"ex,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -568,7 +568,7 @@ func (m *ChatLog) Reset() { *m = ChatLog{} } func (m *ChatLog) String() string { return proto.CompactTextString(m) } func (*ChatLog) ProtoMessage() {} func (*ChatLog) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{10} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{10} } func (m *ChatLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChatLog.Unmarshal(m, b) @@ -715,10 +715,10 @@ func (m *ChatLog) GetEx() string { } type GetChatLogsResp struct { - ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=ChatLogs" json:"ChatLogs,omitempty"` - Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` - ChatLogsNum int32 `protobuf:"varint,3,opt,name=ChatLogsNum" json:"ChatLogsNum,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=CommonResp" json:"CommonResp,omitempty"` + ChatLogs []*ChatLog `protobuf:"bytes,1,rep,name=chatLogs" json:"chatLogs,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=pagination" json:"pagination,omitempty"` + ChatLogsNum int32 `protobuf:"varint,3,opt,name=chatLogsNum" json:"chatLogsNum,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -728,7 +728,7 @@ func (m *GetChatLogsResp) Reset() { *m = GetChatLogsResp{} } func (m *GetChatLogsResp) String() string { return proto.CompactTextString(m) } func (*GetChatLogsResp) ProtoMessage() {} func (*GetChatLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{11} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{11} } func (m *GetChatLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetChatLogsResp.Unmarshal(m, b) @@ -788,7 +788,7 @@ func (m *StatisticsReq) Reset() { *m = StatisticsReq{} } func (m *StatisticsReq) String() string { return proto.CompactTextString(m) } func (*StatisticsReq) ProtoMessage() {} func (*StatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{12} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{12} } func (m *StatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StatisticsReq.Unmarshal(m, b) @@ -823,8 +823,8 @@ func (m *StatisticsReq) GetTo() string { } type GetActiveUserReq struct { - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -834,7 +834,7 @@ func (m *GetActiveUserReq) Reset() { *m = GetActiveUserReq{} } func (m *GetActiveUserReq) String() string { return proto.CompactTextString(m) } func (*GetActiveUserReq) ProtoMessage() {} func (*GetActiveUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{13} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{13} } func (m *GetActiveUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserReq.Unmarshal(m, b) @@ -869,9 +869,9 @@ func (m *GetActiveUserReq) GetOperationID() string { } type UserResp struct { - NickName string `protobuf:"bytes,1,opt,name=NickName" json:"NickName,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=UserId" json:"UserId,omitempty"` - MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` + NickName string `protobuf:"bytes,1,opt,name=nickName" json:"nickName,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + MessageNum int32 `protobuf:"varint,3,opt,name=messageNum" json:"messageNum,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -881,7 +881,7 @@ func (m *UserResp) Reset() { *m = UserResp{} } func (m *UserResp) String() string { return proto.CompactTextString(m) } func (*UserResp) ProtoMessage() {} func (*UserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{14} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{14} } func (m *UserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserResp.Unmarshal(m, b) @@ -908,9 +908,9 @@ func (m *UserResp) GetNickName() string { return "" } -func (m *UserResp) GetUserId() string { +func (m *UserResp) GetUserID() string { if m != nil { - return m.UserId + return m.UserID } return "" } @@ -924,7 +924,7 @@ func (m *UserResp) GetMessageNum() int32 { type GetActiveUserResp struct { Users []*UserResp `protobuf:"bytes,1,rep,name=Users" json:"Users,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -934,7 +934,7 @@ func (m *GetActiveUserResp) Reset() { *m = GetActiveUserResp{} } func (m *GetActiveUserResp) String() string { return proto.CompactTextString(m) } func (*GetActiveUserResp) ProtoMessage() {} func (*GetActiveUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{15} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{15} } func (m *GetActiveUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveUserResp.Unmarshal(m, b) @@ -969,8 +969,8 @@ func (m *GetActiveUserResp) GetCommonResp() *CommonResp { } type GetActiveGroupReq struct { - StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=StatisticsReq" json:"StatisticsReq,omitempty"` - OperationID string `protobuf:"bytes,2,opt,name=OperationID" json:"OperationID,omitempty"` + StatisticsReq *StatisticsReq `protobuf:"bytes,1,opt,name=statisticsReq" json:"statisticsReq,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -980,7 +980,7 @@ func (m *GetActiveGroupReq) Reset() { *m = GetActiveGroupReq{} } func (m *GetActiveGroupReq) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupReq) ProtoMessage() {} func (*GetActiveGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{16} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{16} } func (m *GetActiveGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupReq.Unmarshal(m, b) @@ -1018,7 +1018,7 @@ type GroupResp struct { GroupName string `protobuf:"bytes,1,opt,name=GroupName" json:"GroupName,omitempty"` GroupId string `protobuf:"bytes,2,opt,name=GroupId" json:"GroupId,omitempty"` MessageNum int32 `protobuf:"varint,3,opt,name=MessageNum" json:"MessageNum,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,4,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1028,7 +1028,7 @@ func (m *GroupResp) Reset() { *m = GroupResp{} } func (m *GroupResp) String() string { return proto.CompactTextString(m) } func (*GroupResp) ProtoMessage() {} func (*GroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{17} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{17} } func (m *GroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupResp.Unmarshal(m, b) @@ -1078,7 +1078,7 @@ func (m *GroupResp) GetCommonResp() *CommonResp { type GetActiveGroupResp struct { Groups []*GroupResp `protobuf:"bytes,1,rep,name=Groups" json:"Groups,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,2,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1088,7 +1088,7 @@ func (m *GetActiveGroupResp) Reset() { *m = GetActiveGroupResp{} } func (m *GetActiveGroupResp) String() string { return proto.CompactTextString(m) } func (*GetActiveGroupResp) ProtoMessage() {} func (*GetActiveGroupResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{18} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{18} } func (m *GetActiveGroupResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetActiveGroupResp.Unmarshal(m, b) @@ -1134,7 +1134,7 @@ func (m *DateNumList) Reset() { *m = DateNumList{} } func (m *DateNumList) String() string { return proto.CompactTextString(m) } func (*DateNumList) ProtoMessage() {} func (*DateNumList) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{19} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{19} } func (m *DateNumList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DateNumList.Unmarshal(m, b) @@ -1180,7 +1180,7 @@ func (m *GetMessageStatisticsReq) Reset() { *m = GetMessageStatisticsReq func (m *GetMessageStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsReq) ProtoMessage() {} func (*GetMessageStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{20} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{20} } func (m *GetMessageStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsReq.Unmarshal(m, b) @@ -1219,7 +1219,7 @@ type GetMessageStatisticsResp struct { GroupMessageNum int32 `protobuf:"varint,2,opt,name=GroupMessageNum" json:"GroupMessageNum,omitempty"` PrivateMessageNumList []*DateNumList `protobuf:"bytes,3,rep,name=PrivateMessageNumList" json:"PrivateMessageNumList,omitempty"` GroupMessageNumList []*DateNumList `protobuf:"bytes,4,rep,name=GroupMessageNumList" json:"GroupMessageNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,5,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1229,7 +1229,7 @@ func (m *GetMessageStatisticsResp) Reset() { *m = GetMessageStatisticsRe func (m *GetMessageStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageStatisticsResp) ProtoMessage() {} func (*GetMessageStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{21} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{21} } func (m *GetMessageStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageStatisticsResp.Unmarshal(m, b) @@ -1296,7 +1296,7 @@ func (m *GetGroupStatisticsReq) Reset() { *m = GetGroupStatisticsReq{} } func (m *GetGroupStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsReq) ProtoMessage() {} func (*GetGroupStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{22} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{22} } func (m *GetGroupStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsReq.Unmarshal(m, b) @@ -1335,7 +1335,7 @@ type GetGroupStatisticsResp struct { TotalGroupNum int32 `protobuf:"varint,2,opt,name=TotalGroupNum" json:"TotalGroupNum,omitempty"` IncreaseGroupNumList []*DateNumList `protobuf:"bytes,3,rep,name=IncreaseGroupNumList" json:"IncreaseGroupNumList,omitempty"` TotalGroupNumList []*DateNumList `protobuf:"bytes,4,rep,name=TotalGroupNumList" json:"TotalGroupNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,5,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1345,7 +1345,7 @@ func (m *GetGroupStatisticsResp) Reset() { *m = GetGroupStatisticsResp{} func (m *GetGroupStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetGroupStatisticsResp) ProtoMessage() {} func (*GetGroupStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{23} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{23} } func (m *GetGroupStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetGroupStatisticsResp.Unmarshal(m, b) @@ -1412,7 +1412,7 @@ func (m *GetUserStatisticsReq) Reset() { *m = GetUserStatisticsReq{} } func (m *GetUserStatisticsReq) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsReq) ProtoMessage() {} func (*GetUserStatisticsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{24} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{24} } func (m *GetUserStatisticsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsReq.Unmarshal(m, b) @@ -1453,7 +1453,7 @@ type GetUserStatisticsResp struct { IncreaseUserNumList []*DateNumList `protobuf:"bytes,4,rep,name=IncreaseUserNumList" json:"IncreaseUserNumList,omitempty"` ActiveUserNumList []*DateNumList `protobuf:"bytes,5,rep,name=ActiveUserNumList" json:"ActiveUserNumList,omitempty"` TotalUserNumList []*DateNumList `protobuf:"bytes,6,rep,name=TotalUserNumList" json:"TotalUserNumList,omitempty"` - CommonResp *CommonResp `protobuf:"bytes,7,opt,name=CommonResp" json:"CommonResp,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,7,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1463,7 +1463,7 @@ func (m *GetUserStatisticsResp) Reset() { *m = GetUserStatisticsResp{} } func (m *GetUserStatisticsResp) String() string { return proto.CompactTextString(m) } func (*GetUserStatisticsResp) ProtoMessage() {} func (*GetUserStatisticsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_admin_cms_521fdb68576e364f, []int{25} + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{25} } func (m *GetUserStatisticsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserStatisticsResp.Unmarshal(m, b) @@ -1532,6 +1532,1198 @@ func (m *GetUserStatisticsResp) GetCommonResp() *CommonResp { return nil } +type GenerateInvitationCodeReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + CodeLen int32 `protobuf:"varint,2,opt,name=codeLen" json:"codeLen,omitempty"` + CodeNum int32 `protobuf:"varint,3,opt,name=codeNum" json:"codeNum,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GenerateInvitationCodeReq) Reset() { *m = GenerateInvitationCodeReq{} } +func (m *GenerateInvitationCodeReq) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeReq) ProtoMessage() {} +func (*GenerateInvitationCodeReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{26} +} +func (m *GenerateInvitationCodeReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeReq.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeReq.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeReq.Merge(dst, src) +} +func (m *GenerateInvitationCodeReq) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeReq.Size(m) +} +func (m *GenerateInvitationCodeReq) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GenerateInvitationCodeReq proto.InternalMessageInfo + +func (m *GenerateInvitationCodeReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GenerateInvitationCodeReq) GetCodeLen() int32 { + if m != nil { + return m.CodeLen + } + return 0 +} + +func (m *GenerateInvitationCodeReq) GetCodeNum() int32 { + if m != nil { + return m.CodeNum + } + return 0 +} + +type GenerateInvitationCodeResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GenerateInvitationCodeResp) Reset() { *m = GenerateInvitationCodeResp{} } +func (m *GenerateInvitationCodeResp) String() string { return proto.CompactTextString(m) } +func (*GenerateInvitationCodeResp) ProtoMessage() {} +func (*GenerateInvitationCodeResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{27} +} +func (m *GenerateInvitationCodeResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GenerateInvitationCodeResp.Unmarshal(m, b) +} +func (m *GenerateInvitationCodeResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GenerateInvitationCodeResp.Marshal(b, m, deterministic) +} +func (dst *GenerateInvitationCodeResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GenerateInvitationCodeResp.Merge(dst, src) +} +func (m *GenerateInvitationCodeResp) XXX_Size() int { + return xxx_messageInfo_GenerateInvitationCodeResp.Size(m) +} +func (m *GenerateInvitationCodeResp) XXX_DiscardUnknown() { + xxx_messageInfo_GenerateInvitationCodeResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GenerateInvitationCodeResp proto.InternalMessageInfo + +func (m *GenerateInvitationCodeResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetInvitationCodesReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + Code string `protobuf:"bytes,2,opt,name=code" json:"code,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=status" json:"status,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,4,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInvitationCodesReq) Reset() { *m = GetInvitationCodesReq{} } +func (m *GetInvitationCodesReq) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesReq) ProtoMessage() {} +func (*GetInvitationCodesReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{28} +} +func (m *GetInvitationCodesReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesReq.Unmarshal(m, b) +} +func (m *GetInvitationCodesReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesReq.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesReq.Merge(dst, src) +} +func (m *GetInvitationCodesReq) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesReq.Size(m) +} +func (m *GetInvitationCodesReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInvitationCodesReq proto.InternalMessageInfo + +func (m *GetInvitationCodesReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetInvitationCodesReq) GetCode() string { + if m != nil { + return m.Code + } + return "" +} + +func (m *GetInvitationCodesReq) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *GetInvitationCodesReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +type InvitationCode struct { + InvitationCode string `protobuf:"bytes,1,opt,name=invitationCode" json:"invitationCode,omitempty"` + CreateTime int32 `protobuf:"varint,2,opt,name=createTime" json:"createTime,omitempty"` + LastTime int32 `protobuf:"varint,3,opt,name=lastTime" json:"lastTime,omitempty"` + UserID string `protobuf:"bytes,4,opt,name=userID" json:"userID,omitempty"` + Status int32 `protobuf:"varint,5,opt,name=status" json:"status,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *InvitationCode) Reset() { *m = InvitationCode{} } +func (m *InvitationCode) String() string { return proto.CompactTextString(m) } +func (*InvitationCode) ProtoMessage() {} +func (*InvitationCode) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{29} +} +func (m *InvitationCode) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_InvitationCode.Unmarshal(m, b) +} +func (m *InvitationCode) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_InvitationCode.Marshal(b, m, deterministic) +} +func (dst *InvitationCode) XXX_Merge(src proto.Message) { + xxx_messageInfo_InvitationCode.Merge(dst, src) +} +func (m *InvitationCode) XXX_Size() int { + return xxx_messageInfo_InvitationCode.Size(m) +} +func (m *InvitationCode) XXX_DiscardUnknown() { + xxx_messageInfo_InvitationCode.DiscardUnknown(m) +} + +var xxx_messageInfo_InvitationCode proto.InternalMessageInfo + +func (m *InvitationCode) GetInvitationCode() string { + if m != nil { + return m.InvitationCode + } + return "" +} + +func (m *InvitationCode) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +func (m *InvitationCode) GetLastTime() int32 { + if m != nil { + return m.LastTime + } + return 0 +} + +func (m *InvitationCode) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *InvitationCode) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +type GetInvitationCodesResp struct { + InvitationCodes []*InvitationCode `protobuf:"bytes,1,rep,name=invitationCodes" json:"invitationCodes,omitempty"` + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,2,opt,name=Pagination" json:"Pagination,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,3,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetInvitationCodesResp) Reset() { *m = GetInvitationCodesResp{} } +func (m *GetInvitationCodesResp) String() string { return proto.CompactTextString(m) } +func (*GetInvitationCodesResp) ProtoMessage() {} +func (*GetInvitationCodesResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{30} +} +func (m *GetInvitationCodesResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetInvitationCodesResp.Unmarshal(m, b) +} +func (m *GetInvitationCodesResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetInvitationCodesResp.Marshal(b, m, deterministic) +} +func (dst *GetInvitationCodesResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetInvitationCodesResp.Merge(dst, src) +} +func (m *GetInvitationCodesResp) XXX_Size() int { + return xxx_messageInfo_GetInvitationCodesResp.Size(m) +} +func (m *GetInvitationCodesResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetInvitationCodesResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetInvitationCodesResp proto.InternalMessageInfo + +func (m *GetInvitationCodesResp) GetInvitationCodes() []*InvitationCode { + if m != nil { + return m.InvitationCodes + } + return nil +} + +func (m *GetInvitationCodesResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetInvitationCodesResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type QueryIPRegisterReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryIPRegisterReq) Reset() { *m = QueryIPRegisterReq{} } +func (m *QueryIPRegisterReq) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterReq) ProtoMessage() {} +func (*QueryIPRegisterReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{31} +} +func (m *QueryIPRegisterReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterReq.Unmarshal(m, b) +} +func (m *QueryIPRegisterReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterReq.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterReq.Merge(dst, src) +} +func (m *QueryIPRegisterReq) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterReq.Size(m) +} +func (m *QueryIPRegisterReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterReq.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryIPRegisterReq proto.InternalMessageInfo + +func (m *QueryIPRegisterReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *QueryIPRegisterReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type QueryIPRegisterResp struct { + IP string `protobuf:"bytes,1,opt,name=IP" json:"IP,omitempty"` + RegisterNum int32 `protobuf:"varint,2,opt,name=RegisterNum" json:"RegisterNum,omitempty"` + Status int32 `protobuf:"varint,3,opt,name=Status" json:"Status,omitempty"` + UserIDList []string `protobuf:"bytes,4,rep,name=userIDList" json:"userIDList,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,5,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryIPRegisterResp) Reset() { *m = QueryIPRegisterResp{} } +func (m *QueryIPRegisterResp) String() string { return proto.CompactTextString(m) } +func (*QueryIPRegisterResp) ProtoMessage() {} +func (*QueryIPRegisterResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{32} +} +func (m *QueryIPRegisterResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryIPRegisterResp.Unmarshal(m, b) +} +func (m *QueryIPRegisterResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryIPRegisterResp.Marshal(b, m, deterministic) +} +func (dst *QueryIPRegisterResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryIPRegisterResp.Merge(dst, src) +} +func (m *QueryIPRegisterResp) XXX_Size() int { + return xxx_messageInfo_QueryIPRegisterResp.Size(m) +} +func (m *QueryIPRegisterResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryIPRegisterResp.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryIPRegisterResp proto.InternalMessageInfo + +func (m *QueryIPRegisterResp) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *QueryIPRegisterResp) GetRegisterNum() int32 { + if m != nil { + return m.RegisterNum + } + return 0 +} + +func (m *QueryIPRegisterResp) GetStatus() int32 { + if m != nil { + return m.Status + } + return 0 +} + +func (m *QueryIPRegisterResp) GetUserIDList() []string { + if m != nil { + return m.UserIDList + } + return nil +} + +func (m *QueryIPRegisterResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type AddIPLimitReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + LimitTime int32 `protobuf:"varint,3,opt,name=limitTime" json:"limitTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddIPLimitReq) Reset() { *m = AddIPLimitReq{} } +func (m *AddIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitReq) ProtoMessage() {} +func (*AddIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{33} +} +func (m *AddIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitReq.Unmarshal(m, b) +} +func (m *AddIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitReq.Merge(dst, src) +} +func (m *AddIPLimitReq) XXX_Size() int { + return xxx_messageInfo_AddIPLimitReq.Size(m) +} +func (m *AddIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddIPLimitReq proto.InternalMessageInfo + +func (m *AddIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *AddIPLimitReq) GetLimitTime() int32 { + if m != nil { + return m.LimitTime + } + return 0 +} + +type AddIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddIPLimitResp) Reset() { *m = AddIPLimitResp{} } +func (m *AddIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*AddIPLimitResp) ProtoMessage() {} +func (*AddIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{34} +} +func (m *AddIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddIPLimitResp.Unmarshal(m, b) +} +func (m *AddIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *AddIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddIPLimitResp.Merge(dst, src) +} +func (m *AddIPLimitResp) XXX_Size() int { + return xxx_messageInfo_AddIPLimitResp.Size(m) +} +func (m *AddIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddIPLimitResp proto.InternalMessageInfo + +func (m *AddIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type RemoveIPLimitReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveIPLimitReq) Reset() { *m = RemoveIPLimitReq{} } +func (m *RemoveIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitReq) ProtoMessage() {} +func (*RemoveIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{35} +} +func (m *RemoveIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitReq.Merge(dst, src) +} +func (m *RemoveIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitReq.Size(m) +} +func (m *RemoveIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveIPLimitReq proto.InternalMessageInfo + +func (m *RemoveIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *RemoveIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type RemoveIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveIPLimitResp) Reset() { *m = RemoveIPLimitResp{} } +func (m *RemoveIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveIPLimitResp) ProtoMessage() {} +func (*RemoveIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{36} +} +func (m *RemoveIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveIPLimitResp.Merge(dst, src) +} +func (m *RemoveIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveIPLimitResp.Size(m) +} +func (m *RemoveIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveIPLimitResp proto.InternalMessageInfo + +func (m *RemoveIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type QueryUserIDIPLimitLoginReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryUserIDIPLimitLoginReq) Reset() { *m = QueryUserIDIPLimitLoginReq{} } +func (m *QueryUserIDIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginReq) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{37} +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginReq.Size(m) +} +func (m *QueryUserIDIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginReq.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserIDIPLimitLoginReq proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *QueryUserIDIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +type UserIPLimit struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + IP string `protobuf:"bytes,2,opt,name=IP" json:"IP,omitempty"` + CreateTime int32 `protobuf:"varint,3,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserIPLimit) Reset() { *m = UserIPLimit{} } +func (m *UserIPLimit) String() string { return proto.CompactTextString(m) } +func (*UserIPLimit) ProtoMessage() {} +func (*UserIPLimit) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{38} +} +func (m *UserIPLimit) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserIPLimit.Unmarshal(m, b) +} +func (m *UserIPLimit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserIPLimit.Marshal(b, m, deterministic) +} +func (dst *UserIPLimit) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserIPLimit.Merge(dst, src) +} +func (m *UserIPLimit) XXX_Size() int { + return xxx_messageInfo_UserIPLimit.Size(m) +} +func (m *UserIPLimit) XXX_DiscardUnknown() { + xxx_messageInfo_UserIPLimit.DiscardUnknown(m) +} + +var xxx_messageInfo_UserIPLimit proto.InternalMessageInfo + +func (m *UserIPLimit) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *UserIPLimit) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +func (m *UserIPLimit) GetCreateTime() int32 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type QueryUserIDIPLimitLoginResp struct { + UserIPLimits []*UserIPLimit `protobuf:"bytes,1,rep,name=UserIPLimits" json:"UserIPLimits,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,2,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *QueryUserIDIPLimitLoginResp) Reset() { *m = QueryUserIDIPLimitLoginResp{} } +func (m *QueryUserIDIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*QueryUserIDIPLimitLoginResp) ProtoMessage() {} +func (*QueryUserIDIPLimitLoginResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{39} +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Unmarshal(m, b) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *QueryUserIDIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.Merge(dst, src) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_QueryUserIDIPLimitLoginResp.Size(m) +} +func (m *QueryUserIDIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_QueryUserIDIPLimitLoginResp.DiscardUnknown(m) +} + +var xxx_messageInfo_QueryUserIDIPLimitLoginResp proto.InternalMessageInfo + +func (m *QueryUserIDIPLimitLoginResp) GetUserIPLimits() []*UserIPLimit { + if m != nil { + return m.UserIPLimits + } + return nil +} + +func (m *QueryUserIDIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type AddUserIPLimitLoginReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserIPLimitLoginReq) Reset() { *m = AddUserIPLimitLoginReq{} } +func (m *AddUserIPLimitLoginReq) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginReq) ProtoMessage() {} +func (*AddUserIPLimitLoginReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{40} +} +func (m *AddUserIPLimitLoginReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginReq.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginReq.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginReq.Merge(dst, src) +} +func (m *AddUserIPLimitLoginReq) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginReq.Size(m) +} +func (m *AddUserIPLimitLoginReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserIPLimitLoginReq proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *AddUserIPLimitLoginReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddUserIPLimitLoginReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type AddUserIPLimitLoginResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddUserIPLimitLoginResp) Reset() { *m = AddUserIPLimitLoginResp{} } +func (m *AddUserIPLimitLoginResp) String() string { return proto.CompactTextString(m) } +func (*AddUserIPLimitLoginResp) ProtoMessage() {} +func (*AddUserIPLimitLoginResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{41} +} +func (m *AddUserIPLimitLoginResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddUserIPLimitLoginResp.Unmarshal(m, b) +} +func (m *AddUserIPLimitLoginResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddUserIPLimitLoginResp.Marshal(b, m, deterministic) +} +func (dst *AddUserIPLimitLoginResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddUserIPLimitLoginResp.Merge(dst, src) +} +func (m *AddUserIPLimitLoginResp) XXX_Size() int { + return xxx_messageInfo_AddUserIPLimitLoginResp.Size(m) +} +func (m *AddUserIPLimitLoginResp) XXX_DiscardUnknown() { + xxx_messageInfo_AddUserIPLimitLoginResp.DiscardUnknown(m) +} + +var xxx_messageInfo_AddUserIPLimitLoginResp proto.InternalMessageInfo + +func (m *AddUserIPLimitLoginResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type RemoveUserIPLimitReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + IP string `protobuf:"bytes,3,opt,name=IP" json:"IP,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveUserIPLimitReq) Reset() { *m = RemoveUserIPLimitReq{} } +func (m *RemoveUserIPLimitReq) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitReq) ProtoMessage() {} +func (*RemoveUserIPLimitReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{42} +} +func (m *RemoveUserIPLimitReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitReq.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitReq.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitReq.Merge(dst, src) +} +func (m *RemoveUserIPLimitReq) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitReq.Size(m) +} +func (m *RemoveUserIPLimitReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitReq.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveUserIPLimitReq proto.InternalMessageInfo + +func (m *RemoveUserIPLimitReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *RemoveUserIPLimitReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *RemoveUserIPLimitReq) GetIP() string { + if m != nil { + return m.IP + } + return "" +} + +type RemoveUserIPLimitResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveUserIPLimitResp) Reset() { *m = RemoveUserIPLimitResp{} } +func (m *RemoveUserIPLimitResp) String() string { return proto.CompactTextString(m) } +func (*RemoveUserIPLimitResp) ProtoMessage() {} +func (*RemoveUserIPLimitResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{43} +} +func (m *RemoveUserIPLimitResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveUserIPLimitResp.Unmarshal(m, b) +} +func (m *RemoveUserIPLimitResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveUserIPLimitResp.Marshal(b, m, deterministic) +} +func (dst *RemoveUserIPLimitResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveUserIPLimitResp.Merge(dst, src) +} +func (m *RemoveUserIPLimitResp) XXX_Size() int { + return xxx_messageInfo_RemoveUserIPLimitResp.Size(m) +} +func (m *RemoveUserIPLimitResp) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveUserIPLimitResp.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveUserIPLimitResp proto.InternalMessageInfo + +func (m *RemoveUserIPLimitResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetClientInitConfigReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetClientInitConfigReq) Reset() { *m = GetClientInitConfigReq{} } +func (m *GetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigReq) ProtoMessage() {} +func (*GetClientInitConfigReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{44} +} +func (m *GetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigReq.Unmarshal(m, b) +} +func (m *GetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigReq.Merge(dst, src) +} +func (m *GetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigReq.Size(m) +} +func (m *GetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetClientInitConfigReq proto.InternalMessageInfo + +func (m *GetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetClientInitConfigResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetClientInitConfigResp) Reset() { *m = GetClientInitConfigResp{} } +func (m *GetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*GetClientInitConfigResp) ProtoMessage() {} +func (*GetClientInitConfigResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{45} +} +func (m *GetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetClientInitConfigResp.Unmarshal(m, b) +} +func (m *GetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *GetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetClientInitConfigResp.Merge(dst, src) +} +func (m *GetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_GetClientInitConfigResp.Size(m) +} +func (m *GetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetClientInitConfigResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetClientInitConfigResp proto.InternalMessageInfo + +func (m *GetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type SetClientInitConfigReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + DiscoverPageURL string `protobuf:"bytes,2,opt,name=discoverPageURL" json:"discoverPageURL,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetClientInitConfigReq) Reset() { *m = SetClientInitConfigReq{} } +func (m *SetClientInitConfigReq) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigReq) ProtoMessage() {} +func (*SetClientInitConfigReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{46} +} +func (m *SetClientInitConfigReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigReq.Unmarshal(m, b) +} +func (m *SetClientInitConfigReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigReq.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigReq.Merge(dst, src) +} +func (m *SetClientInitConfigReq) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigReq.Size(m) +} +func (m *SetClientInitConfigReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetClientInitConfigReq proto.InternalMessageInfo + +func (m *SetClientInitConfigReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetClientInitConfigReq) GetDiscoverPageURL() string { + if m != nil { + return m.DiscoverPageURL + } + return "" +} + +type SetClientInitConfigResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetClientInitConfigResp) Reset() { *m = SetClientInitConfigResp{} } +func (m *SetClientInitConfigResp) String() string { return proto.CompactTextString(m) } +func (*SetClientInitConfigResp) ProtoMessage() {} +func (*SetClientInitConfigResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{47} +} +func (m *SetClientInitConfigResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetClientInitConfigResp.Unmarshal(m, b) +} +func (m *SetClientInitConfigResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetClientInitConfigResp.Marshal(b, m, deterministic) +} +func (dst *SetClientInitConfigResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetClientInitConfigResp.Merge(dst, src) +} +func (m *SetClientInitConfigResp) XXX_Size() int { + return xxx_messageInfo_SetClientInitConfigResp.Size(m) +} +func (m *SetClientInitConfigResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetClientInitConfigResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetClientInitConfigResp proto.InternalMessageInfo + +func (m *SetClientInitConfigResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + +type GetUserFriendsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + FriendUserID string `protobuf:"bytes,3,opt,name=friendUserID" json:"friendUserID,omitempty"` + FriendUserName string `protobuf:"bytes,4,opt,name=friendUserName" json:"friendUserName,omitempty"` + Pagination *sdk_ws.RequestPagination `protobuf:"bytes,5,opt,name=pagination" json:"pagination,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserFriendsReq) Reset() { *m = GetUserFriendsReq{} } +func (m *GetUserFriendsReq) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsReq) ProtoMessage() {} +func (*GetUserFriendsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{48} +} +func (m *GetUserFriendsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsReq.Unmarshal(m, b) +} +func (m *GetUserFriendsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsReq.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsReq.Merge(dst, src) +} +func (m *GetUserFriendsReq) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsReq.Size(m) +} +func (m *GetUserFriendsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserFriendsReq proto.InternalMessageInfo + +func (m *GetUserFriendsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetUserFriendsReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *GetUserFriendsReq) GetFriendUserID() string { + if m != nil { + return m.FriendUserID + } + return "" +} + +func (m *GetUserFriendsReq) GetFriendUserName() string { + if m != nil { + return m.FriendUserName + } + return "" +} + +func (m *GetUserFriendsReq) GetPagination() *sdk_ws.RequestPagination { + if m != nil { + return m.Pagination + } + return nil +} + +type GetUserFriendsResp struct { + Pagination *sdk_ws.ResponsePagination `protobuf:"bytes,1,opt,name=pagination" json:"pagination,omitempty"` + FriendInfoList []*sdk_ws.FriendInfo `protobuf:"bytes,2,rep,name=friendInfoList" json:"friendInfoList,omitempty"` + FriendNums int32 `protobuf:"varint,3,opt,name=friendNums" json:"friendNums,omitempty"` + CommonResp *CommonResp `protobuf:"bytes,4,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetUserFriendsResp) Reset() { *m = GetUserFriendsResp{} } +func (m *GetUserFriendsResp) String() string { return proto.CompactTextString(m) } +func (*GetUserFriendsResp) ProtoMessage() {} +func (*GetUserFriendsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_admin_cms_886b2bcb88d5841f, []int{49} +} +func (m *GetUserFriendsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserFriendsResp.Unmarshal(m, b) +} +func (m *GetUserFriendsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserFriendsResp.Marshal(b, m, deterministic) +} +func (dst *GetUserFriendsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserFriendsResp.Merge(dst, src) +} +func (m *GetUserFriendsResp) XXX_Size() int { + return xxx_messageInfo_GetUserFriendsResp.Size(m) +} +func (m *GetUserFriendsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserFriendsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserFriendsResp proto.InternalMessageInfo + +func (m *GetUserFriendsResp) GetPagination() *sdk_ws.ResponsePagination { + if m != nil { + return m.Pagination + } + return nil +} + +func (m *GetUserFriendsResp) GetFriendInfoList() []*sdk_ws.FriendInfo { + if m != nil { + return m.FriendInfoList + } + return nil +} + +func (m *GetUserFriendsResp) GetFriendNums() int32 { + if m != nil { + return m.FriendNums + } + return 0 +} + +func (m *GetUserFriendsResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + func init() { proto.RegisterType((*CommonResp)(nil), "admin_cms.CommonResp") proto.RegisterType((*AdminLoginReq)(nil), "admin_cms.AdminLoginReq") @@ -1559,6 +2751,30 @@ func init() { proto.RegisterType((*GetGroupStatisticsResp)(nil), "admin_cms.GetGroupStatisticsResp") proto.RegisterType((*GetUserStatisticsReq)(nil), "admin_cms.GetUserStatisticsReq") proto.RegisterType((*GetUserStatisticsResp)(nil), "admin_cms.GetUserStatisticsResp") + proto.RegisterType((*GenerateInvitationCodeReq)(nil), "admin_cms.GenerateInvitationCodeReq") + proto.RegisterType((*GenerateInvitationCodeResp)(nil), "admin_cms.GenerateInvitationCodeResp") + proto.RegisterType((*GetInvitationCodesReq)(nil), "admin_cms.GetInvitationCodesReq") + proto.RegisterType((*InvitationCode)(nil), "admin_cms.invitationCode") + proto.RegisterType((*GetInvitationCodesResp)(nil), "admin_cms.GetInvitationCodesResp") + proto.RegisterType((*QueryIPRegisterReq)(nil), "admin_cms.QueryIPRegisterReq") + proto.RegisterType((*QueryIPRegisterResp)(nil), "admin_cms.QueryIPRegisterResp") + proto.RegisterType((*AddIPLimitReq)(nil), "admin_cms.AddIPLimitReq") + proto.RegisterType((*AddIPLimitResp)(nil), "admin_cms.AddIPLimitResp") + proto.RegisterType((*RemoveIPLimitReq)(nil), "admin_cms.RemoveIPLimitReq") + proto.RegisterType((*RemoveIPLimitResp)(nil), "admin_cms.RemoveIPLimitResp") + proto.RegisterType((*QueryUserIDIPLimitLoginReq)(nil), "admin_cms.QueryUserIDIPLimitLoginReq") + proto.RegisterType((*UserIPLimit)(nil), "admin_cms.UserIPLimit") + proto.RegisterType((*QueryUserIDIPLimitLoginResp)(nil), "admin_cms.QueryUserIDIPLimitLoginResp") + proto.RegisterType((*AddUserIPLimitLoginReq)(nil), "admin_cms.AddUserIPLimitLoginReq") + proto.RegisterType((*AddUserIPLimitLoginResp)(nil), "admin_cms.AddUserIPLimitLoginResp") + proto.RegisterType((*RemoveUserIPLimitReq)(nil), "admin_cms.RemoveUserIPLimitReq") + proto.RegisterType((*RemoveUserIPLimitResp)(nil), "admin_cms.RemoveUserIPLimitResp") + proto.RegisterType((*GetClientInitConfigReq)(nil), "admin_cms.GetClientInitConfigReq") + proto.RegisterType((*GetClientInitConfigResp)(nil), "admin_cms.GetClientInitConfigResp") + proto.RegisterType((*SetClientInitConfigReq)(nil), "admin_cms.SetClientInitConfigReq") + proto.RegisterType((*SetClientInitConfigResp)(nil), "admin_cms.SetClientInitConfigResp") + proto.RegisterType((*GetUserFriendsReq)(nil), "admin_cms.GetUserFriendsReq") + proto.RegisterType((*GetUserFriendsResp)(nil), "admin_cms.GetUserFriendsResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -1582,6 +2798,17 @@ type AdminCMSClient interface { GetMessageStatistics(ctx context.Context, in *GetMessageStatisticsReq, opts ...grpc.CallOption) (*GetMessageStatisticsResp, error) GetGroupStatistics(ctx context.Context, in *GetGroupStatisticsReq, opts ...grpc.CallOption) (*GetGroupStatisticsResp, error) GetUserStatistics(ctx context.Context, in *GetUserStatisticsReq, opts ...grpc.CallOption) (*GetUserStatisticsResp, error) + GenerateInvitationCode(ctx context.Context, in *GenerateInvitationCodeReq, opts ...grpc.CallOption) (*GenerateInvitationCodeResp, error) + GetInvitationCodes(ctx context.Context, in *GetInvitationCodesReq, opts ...grpc.CallOption) (*GetInvitationCodesResp, error) + QueryIPRegister(ctx context.Context, in *QueryIPRegisterReq, opts ...grpc.CallOption) (*QueryIPRegisterResp, error) + AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts ...grpc.CallOption) (*AddIPLimitResp, error) + RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq, opts ...grpc.CallOption) (*RemoveIPLimitResp, error) + QueryUserIDIPLimitLogin(ctx context.Context, in *QueryUserIDIPLimitLoginReq, opts ...grpc.CallOption) (*QueryUserIDIPLimitLoginResp, error) + AddUserIPLimitLogin(ctx context.Context, in *AddUserIPLimitLoginReq, opts ...grpc.CallOption) (*AddUserIPLimitLoginResp, error) + RemoveUserIPLimit(ctx context.Context, in *RemoveUserIPLimitReq, opts ...grpc.CallOption) (*RemoveUserIPLimitResp, error) + GetClientInitConfig(ctx context.Context, in *GetClientInitConfigReq, opts ...grpc.CallOption) (*GetClientInitConfigResp, error) + SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) + GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) } type adminCMSClient struct { @@ -1682,6 +2909,105 @@ func (c *adminCMSClient) GetUserStatistics(ctx context.Context, in *GetUserStati return out, nil } +func (c *adminCMSClient) GenerateInvitationCode(ctx context.Context, in *GenerateInvitationCodeReq, opts ...grpc.CallOption) (*GenerateInvitationCodeResp, error) { + out := new(GenerateInvitationCodeResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GenerateInvitationCode", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetInvitationCodes(ctx context.Context, in *GetInvitationCodesReq, opts ...grpc.CallOption) (*GetInvitationCodesResp, error) { + out := new(GetInvitationCodesResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetInvitationCodes", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) QueryIPRegister(ctx context.Context, in *QueryIPRegisterReq, opts ...grpc.CallOption) (*QueryIPRegisterResp, error) { + out := new(QueryIPRegisterResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryIPRegister", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) AddIPLimit(ctx context.Context, in *AddIPLimitReq, opts ...grpc.CallOption) (*AddIPLimitResp, error) { + out := new(AddIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) RemoveIPLimit(ctx context.Context, in *RemoveIPLimitReq, opts ...grpc.CallOption) (*RemoveIPLimitResp, error) { + out := new(RemoveIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) QueryUserIDIPLimitLogin(ctx context.Context, in *QueryUserIDIPLimitLoginReq, opts ...grpc.CallOption) (*QueryUserIDIPLimitLoginResp, error) { + out := new(QueryUserIDIPLimitLoginResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) AddUserIPLimitLogin(ctx context.Context, in *AddUserIPLimitLoginReq, opts ...grpc.CallOption) (*AddUserIPLimitLoginResp, error) { + out := new(AddUserIPLimitLoginResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/AddUserIPLimitLogin", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) RemoveUserIPLimit(ctx context.Context, in *RemoveUserIPLimitReq, opts ...grpc.CallOption) (*RemoveUserIPLimitResp, error) { + out := new(RemoveUserIPLimitResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/RemoveUserIPLimit", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetClientInitConfig(ctx context.Context, in *GetClientInitConfigReq, opts ...grpc.CallOption) (*GetClientInitConfigResp, error) { + out := new(GetClientInitConfigResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetClientInitConfig", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) SetClientInitConfig(ctx context.Context, in *SetClientInitConfigReq, opts ...grpc.CallOption) (*SetClientInitConfigResp, error) { + out := new(SetClientInitConfigResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/SetClientInitConfig", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *adminCMSClient) GetUserFriends(ctx context.Context, in *GetUserFriendsReq, opts ...grpc.CallOption) (*GetUserFriendsResp, error) { + out := new(GetUserFriendsResp) + err := grpc.Invoke(ctx, "/admin_cms.adminCMS/GetUserFriends", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for AdminCMS service type AdminCMSServer interface { @@ -1695,6 +3021,17 @@ type AdminCMSServer interface { GetMessageStatistics(context.Context, *GetMessageStatisticsReq) (*GetMessageStatisticsResp, error) GetGroupStatistics(context.Context, *GetGroupStatisticsReq) (*GetGroupStatisticsResp, error) GetUserStatistics(context.Context, *GetUserStatisticsReq) (*GetUserStatisticsResp, error) + GenerateInvitationCode(context.Context, *GenerateInvitationCodeReq) (*GenerateInvitationCodeResp, error) + GetInvitationCodes(context.Context, *GetInvitationCodesReq) (*GetInvitationCodesResp, error) + QueryIPRegister(context.Context, *QueryIPRegisterReq) (*QueryIPRegisterResp, error) + AddIPLimit(context.Context, *AddIPLimitReq) (*AddIPLimitResp, error) + RemoveIPLimit(context.Context, *RemoveIPLimitReq) (*RemoveIPLimitResp, error) + QueryUserIDIPLimitLogin(context.Context, *QueryUserIDIPLimitLoginReq) (*QueryUserIDIPLimitLoginResp, error) + AddUserIPLimitLogin(context.Context, *AddUserIPLimitLoginReq) (*AddUserIPLimitLoginResp, error) + RemoveUserIPLimit(context.Context, *RemoveUserIPLimitReq) (*RemoveUserIPLimitResp, error) + GetClientInitConfig(context.Context, *GetClientInitConfigReq) (*GetClientInitConfigResp, error) + SetClientInitConfig(context.Context, *SetClientInitConfigReq) (*SetClientInitConfigResp, error) + GetUserFriends(context.Context, *GetUserFriendsReq) (*GetUserFriendsResp, error) } func RegisterAdminCMSServer(s *grpc.Server, srv AdminCMSServer) { @@ -1881,6 +3218,204 @@ func _AdminCMS_GetUserStatistics_Handler(srv interface{}, ctx context.Context, d return interceptor(ctx, in, info, handler) } +func _AdminCMS_GenerateInvitationCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GenerateInvitationCodeReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GenerateInvitationCode(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GenerateInvitationCode", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GenerateInvitationCode(ctx, req.(*GenerateInvitationCodeReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetInvitationCodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetInvitationCodesReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetInvitationCodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetInvitationCodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetInvitationCodes(ctx, req.(*GetInvitationCodesReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_QueryIPRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryIPRegisterReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).QueryIPRegister(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/QueryIPRegister", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).QueryIPRegister(ctx, req.(*QueryIPRegisterReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_AddIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).AddIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/AddIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).AddIPLimit(ctx, req.(*AddIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_RemoveIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).RemoveIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/RemoveIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).RemoveIPLimit(ctx, req.(*RemoveIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_QueryUserIDIPLimitLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryUserIDIPLimitLoginReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).QueryUserIDIPLimitLogin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/QueryUserIDIPLimitLogin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).QueryUserIDIPLimitLogin(ctx, req.(*QueryUserIDIPLimitLoginReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_AddUserIPLimitLogin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddUserIPLimitLoginReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).AddUserIPLimitLogin(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/AddUserIPLimitLogin", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).AddUserIPLimitLogin(ctx, req.(*AddUserIPLimitLoginReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_RemoveUserIPLimit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveUserIPLimitReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).RemoveUserIPLimit(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/RemoveUserIPLimit", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).RemoveUserIPLimit(ctx, req.(*RemoveUserIPLimitReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetClientInitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClientInitConfigReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetClientInitConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetClientInitConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetClientInitConfig(ctx, req.(*GetClientInitConfigReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_SetClientInitConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetClientInitConfigReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).SetClientInitConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/SetClientInitConfig", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).SetClientInitConfig(ctx, req.(*SetClientInitConfigReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _AdminCMS_GetUserFriends_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserFriendsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(AdminCMSServer).GetUserFriends(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/admin_cms.adminCMS/GetUserFriends", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(AdminCMSServer).GetUserFriends(ctx, req.(*GetUserFriendsReq)) + } + return interceptor(ctx, in, info, handler) +} + var _AdminCMS_serviceDesc = grpc.ServiceDesc{ ServiceName: "admin_cms.adminCMS", HandlerType: (*AdminCMSServer)(nil), @@ -1925,105 +3460,192 @@ var _AdminCMS_serviceDesc = grpc.ServiceDesc{ MethodName: "GetUserStatistics", Handler: _AdminCMS_GetUserStatistics_Handler, }, + { + MethodName: "GenerateInvitationCode", + Handler: _AdminCMS_GenerateInvitationCode_Handler, + }, + { + MethodName: "GetInvitationCodes", + Handler: _AdminCMS_GetInvitationCodes_Handler, + }, + { + MethodName: "QueryIPRegister", + Handler: _AdminCMS_QueryIPRegister_Handler, + }, + { + MethodName: "AddIPLimit", + Handler: _AdminCMS_AddIPLimit_Handler, + }, + { + MethodName: "RemoveIPLimit", + Handler: _AdminCMS_RemoveIPLimit_Handler, + }, + { + MethodName: "QueryUserIDIPLimitLogin", + Handler: _AdminCMS_QueryUserIDIPLimitLogin_Handler, + }, + { + MethodName: "AddUserIPLimitLogin", + Handler: _AdminCMS_AddUserIPLimitLogin_Handler, + }, + { + MethodName: "RemoveUserIPLimit", + Handler: _AdminCMS_RemoveUserIPLimit_Handler, + }, + { + MethodName: "GetClientInitConfig", + Handler: _AdminCMS_GetClientInitConfig_Handler, + }, + { + MethodName: "SetClientInitConfig", + Handler: _AdminCMS_SetClientInitConfig_Handler, + }, + { + MethodName: "GetUserFriends", + Handler: _AdminCMS_GetUserFriends_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "admin_cms/admin_cms.proto", } func init() { - proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_521fdb68576e364f) + proto.RegisterFile("admin_cms/admin_cms.proto", fileDescriptor_admin_cms_886b2bcb88d5841f) } -var fileDescriptor_admin_cms_521fdb68576e364f = []byte{ - // 1436 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xdd, 0x6e, 0x13, 0xc7, - 0x17, 0xd7, 0xda, 0x71, 0x1c, 0x1f, 0x93, 0x90, 0x1c, 0x12, 0x58, 0x0c, 0x7f, 0xfe, 0xce, 0x16, - 0xaa, 0xb4, 0xa2, 0x49, 0x15, 0xd4, 0xab, 0x4a, 0x54, 0x21, 0x86, 0xd4, 0x28, 0x86, 0x68, 0x81, - 0x4a, 0x6d, 0x55, 0xac, 0xad, 0x3d, 0xb8, 0xab, 0xe0, 0xdd, 0x61, 0x67, 0x1c, 0x40, 0x55, 0x6f, - 0xb9, 0xe9, 0x7d, 0x2f, 0x7a, 0xd9, 0x17, 0xe8, 0x45, 0x9f, 0xa0, 0x97, 0x7d, 0x8c, 0xaa, 0x2f, - 0x52, 0xcd, 0xcc, 0x7e, 0xcc, 0xec, 0x6e, 0x6c, 0x13, 0x54, 0xee, 0xe6, 0x9c, 0x39, 0x1f, 0x73, - 0x7e, 0xe7, 0x63, 0x66, 0x17, 0x2e, 0x7b, 0xc3, 0xb1, 0x1f, 0xf4, 0x07, 0x63, 0xb6, 0x93, 0xae, - 0xb6, 0x69, 0x14, 0xf2, 0x10, 0x1b, 0x29, 0xa3, 0xb5, 0xf9, 0x90, 0x92, 0xa0, 0xdf, 0xed, 0xed, - 0xd0, 0xe3, 0xd1, 0x8e, 0xdc, 0xdd, 0x61, 0xc3, 0xe3, 0xfe, 0x4b, 0xb6, 0xf3, 0x32, 0x96, 0x76, - 0x6e, 0x03, 0xec, 0x87, 0xe3, 0x71, 0x18, 0xb8, 0x84, 0x51, 0xb4, 0xa1, 0x4e, 0xa2, 0x68, 0x3f, - 0x1c, 0x12, 0xdb, 0x6a, 0x5b, 0x5b, 0x35, 0x37, 0x21, 0xf1, 0x22, 0x2c, 0x92, 0x28, 0xea, 0xb1, - 0x91, 0x5d, 0x69, 0x5b, 0x5b, 0x0d, 0x37, 0xa6, 0x9c, 0x01, 0x2c, 0xef, 0x09, 0x7f, 0x87, 0xe1, - 0xc8, 0x0f, 0x5c, 0xf2, 0x02, 0xdb, 0xd0, 0x7c, 0x48, 0x49, 0xe4, 0x71, 0x3f, 0x0c, 0xba, 0x1d, - 0x69, 0xa6, 0xe1, 0xea, 0x2c, 0xe1, 0x44, 0xaa, 0x74, 0x3b, 0xb1, 0xad, 0x84, 0x14, 0x4e, 0x1e, - 0x91, 0x41, 0x44, 0xb8, 0x5d, 0x55, 0x4e, 0x14, 0xe5, 0x7c, 0x07, 0x2b, 0xba, 0x13, 0x46, 0x71, - 0x1d, 0x6a, 0x3c, 0x3c, 0x26, 0x41, 0x6c, 0x5f, 0x11, 0xf8, 0x19, 0xc0, 0x20, 0x0d, 0x46, 0x1a, - 0x6f, 0xee, 0x6e, 0x6c, 0x67, 0x00, 0x65, 0x91, 0xba, 0x9a, 0xa0, 0x43, 0x60, 0x73, 0x6f, 0x38, - 0x7c, 0xc2, 0x48, 0xe4, 0x92, 0x91, 0xcf, 0x38, 0x89, 0xf6, 0x86, 0xc3, 0x7b, 0x91, 0x4f, 0x82, - 0x61, 0xb7, 0x73, 0xe8, 0x33, 0x1e, 0xc7, 0x15, 0x16, 0xe3, 0xd2, 0x58, 0x78, 0x0d, 0x60, 0xc2, - 0x48, 0xa4, 0x54, 0xec, 0x4a, 0xbb, 0xba, 0xd5, 0x70, 0x35, 0x8e, 0xf3, 0x2d, 0x38, 0xb3, 0xdc, - 0x30, 0x9a, 0x8b, 0xc1, 0x9a, 0x37, 0x86, 0x37, 0x16, 0x5c, 0x77, 0xc9, 0x70, 0x32, 0x20, 0xef, - 0x1c, 0xc7, 0x55, 0x68, 0xa4, 0xa4, 0x04, 0xb1, 0xe6, 0x66, 0x8c, 0x5c, 0x94, 0xd5, 0x42, 0x94, - 0x4f, 0xe1, 0xc6, 0x1c, 0xe7, 0x38, 0x7b, 0xa0, 0x3f, 0x5b, 0xb0, 0x79, 0x40, 0xf8, 0x3b, 0x47, - 0xd9, 0x01, 0xa0, 0xde, 0xc8, 0x0f, 0xb2, 0x30, 0x9b, 0xbb, 0xd7, 0xb7, 0x19, 0x89, 0x4e, 0x48, - 0xd4, 0xf7, 0xa8, 0xdf, 0xa7, 0x5e, 0xe4, 0x8d, 0xd9, 0xb6, 0x4b, 0x5e, 0x4c, 0x08, 0xe3, 0x47, - 0xa9, 0xac, 0xab, 0xe9, 0x39, 0xff, 0x58, 0xe0, 0xcc, 0x3a, 0x0d, 0xa3, 0xf8, 0x05, 0x9c, 0x93, - 0x10, 0x05, 0xcf, 0x42, 0x09, 0x9b, 0xd5, 0xae, 0x6e, 0x35, 0x77, 0xaf, 0x94, 0xb8, 0x7b, 0x12, - 0x8b, 0xb9, 0x86, 0x02, 0xde, 0x2d, 0x39, 0xed, 0x8d, 0xd2, 0xd3, 0x32, 0x1a, 0x06, 0x8c, 0x94, - 0x1f, 0x37, 0x87, 0x79, 0x75, 0x5e, 0xcc, 0x7f, 0xab, 0xc0, 0xca, 0x01, 0xe1, 0xfb, 0x3f, 0x78, - 0xfc, 0x30, 0x1c, 0x31, 0x01, 0xb0, 0x0d, 0xf5, 0xfd, 0x30, 0xe0, 0x24, 0xe0, 0x31, 0xb8, 0x09, - 0xa9, 0x9a, 0x58, 0x44, 0x9f, 0x4c, 0x0a, 0x45, 0x09, 0xbe, 0x4b, 0x06, 0x27, 0xdd, 0x4e, 0xd2, - 0xdc, 0x8a, 0xc2, 0x16, 0x2c, 0x09, 0x89, 0xc7, 0xfe, 0x98, 0xd8, 0x0b, 0x72, 0x27, 0xa5, 0x45, - 0x1a, 0x1f, 0x11, 0xc6, 0xfc, 0x30, 0x78, 0xfc, 0x9a, 0x12, 0xbb, 0x26, 0x8b, 0x51, 0x67, 0x09, - 0x89, 0xd8, 0xb1, 0x94, 0x58, 0x54, 0x12, 0x1a, 0x4b, 0x24, 0x3a, 0x43, 0xc3, 0xae, 0xbf, 0x4d, - 0xa2, 0xb3, 0x75, 0x7e, 0xac, 0x2d, 0x15, 0xc6, 0x9a, 0xf3, 0xfb, 0x02, 0xd4, 0x63, 0x84, 0xd4, - 0xb9, 0x85, 0x83, 0x1e, 0x1b, 0x65, 0xe5, 0xa7, 0xb1, 0xe4, 0xb9, 0x9f, 0xfb, 0x24, 0xe0, 0x4a, - 0x42, 0x41, 0xa5, 0xb3, 0x34, 0x1c, 0xab, 0xa7, 0xe0, 0xb8, 0x60, 0xe0, 0x68, 0x43, 0x7d, 0x14, - 0x85, 0x13, 0xda, 0xed, 0x48, 0x9c, 0x1a, 0x6e, 0x42, 0xa2, 0x03, 0xe7, 0x22, 0x32, 0x38, 0x79, - 0xe0, 0x0f, 0x8e, 0x03, 0x6f, 0xac, 0x40, 0x6a, 0xb8, 0x06, 0x0f, 0x3f, 0x86, 0x55, 0x61, 0x9f, - 0x44, 0x47, 0xcf, 0x3d, 0xfe, 0x2c, 0x8c, 0xc6, 0xdd, 0x8e, 0xc4, 0xaa, 0xe6, 0x16, 0xf8, 0xf8, - 0x21, 0xac, 0x28, 0x5e, 0x6a, 0x51, 0xc1, 0x91, 0xe3, 0xe2, 0x75, 0x58, 0x56, 0x9c, 0x7b, 0xde, - 0x80, 0x3c, 0x71, 0x0f, 0xed, 0x86, 0x14, 0x33, 0x99, 0x62, 0xdc, 0x1c, 0x88, 0x83, 0x3e, 0x10, - 0x86, 0x40, 0x4a, 0x64, 0x8c, 0x7c, 0x05, 0x34, 0x8b, 0x15, 0x60, 0x43, 0xbd, 0xc7, 0x46, 0xf7, - 0xa2, 0x70, 0x6c, 0x9f, 0x53, 0x77, 0x56, 0x4c, 0xe6, 0x6b, 0x63, 0xb9, 0x58, 0x1b, 0x5a, 0x15, - 0xaf, 0x14, 0xab, 0x98, 0x7b, 0x7c, 0xc2, 0xec, 0xf3, 0x52, 0x2d, 0xa6, 0x8c, 0x6a, 0x5d, 0x6d, - 0x5b, 0x5b, 0x55, 0xad, 0x5a, 0xaf, 0x01, 0xec, 0x47, 0xc4, 0xe3, 0x44, 0xee, 0xae, 0xc9, 0x5d, - 0x8d, 0x83, 0x2b, 0x50, 0xb9, 0xfb, 0xca, 0x46, 0xe9, 0xa8, 0x72, 0xf7, 0x95, 0xf3, 0xb7, 0x05, - 0xe7, 0x8d, 0xb6, 0x62, 0x14, 0xb7, 0x61, 0x29, 0xa1, 0xe3, 0x29, 0x81, 0x7a, 0x7f, 0xaa, 0x2d, - 0x37, 0x95, 0x11, 0x83, 0xe1, 0xe8, 0xac, 0x83, 0xc1, 0x2c, 0xef, 0xc4, 0xe4, 0x83, 0xc9, 0x58, - 0x56, 0x9c, 0x80, 0x2a, 0x63, 0x89, 0xd1, 0x91, 0x4d, 0x07, 0x59, 0x7a, 0xa7, 0x8f, 0x8e, 0x6c, - 0xed, 0xdc, 0x82, 0x65, 0x81, 0x9c, 0xcf, 0xb8, 0x3f, 0x90, 0x83, 0x03, 0x61, 0xe1, 0x99, 0xc8, - 0x95, 0xea, 0x09, 0xb9, 0x16, 0xc0, 0xf0, 0x30, 0xee, 0x81, 0x0a, 0x0f, 0x1d, 0x0e, 0xab, 0x07, - 0x84, 0xef, 0x0d, 0xb8, 0x7f, 0x12, 0x5f, 0x23, 0x2f, 0xf0, 0x76, 0xce, 0x50, 0x7c, 0x63, 0xd8, - 0xda, 0x11, 0x8c, 0x7d, 0x37, 0xe7, 0x37, 0xd7, 0xc0, 0x95, 0x62, 0x03, 0x3f, 0x85, 0x25, 0xe5, - 0x8c, 0x51, 0x91, 0x66, 0x51, 0xc6, 0xb2, 0x26, 0xd5, 0x49, 0x53, 0x5a, 0x94, 0x86, 0x9c, 0xd2, - 0xc3, 0x64, 0xc0, 0x29, 0x4a, 0xa4, 0xbf, 0x47, 0x18, 0xf3, 0x46, 0x24, 0x83, 0x50, 0xe3, 0x38, - 0x13, 0x58, 0xcb, 0x45, 0xc5, 0x28, 0x7e, 0x04, 0x35, 0xb1, 0x4e, 0x92, 0x7d, 0x41, 0x0b, 0x27, - 0x91, 0x71, 0x95, 0x44, 0x2e, 0x03, 0x95, 0x79, 0x33, 0xa0, 0xbb, 0x95, 0x7d, 0xf5, 0x7e, 0xd0, - 0xfc, 0xd5, 0x8a, 0xfb, 0x5a, 0x86, 0x69, 0x34, 0xb9, 0x95, 0x6f, 0x72, 0x1b, 0xea, 0x92, 0x48, - 0x21, 0x4d, 0xc8, 0x59, 0x98, 0x9e, 0xb5, 0x2a, 0x5f, 0x03, 0xe6, 0x31, 0x61, 0x14, 0x6f, 0xc2, - 0xa2, 0x24, 0x92, 0x64, 0xac, 0x6b, 0x86, 0x52, 0x29, 0x37, 0x96, 0x39, 0x6b, 0x3a, 0x6e, 0x41, - 0xb3, 0xe3, 0x71, 0x71, 0x78, 0x79, 0xb1, 0x23, 0x2c, 0x08, 0x32, 0x69, 0x07, 0xb1, 0xc6, 0x55, - 0xa8, 0x8a, 0x68, 0xd5, 0xd3, 0x4b, 0x2c, 0x9d, 0x1f, 0xe1, 0xd2, 0x01, 0xe1, 0x71, 0xdc, 0x66, - 0x26, 0xfe, 0xfb, 0x4c, 0xfe, 0x59, 0x01, 0xbb, 0xdc, 0xbb, 0xc4, 0x6c, 0xed, 0x28, 0xf2, 0x4f, - 0x3c, 0x4e, 0xb4, 0x3c, 0xa9, 0x6f, 0x87, 0xe2, 0x06, 0x6e, 0xc1, 0x79, 0x89, 0x9e, 0x26, 0xab, - 0xa2, 0xcc, 0xb3, 0xf1, 0x10, 0x36, 0x0a, 0xea, 0xe9, 0x8b, 0xb3, 0xb9, 0x7b, 0x51, 0x0b, 0x4f, - 0x83, 0xd3, 0x2d, 0x57, 0xc2, 0x2f, 0xe1, 0x42, 0xce, 0x81, 0xb4, 0xb5, 0x30, 0xd5, 0x56, 0x99, - 0x4a, 0x2e, 0xeb, 0xb5, 0xf9, 0x0b, 0x6e, 0xe3, 0x80, 0x70, 0x69, 0xf0, 0x7d, 0xa7, 0xef, 0x8f, - 0x0a, 0x5c, 0x2c, 0xf3, 0xcd, 0xa8, 0xb8, 0xf4, 0xbb, 0xc1, 0x20, 0x22, 0x1e, 0x53, 0x5d, 0x90, - 0xe5, 0xae, 0xc0, 0x17, 0x97, 0xf9, 0xe3, 0x90, 0x7b, 0xcf, 0x53, 0x41, 0x95, 0x38, 0x93, 0x89, - 0xf7, 0x61, 0x3d, 0xaf, 0x39, 0x47, 0xd6, 0x4a, 0x75, 0xb0, 0x03, 0x6b, 0x86, 0xf1, 0x39, 0x52, - 0x56, 0x54, 0x38, 0x6b, 0xc2, 0x5e, 0xc1, 0x7a, 0xfc, 0xae, 0x7f, 0xdf, 0xf9, 0xfa, 0xa5, 0x2a, - 0x6b, 0x25, 0xef, 0x9a, 0x51, 0xd1, 0x3d, 0x09, 0x50, 0x62, 0x37, 0xcb, 0x56, 0x9e, 0x2d, 0x92, - 0x95, 0xdd, 0x33, 0x5a, 0xb2, 0x0c, 0xa6, 0x78, 0x17, 0x4a, 0xbc, 0x12, 0x21, 0x35, 0x5e, 0x0d, - 0x9e, 0xe8, 0x9c, 0x9c, 0xf1, 0x79, 0x3a, 0xa7, 0x44, 0x45, 0xa4, 0xd3, 0x70, 0x2f, 0xed, 0xd4, - 0xa6, 0xa7, 0xb3, 0xa0, 0x80, 0x77, 0x60, 0x55, 0x3f, 0x9f, 0x34, 0xb2, 0x38, 0xd5, 0x48, 0x41, - 0x3e, 0x57, 0x12, 0xf5, 0x39, 0x4b, 0x62, 0xf7, 0xaf, 0x3a, 0x2c, 0x49, 0xa1, 0xfd, 0xde, 0x23, - 0xdc, 0x03, 0xc8, 0x7e, 0x49, 0xa0, 0x9e, 0x7e, 0xe3, 0x77, 0x48, 0xeb, 0xf2, 0x29, 0x3b, 0x8c, - 0xe2, 0x4f, 0x70, 0x6d, 0xfa, 0xff, 0x00, 0xbc, 0x69, 0x28, 0xcf, 0xf8, 0x43, 0xd1, 0xfa, 0xe4, - 0x2d, 0xa4, 0x19, 0xc5, 0x37, 0x16, 0x6c, 0xce, 0xfc, 0x52, 0xc7, 0x1d, 0xcd, 0xe8, 0x3c, 0xff, - 0x17, 0x5a, 0x9f, 0xbe, 0x9d, 0x82, 0xc2, 0x61, 0xfa, 0x27, 0xb4, 0x81, 0xc3, 0xcc, 0x6f, 0x7f, - 0x03, 0x87, 0x39, 0xbe, 0xcd, 0x3b, 0xd0, 0xd4, 0x1e, 0xe1, 0x78, 0xd9, 0xd4, 0xd6, 0xbe, 0x79, - 0x5b, 0xad, 0xd3, 0xb6, 0x18, 0xc5, 0xfb, 0xb0, 0x6c, 0x3c, 0xee, 0xf0, 0x8a, 0x29, 0x6c, 0x3c, - 0x66, 0x5b, 0x57, 0x4f, 0xdf, 0x64, 0x14, 0x7b, 0xf2, 0x6b, 0x5b, 0x7b, 0x9d, 0x60, 0xa9, 0x7c, - 0xf2, 0x98, 0x6b, 0xfd, 0x6f, 0xca, 0x2e, 0xa3, 0xd8, 0x97, 0xa3, 0xac, 0x70, 0x7d, 0xa3, 0x63, - 0xaa, 0x95, 0xbd, 0x2e, 0x5a, 0x1f, 0xcc, 0x94, 0x61, 0x14, 0xbf, 0x96, 0xaf, 0xa9, 0xdc, 0x05, - 0x83, 0x6d, 0x53, 0xb5, 0x78, 0xf7, 0xb5, 0x36, 0x67, 0x48, 0x30, 0x8a, 0x5f, 0xc9, 0xc7, 0xab, - 0x39, 0x0b, 0xf1, 0xff, 0xc5, 0x04, 0x9b, 0x86, 0xdb, 0xd3, 0x05, 0x18, 0xbd, 0x73, 0xe9, 0x9b, - 0x8d, 0xed, 0xec, 0xcf, 0xe9, 0xe7, 0xe9, 0xea, 0xfb, 0x45, 0xf9, 0x5b, 0xf4, 0xd6, 0xbf, 0x01, - 0x00, 0x00, 0xff, 0xff, 0x9c, 0x40, 0xb4, 0xf6, 0x61, 0x15, 0x00, 0x00, +var fileDescriptor_admin_cms_886b2bcb88d5841f = []byte{ + // 2119 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x1a, 0x4d, 0x6f, 0x23, 0x49, + 0x55, 0xed, 0x8f, 0x24, 0x7e, 0x9e, 0x7c, 0x55, 0x3e, 0xc6, 0xe9, 0xd9, 0x1d, 0x92, 0x66, 0x66, + 0x15, 0xd0, 0x92, 0xa0, 0x8c, 0xb8, 0x2c, 0xd2, 0xa0, 0x6c, 0xbc, 0x31, 0x1e, 0x25, 0x59, 0xd3, + 0x9e, 0x59, 0x09, 0x58, 0x36, 0xf4, 0xda, 0x15, 0x6f, 0x2b, 0x71, 0x77, 0x4d, 0x57, 0x3b, 0x3b, + 0x23, 0xc4, 0x75, 0x2e, 0x5c, 0x38, 0x81, 0xc4, 0x11, 0x71, 0xe3, 0xc0, 0x01, 0x89, 0x3b, 0xbf, + 0x83, 0x03, 0x42, 0xfc, 0x0a, 0x6e, 0xa8, 0xaa, 0xfa, 0xa3, 0xaa, 0xba, 0x6d, 0xf7, 0x74, 0x46, + 0x73, 0x73, 0xbd, 0x7a, 0xf5, 0xbe, 0xdf, 0xab, 0x57, 0xaf, 0x0d, 0x3b, 0xce, 0x70, 0xec, 0x7a, + 0x97, 0x83, 0x31, 0x3d, 0x4c, 0x7e, 0x1d, 0x90, 0xc0, 0x0f, 0x7d, 0xd4, 0x48, 0x00, 0xe6, 0xde, + 0xe7, 0x04, 0x7b, 0x97, 0xdd, 0xf3, 0x43, 0x72, 0x3d, 0x3a, 0xe4, 0xbb, 0x87, 0x74, 0x78, 0x7d, + 0xf9, 0x2d, 0x3d, 0xfc, 0x36, 0xc2, 0xb6, 0x9e, 0x02, 0x9c, 0xf8, 0xe3, 0xb1, 0xef, 0xd9, 0x98, + 0x12, 0xd4, 0x82, 0x45, 0x1c, 0x04, 0x27, 0xfe, 0x10, 0xb7, 0x8c, 0x5d, 0x63, 0xbf, 0x6e, 0xc7, + 0x4b, 0xb4, 0x0d, 0x0b, 0x38, 0x08, 0xce, 0xe9, 0xa8, 0x55, 0xd9, 0x35, 0xf6, 0x1b, 0x76, 0xb4, + 0xb2, 0x06, 0xb0, 0x7c, 0xcc, 0xf8, 0x9d, 0xf9, 0x23, 0xd7, 0xb3, 0xf1, 0x4b, 0xb4, 0x0b, 0x4d, + 0x9f, 0xe0, 0xc0, 0x09, 0x5d, 0xdf, 0xeb, 0xb6, 0x39, 0x99, 0x86, 0x2d, 0x83, 0x18, 0x13, 0x2e, + 0x62, 0xb7, 0x1d, 0xd1, 0x8a, 0x97, 0x8c, 0x09, 0xc5, 0x83, 0x00, 0x87, 0xad, 0xaa, 0x60, 0x22, + 0x56, 0xd6, 0xaf, 0x60, 0x45, 0x66, 0x42, 0x09, 0xda, 0x84, 0x7a, 0xe8, 0x5f, 0x63, 0x2f, 0xa2, + 0x2f, 0x16, 0xe8, 0x47, 0x00, 0x83, 0x44, 0x19, 0x4e, 0xbc, 0x79, 0xb4, 0x75, 0x90, 0x1a, 0x28, + 0xd5, 0xd4, 0x96, 0x10, 0x2d, 0x0c, 0x7b, 0xc7, 0xc3, 0xe1, 0x0b, 0x8a, 0x03, 0x1b, 0x8f, 0x5c, + 0x1a, 0xe2, 0xe0, 0x78, 0x38, 0x3c, 0x0d, 0x5c, 0xec, 0x0d, 0xbb, 0xed, 0x33, 0x97, 0x86, 0xc5, + 0xf4, 0x7a, 0x08, 0x30, 0xa1, 0x38, 0x10, 0x47, 0x5a, 0x95, 0xdd, 0xea, 0x7e, 0xc3, 0x96, 0x20, + 0xd6, 0x2f, 0xc1, 0x9a, 0xc7, 0x86, 0x12, 0x4d, 0x07, 0xa3, 0xa8, 0x0e, 0x6f, 0x0c, 0x78, 0x64, + 0xe3, 0xe1, 0x64, 0x80, 0xef, 0xac, 0xc7, 0x07, 0xd0, 0x48, 0x96, 0xdc, 0x88, 0x75, 0x3b, 0x05, + 0x68, 0x5a, 0x56, 0x33, 0x5a, 0x7e, 0x05, 0x8f, 0x0b, 0xc8, 0x51, 0x5e, 0xd1, 0xdf, 0x19, 0xb0, + 0xd7, 0xc1, 0xe1, 0x9d, 0xb5, 0x6c, 0x03, 0x10, 0x67, 0xe4, 0x7a, 0xa9, 0x9a, 0xcd, 0xa3, 0x47, + 0x07, 0x14, 0x07, 0xb7, 0x38, 0xb8, 0x74, 0x88, 0x7b, 0x49, 0x9c, 0xc0, 0x19, 0xd3, 0x03, 0x1b, + 0xbf, 0x9c, 0x60, 0x1a, 0xf6, 0x12, 0x5c, 0x5b, 0x3a, 0x67, 0xfd, 0xd7, 0x00, 0x6b, 0x9e, 0x34, + 0x94, 0xa0, 0x9f, 0xc0, 0x3d, 0x6e, 0x22, 0xef, 0xca, 0xe7, 0x66, 0x33, 0x76, 0xab, 0xfb, 0xcd, + 0xa3, 0x07, 0x39, 0xec, 0x5e, 0x44, 0x68, 0xb6, 0x72, 0x00, 0x7d, 0x96, 0x23, 0xed, 0xe3, 0x5c, + 0x69, 0x29, 0xf1, 0x3d, 0x8a, 0xf3, 0xc5, 0xd5, 0x6c, 0x5e, 0x2d, 0x6a, 0xf3, 0x3f, 0x57, 0x60, + 0xa5, 0x83, 0xc3, 0x93, 0x6f, 0x9c, 0xf0, 0xcc, 0x1f, 0x51, 0x66, 0xe0, 0x16, 0x2c, 0x0e, 0x7c, + 0x2f, 0xc4, 0x5e, 0x18, 0x19, 0x37, 0x5e, 0x8a, 0x24, 0x66, 0xda, 0xc7, 0x95, 0x42, 0xac, 0x18, + 0x3c, 0xc0, 0x83, 0xdb, 0x6e, 0x3b, 0x4e, 0x6e, 0xb1, 0x42, 0x26, 0x2c, 0x31, 0x8c, 0xe7, 0xee, + 0x18, 0xb7, 0x6a, 0x7c, 0x27, 0x59, 0x33, 0x37, 0x52, 0x4c, 0xa9, 0xeb, 0x7b, 0xcf, 0x5f, 0x13, + 0xdc, 0xaa, 0xf3, 0x60, 0x94, 0x41, 0x0c, 0x23, 0x62, 0xcc, 0x31, 0x16, 0x04, 0x86, 0x04, 0xd2, + 0x1c, 0xbd, 0x58, 0xce, 0xd1, 0x7a, 0x40, 0x2d, 0x65, 0x02, 0xca, 0xfa, 0x5b, 0x0d, 0x16, 0x23, + 0x0b, 0x09, 0xb9, 0x19, 0x83, 0x73, 0x3a, 0x4a, 0xc3, 0x4f, 0x02, 0x71, 0xb9, 0x6f, 0x5c, 0xec, + 0x85, 0x02, 0x43, 0x98, 0x4a, 0x06, 0x49, 0x76, 0xac, 0x4e, 0xb1, 0x63, 0x4d, 0xb1, 0x63, 0x0b, + 0x16, 0x47, 0x81, 0x3f, 0x21, 0xdd, 0x36, 0xb7, 0x53, 0xc3, 0x8e, 0x97, 0xc8, 0x82, 0x7b, 0x0c, + 0xe7, 0xc2, 0x1d, 0x5c, 0x7b, 0xce, 0x58, 0x18, 0xa9, 0x61, 0x2b, 0x30, 0xf4, 0x7d, 0x58, 0x63, + 0xf4, 0x71, 0xd0, 0xbb, 0x71, 0xc2, 0x2b, 0x3f, 0x18, 0x77, 0xdb, 0xdc, 0x56, 0x75, 0x3b, 0x03, + 0x47, 0x1f, 0xc1, 0x8a, 0x80, 0x25, 0x14, 0x85, 0x39, 0x34, 0x28, 0x7a, 0x04, 0xcb, 0x02, 0x72, + 0xea, 0x0c, 0xf0, 0x0b, 0xfb, 0xac, 0xd5, 0xe0, 0x68, 0x2a, 0x90, 0x95, 0x1b, 0x2e, 0xe8, 0x05, + 0x23, 0x04, 0x1c, 0x23, 0x05, 0xe8, 0x11, 0xd0, 0xcc, 0x46, 0x40, 0x0b, 0x16, 0xc7, 0x74, 0x74, + 0x1a, 0xf8, 0xe3, 0xd6, 0x3d, 0x71, 0x67, 0x45, 0x4b, 0x3d, 0x36, 0x96, 0xb3, 0xb1, 0x21, 0x45, + 0xf1, 0x4a, 0x36, 0x8a, 0x43, 0x27, 0x9c, 0xd0, 0xd6, 0x2a, 0x3f, 0x16, 0xad, 0x94, 0x68, 0x5d, + 0xdb, 0x35, 0xf6, 0xab, 0x52, 0xb4, 0x3e, 0x04, 0x18, 0x04, 0xd8, 0x09, 0x31, 0xdf, 0x5d, 0xe7, + 0xbb, 0x12, 0x04, 0xad, 0x40, 0x05, 0xbf, 0x6a, 0x21, 0xce, 0xa8, 0x82, 0x5f, 0x59, 0xff, 0x31, + 0x60, 0x55, 0x49, 0x2b, 0x4a, 0xd0, 0x01, 0x2c, 0x0d, 0xa2, 0x75, 0x54, 0x25, 0x90, 0x9c, 0x9f, + 0x62, 0xcb, 0x4e, 0x70, 0xde, 0x55, 0x61, 0x60, 0xa6, 0x8a, 0x48, 0x5e, 0x4c, 0xc6, 0x3c, 0xe2, + 0x98, 0xa9, 0x52, 0x90, 0x56, 0x3a, 0x6a, 0x45, 0x4b, 0xc7, 0x13, 0x58, 0xee, 0x87, 0x4e, 0xe8, + 0xd2, 0xd0, 0x1d, 0xf0, 0xc2, 0x81, 0xa0, 0x76, 0xc5, 0x7c, 0x25, 0x72, 0x82, 0xff, 0x66, 0x86, + 0x09, 0xfd, 0x28, 0x07, 0x2a, 0xa1, 0x6f, 0x85, 0xb0, 0xd6, 0xc1, 0xe1, 0xf1, 0x20, 0x74, 0x6f, + 0xa3, 0x6b, 0xe4, 0x25, 0x7a, 0x0a, 0xcb, 0x54, 0x26, 0x14, 0xdd, 0x18, 0x2d, 0x49, 0x04, 0x85, + 0x91, 0xad, 0xa2, 0xeb, 0x09, 0x5c, 0xc9, 0x26, 0xf0, 0x57, 0xb0, 0x24, 0x98, 0x51, 0xc2, 0xdc, + 0xec, 0xb9, 0x83, 0x6b, 0x1e, 0x93, 0x42, 0xd2, 0x64, 0xcd, 0x42, 0x43, 0xdc, 0x77, 0x71, 0x81, + 0x13, 0x2b, 0xe6, 0xfe, 0x31, 0xa6, 0xd4, 0x19, 0xe1, 0xd4, 0x84, 0x12, 0xc4, 0x9a, 0xc0, 0xba, + 0xa6, 0x15, 0x25, 0xe8, 0x7b, 0x50, 0x67, 0xbf, 0x63, 0x67, 0x6f, 0x48, 0xea, 0xc4, 0x38, 0xb6, + 0xc0, 0x28, 0xdb, 0xdd, 0xc8, 0x6c, 0x3b, 0x2c, 0xaf, 0xde, 0x8f, 0x35, 0xff, 0x64, 0x40, 0x23, + 0x62, 0x47, 0x09, 0x4b, 0xf2, 0x4e, 0x92, 0xe4, 0xc2, 0xa0, 0x29, 0x80, 0xa5, 0x21, 0x5f, 0x74, + 0x87, 0x71, 0x47, 0x18, 0x2d, 0x99, 0x4d, 0xcf, 0x33, 0x36, 0x4d, 0x21, 0x65, 0xa3, 0xf2, 0x35, + 0x20, 0xdd, 0x26, 0x94, 0xa0, 0x8f, 0x61, 0x81, 0x2f, 0x62, 0x67, 0x6c, 0x4a, 0x84, 0x12, 0x2c, + 0x3b, 0xc2, 0x29, 0xeb, 0x8e, 0x27, 0xd0, 0x6c, 0x3b, 0x21, 0x13, 0x9e, 0x5f, 0xec, 0x08, 0x6a, + 0x6c, 0x19, 0xa7, 0x03, 0xfb, 0x8d, 0xd6, 0xa0, 0xca, 0xb4, 0x15, 0xad, 0x17, 0xfb, 0x69, 0xfd, + 0x06, 0xee, 0x77, 0x70, 0x18, 0xe9, 0xad, 0xe6, 0xd3, 0x53, 0x2d, 0xc1, 0xe6, 0x7b, 0xb2, 0xaf, + 0x7b, 0xf2, 0xf3, 0xac, 0x27, 0x25, 0x90, 0xf5, 0xcf, 0x0a, 0xb4, 0xf2, 0xb9, 0x73, 0x9b, 0xad, + 0xf7, 0x02, 0xf7, 0xd6, 0x09, 0xb1, 0xe4, 0x27, 0xf1, 0x76, 0xc8, 0x6e, 0xa0, 0x7d, 0x58, 0xe5, + 0xd6, 0x93, 0x70, 0x85, 0x96, 0x3a, 0x18, 0x9d, 0xc1, 0x56, 0xe6, 0x78, 0xd2, 0x71, 0x36, 0x8f, + 0xb6, 0x25, 0xf5, 0x24, 0x73, 0xda, 0xf9, 0x87, 0xd0, 0x4f, 0x61, 0x43, 0x63, 0xc0, 0x69, 0xd5, + 0x66, 0xd2, 0xca, 0x3b, 0xa2, 0x79, 0xbd, 0x5e, 0x3c, 0xe0, 0xb6, 0x3a, 0x38, 0xe4, 0x04, 0xdf, + 0xb7, 0xfb, 0xfe, 0x5e, 0x81, 0xed, 0x3c, 0xde, 0x94, 0xb0, 0x4b, 0xbf, 0xeb, 0xb1, 0x0b, 0x8a, + 0x8a, 0x2c, 0x48, 0x7d, 0x97, 0x81, 0xb3, 0xcb, 0xfc, 0xb9, 0x1f, 0x3a, 0x37, 0x09, 0xa2, 0x70, + 0x9c, 0x0a, 0x44, 0xcf, 0x60, 0x53, 0x3f, 0x59, 0xc0, 0x6b, 0xb9, 0x67, 0x50, 0x1b, 0xd6, 0x15, + 0xe2, 0x05, 0x5c, 0x96, 0x3d, 0x50, 0xd6, 0x61, 0xaf, 0x60, 0x33, 0xea, 0xeb, 0xdf, 0xb7, 0xbf, + 0xfe, 0x50, 0xe5, 0xb1, 0xa2, 0xb3, 0xa6, 0x84, 0x65, 0x4f, 0x6c, 0x28, 0xb6, 0x9b, 0x7a, 0x4b, + 0x07, 0x33, 0x67, 0xa5, 0xf7, 0x8c, 0xe4, 0x2c, 0x05, 0xc8, 0xfa, 0x42, 0x6e, 0xaf, 0x18, 0x49, + 0x94, 0x57, 0x05, 0xc6, 0x32, 0x47, 0x23, 0x5e, 0x24, 0x73, 0x72, 0x8e, 0x30, 0x77, 0x2a, 0xec, + 0x39, 0x9d, 0xfa, 0x6c, 0x77, 0x66, 0x0e, 0xa0, 0x4f, 0x61, 0x4d, 0x96, 0x8f, 0x13, 0x59, 0x98, + 0x49, 0x24, 0x83, 0xaf, 0x85, 0xc4, 0x62, 0xd1, 0x90, 0x78, 0x09, 0x3b, 0x1d, 0xec, 0x31, 0x47, + 0xe1, 0xae, 0x77, 0xeb, 0x86, 0xdc, 0x61, 0x27, 0xfe, 0x10, 0x17, 0x1e, 0x7b, 0x0c, 0xfc, 0x21, + 0x3e, 0xc3, 0xf1, 0xa3, 0x3a, 0x5e, 0xc6, 0x3b, 0xa9, 0x0b, 0xe2, 0xa5, 0xd5, 0x07, 0x73, 0x1a, + 0xcb, 0xf2, 0x2f, 0xe8, 0xbf, 0x1a, 0x3c, 0xc0, 0x54, 0x82, 0xb4, 0x98, 0x12, 0x08, 0x6a, 0x4c, + 0xb6, 0x28, 0x6e, 0xf9, 0x6f, 0xa9, 0x55, 0xae, 0x2a, 0xad, 0xb2, 0xfa, 0xf0, 0xaa, 0x95, 0x7c, + 0x61, 0xff, 0xc5, 0x80, 0x15, 0x57, 0x11, 0x95, 0xbd, 0x3f, 0x54, 0x48, 0x24, 0xa9, 0x8e, 0xa7, + 0xf6, 0xe3, 0xc2, 0xe8, 0x72, 0x3f, 0x6e, 0xc2, 0xd2, 0x8d, 0x43, 0x43, 0xbe, 0x2b, 0x44, 0x4f, + 0xd6, 0x52, 0x93, 0x57, 0x53, 0x9a, 0xbc, 0x54, 0xd9, 0xba, 0xac, 0xac, 0xf5, 0x2f, 0x83, 0x57, + 0xd9, 0x8c, 0x51, 0x29, 0x41, 0x27, 0xb0, 0xaa, 0x0a, 0x16, 0xf7, 0x17, 0x3b, 0x92, 0xaf, 0x54, + 0x0c, 0x5b, 0x3f, 0xc1, 0xfa, 0xfc, 0x5e, 0xd9, 0x3e, 0xbf, 0x77, 0xe7, 0x01, 0xc0, 0x29, 0xa0, + 0x9f, 0x4d, 0x70, 0xf0, 0xba, 0xdb, 0x8b, 0xa7, 0x1c, 0xc5, 0xc2, 0x65, 0x05, 0x2a, 0xdd, 0x5e, + 0xdc, 0xd8, 0x77, 0x7b, 0xd6, 0x3f, 0x0c, 0xd8, 0xc8, 0x10, 0xa2, 0x24, 0xc2, 0x33, 0x62, 0x3c, + 0x46, 0x39, 0xde, 0x4f, 0xab, 0x97, 0x0c, 0x62, 0x7e, 0xe8, 0x2b, 0x41, 0x27, 0x56, 0xda, 0x78, + 0xaa, 0xa6, 0x8f, 0xa7, 0xca, 0x5e, 0x07, 0x97, 0xb0, 0x7c, 0x3c, 0x1c, 0x76, 0x7b, 0x67, 0xee, + 0xd8, 0x0d, 0x4b, 0xe9, 0xce, 0x5a, 0xe0, 0x1b, 0x76, 0x5a, 0x0a, 0xb7, 0x14, 0x60, 0x75, 0x60, + 0x45, 0x66, 0x50, 0x3e, 0xbb, 0xdb, 0xb0, 0x66, 0xe3, 0xb1, 0x7f, 0x8b, 0xef, 0x22, 0xac, 0xf5, + 0x0c, 0xd6, 0x35, 0x2a, 0xe5, 0x25, 0xfa, 0x02, 0x4c, 0xee, 0x73, 0x3e, 0xda, 0x6a, 0x47, 0x04, + 0xdf, 0x62, 0x5e, 0x3c, 0xe5, 0xbd, 0x65, 0xbd, 0x80, 0x26, 0x27, 0x29, 0x08, 0x4a, 0x68, 0x86, + 0x92, 0xb1, 0xba, 0x1f, 0xd4, 0xaa, 0x50, 0xd5, 0xab, 0x82, 0xf5, 0x7b, 0x03, 0x1e, 0x4c, 0x95, + 0x97, 0x12, 0xf4, 0x09, 0xdc, 0x93, 0xd8, 0xc6, 0xb9, 0xbc, 0xad, 0x3d, 0xdc, 0x62, 0xbb, 0x29, + 0xb8, 0x65, 0xdf, 0x0c, 0x5f, 0xc3, 0x76, 0x34, 0x39, 0xd6, 0xad, 0x37, 0x4d, 0xe9, 0xb9, 0xef, + 0xb3, 0xc8, 0x2c, 0xd5, 0xc4, 0xe3, 0x3d, 0xb8, 0x9f, 0xcb, 0xa3, 0xbc, 0xdf, 0x7f, 0x0d, 0x9b, + 0x22, 0x86, 0x64, 0x7b, 0xbc, 0x53, 0x99, 0x2f, 0x60, 0x2b, 0x87, 0x43, 0x79, 0x89, 0x3f, 0xe1, + 0x35, 0xfc, 0x84, 0x0f, 0xe1, 0xba, 0x9e, 0x1b, 0x9e, 0xf8, 0xde, 0x95, 0x3b, 0x2a, 0x14, 0xa5, + 0xcc, 0x7e, 0xb9, 0x67, 0xcb, 0x4b, 0x33, 0x84, 0xed, 0x7e, 0x49, 0x69, 0x58, 0xab, 0x38, 0x74, + 0xe9, 0xc0, 0xbf, 0xc5, 0x41, 0xcf, 0x19, 0xf1, 0xe1, 0x9b, 0xb0, 0xa7, 0x0e, 0x66, 0x72, 0xf7, + 0xdf, 0xad, 0xdc, 0xff, 0x36, 0xf8, 0xc4, 0x81, 0xf9, 0x44, 0x0c, 0xc2, 0xe9, 0x9d, 0xf2, 0x9c, + 0xb5, 0xa9, 0x57, 0x9c, 0x8e, 0x48, 0xc8, 0xc8, 0xff, 0x0a, 0x8c, 0xb5, 0x04, 0xe9, 0x9a, 0x0f, + 0x19, 0xc4, 0xb5, 0xad, 0x41, 0xb5, 0x9e, 0xa4, 0x5e, 0xb2, 0x27, 0xf9, 0x9f, 0xc1, 0xe7, 0x07, + 0x8a, 0x86, 0x94, 0x68, 0xb3, 0x38, 0xa3, 0xec, 0x2c, 0xee, 0xb3, 0x58, 0x97, 0xe4, 0x73, 0x41, + 0x85, 0x97, 0x98, 0x0f, 0x73, 0x48, 0x9d, 0x26, 0x88, 0xb6, 0x76, 0x88, 0xd5, 0x39, 0x01, 0xb9, + 0x98, 0x8c, 0xe3, 0x5b, 0x52, 0x82, 0x94, 0x1c, 0x9d, 0x1c, 0xfd, 0x71, 0x15, 0x96, 0x38, 0xd2, + 0xc9, 0x79, 0x1f, 0x1d, 0x03, 0xa4, 0x1f, 0xe6, 0x90, 0xfc, 0x08, 0x52, 0x3e, 0x0a, 0x9a, 0x3b, + 0x53, 0x76, 0x28, 0x41, 0xbf, 0x85, 0x87, 0xb3, 0xbf, 0x8a, 0xa1, 0x8f, 0x95, 0xc3, 0x73, 0xbe, + 0xd3, 0x99, 0x3f, 0x78, 0x0b, 0x6c, 0x4a, 0xd0, 0x1b, 0x03, 0xf6, 0xe6, 0x7e, 0xaf, 0x42, 0x87, + 0x12, 0xd1, 0x22, 0x5f, 0xd9, 0xcc, 0x1f, 0xbe, 0xdd, 0x01, 0x61, 0x87, 0xd9, 0x1f, 0x92, 0x14, + 0x3b, 0xcc, 0xfd, 0x02, 0xa6, 0xd8, 0xa1, 0xc0, 0x17, 0xaa, 0x36, 0x34, 0xa5, 0x51, 0x34, 0xda, + 0x51, 0x4f, 0x4b, 0x5f, 0x7e, 0x4c, 0x73, 0xda, 0x16, 0x25, 0xe8, 0x19, 0x2c, 0x2b, 0x23, 0x4e, + 0xf4, 0x40, 0x45, 0x56, 0x46, 0xba, 0xe6, 0x07, 0xd3, 0x37, 0x29, 0x41, 0xe7, 0xfc, 0x9b, 0x93, + 0x34, 0xa3, 0x43, 0xb9, 0xf8, 0xf1, 0x48, 0xd3, 0xfc, 0x70, 0xc6, 0x2e, 0x25, 0xe8, 0x92, 0x3f, + 0xe8, 0x33, 0x43, 0x2c, 0x64, 0xa9, 0xc7, 0xf2, 0x66, 0x6c, 0xe6, 0x77, 0xe7, 0xe2, 0x50, 0x82, + 0x7e, 0xce, 0x6b, 0x82, 0x36, 0x66, 0x41, 0xbb, 0xea, 0xd1, 0xec, 0x04, 0xc8, 0xdc, 0x9b, 0x83, + 0x41, 0x09, 0xfa, 0x22, 0x29, 0xa8, 0x12, 0xe5, 0xef, 0x64, 0x1d, 0xac, 0x12, 0xde, 0x9d, 0x8d, + 0x40, 0x09, 0xc2, 0xec, 0xbe, 0xcb, 0x7b, 0x5e, 0xa2, 0x47, 0xca, 0xd9, 0x29, 0x8f, 0x5e, 0xf3, + 0x71, 0x01, 0xac, 0xc4, 0x32, 0xda, 0xd3, 0x48, 0xb7, 0x4c, 0xf6, 0x39, 0xaa, 0x5b, 0x26, 0xef, + 0x6d, 0xd5, 0x83, 0x55, 0xed, 0x3d, 0x81, 0xe4, 0x38, 0xc8, 0x3e, 0x5a, 0xcc, 0x87, 0xb3, 0xb6, + 0x29, 0x11, 0x25, 0x2d, 0x6e, 0xc4, 0xb5, 0x92, 0x26, 0x3d, 0x00, 0xb4, 0x92, 0xa6, 0x74, 0xee, + 0xcf, 0x60, 0x59, 0x69, 0x9e, 0x95, 0x2c, 0xd0, 0x9b, 0x73, 0x25, 0x0b, 0xb2, 0x3d, 0xf7, 0x37, + 0x70, 0x7f, 0x4a, 0x33, 0x8a, 0x1e, 0xeb, 0x9a, 0xe4, 0x36, 0xd8, 0xe6, 0x47, 0x45, 0xd0, 0x28, + 0x41, 0x5f, 0xc2, 0x46, 0x4e, 0x03, 0x88, 0xf6, 0xb2, 0xf5, 0x54, 0xe7, 0x60, 0xcd, 0x43, 0x11, + 0x21, 0x9c, 0x69, 0xd5, 0x94, 0x10, 0xce, 0x6b, 0x15, 0x95, 0x10, 0xce, 0xef, 0xf4, 0xbe, 0x84, + 0x8d, 0x9c, 0xb6, 0x0b, 0x69, 0xa1, 0x93, 0xd3, 0x44, 0x99, 0xd6, 0x3c, 0x14, 0x41, 0xbd, 0x3f, + 0x87, 0x7a, 0x7f, 0x3e, 0xf5, 0x69, 0xfd, 0x95, 0xa8, 0x70, 0x52, 0x17, 0xa1, 0x57, 0x38, 0xb5, + 0x85, 0xd2, 0x2b, 0x9c, 0xd6, 0x7e, 0x7c, 0x7a, 0xff, 0x17, 0x5b, 0x07, 0xe9, 0xbf, 0x81, 0x7e, + 0x9c, 0xfc, 0xfa, 0x7a, 0x81, 0xff, 0xd5, 0xe7, 0xc9, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xec, + 0x87, 0x51, 0x01, 0x35, 0x24, 0x00, 0x00, } diff --git a/pkg/proto/admin_cms/admin_cms.proto b/pkg/proto/admin_cms/admin_cms.proto index c0118d7ba..442369ac4 100644 --- a/pkg/proto/admin_cms/admin_cms.proto +++ b/pkg/proto/admin_cms/admin_cms.proto @@ -10,9 +10,9 @@ message CommonResp { } message AdminLoginReq { - string OperationID = 1; - string AdminID = 2; - string Secret = 3; + string operationID = 1; + string adminID = 2; + string secret = 3; } @@ -52,43 +52,43 @@ message GetUserRegisterAddFriendIDListResp { } message GetChatLogsReq { - string Content = 1; - string SendID = 2; - string RecvID = 3; - string SendTime = 4; - int32 SessionType = 5; - int32 ContentType = 6; - server_api_params.RequestPagination Pagination = 7; - string OperationID = 8; + string content = 1; + string sendID = 2; + string recvID = 3; + string sendTime = 4; + int32 sessionType = 5; + int32 contentType = 6; + server_api_params.RequestPagination pagination = 7; + string operationID = 8; } message ChatLog { - string ServerMsgID = 1; - string ClientMsgID = 2; - string SendID = 3; - string RecvID = 4; + string serverMsgID = 1; + string clientMsgID = 2; + string sendID = 3; + string recvID = 4; string groupID = 5; string recvNickname = 6; - int32 SenderPlatformID = 7; - string SenderNickname = 8; - string SenderFaceURL = 9; - string GroupName = 10; - int32 SessionType = 11; - int32 MsgFrom = 12; - int32 ContentType = 13; - string Content = 14; - int32 Status = 15; - int64 SendTime = 16; - int64 CreateTime = 17; - string Ex = 18; + int32 senderPlatformID = 7; + string senderNickname = 8; + string senderFaceURL = 9; + string groupName = 10; + int32 sessionType = 11; + int32 msgFrom = 12; + int32 contentType = 13; + string content = 14; + int32 status = 15; + int64 sendTime = 16; + int64 createTime = 17; + string ex = 18; } message GetChatLogsResp { - repeated ChatLog ChatLogs = 1; - server_api_params.ResponsePagination Pagination = 2; - int32 ChatLogsNum = 3; - CommonResp CommonResp = 4; + repeated ChatLog chatLogs = 1; + server_api_params.ResponsePagination pagination = 2; + int32 chatLogsNum = 3; + CommonResp commonResp = 4; } @@ -98,36 +98,36 @@ message StatisticsReq { } message GetActiveUserReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; + StatisticsReq statisticsReq = 1; + string operationID = 2; } message UserResp{ - string NickName = 1; - string UserId = 2; - int32 MessageNum = 3; + string nickName = 1; + string userID = 2; + int32 messageNum = 3; } message GetActiveUserResp { repeated UserResp Users = 1; - CommonResp CommonResp = 2; + CommonResp commonResp = 2; } message GetActiveGroupReq{ - StatisticsReq StatisticsReq = 1; - string OperationID = 2; + StatisticsReq statisticsReq = 1; + string operationID = 2; } message GroupResp { string GroupName = 1; string GroupId = 2; int32 MessageNum = 3; - CommonResp CommonResp = 4; + CommonResp commonResp = 4; } message GetActiveGroupResp { repeated GroupResp Groups = 1; - CommonResp CommonResp = 2; + CommonResp commonResp = 2; } message DateNumList { @@ -147,7 +147,7 @@ message GetMessageStatisticsResp { int32 GroupMessageNum = 2; repeated DateNumList PrivateMessageNumList = 3; repeated DateNumList GroupMessageNumList = 4; - CommonResp CommonResp = 5; + CommonResp commonResp = 5; } message GetGroupStatisticsReq { @@ -161,7 +161,7 @@ message GetGroupStatisticsResp { int32 TotalGroupNum = 2; repeated DateNumList IncreaseGroupNumList = 3; repeated DateNumList TotalGroupNumList = 4; - CommonResp CommonResp = 5; + CommonResp commonResp = 5; } message GetUserStatisticsReq { @@ -176,7 +176,139 @@ message GetUserStatisticsResp { repeated DateNumList IncreaseUserNumList = 4; repeated DateNumList ActiveUserNumList = 5; repeated DateNumList TotalUserNumList = 6; - CommonResp CommonResp = 7; + CommonResp commonResp = 7; +} + +message GenerateInvitationCodeReq { + string operationID = 1; + int32 codeLen = 2; + int32 codeNum = 3; +} + +message GenerateInvitationCodeResp { + CommonResp commonResp = 1; +} + +message GetInvitationCodesReq { + string operationID = 1; + string code = 2; + int32 status = 3; + server_api_params.RequestPagination pagination = 4; +} + +message invitationCode { + string invitationCode = 1; + int32 createTime = 2; + int32 lastTime = 3; + string userID = 4; + int32 status = 5; +} + +message GetInvitationCodesResp { + repeated invitationCode invitationCodes = 1; + server_api_params.ResponsePagination Pagination = 2; + CommonResp commonResp = 3; +} + +message QueryIPRegisterReq { + string operationID = 1; + string IP = 2; +} + +message QueryIPRegisterResp { + string IP = 1; + int32 RegisterNum = 2; + int32 Status = 3; + repeated string userIDList = 4; + CommonResp commonResp = 5; +} + +message AddIPLimitReq { + string operationID = 1; + string IP = 2; + int32 limitTime = 3; +} + +message AddIPLimitResp { + CommonResp commonResp = 1; +} + +message RemoveIPLimitReq { + string operationID = 1; + string IP = 2; +} + +message RemoveIPLimitResp { + CommonResp commonResp = 1; +} + +message QueryUserIDIPLimitLoginReq { + string operationID = 1; + string userID = 2; +} + +message UserIPLimit { + string userID = 1; + string IP = 2; + int32 createTime = 3; +} + +message QueryUserIDIPLimitLoginResp { + repeated UserIPLimit UserIPLimits = 1; + CommonResp commonResp = 2; +} + +message AddUserIPLimitLoginReq { + string userID = 1; + string operationID = 2; + string IP = 3; +} + +message AddUserIPLimitLoginResp { + CommonResp commonResp = 1; +} + +message RemoveUserIPLimitReq { + string userID = 1; + string operationID = 2; + string IP = 3; +} + +message RemoveUserIPLimitResp { + CommonResp commonResp = 1; +} + +message GetClientInitConfigReq { + string operationID = 1; +} + +message GetClientInitConfigResp { + CommonResp commonResp = 1; +} + +message SetClientInitConfigReq { + string operationID = 1; + string discoverPageURL = 2; +} + +message SetClientInitConfigResp { + CommonResp commonResp = 1; +} + +message GetUserFriendsReq { + string operationID = 1; + string userID = 2; + string friendUserID = 3; + string friendUserName = 4; + server_api_params.RequestPagination pagination = 5; +} + + +message GetUserFriendsResp { + server_api_params.ResponsePagination pagination = 1; + repeated server_api_params.FriendInfo friendInfoList = 2; + int32 friendNums = 3; + CommonResp commonResp = 4; } service adminCMS { @@ -193,4 +325,19 @@ service adminCMS { rpc GetMessageStatistics(GetMessageStatisticsReq) returns(GetMessageStatisticsResp); rpc GetGroupStatistics(GetGroupStatisticsReq) returns(GetGroupStatisticsResp); rpc GetUserStatistics(GetUserStatisticsReq) returns(GetUserStatisticsResp); + + rpc GenerateInvitationCode(GenerateInvitationCodeReq) returns(GenerateInvitationCodeResp); + rpc GetInvitationCodes(GetInvitationCodesReq) returns(GetInvitationCodesResp); + + rpc QueryIPRegister(QueryIPRegisterReq) returns(QueryIPRegisterResp); + rpc AddIPLimit(AddIPLimitReq) returns(AddIPLimitResp); + rpc RemoveIPLimit(RemoveIPLimitReq) returns(RemoveIPLimitResp); + rpc QueryUserIDIPLimitLogin(QueryUserIDIPLimitLoginReq) returns(QueryUserIDIPLimitLoginResp); + rpc AddUserIPLimitLogin(AddUserIPLimitLoginReq) returns(AddUserIPLimitLoginResp); + rpc RemoveUserIPLimit(RemoveUserIPLimitReq) returns(RemoveUserIPLimitResp); + + rpc GetClientInitConfig(GetClientInitConfigReq) returns(GetClientInitConfigResp); + rpc SetClientInitConfig(SetClientInitConfigReq) returns(SetClientInitConfigResp); + + rpc GetUserFriends(GetUserFriendsReq) returns(GetUserFriendsResp); } From a317ebd8e7c710dbec0958dadc4ac835d706d672 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 11:26:25 +0800 Subject: [PATCH 38/44] cms --- internal/api/auth/auth.go | 2 +- internal/api/user/user.go | 11 +++---- pkg/base_info/manage_api_struct.go | 29 ++++++++++++++----- pkg/base_info/public_struct.go | 25 +++++++--------- .../im_mysql_model/friend_model.go | 2 +- .../mysql_model/im_mysql_model/message_cms.go | 3 +- 6 files changed, 39 insertions(+), 33 deletions(-) diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index f1a0551a6..73a071548 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -77,7 +77,7 @@ func UserRegister(c *gin.Context) { return } - pbDataToken := &rpc.UserTokenReq{Platform: params.Platform, FromUserID: params.UserID, OperationID: params.OperationID, LoginIp: params.CreateIp} + pbDataToken := &rpc.UserTokenReq{Platform: params.Platform, FromUserID: params.UserID, OperationID: params.OperationID} replyToken, err := client.UserToken(context.Background(), pbDataToken) if err != nil { errMsg := req.OperationID + " " + " client.UserToken failed " + err.Error() + pbDataToken.String() diff --git a/internal/api/user/user.go b/internal/api/user/user.go index 152783f1c..7b73df7fd 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -497,13 +497,10 @@ func GetUsers(c *gin.Context) { return } for _, v := range respPb.UserList { - resp.Data.UserList = append(resp.Data.UserList, &struct { - open_im_sdk.UserInfo - IsBlock bool "json:\"isBlock\"" - }{ - IsBlock: v.IsBlock, - UserInfo: *v.User, - }) + user := api.CMSUser{} + utils.CopyStructFields(&user, v.User) + user.IsBlock = v.IsBlock + resp.Data.UserList = append(resp.Data.UserList, &user) } resp.CommResp.ErrCode = respPb.CommonResp.ErrCode resp.CommResp.ErrMsg = respPb.CommonResp.ErrMsg diff --git a/pkg/base_info/manage_api_struct.go b/pkg/base_info/manage_api_struct.go index 47cd20ba2..fedab9caa 100644 --- a/pkg/base_info/manage_api_struct.go +++ b/pkg/base_info/manage_api_struct.go @@ -102,15 +102,30 @@ type GetUsersReq struct { ShowNumber int32 `json:"showNumber" binding:"required"` } +type CMSUser struct { + UserID string `json:"userID"` + Nickname string `json:"nickname"` + FaceURL string `json:"faceURL"` + Gender int32 `json:"gender"` + PhoneNumber string `json:"phoneNumber"` + Birth uint32 `json:"birth"` + Email string `json:"email"` + Ex string `json:"ex"` + CreateIp string `json:"createIp"` + CreateTime uint32 `json:"createTime"` + LastLoginIp string `json:"LastLoginIp"` + LastLoginTime uint32 `json:"LastLoginTime"` + AppMangerLevel int32 `json:"appMangerLevel"` + GlobalRecvMsgOpt int32 `json:"globalRecvMsgOpt"` + IsBlock bool `json:"isBlock"` +} + type GetUsersResp struct { CommResp Data struct { - UserList []*struct { - server_api_params.UserInfo - IsBlock bool `json:"isBlock"` - } `json:"userList"` - TotalNum int32 `json:"totalNum"` - CurrentPage int32 `json:"currentPage"` - ShowNumber int32 `json:"showNumber"` + UserList []*CMSUser `json:"userList"` + TotalNum int32 `json:"totalNum"` + CurrentPage int32 `json:"currentPage"` + ShowNumber int32 `json:"showNumber"` } `json:"data"` } diff --git a/pkg/base_info/public_struct.go b/pkg/base_info/public_struct.go index 5df606b28..b3b918b45 100644 --- a/pkg/base_info/public_struct.go +++ b/pkg/base_info/public_struct.go @@ -7,21 +7,16 @@ import ( ) type ApiUserInfo struct { - UserID string `json:"userID" binding:"required,min=1,max=64" swaggo:"true,用户ID,"` - Nickname string `json:"nickname" binding:"omitempty,min=1,max=64" swaggo:"true,my id,19"` - FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` - Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` - PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` - Birth uint32 `json:"birth" binding:"omitempty"` - Email string `json:"email" binding:"omitempty,max=64"` - CreateIp string `json:"createIp" binding:"omitempty,max=15"` - CreateTime int64 `json:"createTime"` - LastLoginIp string `json:"LastLoginIp" binding:"omitempty,max=15"` - LastLoginTime int64 `json:"lastLoginTime"` - LoginTimes int32 `json:"loginTimes" binding:"omitempty"` - LoginLimit int32 `json:"loginLimit" binding:"omitempty"` - Ex string `json:"ex" binding:"omitempty,max=1024"` - InvitationCode string `json:"invitationCode" binding:"omitempty"` + UserID string `json:"userID" binding:"required,min=1,max=64" swaggo:"true,用户ID,"` + Nickname string `json:"nickname" binding:"omitempty,min=1,max=64" swaggo:"true,my id,19"` + FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` + Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` + PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` + Birth uint32 `json:"birth" binding:"omitempty"` + Email string `json:"email" binding:"omitempty,max=64"` + CreateTime int64 `json:"createTime"` + LoginLimit int32 `json:"loginLimit" binding:"omitempty"` + Ex string `json:"ex" binding:"omitempty,max=1024"` } //type Conversation struct { diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 5115bf4d3..7b64fd2cc 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -77,7 +77,7 @@ func GetFriendByIDCMS(ownerUserID, friendUserID string) (friendUser *FriendUser, err = db.DB.MysqlDB.DefaultGormDB().Table("friends"). Select("friends.*, users.name"). Where("friends.owner_user_id=? and friends.friend_user_id=?", ownerUserID, friendUserID). - Joins("left join friends on friends.friend_user_id = users.user_id"). + Joins("left join users on friends.friend_user_id = users.user_id"). Take(friendUser).Error return friendUser, err } diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 2b7e74673..e2210225a 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -37,7 +37,6 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, } func GetChatLogCount(chatLog db.ChatLog) (int64, error) { - var chatLogs []db.ChatLog var count int64 db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") if chatLog.Content != "" { @@ -62,6 +61,6 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) { db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) } - err := db.Find(&chatLogs).Count(&count).Error + err := db.Count(&count).Error return count, err } From 06e48516bbe5be625afef11b7f766744400a154f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 11:28:01 +0800 Subject: [PATCH 39/44] cms --- internal/demo/register/set_password.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index 5b7deae4f..714c56f05 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -108,9 +108,9 @@ func SetPassword(c *gin.Context) { openIMRegisterReq.Nickname = params.Nickname openIMRegisterReq.Secret = config.Config.Secret openIMRegisterReq.FaceURL = params.FaceURL - openIMRegisterReq.CreateIp = ip - openIMRegisterReq.LastLoginIp = ip - openIMRegisterReq.InvitationCode = params.InvitationCode + // openIMRegisterReq.CreateIp = ip + // openIMRegisterReq.LastLoginIp = ip + // openIMRegisterReq.InvitationCode = params.InvitationCode openIMRegisterResp := api.UserRegisterResp{} log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "register req:", openIMRegisterReq) bMsg, err := http2.Post(url, openIMRegisterReq, 2) From a372ef3faad7e0776f26f83c06c58c540c260c78 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 11:35:20 +0800 Subject: [PATCH 40/44] cms --- pkg/common/db/mysql_model/im_mysql_model/friend_model.go | 2 +- pkg/common/db/mysql_model/im_mysql_model/message_cms.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 7b64fd2cc..96b1e3c82 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -63,7 +63,7 @@ func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumbe db := db.DB.MysqlDB.DefaultGormDB().Table("friends"). Select("friends.*, users.name"). Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)). - Joins("left join friends on friends.friend_user_id = users.user_id"). + Joins("left join users on friends.friend_user_id = users.user_id"). Offset(int(showNumber * (pageNumber - 1))) if friendUserName != "" { db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName)) diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index e2210225a..7e74c83c4 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -13,7 +13,7 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) if chatLog.Content != "" { - db = db.Where(" name like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } if chatLog.SessionType == 1 { db = db.Where("session_type = ?", chatLog.SessionType) @@ -40,7 +40,7 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) { var count int64 db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") if chatLog.Content != "" { - db = db.Where(" name like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) + db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } if chatLog.SessionType != 0 { db = db.Where("session_type = ?", chatLog.SessionType) From 49f05d334df6e26b8e2fa81ac9ecbe5aca698547 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 12:01:10 +0800 Subject: [PATCH 41/44] cms --- internal/rpc/admin_cms/admin_cms.go | 2 +- .../db/mysql_model/im_mysql_model/message_cms.go | 15 ++++++++------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 1590a502e..4a71cbc60 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -621,7 +621,7 @@ func (s *adminCMSServer) GetUserFriends(_ context.Context, req *pbAdminCMS.GetUs resp.FriendInfoList = append(resp.FriendInfoList, friendInfo) } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) - return nil, nil + return resp, nil } func (s *adminCMSServer) GenerateInvitationCode(_ context.Context, req *pbAdminCMS.GenerateInvitationCodeReq) (*pbAdminCMS.GenerateInvitationCodeResp, error) { diff --git a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go index 7e74c83c4..a32f1730b 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/message_cms.go +++ b/pkg/common/db/mysql_model/im_mysql_model/message_cms.go @@ -12,6 +12,9 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, var chatLogs []db.ChatLog db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs"). Limit(int(showNumber)).Offset(int(showNumber * (pageNumber - 1))) + if chatLog.SendTime.Unix() > 0 { + db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + } if chatLog.Content != "" { db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } @@ -29,9 +32,7 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, if chatLog.RecvID != "" { db = db.Where("recv_id = ?", chatLog.RecvID) } - if chatLog.SendTime.Unix() > 0 { - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - } + err := db.Find(&chatLogs).Error return chatLogs, err } @@ -39,6 +40,10 @@ func GetChatLog(chatLog db.ChatLog, pageNumber, showNumber int32) ([]db.ChatLog, func GetChatLogCount(chatLog db.ChatLog) (int64, error) { var count int64 db := db.DB.MysqlDB.DefaultGormDB().Table("chat_logs") + if chatLog.SendTime.Unix() > 0 { + log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) + } if chatLog.Content != "" { db = db.Where(" content like ? ", fmt.Sprintf("%%%s%%", chatLog.Content)) } @@ -56,10 +61,6 @@ func GetChatLogCount(chatLog db.ChatLog) (int64, error) { if chatLog.RecvID != "" { db = db.Where("recv_id = ?", chatLog.RecvID) } - if chatLog.SendTime.Unix() > 0 { - log.NewDebug("", utils.GetSelfFuncName(), chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - db = db.Where("send_time > ? and send_time < ?", chatLog.SendTime, chatLog.SendTime.AddDate(0, 0, 1)) - } err := db.Count(&count).Error return count, err From 9f4c3672490927ac8485c52aad5128798765666d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 14:57:08 +0800 Subject: [PATCH 42/44] cms --- internal/rpc/admin_cms/admin_cms.go | 6 +++++- pkg/common/db/mysql_model/im_mysql_model/friend_model.go | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/internal/rpc/admin_cms/admin_cms.go b/internal/rpc/admin_cms/admin_cms.go index 4a71cbc60..1e40a872c 100644 --- a/internal/rpc/admin_cms/admin_cms.go +++ b/internal/rpc/admin_cms/admin_cms.go @@ -596,6 +596,7 @@ func (s *adminCMSServer) GetUserFriends(_ context.Context, req *pbAdminCMS.GetUs friend, err := imdb.GetFriendByIDCMS(req.UserID, req.FriendUserID) if err != nil { if errors.Is(err, gorm.ErrRecordNotFound) { + log.NewError(req.OperationID, utils.GetSelfFuncName(), err, req.UserID, req.FriendUserID) return resp, nil } log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserID) @@ -604,14 +605,17 @@ func (s *adminCMSServer) GetUserFriends(_ context.Context, req *pbAdminCMS.GetUs return resp, nil } friendList = append(friendList, friend) + resp.FriendNums = 1 } else { - friendList, err = imdb.GetUserFriendsCMS(req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) + var count int64 + friendList, count, err = imdb.GetUserFriendsCMS(req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error(), req.UserID, req.FriendUserName, req.Pagination.PageNumber, req.Pagination.ShowNumber) resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrMsg = err.Error() return resp, nil } + resp.FriendNums = int32(count) } for _, v := range friendList { friendInfo := &server_api_params.FriendInfo{} diff --git a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go index 96b1e3c82..7cae9f9d0 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/friend_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/friend_model.go @@ -59,7 +59,7 @@ type FriendUser struct { Nickname string `gorm:"column:name;size:255"` } -func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, err error) { +func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumber int32) (friendUserList []*FriendUser, count int64, err error) { db := db.DB.MysqlDB.DefaultGormDB().Table("friends"). Select("friends.*, users.name"). Where("friends.owner_user_id=?", ownerUserID).Limit(int(showNumber)). @@ -68,6 +68,9 @@ func GetUserFriendsCMS(ownerUserID, friendUserName string, pageNumber, showNumbe if friendUserName != "" { db = db.Where("users.name like ?", fmt.Sprintf("%%%s%%", friendUserName)) } + if err = db.Count(&count).Error; err != nil { + return + } err = db.Find(&friendUserList).Error return } From 6dfbb90b8015cb7e3824eed8adce529ab7433974 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 2 Sep 2022 17:22:27 +0800 Subject: [PATCH 43/44] fix signal --- internal/push/logic/push_to_client.go | 6 +++++- pkg/common/db/RedisModel.go | 23 +++++++++++++---------- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/internal/push/logic/push_to_client.go b/internal/push/logic/push_to_client.go index c91c93f16..aa3c367e4 100644 --- a/internal/push/logic/push_to_client.go +++ b/internal/push/logic/push_to_client.go @@ -79,10 +79,14 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) { } } if pushMsg.MsgData.ContentType == constant.SignalingNotification { - if err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData); err != nil { + isSend, err := db.DB.HandleSignalInfo(pushMsg.OperationID, pushMsg.MsgData, pushMsg.PushToUserID) + if err != nil { log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), err.Error(), pushMsg.MsgData) return } + if !isSend { + return + } } customContent := OpenIMContent{ SessionType: int(pushMsg.MsgData.SessionType), diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 1f81fc3ef..79db918bc 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -258,10 +258,10 @@ func (d *DataBases) CleanUpOneUserAllMsgFromRedis(userID string, operationID str return nil } -func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData) error { +func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData, pushToUserID string) (isSend bool, err error) { req := &pbRtc.SignalReq{} if err := proto.Unmarshal(msg.Content, req); err != nil { - return err + return false, err } //log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "SignalReq: ", req.String()) var inviteeUserIDList []string @@ -273,37 +273,40 @@ func (d *DataBases) HandleSignalInfo(operationID string, msg *pbCommon.MsgData) case *pbRtc.SignalReq_InviteInGroup: inviteeUserIDList = signalInfo.InviteInGroup.Invitation.InviteeUserIDList isInviteSignal = true + if !utils.IsContain(pushToUserID, inviteeUserIDList) { + return false, nil + } case *pbRtc.SignalReq_HungUp, *pbRtc.SignalReq_Cancel, *pbRtc.SignalReq_Reject, *pbRtc.SignalReq_Accept: - return errors.New("signalInfo do not need offlinePush") + return false, errors.New("signalInfo do not need offlinePush") default: log2.NewDebug(operationID, utils.GetSelfFuncName(), "req invalid type", string(msg.Content)) - return nil + return false, nil } if isInviteSignal { - log2.NewInfo(operationID, utils.GetSelfFuncName(), "invite userID list:", inviteeUserIDList) + log2.NewDebug(operationID, utils.GetSelfFuncName(), "invite userID list:", inviteeUserIDList) for _, userID := range inviteeUserIDList { log2.NewInfo(operationID, utils.GetSelfFuncName(), "invite userID:", userID) timeout, err := strconv.Atoi(config.Config.Rtc.SignalTimeout) if err != nil { - return err + return false, err } keyList := SignalListCache + userID err = d.RDB.LPush(context.Background(), keyList, msg.ClientMsgID).Err() if err != nil { - return err + return false, err } err = d.RDB.Expire(context.Background(), keyList, time.Duration(timeout)*time.Second).Err() if err != nil { - return err + return false, err } key := SignalCache + msg.ClientMsgID err = d.RDB.Set(context.Background(), key, msg.Content, time.Duration(timeout)*time.Second).Err() if err != nil { - return err + return false, err } } } - return nil + return true, nil } func (d *DataBases) GetSignalInfoFromCacheByClientMsgID(clientMsgID string) (invitationInfo *pbRtc.SignalInviteReq, err error) { From 05b5a0ada32da670b473be80e1a0047ded1b7b8e Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 5 Sep 2022 17:52:43 +0800 Subject: [PATCH 44/44] add --- cmd/open_im_demo/main.go | 5 + internal/api/auth/auth.go | 9 +- internal/demo/register/check_login.go | 81 +++ internal/demo/register/set_password.go | 51 +- internal/rpc/auth/auth.go | 46 -- .../db/mysql_model/im_mysql_model/ip_model.go | 12 + .../mysql_model/im_mysql_model/user_model.go | 3 - pkg/proto/sdk_ws/ws.pb.go | 673 ++++++++---------- pkg/proto/sdk_ws/ws.proto | 12 +- 9 files changed, 438 insertions(+), 454 deletions(-) create mode 100644 internal/demo/register/check_login.go diff --git a/cmd/open_im_demo/main.go b/cmd/open_im_demo/main.go index f0639fc6d..988f04809 100644 --- a/cmd/open_im_demo/main.go +++ b/cmd/open_im_demo/main.go @@ -12,6 +12,7 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" + "github.com/gin-gonic/gin" ) @@ -31,6 +32,7 @@ func main() { authRouterGroup.POST("/password", register.SetPassword) authRouterGroup.POST("/login", register.Login) authRouterGroup.POST("/reset_password", register.ResetPassword) + authRouterGroup.POST("/check_login", register.CheckLoginLimit) } demoRouterGroup := r.Group("/auth") { @@ -39,7 +41,10 @@ func main() { demoRouterGroup.POST("/password", register.SetPassword) demoRouterGroup.POST("/login", register.Login) demoRouterGroup.POST("/reset_password", register.ResetPassword) + demoRouterGroup.POST("/check_login", register.CheckLoginLimit) } + + //deprecated cmsRouterGroup := r.Group("/cms_admin") { cmsRouterGroup.POST("/generate_invitation_code", register.GenerateInvitationCode) diff --git a/internal/api/auth/auth.go b/internal/api/auth/auth.go index 73a071548..cec540537 100644 --- a/internal/api/auth/auth.go +++ b/internal/api/auth/auth.go @@ -3,7 +3,6 @@ package apiAuth import ( api "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" - "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" "Open_IM/pkg/common/token_verify" "Open_IM/pkg/grpc-etcdv3/getcdv3" @@ -67,13 +66,7 @@ func UserRegister(c *gin.Context) { if reply.CommonResp.ErrCode != 0 { errMsg := req.OperationID + " " + " UserRegister failed " + reply.CommonResp.ErrMsg + req.String() log.NewError(req.OperationID, errMsg) - if reply.CommonResp.ErrCode == constant.RegisterLimit { - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterLimit, "errMsg": "用户注册被限制"}) - } else if reply.CommonResp.ErrCode == constant.InvitationError { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) - } else { - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) - } + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) return } diff --git a/internal/demo/register/check_login.go b/internal/demo/register/check_login.go new file mode 100644 index 000000000..818cd6c27 --- /dev/null +++ b/internal/demo/register/check_login.go @@ -0,0 +1,81 @@ +package register + +import ( + "Open_IM/pkg/common/constant" + imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" + "Open_IM/pkg/common/log" + "Open_IM/pkg/utils" + "net/http" + + "github.com/gin-gonic/gin" +) + +type CheckLoginLimitReq struct { + OperationID string `json:"operationID"` + UserID string `json:"userID"` +} + +type CheckLoginLimitResp struct { +} + +func CheckLoginLimit(c *gin.Context) { + req := CheckLoginLimitReq{} + if err := c.BindJSON(&req); err != nil { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrArgs, "errMsg": err.Error()}) + return + } + ip := c.Request.Header.Get("X-Forward-For") + if ip == "" { + ip = c.ClientIP() + } + user, err := imdb.GetUserIPLimit(req.UserID) + if err != nil { + errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.UserID + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": errMsg}) + } + + if err := imdb.UpdateIpReocord(req.UserID, ip); err != nil { + log.NewError(req.OperationID, err.Error(), req.UserID, ip) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": err.Error()}) + return + } + + var Limited bool + var LimitError error + Limited, LimitError = imdb.IsLimitLoginIp(ip) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "ip limited Login"}) + return + } + Limited, LimitError = imdb.IsLimitUserLoginIp(user.UserID, ip) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "user ip limited Login"}) + return + } + Limited, LimitError = imdb.UserIsBlock(user.UserID) + if LimitError != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), LimitError, user.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError}) + return + } + if Limited { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), Limited, ip, req.UserID) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.LoginLimit, "errMsg": "user is block"}) + return + } + c.JSON(http.StatusOK, gin.H{"errCode": 0, "errMsg": ""}) +} diff --git a/internal/demo/register/set_password.go b/internal/demo/register/set_password.go index 714c56f05..f2cf70d39 100644 --- a/internal/demo/register/set_password.go +++ b/internal/demo/register/set_password.go @@ -8,6 +8,7 @@ import ( imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" http2 "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" pbFriend "Open_IM/pkg/proto/friend" "Open_IM/pkg/utils" "encoding/json" @@ -41,28 +42,33 @@ func SetPassword(c *gin.Context) { c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.FormattingError, "errMsg": err.Error()}) return } - ip := c.Request.Header.Get("X-Forward-For") if ip == "" { ip = c.ClientIP() } log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "ip:", ip) - Limited, LimitError := imdb.IsLimitRegisterIp(ip) - if LimitError != nil { - log.Error(params.OperationID, utils.GetSelfFuncName(), LimitError, ip) - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError.Error()}) - return - } - if Limited { - c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.RegisterLimit, "errMsg": "limited"}) - return - } + ok, opUserID, _ := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), params.OperationID) + if !ok || !utils.IsContain(opUserID, config.Config.Manager.AppManagerUid) { + Limited, LimitError := imdb.IsLimitRegisterIp(ip) + if LimitError != nil { + log.Error(params.OperationID, utils.GetSelfFuncName(), LimitError, ip) + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.ErrDB.ErrCode, "errMsg": LimitError.Error()}) + return + } + if Limited { + c.JSON(http.StatusBadRequest, gin.H{"errCode": constant.RegisterLimit, "errMsg": "limited"}) + return + } + } + openIMRegisterReq := api.UserRegisterReq{} var account string if params.Email != "" { account = params.Email + openIMRegisterReq.Email = params.Email } else if params.PhoneNumber != "" { account = params.PhoneNumber + openIMRegisterReq.PhoneNumber = params.PhoneNumber } else { account = params.UserID } @@ -84,7 +90,7 @@ func SetPassword(c *gin.Context) { if config.Config.Demo.NeedInvitationCode && params.InvitationCode != "" { err := imdb.CheckInvitationCode(params.InvitationCode) if err != nil { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) + c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "InvitationCode error"}) return } } @@ -99,18 +105,13 @@ func SetPassword(c *gin.Context) { } else { userID = params.UserID } - url := config.Config.Demo.ImAPIURL + "/auth/user_register" - openIMRegisterReq := api.UserRegisterReq{} openIMRegisterReq.OperationID = params.OperationID openIMRegisterReq.Platform = params.Platform openIMRegisterReq.UserID = userID openIMRegisterReq.Nickname = params.Nickname openIMRegisterReq.Secret = config.Config.Secret openIMRegisterReq.FaceURL = params.FaceURL - // openIMRegisterReq.CreateIp = ip - // openIMRegisterReq.LastLoginIp = ip - // openIMRegisterReq.InvitationCode = params.InvitationCode openIMRegisterResp := api.UserRegisterResp{} log.NewDebug(params.OperationID, utils.GetSelfFuncName(), "register req:", openIMRegisterReq) bMsg, err := http2.Post(url, openIMRegisterReq, 2) @@ -124,14 +125,10 @@ func SetPassword(c *gin.Context) { log.NewError(params.OperationID, "request openIM register error", account, "err", "resp: ", openIMRegisterResp.ErrCode) if err != nil { log.NewError(params.OperationID, utils.GetSelfFuncName(), err.Error()) + c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register limit"}) + return } - if openIMRegisterResp.ErrCode == constant.RegisterLimit { - c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterLimit, "errMsg": "用户注册被限制"}) - return - } else if openIMRegisterResp.ErrCode == constant.InvitationError { - c.JSON(http.StatusOK, gin.H{"errCode": constant.InvitationError, "errMsg": "邀请码错误"}) - return - } else { + if openIMRegisterResp.ErrCode != 0 { c.JSON(http.StatusOK, gin.H{"errCode": constant.RegisterFailed, "errMsg": "register failed: " + openIMRegisterResp.ErrMsg}) return } @@ -150,8 +147,11 @@ func SetPassword(c *gin.Context) { imdb.FinishInvitationCode(params.InvitationCode, userID) } } + if err := imdb.InsertIpRecord(userID, ip); err != nil { + log.NewError(params.OperationID, utils.GetSelfFuncName(), userID, ip, err.Error()) + } - log.Info(params.OperationID, "end setPassword", account, params.Password) + log.Info(params.OperationID, "end setuserInfo", account, params.Password) // demo onboarding if params.UserID == "" && config.Config.Demo.OnboardProcess { select { @@ -168,6 +168,7 @@ func SetPassword(c *gin.Context) { } } + // register add friend select { case ChImportFriend <- &pbFriend.ImportFriendReq{ OperationID: params.OperationID, diff --git a/internal/rpc/auth/auth.go b/internal/rpc/auth/auth.go index 0e2b4d2af..a9ab75569 100644 --- a/internal/rpc/auth/auth.go +++ b/internal/rpc/auth/auth.go @@ -29,70 +29,24 @@ func (rpc *rpcAuth) UserRegister(_ context.Context, req *pbAuth.UserRegisterReq) user.Birth = utils.UnixSecondToTime(int64(req.UserInfo.Birth)) } log.Debug(req.OperationID, "copy ", user, req.UserInfo) - Limited, LimitError := imdb.IsLimitRegisterIp(req.UserInfo.CreateIp) - if LimitError != nil { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil - } - if Limited { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.RegisterLimit, ErrMsg: "Register Limit"}}, nil - } err := imdb.UserRegister(user) if err != nil { - if err == constant.InvitationMsg { - return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.InvitationError, ErrMsg: "邀请码错误"}}, nil - } errMsg := req.OperationID + " imdb.UserRegister failed " + err.Error() + user.UserID log.NewError(req.OperationID, errMsg, user) return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{}}) return &pbAuth.UserRegisterResp{CommonResp: &pbAuth.CommonResp{}}, nil } func (rpc *rpcAuth) UserToken(_ context.Context, req *pbAuth.UserTokenReq) (*pbAuth.UserTokenResp, error) { log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc args ", req.String()) - - if config.Config.Demo.UseIPLimit { - user, err := imdb.GetUserIPLimit(req.FromUserID) - if err != nil { - errMsg := req.OperationID + " imdb.GetUserByUserID failed " + err.Error() + req.FromUserID - log.NewError(req.OperationID, errMsg) - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil - } - - var Limited bool - var LimitError error - Limited, LimitError = imdb.IsLimitLoginIp(req.LoginIp) - if LimitError != nil { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil - } - if Limited { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil - } - Limited, LimitError = imdb.IsLimitUserLoginIp(user.UserID, req.LoginIp) - if LimitError != nil { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil - } - if Limited { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil - } - Limited, LimitError = imdb.UserIsBlock(user.UserID) - if LimitError != nil { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: LimitError.Error()}}, nil - } - if Limited { - return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.LoginLimit, ErrMsg: "limited Login"}}, nil - } - } - tokens, expTime, err := token_verify.CreateToken(req.FromUserID, int(req.Platform)) if err != nil { errMsg := req.OperationID + " token_verify.CreateToken failed " + err.Error() + req.FromUserID + utils.Int32ToString(req.Platform) log.NewError(req.OperationID, errMsg) return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: errMsg}}, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), " rpc return ", pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}) return &pbAuth.UserTokenResp{CommonResp: &pbAuth.CommonResp{}, Token: tokens, ExpiredTime: expTime}, nil } diff --git a/pkg/common/db/mysql_model/im_mysql_model/ip_model.go b/pkg/common/db/mysql_model/im_mysql_model/ip_model.go index cea844496..7213bdced 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/ip_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/ip_model.go @@ -74,3 +74,15 @@ func GetRegisterUserNum(ip string) ([]string, error) { err := db.DB.MysqlDB.DefaultGormDB().Model(&db.Register{}).Where("register_ip=?", ip).Pluck("user_id", &userIDList).Error return userIDList, err } + +func InsertIpRecord(userID, createIp string) error { + record := &db.UserIpRecord{UserID: userID, CreateIp: createIp, LastLoginTime: time.Now(), LoginTimes: 1} + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpRecord{}).Create(record).Error + return err +} + +func UpdateIpReocord(userID, ip string) error { + record := &db.UserIpRecord{UserID: userID, LastLoginIp: ip, LastLoginTime: time.Now()} + err := db.DB.MysqlDB.DefaultGormDB().Model(&db.UserIpRecord{}).Updates(record).Updates("login_times = login_times + 1").Error + return err +} diff --git a/pkg/common/db/mysql_model/im_mysql_model/user_model.go b/pkg/common/db/mysql_model/im_mysql_model/user_model.go index 4605fd5a8..caf76744c 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/user_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/user_model.go @@ -43,9 +43,6 @@ func UserRegister(user db.User) error { if user.Birth.Unix() < 0 { user.Birth = utils.UnixSecondToTime(0) } - // user.LastLoginTime = time.Now() - // user.LoginTimes = 0 - // user.LastLoginIp = user.CreateIp err := db.DB.MysqlDB.DefaultGormDB().Table("users").Create(&user).Error if err != nil { return err diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 5e99b623f..71dd88c26 100644 --- a/pkg/proto/sdk_ws/ws.pb.go +++ b/pkg/proto/sdk_ws/ws.pb.go @@ -46,7 +46,7 @@ func (m *GroupInfo) Reset() { *m = GroupInfo{} } func (m *GroupInfo) String() string { return proto.CompactTextString(m) } func (*GroupInfo) ProtoMessage() {} func (*GroupInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{0} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{0} } func (m *GroupInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfo.Unmarshal(m, b) @@ -204,7 +204,7 @@ func (m *GroupInfoForSet) Reset() { *m = GroupInfoForSet{} } func (m *GroupInfoForSet) String() string { return proto.CompactTextString(m) } func (*GroupInfoForSet) ProtoMessage() {} func (*GroupInfoForSet) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{1} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{1} } func (m *GroupInfoForSet) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoForSet.Unmarshal(m, b) @@ -309,7 +309,7 @@ func (m *GroupMemberFullInfo) Reset() { *m = GroupMemberFullInfo{} } func (m *GroupMemberFullInfo) String() string { return proto.CompactTextString(m) } func (*GroupMemberFullInfo) ProtoMessage() {} func (*GroupMemberFullInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{2} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{2} } func (m *GroupMemberFullInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberFullInfo.Unmarshal(m, b) @@ -428,7 +428,7 @@ func (m *PublicUserInfo) Reset() { *m = PublicUserInfo{} } func (m *PublicUserInfo) String() string { return proto.CompactTextString(m) } func (*PublicUserInfo) ProtoMessage() {} func (*PublicUserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{3} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -492,15 +492,9 @@ type UserInfo struct { Birth uint32 `protobuf:"varint,6,opt,name=birth" json:"birth,omitempty"` Email string `protobuf:"bytes,7,opt,name=email" json:"email,omitempty"` Ex string `protobuf:"bytes,8,opt,name=ex" json:"ex,omitempty"` - CreateIp string `protobuf:"bytes,9,opt,name=createIp" json:"createIp,omitempty"` - CreateTime uint32 `protobuf:"varint,10,opt,name=createTime" json:"createTime,omitempty"` - LastLoginIp string `protobuf:"bytes,11,opt,name=LastLoginIp" json:"LastLoginIp,omitempty"` - LastLoginTime uint32 `protobuf:"varint,12,opt,name=LastLoginTime" json:"LastLoginTime,omitempty"` - LoginTimes int32 `protobuf:"varint,13,opt,name=LoginTimes" json:"LoginTimes,omitempty"` - LoginLimit int32 `protobuf:"varint,14,opt,name=LoginLimit" json:"LoginLimit,omitempty"` - AppMangerLevel int32 `protobuf:"varint,15,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` - GlobalRecvMsgOpt int32 `protobuf:"varint,16,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` - InvitationCode string `protobuf:"bytes,17,opt,name=invitationCode" json:"invitationCode,omitempty"` + CreateTime uint32 `protobuf:"varint,9,opt,name=createTime" json:"createTime,omitempty"` + AppMangerLevel int32 `protobuf:"varint,10,opt,name=appMangerLevel" json:"appMangerLevel,omitempty"` + GlobalRecvMsgOpt int32 `protobuf:"varint,11,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -510,7 +504,7 @@ func (m *UserInfo) Reset() { *m = UserInfo{} } func (m *UserInfo) String() string { return proto.CompactTextString(m) } func (*UserInfo) ProtoMessage() {} func (*UserInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{4} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -586,13 +580,6 @@ func (m *UserInfo) GetEx() string { return "" } -func (m *UserInfo) GetCreateIp() string { - if m != nil { - return m.CreateIp - } - return "" -} - func (m *UserInfo) GetCreateTime() uint32 { if m != nil { return m.CreateTime @@ -600,34 +587,6 @@ func (m *UserInfo) GetCreateTime() uint32 { return 0 } -func (m *UserInfo) GetLastLoginIp() string { - if m != nil { - return m.LastLoginIp - } - return "" -} - -func (m *UserInfo) GetLastLoginTime() uint32 { - if m != nil { - return m.LastLoginTime - } - return 0 -} - -func (m *UserInfo) GetLoginTimes() int32 { - if m != nil { - return m.LoginTimes - } - return 0 -} - -func (m *UserInfo) GetLoginLimit() int32 { - if m != nil { - return m.LoginLimit - } - return 0 -} - func (m *UserInfo) GetAppMangerLevel() int32 { if m != nil { return m.AppMangerLevel @@ -642,13 +601,6 @@ func (m *UserInfo) GetGlobalRecvMsgOpt() int32 { return 0 } -func (m *UserInfo) GetInvitationCode() string { - if m != nil { - return m.InvitationCode - } - return "" -} - type FriendInfo struct { OwnerUserID string `protobuf:"bytes,1,opt,name=ownerUserID" json:"ownerUserID,omitempty"` Remark string `protobuf:"bytes,2,opt,name=remark" json:"remark,omitempty"` @@ -666,7 +618,7 @@ func (m *FriendInfo) Reset() { *m = FriendInfo{} } func (m *FriendInfo) String() string { return proto.CompactTextString(m) } func (*FriendInfo) ProtoMessage() {} func (*FriendInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{5} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -751,7 +703,7 @@ func (m *BlackInfo) Reset() { *m = BlackInfo{} } func (m *BlackInfo) String() string { return proto.CompactTextString(m) } func (*BlackInfo) ProtoMessage() {} func (*BlackInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{6} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -834,7 +786,7 @@ func (m *GroupRequest) Reset() { *m = GroupRequest{} } func (m *GroupRequest) String() string { return proto.CompactTextString(m) } func (*GroupRequest) ProtoMessage() {} func (*GroupRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{7} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -956,7 +908,7 @@ func (m *FriendRequest) Reset() { *m = FriendRequest{} } func (m *FriendRequest) String() string { return proto.CompactTextString(m) } func (*FriendRequest) ProtoMessage() {} func (*FriendRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{8} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1101,7 +1053,7 @@ func (m *Department) Reset() { *m = Department{} } func (m *Department) String() string { return proto.CompactTextString(m) } func (*Department) ProtoMessage() {} func (*Department) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{9} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1212,7 +1164,7 @@ func (m *OrganizationUser) Reset() { *m = OrganizationUser{} } func (m *OrganizationUser) String() string { return proto.CompactTextString(m) } func (*OrganizationUser) ProtoMessage() {} func (*OrganizationUser) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{10} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1326,7 +1278,7 @@ func (m *DepartmentMember) Reset() { *m = DepartmentMember{} } func (m *DepartmentMember) String() string { return proto.CompactTextString(m) } func (*DepartmentMember) ProtoMessage() {} func (*DepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{11} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1407,7 +1359,7 @@ func (m *UserDepartmentMember) Reset() { *m = UserDepartmentMember{} } func (m *UserDepartmentMember) String() string { return proto.CompactTextString(m) } func (*UserDepartmentMember) ProtoMessage() {} func (*UserDepartmentMember) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{12} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1453,7 +1405,7 @@ func (m *UserInDepartment) Reset() { *m = UserInDepartment{} } func (m *UserInDepartment) String() string { return proto.CompactTextString(m) } func (*UserInDepartment) ProtoMessage() {} func (*UserInDepartment) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{13} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1502,7 +1454,7 @@ func (m *PullMessageBySeqListReq) Reset() { *m = PullMessageBySeqListReq func (m *PullMessageBySeqListReq) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListReq) ProtoMessage() {} func (*PullMessageBySeqListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{14} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1561,7 +1513,7 @@ func (m *SeqList) Reset() { *m = SeqList{} } func (m *SeqList) String() string { return proto.CompactTextString(m) } func (*SeqList) ProtoMessage() {} func (*SeqList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{15} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1599,7 +1551,7 @@ func (m *MsgDataList) Reset() { *m = MsgDataList{} } func (m *MsgDataList) String() string { return proto.CompactTextString(m) } func (*MsgDataList) ProtoMessage() {} func (*MsgDataList) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{16} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1640,7 +1592,7 @@ func (m *PullMessageBySeqListResp) Reset() { *m = PullMessageBySeqListRe func (m *PullMessageBySeqListResp) String() string { return proto.CompactTextString(m) } func (*PullMessageBySeqListResp) ProtoMessage() {} func (*PullMessageBySeqListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{17} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1701,7 +1653,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{18} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1754,7 +1706,7 @@ func (m *MaxAndMinSeq) Reset() { *m = MaxAndMinSeq{} } func (m *MaxAndMinSeq) String() string { return proto.CompactTextString(m) } func (*MaxAndMinSeq) ProtoMessage() {} func (*MaxAndMinSeq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{19} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1803,7 +1755,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{20} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1871,7 +1823,7 @@ func (m *UserSendMsgResp) Reset() { *m = UserSendMsgResp{} } func (m *UserSendMsgResp) String() string { return proto.CompactTextString(m) } func (*UserSendMsgResp) ProtoMessage() {} func (*UserSendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{21} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1944,7 +1896,7 @@ func (m *MsgData) Reset() { *m = MsgData{} } func (m *MsgData) String() string { return proto.CompactTextString(m) } func (*MsgData) ProtoMessage() {} func (*MsgData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{22} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2133,7 +2085,7 @@ func (m *OfflinePushInfo) Reset() { *m = OfflinePushInfo{} } func (m *OfflinePushInfo) String() string { return proto.CompactTextString(m) } func (*OfflinePushInfo) ProtoMessage() {} func (*OfflinePushInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{23} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2201,7 +2153,7 @@ func (m *TipsComm) Reset() { *m = TipsComm{} } func (m *TipsComm) String() string { return proto.CompactTextString(m) } func (*TipsComm) ProtoMessage() {} func (*TipsComm) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{24} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2258,7 +2210,7 @@ func (m *GroupCreatedTips) Reset() { *m = GroupCreatedTips{} } func (m *GroupCreatedTips) String() string { return proto.CompactTextString(m) } func (*GroupCreatedTips) ProtoMessage() {} func (*GroupCreatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{25} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2327,7 +2279,7 @@ func (m *GroupInfoSetTips) Reset() { *m = GroupInfoSetTips{} } func (m *GroupInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupInfoSetTips) ProtoMessage() {} func (*GroupInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{26} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2382,7 +2334,7 @@ func (m *JoinGroupApplicationTips) Reset() { *m = JoinGroupApplicationTi func (m *JoinGroupApplicationTips) String() string { return proto.CompactTextString(m) } func (*JoinGroupApplicationTips) ProtoMessage() {} func (*JoinGroupApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{27} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2438,7 +2390,7 @@ func (m *MemberQuitTips) Reset() { *m = MemberQuitTips{} } func (m *MemberQuitTips) String() string { return proto.CompactTextString(m) } func (*MemberQuitTips) ProtoMessage() {} func (*MemberQuitTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{28} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2493,7 +2445,7 @@ func (m *GroupApplicationAcceptedTips) Reset() { *m = GroupApplicationAc func (m *GroupApplicationAcceptedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationAcceptedTips) ProtoMessage() {} func (*GroupApplicationAcceptedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{29} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2548,7 +2500,7 @@ func (m *GroupApplicationRejectedTips) Reset() { *m = GroupApplicationRe func (m *GroupApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*GroupApplicationRejectedTips) ProtoMessage() {} func (*GroupApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{30} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2604,7 +2556,7 @@ func (m *GroupOwnerTransferredTips) Reset() { *m = GroupOwnerTransferred func (m *GroupOwnerTransferredTips) String() string { return proto.CompactTextString(m) } func (*GroupOwnerTransferredTips) ProtoMessage() {} func (*GroupOwnerTransferredTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{31} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2667,7 +2619,7 @@ func (m *MemberKickedTips) Reset() { *m = MemberKickedTips{} } func (m *MemberKickedTips) String() string { return proto.CompactTextString(m) } func (*MemberKickedTips) ProtoMessage() {} func (*MemberKickedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{32} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2730,7 +2682,7 @@ func (m *MemberInvitedTips) Reset() { *m = MemberInvitedTips{} } func (m *MemberInvitedTips) String() string { return proto.CompactTextString(m) } func (*MemberInvitedTips) ProtoMessage() {} func (*MemberInvitedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{33} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2792,7 +2744,7 @@ func (m *MemberEnterTips) Reset() { *m = MemberEnterTips{} } func (m *MemberEnterTips) String() string { return proto.CompactTextString(m) } func (*MemberEnterTips) ProtoMessage() {} func (*MemberEnterTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{34} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2846,7 +2798,7 @@ func (m *GroupDismissedTips) Reset() { *m = GroupDismissedTips{} } func (m *GroupDismissedTips) String() string { return proto.CompactTextString(m) } func (*GroupDismissedTips) ProtoMessage() {} func (*GroupDismissedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{35} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2902,7 +2854,7 @@ func (m *GroupMemberMutedTips) Reset() { *m = GroupMemberMutedTips{} } func (m *GroupMemberMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberMutedTips) ProtoMessage() {} func (*GroupMemberMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{36} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2971,7 +2923,7 @@ func (m *GroupMemberCancelMutedTips) Reset() { *m = GroupMemberCancelMut func (m *GroupMemberCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberCancelMutedTips) ProtoMessage() {} func (*GroupMemberCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{37} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3032,7 +2984,7 @@ func (m *GroupMutedTips) Reset() { *m = GroupMutedTips{} } func (m *GroupMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupMutedTips) ProtoMessage() {} func (*GroupMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{38} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3086,7 +3038,7 @@ func (m *GroupCancelMutedTips) Reset() { *m = GroupCancelMutedTips{} } func (m *GroupCancelMutedTips) String() string { return proto.CompactTextString(m) } func (*GroupCancelMutedTips) ProtoMessage() {} func (*GroupCancelMutedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{39} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3141,7 +3093,7 @@ func (m *GroupMemberInfoSetTips) Reset() { *m = GroupMemberInfoSetTips{} func (m *GroupMemberInfoSetTips) String() string { return proto.CompactTextString(m) } func (*GroupMemberInfoSetTips) ProtoMessage() {} func (*GroupMemberInfoSetTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{40} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3201,7 +3153,7 @@ func (m *OrganizationChangedTips) Reset() { *m = OrganizationChangedTips func (m *OrganizationChangedTips) String() string { return proto.CompactTextString(m) } func (*OrganizationChangedTips) ProtoMessage() {} func (*OrganizationChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{41} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3248,7 +3200,7 @@ func (m *FriendApplication) Reset() { *m = FriendApplication{} } func (m *FriendApplication) String() string { return proto.CompactTextString(m) } func (*FriendApplication) ProtoMessage() {} func (*FriendApplication) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{42} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3301,7 +3253,7 @@ func (m *FromToUserID) Reset() { *m = FromToUserID{} } func (m *FromToUserID) String() string { return proto.CompactTextString(m) } func (*FromToUserID) ProtoMessage() {} func (*FromToUserID) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{43} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3347,7 +3299,7 @@ func (m *FriendApplicationTips) Reset() { *m = FriendApplicationTips{} } func (m *FriendApplicationTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationTips) ProtoMessage() {} func (*FriendApplicationTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{44} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3387,7 +3339,7 @@ func (m *FriendApplicationApprovedTips) Reset() { *m = FriendApplication func (m *FriendApplicationApprovedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationApprovedTips) ProtoMessage() {} func (*FriendApplicationApprovedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{45} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3434,7 +3386,7 @@ func (m *FriendApplicationRejectedTips) Reset() { *m = FriendApplication func (m *FriendApplicationRejectedTips) String() string { return proto.CompactTextString(m) } func (*FriendApplicationRejectedTips) ProtoMessage() {} func (*FriendApplicationRejectedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{46} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3482,7 +3434,7 @@ func (m *FriendAddedTips) Reset() { *m = FriendAddedTips{} } func (m *FriendAddedTips) String() string { return proto.CompactTextString(m) } func (*FriendAddedTips) ProtoMessage() {} func (*FriendAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{47} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3535,7 +3487,7 @@ func (m *FriendDeletedTips) Reset() { *m = FriendDeletedTips{} } func (m *FriendDeletedTips) String() string { return proto.CompactTextString(m) } func (*FriendDeletedTips) ProtoMessage() {} func (*FriendDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{48} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3573,7 +3525,7 @@ func (m *BlackAddedTips) Reset() { *m = BlackAddedTips{} } func (m *BlackAddedTips) String() string { return proto.CompactTextString(m) } func (*BlackAddedTips) ProtoMessage() {} func (*BlackAddedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{49} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3611,7 +3563,7 @@ func (m *BlackDeletedTips) Reset() { *m = BlackDeletedTips{} } func (m *BlackDeletedTips) String() string { return proto.CompactTextString(m) } func (*BlackDeletedTips) ProtoMessage() {} func (*BlackDeletedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{50} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3649,7 +3601,7 @@ func (m *FriendInfoChangedTips) Reset() { *m = FriendInfoChangedTips{} } func (m *FriendInfoChangedTips) String() string { return proto.CompactTextString(m) } func (*FriendInfoChangedTips) ProtoMessage() {} func (*FriendInfoChangedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{51} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3688,7 +3640,7 @@ func (m *UserInfoUpdatedTips) Reset() { *m = UserInfoUpdatedTips{} } func (m *UserInfoUpdatedTips) String() string { return proto.CompactTextString(m) } func (*UserInfoUpdatedTips) ProtoMessage() {} func (*UserInfoUpdatedTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{52} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3728,7 +3680,7 @@ func (m *ConversationUpdateTips) Reset() { *m = ConversationUpdateTips{} func (m *ConversationUpdateTips) String() string { return proto.CompactTextString(m) } func (*ConversationUpdateTips) ProtoMessage() {} func (*ConversationUpdateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{53} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3775,7 +3727,7 @@ func (m *ConversationSetPrivateTips) Reset() { *m = ConversationSetPriva func (m *ConversationSetPrivateTips) String() string { return proto.CompactTextString(m) } func (*ConversationSetPrivateTips) ProtoMessage() {} func (*ConversationSetPrivateTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{54} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3830,7 +3782,7 @@ func (m *DeleteMessageTips) Reset() { *m = DeleteMessageTips{} } func (m *DeleteMessageTips) String() string { return proto.CompactTextString(m) } func (*DeleteMessageTips) ProtoMessage() {} func (*DeleteMessageTips) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{55} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3884,7 +3836,7 @@ func (m *RequestPagination) Reset() { *m = RequestPagination{} } func (m *RequestPagination) String() string { return proto.CompactTextString(m) } func (*RequestPagination) ProtoMessage() {} func (*RequestPagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{56} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3930,7 +3882,7 @@ func (m *ResponsePagination) Reset() { *m = ResponsePagination{} } func (m *ResponsePagination) String() string { return proto.CompactTextString(m) } func (*ResponsePagination) ProtoMessage() {} func (*ResponsePagination) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{57} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3984,7 +3936,7 @@ func (m *SignalReq) Reset() { *m = SignalReq{} } func (m *SignalReq) String() string { return proto.CompactTextString(m) } func (*SignalReq) ProtoMessage() {} func (*SignalReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{58} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4282,7 +4234,7 @@ func (m *SignalResp) Reset() { *m = SignalResp{} } func (m *SignalResp) String() string { return proto.CompactTextString(m) } func (*SignalResp) ProtoMessage() {} func (*SignalResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{59} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4581,7 +4533,7 @@ func (m *InvitationInfo) Reset() { *m = InvitationInfo{} } func (m *InvitationInfo) String() string { return proto.CompactTextString(m) } func (*InvitationInfo) ProtoMessage() {} func (*InvitationInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{60} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4684,7 +4636,7 @@ func (m *ParticipantMetaData) Reset() { *m = ParticipantMetaData{} } func (m *ParticipantMetaData) String() string { return proto.CompactTextString(m) } func (*ParticipantMetaData) ProtoMessage() {} func (*ParticipantMetaData) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{61} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4739,7 +4691,7 @@ func (m *SignalInviteReq) Reset() { *m = SignalInviteReq{} } func (m *SignalInviteReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteReq) ProtoMessage() {} func (*SignalInviteReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{62} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4800,7 +4752,7 @@ func (m *SignalInviteReply) Reset() { *m = SignalInviteReply{} } func (m *SignalInviteReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteReply) ProtoMessage() {} func (*SignalInviteReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{63} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4855,7 +4807,7 @@ func (m *SignalInviteInGroupReq) Reset() { *m = SignalInviteInGroupReq{} func (m *SignalInviteInGroupReq) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReq) ProtoMessage() {} func (*SignalInviteInGroupReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{64} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -4916,7 +4868,7 @@ func (m *SignalInviteInGroupReply) Reset() { *m = SignalInviteInGroupRep func (m *SignalInviteInGroupReply) String() string { return proto.CompactTextString(m) } func (*SignalInviteInGroupReply) ProtoMessage() {} func (*SignalInviteInGroupReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{65} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -4971,7 +4923,7 @@ func (m *SignalCancelReq) Reset() { *m = SignalCancelReq{} } func (m *SignalCancelReq) String() string { return proto.CompactTextString(m) } func (*SignalCancelReq) ProtoMessage() {} func (*SignalCancelReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{66} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5029,7 +4981,7 @@ func (m *SignalCancelReply) Reset() { *m = SignalCancelReply{} } func (m *SignalCancelReply) String() string { return proto.CompactTextString(m) } func (*SignalCancelReply) ProtoMessage() {} func (*SignalCancelReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{67} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5064,7 +5016,7 @@ func (m *SignalAcceptReq) Reset() { *m = SignalAcceptReq{} } func (m *SignalAcceptReq) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReq) ProtoMessage() {} func (*SignalAcceptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{68} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5132,7 +5084,7 @@ func (m *SignalAcceptReply) Reset() { *m = SignalAcceptReply{} } func (m *SignalAcceptReply) String() string { return proto.CompactTextString(m) } func (*SignalAcceptReply) ProtoMessage() {} func (*SignalAcceptReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{69} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5186,7 +5138,7 @@ func (m *SignalHungUpReq) Reset() { *m = SignalHungUpReq{} } func (m *SignalHungUpReq) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReq) ProtoMessage() {} func (*SignalHungUpReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{70} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5237,7 +5189,7 @@ func (m *SignalHungUpReply) Reset() { *m = SignalHungUpReply{} } func (m *SignalHungUpReply) String() string { return proto.CompactTextString(m) } func (*SignalHungUpReply) ProtoMessage() {} func (*SignalHungUpReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{71} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5272,7 +5224,7 @@ func (m *SignalRejectReq) Reset() { *m = SignalRejectReq{} } func (m *SignalRejectReq) String() string { return proto.CompactTextString(m) } func (*SignalRejectReq) ProtoMessage() {} func (*SignalRejectReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{72} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5337,7 +5289,7 @@ func (m *SignalRejectReply) Reset() { *m = SignalRejectReply{} } func (m *SignalRejectReply) String() string { return proto.CompactTextString(m) } func (*SignalRejectReply) ProtoMessage() {} func (*SignalRejectReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{73} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5369,7 +5321,7 @@ func (m *SignalGetRoomByGroupIDReq) Reset() { *m = SignalGetRoomByGroupI func (m *SignalGetRoomByGroupIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReq) ProtoMessage() {} func (*SignalGetRoomByGroupIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{74} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5418,7 +5370,7 @@ func (m *SignalGetRoomByGroupIDReply) Reset() { *m = SignalGetRoomByGrou func (m *SignalGetRoomByGroupIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetRoomByGroupIDReply) ProtoMessage() {} func (*SignalGetRoomByGroupIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{75} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5487,7 +5439,7 @@ func (m *DelMsgListReq) Reset() { *m = DelMsgListReq{} } func (m *DelMsgListReq) String() string { return proto.CompactTextString(m) } func (*DelMsgListReq) ProtoMessage() {} func (*DelMsgListReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{76} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{76} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5547,7 +5499,7 @@ func (m *DelMsgListResp) Reset() { *m = DelMsgListResp{} } func (m *DelMsgListResp) String() string { return proto.CompactTextString(m) } func (*DelMsgListResp) ProtoMessage() {} func (*DelMsgListResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_9506eea4334b9b75, []int{77} + return fileDescriptor_ws_28f8f8e2747ce3c8, []int{77} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5666,239 +5618,234 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_9506eea4334b9b75) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_28f8f8e2747ce3c8) } -var fileDescriptor_ws_9506eea4334b9b75 = []byte{ - // 3681 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5c, 0xcd, 0x6f, 0x1c, 0xc7, - 0xb1, 0x7f, 0x33, 0xfb, 0x41, 0x6e, 0x2d, 0x3f, 0x96, 0x23, 0x99, 0x5e, 0xd3, 0xb2, 0x1e, 0xdf, - 0x58, 0xb0, 0xfd, 0xf4, 0xfc, 0xa8, 0x07, 0xf9, 0xd9, 0x78, 0xcf, 0x1f, 0x0a, 0x44, 0xd2, 0xa2, - 0x68, 0x93, 0x22, 0x3d, 0x2b, 0xd9, 0x81, 0x6d, 0x40, 0x1e, 0xee, 0x34, 0x97, 0x63, 0xce, 0x4e, - 0x0f, 0xe7, 0x83, 0x12, 0x73, 0x09, 0x90, 0x00, 0x41, 0x90, 0x43, 0x72, 0x49, 0x10, 0x20, 0xc7, - 0x5c, 0x82, 0x04, 0x81, 0x11, 0x04, 0x49, 0x90, 0x43, 0x10, 0xe4, 0x90, 0x5b, 0x2e, 0x39, 0xe4, - 0x96, 0x43, 0x82, 0x9c, 0xf3, 0x0f, 0x04, 0x09, 0xe0, 0xa0, 0xbb, 0x7a, 0x66, 0xba, 0x67, 0x66, - 0xc9, 0x15, 0x41, 0x58, 0x32, 0x94, 0x1b, 0xab, 0xa6, 0xab, 0xba, 0xba, 0xea, 0xd7, 0xd5, 0xd5, - 0x1f, 0x4b, 0x98, 0x8d, 0x9c, 0xfd, 0xbb, 0xf7, 0xa2, 0x2b, 0xf7, 0xa2, 0xa5, 0x20, 0xa4, 0x31, - 0x35, 0xe6, 0x22, 0x12, 0x1e, 0x92, 0xf0, 0xae, 0x1d, 0xb8, 0x77, 0x03, 0x3b, 0xb4, 0x87, 0xd1, - 0xc2, 0xf3, 0x5b, 0x01, 0xf1, 0xef, 0xae, 0x6f, 0x5e, 0x09, 0xf6, 0x07, 0x57, 0x78, 0xab, 0x2b, - 0xa9, 0x54, 0x68, 0x07, 0x01, 0x09, 0x85, 0xac, 0xf9, 0xa7, 0x3a, 0xb4, 0xd6, 0x42, 0x9a, 0x04, - 0xeb, 0xfe, 0x2e, 0x35, 0xba, 0x30, 0x31, 0xe0, 0xc4, 0x6a, 0x57, 0x5b, 0xd4, 0x5e, 0x68, 0x59, - 0x29, 0x69, 0x5c, 0x80, 0x16, 0xff, 0xf3, 0x96, 0x3d, 0x24, 0x5d, 0x9d, 0x7f, 0xcb, 0x19, 0x86, - 0x09, 0x53, 0x3e, 0x8d, 0xdd, 0x5d, 0xb7, 0x6f, 0xc7, 0x2e, 0xf5, 0xbb, 0x35, 0xde, 0x40, 0xe1, - 0xb1, 0x36, 0xae, 0x1f, 0x87, 0xd4, 0x49, 0xfa, 0xbc, 0x4d, 0x1d, 0xdb, 0xc8, 0x3c, 0xd6, 0xff, - 0xae, 0xdd, 0x27, 0x77, 0xac, 0x8d, 0x6e, 0x03, 0xfb, 0x17, 0xa4, 0xb1, 0x08, 0x6d, 0x7a, 0xcf, - 0x27, 0xe1, 0x9d, 0x88, 0x84, 0xeb, 0xab, 0xdd, 0x26, 0xff, 0x2a, 0xb3, 0x8c, 0x8b, 0x00, 0xfd, - 0x90, 0xd8, 0x31, 0xb9, 0xed, 0x0e, 0x49, 0x77, 0x62, 0x51, 0x7b, 0x61, 0xda, 0x92, 0x38, 0x4c, - 0xc3, 0x90, 0x0c, 0x77, 0x48, 0xb8, 0x42, 0x13, 0x3f, 0xee, 0x4e, 0xf2, 0x06, 0x32, 0xcb, 0x98, - 0x01, 0x9d, 0xdc, 0xef, 0xb6, 0xb8, 0x6a, 0x9d, 0xdc, 0x37, 0xe6, 0xa1, 0x19, 0xc5, 0x76, 0x9c, - 0x44, 0x5d, 0x58, 0xd4, 0x5e, 0x68, 0x58, 0x82, 0x32, 0x2e, 0xc1, 0x34, 0xd7, 0x4b, 0x53, 0x6b, - 0xda, 0x5c, 0x44, 0x65, 0x66, 0x1e, 0xbb, 0x7d, 0x14, 0x90, 0xee, 0x14, 0x57, 0x90, 0x33, 0x8c, - 0xcb, 0xd0, 0xf1, 0x09, 0x71, 0xde, 0x25, 0x61, 0xee, 0xb5, 0x69, 0xde, 0xa8, 0xc4, 0x37, 0x9e, - 0x83, 0x19, 0x8f, 0xd2, 0xfd, 0x4d, 0x6e, 0x2a, 0x8b, 0x53, 0x77, 0x86, 0xb7, 0x2c, 0x70, 0x8d, - 0x17, 0x61, 0xce, 0x0e, 0x02, 0xef, 0x08, 0x59, 0x37, 0x42, 0x97, 0xf8, 0x4e, 0x77, 0x96, 0x37, - 0x2d, 0x7f, 0x30, 0x5e, 0x81, 0x79, 0x39, 0x3e, 0x77, 0x02, 0x27, 0xf5, 0x5d, 0x87, 0xbb, 0x66, - 0xc4, 0x57, 0x63, 0x09, 0x0c, 0xe5, 0x0b, 0xba, 0x60, 0x8e, 0xbb, 0xa0, 0xe2, 0x8b, 0xf9, 0xed, - 0x1a, 0xcc, 0x66, 0x08, 0xbb, 0x41, 0xc3, 0x1e, 0x89, 0x1f, 0x61, 0x9c, 0x21, 0x06, 0x9a, 0x19, - 0x06, 0xd6, 0x2a, 0xe2, 0xc4, 0xb0, 0xd5, 0xbe, 0xfa, 0xf4, 0xd2, 0x80, 0xd2, 0x81, 0x47, 0x70, - 0x22, 0xed, 0x24, 0xbb, 0x4b, 0xeb, 0x7e, 0xfc, 0xd2, 0xd5, 0x77, 0x6d, 0x2f, 0x21, 0x15, 0x41, - 0x5c, 0x29, 0x05, 0x71, 0xf2, 0x64, 0x35, 0xc5, 0x08, 0xaf, 0x57, 0x45, 0xb8, 0x75, 0xb2, 0x9e, - 0xb2, 0x94, 0xf9, 0xa9, 0x0e, 0xe7, 0x78, 0x58, 0x04, 0x37, 0xf1, 0xbc, 0x13, 0x52, 0xc0, 0x3c, - 0x34, 0x13, 0x0c, 0x36, 0xc6, 0x45, 0x50, 0x2c, 0x64, 0x21, 0xf5, 0xc8, 0x06, 0x39, 0x24, 0x1e, - 0x8f, 0x48, 0xc3, 0xca, 0x19, 0xc6, 0x02, 0x4c, 0x7e, 0x4c, 0x5d, 0x9f, 0x03, 0xab, 0xce, 0x3f, - 0x66, 0x34, 0xfb, 0xe6, 0xbb, 0xfd, 0x7d, 0x9f, 0xc5, 0x1a, 0xe3, 0x90, 0xd1, 0x72, 0x88, 0x9a, - 0x6a, 0x88, 0x9e, 0x83, 0x19, 0x3b, 0x08, 0x36, 0x6d, 0x7f, 0x40, 0x42, 0xec, 0x74, 0x02, 0xa7, - 0x83, 0xca, 0x65, 0x09, 0x81, 0xf5, 0xd4, 0xa3, 0x49, 0xd8, 0x27, 0xdc, 0xdb, 0x0d, 0x4b, 0xe2, - 0x30, 0x3d, 0x34, 0x20, 0xa1, 0x34, 0x8f, 0x71, 0xea, 0x17, 0xb8, 0x02, 0x12, 0x90, 0x41, 0x82, - 0x25, 0x92, 0x24, 0x26, 0x6f, 0xfa, 0x0e, 0x1f, 0x54, 0x5b, 0x24, 0x92, 0x9c, 0xc5, 0x12, 0x84, - 0xeb, 0x1f, 0xba, 0x71, 0x96, 0xae, 0xa6, 0x30, 0x41, 0x28, 0x4c, 0xf3, 0x6b, 0x1a, 0xcc, 0x6c, - 0x27, 0x3b, 0x9e, 0xdb, 0xe7, 0x0c, 0xe6, 0xfc, 0xdc, 0xc5, 0x9a, 0xe2, 0x62, 0xd9, 0x51, 0xfa, - 0x68, 0x47, 0xd5, 0x54, 0x47, 0xcd, 0x43, 0x73, 0x40, 0x7c, 0x87, 0x84, 0xc2, 0xf1, 0x82, 0x12, - 0x03, 0x6a, 0xa4, 0x03, 0x32, 0xbf, 0x59, 0x87, 0xc9, 0xcf, 0xd8, 0x84, 0x45, 0x68, 0x07, 0x7b, - 0xd4, 0x27, 0xb7, 0x12, 0x06, 0x3e, 0x61, 0x8b, 0xcc, 0x32, 0xce, 0x43, 0x63, 0xc7, 0x0d, 0xe3, - 0x3d, 0x1e, 0xfd, 0x69, 0x0b, 0x09, 0xc6, 0x25, 0x43, 0xdb, 0xc5, 0x90, 0xb7, 0x2c, 0x24, 0xc4, - 0x80, 0x26, 0xb3, 0x08, 0x2d, 0xc0, 0x24, 0x26, 0xfe, 0xf5, 0x40, 0xc4, 0x34, 0xa3, 0x0b, 0xcb, - 0x04, 0x54, 0x2d, 0x13, 0x1b, 0x76, 0x14, 0x6f, 0xd0, 0x81, 0xeb, 0xaf, 0x07, 0x22, 0xb5, 0xcb, - 0x2c, 0x16, 0xdd, 0x8c, 0xe4, 0x4a, 0xa6, 0xb8, 0x12, 0x95, 0xc9, 0xfa, 0xc9, 0x88, 0x48, 0xa4, - 0x76, 0x89, 0x93, 0x7d, 0xdf, 0x70, 0x87, 0x6e, 0x2c, 0x12, 0xba, 0xc4, 0xa9, 0x40, 0xf9, 0x6c, - 0x25, 0xca, 0x2f, 0x43, 0x67, 0xe0, 0xd1, 0x1d, 0xdb, 0xb3, 0x48, 0xff, 0x70, 0x33, 0x1a, 0x6c, - 0x05, 0x31, 0x4f, 0xe0, 0x0d, 0xab, 0xc4, 0x67, 0x3a, 0x39, 0x04, 0x79, 0x46, 0x5a, 0xa1, 0x0e, - 0x11, 0x69, 0xbb, 0xc0, 0x35, 0xff, 0xa6, 0x01, 0x60, 0x9a, 0xe0, 0x90, 0x28, 0xac, 0xbd, 0x5a, - 0x79, 0xed, 0x9d, 0x87, 0x66, 0x48, 0x86, 0x76, 0xb8, 0x9f, 0xa6, 0x06, 0xa4, 0x0a, 0xce, 0xae, - 0x95, 0x9c, 0xfd, 0x1a, 0xc0, 0x2e, 0xef, 0x87, 0xe9, 0xe1, 0x10, 0x61, 0x89, 0xac, 0x54, 0xce, - 0x2c, 0xa5, 0xe8, 0xb4, 0xa4, 0xe6, 0x2c, 0xef, 0xd8, 0x8e, 0x23, 0xa6, 0x77, 0x03, 0xf3, 0x4e, - 0xc6, 0xa8, 0x98, 0xdd, 0xcd, 0x63, 0x66, 0xf7, 0x44, 0x36, 0x19, 0xfe, 0xaa, 0x41, 0x6b, 0xd9, - 0xb3, 0xfb, 0xfb, 0x63, 0x0e, 0x5d, 0x1d, 0xa2, 0x5e, 0x1a, 0xe2, 0x1a, 0x4c, 0xef, 0x30, 0x75, - 0xe9, 0x10, 0xb8, 0x17, 0xda, 0x57, 0xff, 0xa3, 0x62, 0x94, 0x6a, 0x32, 0xb0, 0x54, 0x39, 0x75, - 0xb8, 0xf5, 0x93, 0x87, 0xdb, 0x38, 0x66, 0xb8, 0xd9, 0xfa, 0x66, 0x7e, 0xb7, 0x06, 0x53, 0x7c, - 0x19, 0xb0, 0xc8, 0x41, 0x42, 0xa2, 0xd8, 0x78, 0x03, 0x26, 0x93, 0xd4, 0x54, 0x6d, 0x5c, 0x53, - 0x33, 0x11, 0xe3, 0x55, 0xb1, 0x7e, 0x73, 0x79, 0x9d, 0xcb, 0x5f, 0xa8, 0x90, 0xcf, 0x0a, 0x02, - 0x2b, 0x6f, 0xce, 0x56, 0xee, 0x3d, 0xdb, 0x77, 0x3c, 0x62, 0x91, 0x28, 0xf1, 0x62, 0xb1, 0x96, - 0x28, 0x3c, 0x44, 0xda, 0xc1, 0x66, 0x34, 0x10, 0xeb, 0xba, 0xa0, 0x98, 0x77, 0xb0, 0x1d, 0xfb, - 0x84, 0x43, 0xcf, 0x19, 0x2c, 0x41, 0x85, 0xe4, 0x80, 0x47, 0x08, 0xd3, 0x49, 0x4a, 0xe6, 0x7d, - 0x0a, 0xaf, 0x21, 0x10, 0x14, 0x1e, 0x0b, 0x31, 0xd2, 0x5c, 0x01, 0x16, 0x8e, 0x12, 0xa7, 0x54, - 0x37, 0xaa, 0x0b, 0x0f, 0x94, 0x16, 0x9e, 0xd2, 0xf2, 0xd0, 0xae, 0x5a, 0x1e, 0xfe, 0x58, 0x83, - 0x69, 0x9c, 0x84, 0x69, 0x68, 0x2e, 0xb2, 0xd9, 0x42, 0x87, 0x0a, 0x16, 0x25, 0x0e, 0x1b, 0x0b, - 0xa3, 0x6e, 0xa9, 0x69, 0x5a, 0xe1, 0x31, 0x40, 0x33, 0xfa, 0x86, 0x92, 0xae, 0x65, 0x56, 0xda, - 0xcb, 0x9a, 0x9c, 0xb6, 0x25, 0x0e, 0x4b, 0xae, 0x31, 0x55, 0x30, 0x96, 0xd1, 0x4c, 0x36, 0xa6, - 0x59, 0xff, 0x88, 0x32, 0x89, 0xc3, 0xa2, 0x14, 0xd3, 0xb4, 0x6f, 0x74, 0x75, 0xce, 0x40, 0xcd, - 0xa2, 0x5f, 0x5c, 0xae, 0x33, 0xba, 0x84, 0x8d, 0xd6, 0xb1, 0xd8, 0x00, 0x05, 0x1b, 0xea, 0x14, - 0x6d, 0x97, 0xa6, 0xe8, 0x25, 0x98, 0x46, 0x3d, 0x85, 0xe5, 0x5a, 0x61, 0xaa, 0x08, 0x9b, 0x2e, - 0x22, 0x4c, 0xc5, 0xc8, 0xcc, 0x08, 0x8c, 0xcc, 0x66, 0xf3, 0xee, 0xa7, 0x3a, 0xc0, 0x2a, 0x09, - 0xec, 0x30, 0x1e, 0x12, 0x3f, 0x66, 0xc3, 0x73, 0x32, 0x2a, 0x0b, 0xae, 0xc2, 0x93, 0x57, 0x59, - 0x5d, 0x5d, 0x65, 0x0d, 0xa8, 0x73, 0x87, 0x63, 0x34, 0xf9, 0xdf, 0xcc, 0x99, 0x81, 0x1d, 0xa2, - 0x36, 0x9c, 0x2a, 0x19, 0xcd, 0x56, 0x51, 0x1a, 0x3a, 0x62, 0xdd, 0x6d, 0x58, 0x48, 0xb0, 0x14, - 0x92, 0xf7, 0xc7, 0x77, 0x2d, 0x4d, 0x5c, 0x71, 0x54, 0xee, 0x89, 0x1b, 0xad, 0xcb, 0xd0, 0x89, - 0x92, 0x9d, 0x7c, 0x70, 0xb7, 0x92, 0xa1, 0x98, 0x34, 0x25, 0x3e, 0x73, 0x2a, 0xee, 0xc0, 0x58, - 0xa3, 0x16, 0x6f, 0x94, 0x33, 0x8a, 0x95, 0x97, 0xf9, 0x63, 0x1d, 0x3a, 0x5b, 0xe1, 0xc0, 0xf6, - 0xdd, 0x2f, 0x65, 0x3b, 0x8c, 0x53, 0x15, 0x2c, 0x8b, 0xd0, 0x26, 0xfe, 0xc0, 0x73, 0xa3, 0xbd, - 0x5b, 0xb9, 0xdf, 0x64, 0x96, 0xec, 0xec, 0xfa, 0xa8, 0x92, 0xa6, 0xa1, 0x94, 0x34, 0xf3, 0xd0, - 0x1c, 0xd2, 0x1d, 0xd7, 0x4b, 0x71, 0x2f, 0x28, 0x8e, 0x79, 0xe2, 0x11, 0x5e, 0xdb, 0x64, 0x98, - 0x4f, 0x19, 0x79, 0x99, 0x33, 0x59, 0x59, 0xe6, 0xb4, 0xe4, 0x32, 0xe7, 0xa4, 0xd2, 0x05, 0xdd, - 0xd5, 0xce, 0xdc, 0xf5, 0x1b, 0x0d, 0x3a, 0xb9, 0xbb, 0xb1, 0xce, 0x1f, 0xe9, 0xae, 0x22, 0x02, - 0xf5, 0x0a, 0x04, 0x66, 0xb8, 0xa9, 0xc9, 0xb8, 0x61, 0x48, 0xa3, 0x91, 0x2b, 0x6d, 0xb6, 0x32, - 0x9a, 0xf5, 0xe6, 0x11, 0x5b, 0x72, 0x16, 0x52, 0xd2, 0xd6, 0xba, 0xa9, 0x6c, 0xad, 0x8b, 0xab, - 0xf1, 0x2f, 0x35, 0x38, 0xcf, 0xa2, 0x5c, 0x1a, 0xc6, 0x16, 0x74, 0x68, 0x01, 0x09, 0x62, 0xb9, - 0x7a, 0xb6, 0x62, 0xb9, 0x29, 0x82, 0xc6, 0x2a, 0x09, 0x33, 0x85, 0x4e, 0xa1, 0x13, 0xb1, 0x7e, - 0x55, 0x29, 0x2c, 0xda, 0x63, 0x95, 0x84, 0xcd, 0x5f, 0x69, 0xd0, 0xc1, 0x05, 0x52, 0x9a, 0xe7, - 0x67, 0x6e, 0xf6, 0x7b, 0x70, 0xbe, 0xd8, 0xf3, 0x86, 0x1b, 0xc5, 0x5d, 0x7d, 0xb1, 0x36, 0xae, - 0xe9, 0x95, 0x0a, 0xd8, 0x5c, 0x7b, 0x72, 0x3b, 0xf1, 0xbc, 0x4d, 0x12, 0x45, 0xf6, 0x80, 0x2c, - 0x1f, 0xf5, 0xc8, 0x01, 0xfb, 0x60, 0x91, 0x83, 0x91, 0x18, 0x62, 0xd5, 0x12, 0x2f, 0x37, 0x5c, - 0xea, 0x67, 0x10, 0x92, 0x59, 0x6c, 0x5a, 0x45, 0xa8, 0xa7, 0x5b, 0x5b, 0xac, 0xb1, 0x85, 0x58, - 0x90, 0xc6, 0x47, 0x30, 0xc5, 0x2b, 0x01, 0xd1, 0x4d, 0xb7, 0xce, 0x07, 0xf0, 0x7a, 0x65, 0xed, - 0x51, 0x69, 0x15, 0xd6, 0x14, 0x82, 0x7e, 0xd3, 0x8f, 0xc3, 0x23, 0x4b, 0xd1, 0xb8, 0xf0, 0x01, - 0xcc, 0x95, 0x9a, 0x18, 0x1d, 0xa8, 0xed, 0x93, 0x23, 0x31, 0x0e, 0xf6, 0xa7, 0xf1, 0x3f, 0xd0, - 0x38, 0x64, 0x9b, 0x66, 0x11, 0xfd, 0x85, 0x0a, 0x0b, 0x84, 0xcd, 0x16, 0x36, 0x7c, 0x55, 0xff, - 0x3f, 0xcd, 0x7c, 0x36, 0x1b, 0x98, 0x3c, 0x46, 0x4d, 0x19, 0xa3, 0xf9, 0x36, 0xb4, 0x37, 0xa3, - 0xc1, 0xaa, 0x1d, 0xdb, 0xbc, 0xe1, 0xeb, 0xd0, 0x1e, 0xe6, 0x24, 0x6f, 0x5c, 0xdd, 0x9f, 0x10, - 0xb2, 0xe4, 0xe6, 0xe6, 0xef, 0x75, 0xe8, 0x56, 0xbb, 0x22, 0x0a, 0x98, 0x0d, 0x24, 0x0c, 0x79, - 0x89, 0xaf, 0xf1, 0x09, 0x96, 0x92, 0x2c, 0x76, 0x24, 0x0c, 0xd9, 0x1a, 0x26, 0x4a, 0x75, 0xa4, - 0x8c, 0x25, 0xa8, 0x7b, 0x69, 0x58, 0x8e, 0xb7, 0x82, 0xb7, 0x33, 0x86, 0xd0, 0xe1, 0xde, 0x95, - 0x06, 0x24, 0x62, 0x76, 0x7d, 0xec, 0x98, 0x45, 0x01, 0x06, 0x4d, 0xd2, 0x81, 0x81, 0x2b, 0xa9, - 0x5e, 0xe8, 0xc3, 0x13, 0x95, 0x4d, 0x2b, 0x02, 0xf8, 0xbf, 0x6a, 0x00, 0x2f, 0x8e, 0x1e, 0x4a, - 0x31, 0x88, 0x01, 0x18, 0x6b, 0x24, 0xde, 0xb4, 0xef, 0x5f, 0xf7, 0x9d, 0x4d, 0xd7, 0xef, 0x91, - 0x03, 0x86, 0xf6, 0x45, 0x68, 0x8b, 0x23, 0x90, 0x2c, 0x4c, 0x2d, 0x4b, 0x66, 0x8d, 0x3c, 0x19, - 0x29, 0xcc, 0x87, 0x5a, 0x69, 0x3e, 0x98, 0xd7, 0x60, 0x4a, 0xee, 0x8e, 0x2f, 0x22, 0xf6, 0xfd, - 0x1e, 0x39, 0xe0, 0x03, 0x9a, 0xb6, 0x04, 0xc5, 0xf9, 0xbc, 0x85, 0xd8, 0x61, 0x08, 0xca, 0xfc, - 0x9d, 0x0e, 0xe7, 0x4a, 0x26, 0x47, 0xc1, 0x83, 0xea, 0x91, 0xf1, 0x52, 0x1b, 0x85, 0x97, 0xba, - 0x82, 0x97, 0x7d, 0x98, 0xc3, 0x20, 0x49, 0x5d, 0x77, 0x1b, 0x1c, 0x00, 0x6f, 0x54, 0x15, 0xfc, - 0x65, 0x23, 0x45, 0xec, 0x25, 0x2e, 0x06, 0xbf, 0xac, 0x77, 0x81, 0xc0, 0x7c, 0x75, 0xe3, 0x8a, - 0xf0, 0xbf, 0xac, 0x86, 0xff, 0xdf, 0xab, 0xc2, 0x2f, 0x5b, 0x22, 0xc5, 0xff, 0x00, 0x66, 0x59, - 0x52, 0xed, 0x11, 0xdf, 0xd9, 0x8c, 0x06, 0xdc, 0x91, 0x8b, 0xd0, 0x46, 0xf9, 0xcd, 0x68, 0x90, - 0x6f, 0x00, 0x25, 0x16, 0x6b, 0xd1, 0xf7, 0x5c, 0x96, 0x3c, 0x79, 0x0b, 0x91, 0xf4, 0x24, 0x16, - 0x5b, 0x20, 0x23, 0x22, 0x4e, 0x8b, 0x98, 0x77, 0x6b, 0x56, 0x46, 0x9b, 0xbf, 0x68, 0xc2, 0x84, - 0x40, 0x23, 0x5f, 0x14, 0xd9, 0x9e, 0x3b, 0x4b, 0xab, 0x48, 0x61, 0x5d, 0xdb, 0x3f, 0xcc, 0xe1, - 0x85, 0x94, 0x7c, 0x54, 0x57, 0x53, 0x8f, 0xea, 0x0a, 0x36, 0xd5, 0xcb, 0x36, 0x15, 0xc6, 0xd5, - 0x28, 0x8f, 0x8b, 0x95, 0x71, 0xbc, 0xb2, 0xd9, 0xf6, 0xec, 0x78, 0x97, 0x86, 0x43, 0xb1, 0x85, - 0x6e, 0x58, 0x25, 0x3e, 0x2b, 0x1d, 0x91, 0x97, 0xd5, 0xfe, 0xb8, 0x84, 0x17, 0xb8, 0xac, 0xd2, - 0x46, 0x4e, 0xba, 0x07, 0xc0, 0x33, 0x1b, 0x95, 0x89, 0xb6, 0x45, 0x91, 0x4b, 0x7d, 0x5e, 0x85, - 0x62, 0xa9, 0x2f, 0xb3, 0xd8, 0xc8, 0x87, 0xd1, 0xe0, 0x46, 0x48, 0x87, 0x62, 0x7b, 0x95, 0x92, - 0x7c, 0xe4, 0xd4, 0x8f, 0xd3, 0x0a, 0xb6, 0x8d, 0xb2, 0x12, 0x8b, 0xc9, 0x0a, 0x92, 0xd7, 0xf9, - 0x53, 0x56, 0x4a, 0x32, 0x2c, 0x45, 0xe4, 0x40, 0x14, 0xef, 0xec, 0x4f, 0x25, 0x72, 0xb3, 0x6a, - 0xe4, 0x0a, 0xd5, 0x58, 0x87, 0x7f, 0x95, 0xab, 0xb1, 0xbc, 0xc4, 0x99, 0x53, 0x4a, 0x9c, 0xeb, - 0x30, 0x41, 0x03, 0x36, 0xfd, 0xa3, 0xae, 0xc1, 0xa7, 0xcb, 0xf3, 0xa3, 0x13, 0xd4, 0xd2, 0x16, - 0xb6, 0xc4, 0x89, 0x91, 0xca, 0x19, 0x1b, 0x30, 0x4b, 0x77, 0x77, 0x3d, 0xd7, 0x27, 0xdb, 0x49, - 0xb4, 0xc7, 0xb7, 0xda, 0xe7, 0x38, 0xd8, 0xcd, 0xaa, 0x22, 0x42, 0x6d, 0x69, 0x15, 0x45, 0x59, - 0xe5, 0x67, 0xc7, 0xb8, 0xc9, 0xe1, 0x09, 0xee, 0x3c, 0x4f, 0x70, 0x0a, 0x8f, 0x9f, 0x79, 0x4a, - 0x89, 0xfe, 0x09, 0xee, 0x38, 0x99, 0x85, 0x5a, 0x62, 0xbb, 0xbf, 0x47, 0xf8, 0xa1, 0x51, 0x77, - 0x1e, 0xeb, 0x47, 0x99, 0x27, 0xaa, 0xbb, 0x27, 0xd3, 0xea, 0x6e, 0xe1, 0x55, 0x98, 0x92, 0x07, - 0x58, 0x31, 0x99, 0xcf, 0xcb, 0x93, 0x79, 0x52, 0x9e, 0xab, 0xdf, 0xd1, 0x60, 0xb6, 0x30, 0x34, - 0xd6, 0x3a, 0x76, 0x63, 0x8f, 0x08, 0x0d, 0x48, 0xb0, 0xdd, 0x91, 0x43, 0xa2, 0xbe, 0x98, 0x3c, - 0xfc, 0x6f, 0x61, 0x49, 0x2d, 0xdb, 0xb2, 0x9b, 0x30, 0xe5, 0x6e, 0xf5, 0x98, 0xa2, 0x1e, 0x4d, - 0x7c, 0x27, 0xbb, 0x34, 0x90, 0x78, 0x7c, 0xdb, 0xbe, 0xd5, 0x5b, 0xb6, 0x9d, 0x01, 0xc1, 0x2b, - 0xa4, 0x06, 0xb7, 0x49, 0x65, 0x9a, 0x0e, 0x4c, 0xde, 0x76, 0x83, 0x68, 0x85, 0x0e, 0x87, 0x0c, - 0x02, 0x0e, 0x89, 0x59, 0x1d, 0xaf, 0x71, 0x87, 0x09, 0x8a, 0x79, 0xd3, 0x21, 0xbb, 0x76, 0xe2, - 0xc5, 0xac, 0x69, 0x9a, 0x32, 0x24, 0x16, 0x3f, 0x42, 0x88, 0xa8, 0xbf, 0x8a, 0xd2, 0x68, 0xa7, - 0xc4, 0x31, 0x7f, 0xab, 0x43, 0x87, 0x67, 0xc4, 0x15, 0x0e, 0x38, 0x87, 0x0b, 0x5d, 0x85, 0x06, - 0x4f, 0x00, 0xa2, 0xa2, 0x3c, 0xfe, 0xdc, 0x05, 0x9b, 0x1a, 0xd7, 0xa0, 0x49, 0x03, 0x5e, 0x86, - 0x62, 0xba, 0x7c, 0x6e, 0x94, 0x90, 0x7a, 0x4d, 0x60, 0x09, 0x29, 0xe3, 0x06, 0xc0, 0x30, 0xaf, - 0x3a, 0xb1, 0x78, 0x18, 0x57, 0x87, 0x24, 0xc9, 0x9c, 0x9b, 0xad, 0x8b, 0xd9, 0x5d, 0x41, 0xcd, - 0x52, 0x99, 0xc6, 0x2d, 0x98, 0xe1, 0x66, 0x6f, 0xa5, 0x07, 0x70, 0x3c, 0x06, 0xe3, 0xf7, 0x58, - 0x90, 0x36, 0xbf, 0xaf, 0x09, 0x37, 0xb2, 0xaf, 0x3d, 0x82, 0xbe, 0xcf, 0x5d, 0xa2, 0x9d, 0xca, - 0x25, 0x0b, 0x30, 0x39, 0x4c, 0xa4, 0xf3, 0xc0, 0x9a, 0x95, 0xd1, 0x79, 0x88, 0x6a, 0x63, 0x87, - 0xc8, 0xfc, 0x81, 0x06, 0xdd, 0xb7, 0xa8, 0xeb, 0xf3, 0x0f, 0xd7, 0x83, 0xc0, 0x13, 0x57, 0x4a, - 0xa7, 0x8e, 0xf9, 0x17, 0xa0, 0x65, 0xa3, 0x1a, 0x3f, 0x16, 0x61, 0x1f, 0xe3, 0x8c, 0x2f, 0x97, - 0x91, 0x0e, 0x5a, 0x6a, 0xf2, 0x41, 0x8b, 0xf9, 0x89, 0x06, 0x33, 0xe8, 0x94, 0x77, 0x12, 0x37, - 0x3e, 0xb5, 0x7d, 0xcb, 0x30, 0x79, 0x90, 0xb8, 0xf1, 0x29, 0x50, 0x99, 0xc9, 0x95, 0xf1, 0x54, - 0xab, 0xc0, 0x93, 0xf9, 0x13, 0x0d, 0x2e, 0x14, 0xdd, 0x7a, 0xbd, 0xdf, 0x27, 0xc1, 0xc3, 0x9c, - 0x52, 0xca, 0x41, 0x53, 0xbd, 0x70, 0xd0, 0x54, 0x69, 0xb2, 0x45, 0x3e, 0x26, 0xfd, 0x47, 0xd7, - 0xe4, 0xaf, 0xea, 0xf0, 0xd4, 0x5a, 0x36, 0xf1, 0x6e, 0x87, 0xb6, 0x1f, 0xed, 0x92, 0x30, 0x7c, - 0x88, 0xf6, 0x6e, 0xc0, 0xb4, 0x4f, 0xee, 0xe5, 0x36, 0x89, 0xe9, 0x38, 0xae, 0x1a, 0x55, 0x78, - 0xbc, 0xdc, 0x65, 0xfe, 0x43, 0x83, 0x0e, 0xea, 0x79, 0xdb, 0xed, 0xef, 0x3f, 0xc4, 0xc1, 0xdf, - 0x82, 0x99, 0x7d, 0x6e, 0x01, 0xa3, 0x4e, 0x91, 0xb6, 0x0b, 0xd2, 0x63, 0x0e, 0xff, 0x53, 0x0d, - 0xe6, 0xd2, 0x9b, 0xec, 0x43, 0xf7, 0x61, 0x82, 0x75, 0x1b, 0x66, 0xf1, 0xa4, 0xfd, 0xb4, 0x0e, - 0x28, 0x8a, 0x8f, 0xe9, 0x81, 0x9f, 0x6b, 0x30, 0x8b, 0x9a, 0xde, 0xf4, 0x63, 0x12, 0x9e, 0x7a, - 0xfc, 0x37, 0xa1, 0x4d, 0xfc, 0x38, 0xb4, 0xfd, 0xd3, 0x64, 0x48, 0x59, 0x74, 0xcc, 0x24, 0xf9, - 0x89, 0x06, 0x06, 0x57, 0xb5, 0xea, 0x46, 0x43, 0x37, 0x8a, 0x1e, 0x62, 0xe8, 0xc6, 0x33, 0xf8, - 0x7b, 0x3a, 0x9c, 0x97, 0xb4, 0x6c, 0x26, 0xf1, 0xa3, 0x6e, 0xb2, 0xb1, 0x0a, 0x2d, 0x56, 0x23, - 0xc8, 0xf7, 0xa0, 0xe3, 0x76, 0x94, 0x0b, 0xb2, 0x2a, 0x96, 0x13, 0x3d, 0xd2, 0xa7, 0xbe, 0x13, - 0xf1, 0xe2, 0x68, 0xda, 0x52, 0x78, 0x2c, 0x0d, 0x2d, 0x48, 0x6a, 0x56, 0x6c, 0xbf, 0x4f, 0xbc, - 0xc7, 0xc6, 0x45, 0xe6, 0x8f, 0x34, 0x98, 0xc1, 0x26, 0x8f, 0xfe, 0x90, 0xd9, 0x5a, 0x8f, 0x40, - 0xfe, 0xdc, 0x44, 0x89, 0xc1, 0x6b, 0x5e, 0xd2, 0x22, 0xd7, 0xd5, 0x8f, 0x2e, 0xb4, 0x6e, 0x42, - 0xbb, 0xbf, 0x67, 0xfb, 0x83, 0x53, 0x81, 0x4b, 0x16, 0x35, 0x63, 0x78, 0x52, 0x3e, 0xb4, 0x5f, - 0xc1, 0x4f, 0x7c, 0xf8, 0x2f, 0x15, 0x86, 0x72, 0xec, 0x3b, 0x87, 0x07, 0x73, 0xfa, 0x3e, 0xcc, - 0xe1, 0x4d, 0xb1, 0x54, 0x13, 0x1a, 0x5d, 0x98, 0xb0, 0x1d, 0x3c, 0xba, 0xd0, 0xb8, 0x50, 0x4a, - 0xaa, 0x2f, 0x09, 0xc4, 0x1b, 0xbb, 0xfc, 0x25, 0xc1, 0x45, 0x00, 0xdb, 0x71, 0xde, 0xa3, 0xa1, - 0xe3, 0xfa, 0x69, 0x81, 0x2f, 0x71, 0xcc, 0xb7, 0x60, 0xea, 0x46, 0x48, 0x87, 0xb7, 0xa5, 0x3b, - 0xdf, 0x63, 0x6f, 0xa5, 0xe5, 0xfb, 0x62, 0x5d, 0xbd, 0x2f, 0x36, 0x3f, 0x84, 0x27, 0x4a, 0x86, - 0x73, 0x67, 0xad, 0xe0, 0x55, 0x76, 0xda, 0x89, 0x80, 0x4c, 0xd5, 0x59, 0x9e, 0x6c, 0x8b, 0xa5, - 0x08, 0x99, 0x5f, 0xd1, 0xe0, 0x99, 0x92, 0xfa, 0xeb, 0x41, 0x10, 0xd2, 0x43, 0x11, 0x93, 0xb3, - 0xe8, 0x46, 0x2d, 0x7e, 0xf5, 0x62, 0xf1, 0x5b, 0x69, 0x84, 0x52, 0xb0, 0x7f, 0x06, 0x46, 0xfc, - 0x50, 0x83, 0x59, 0x61, 0x84, 0xe3, 0x88, 0x6e, 0x5f, 0x86, 0x26, 0x3e, 0xa6, 0x11, 0x1d, 0x3e, - 0x53, 0xd9, 0x61, 0xfa, 0x08, 0xc8, 0x12, 0x8d, 0xcb, 0x88, 0xd4, 0xab, 0x66, 0xd4, 0xff, 0x67, - 0x60, 0x1f, 0xfb, 0xb9, 0x8b, 0x10, 0x30, 0xbf, 0x98, 0x82, 0x79, 0x95, 0x78, 0xe4, 0x2c, 0x7d, - 0x64, 0xde, 0x81, 0x19, 0xfe, 0xb2, 0x27, 0xf7, 0xc1, 0x99, 0xa8, 0x7d, 0x0f, 0x3a, 0x5c, 0xed, - 0x99, 0xdb, 0x9b, 0xcd, 0x0e, 0xe6, 0x1f, 0x39, 0x95, 0x9c, 0x89, 0xf6, 0xff, 0x86, 0x73, 0xa9, - 0xef, 0xf1, 0x75, 0x2f, 0xea, 0x1e, 0x71, 0xb7, 0x67, 0x7e, 0x04, 0xf3, 0x2b, 0xd4, 0x3f, 0x24, - 0x61, 0xa4, 0x3c, 0x08, 0x46, 0x09, 0x65, 0xf2, 0x0b, 0xca, 0x58, 0x02, 0xa3, 0x2f, 0x49, 0x88, - 0xd3, 0x45, 0x9d, 0x9f, 0x2e, 0x56, 0x7c, 0x31, 0x3f, 0x86, 0x05, 0xb9, 0x87, 0x1e, 0x89, 0xb7, - 0x43, 0xf7, 0x50, 0xea, 0x45, 0x1c, 0x82, 0x6b, 0xca, 0x21, 0x78, 0x7e, 0x68, 0xae, 0x2b, 0x87, - 0xe6, 0x17, 0xa0, 0xe5, 0x46, 0x42, 0x01, 0x07, 0xe1, 0xa4, 0x95, 0x33, 0x4c, 0x1b, 0xe6, 0x30, - 0x5c, 0xe2, 0x52, 0x8a, 0x77, 0xb1, 0x00, 0x93, 0x88, 0xc1, 0xac, 0x93, 0x8c, 0x1e, 0x79, 0xc5, - 0x33, 0xf2, 0x42, 0xd3, 0xec, 0xc1, 0x9c, 0x78, 0xb8, 0xb3, 0x6d, 0x0f, 0x5c, 0x1f, 0x93, 0xf2, - 0x45, 0x80, 0xc0, 0x1e, 0xa4, 0xcf, 0x1e, 0xf1, 0x6a, 0x4e, 0xe2, 0xb0, 0xef, 0xd1, 0x1e, 0xbd, - 0x27, 0xbe, 0xeb, 0xf8, 0x3d, 0xe7, 0x98, 0xef, 0x82, 0x61, 0x91, 0x28, 0xa0, 0x7e, 0x44, 0x24, - 0xad, 0x8b, 0xd0, 0x5e, 0x49, 0xc2, 0x90, 0xf8, 0xac, 0xab, 0xf4, 0x2d, 0x9c, 0xcc, 0x62, 0x7a, - 0x7b, 0xb9, 0x5e, 0x3c, 0xc6, 0x97, 0x38, 0xe6, 0xdf, 0x6b, 0xd0, 0xea, 0xb9, 0x03, 0xdf, 0xf6, - 0x2c, 0x72, 0x60, 0xbc, 0x0e, 0x4d, 0xdc, 0xe2, 0x08, 0x64, 0x55, 0x1d, 0x2b, 0x63, 0x6b, 0xdc, - 0xcb, 0x59, 0xe4, 0xe0, 0xe6, 0xbf, 0x59, 0x42, 0xc6, 0x78, 0x27, 0x7d, 0xde, 0xb4, 0x8e, 0x47, - 0x56, 0x62, 0xbd, 0xfb, 0xcf, 0x13, 0x94, 0x88, 0xd6, 0xa8, 0x4b, 0xd5, 0xc0, 0x0c, 0xea, 0xf3, - 0x12, 0x48, 0xa4, 0x93, 0xd1, 0x06, 0x61, 0xa5, 0x24, 0x0c, 0x42, 0x19, 0x26, 0x6d, 0xf3, 0x43, - 0x1d, 0xb1, 0xb2, 0x8f, 0x96, 0xc6, 0xb3, 0x1f, 0x21, 0x8d, 0x32, 0x4c, 0x7a, 0x2f, 0xf1, 0x07, - 0x77, 0x02, 0x71, 0xd6, 0x38, 0x5a, 0xfa, 0x26, 0x6f, 0x26, 0xa4, 0x51, 0x86, 0x49, 0x87, 0x3c, - 0xd9, 0x73, 0xa7, 0x1f, 0x27, 0x8d, 0x6b, 0x82, 0x90, 0x46, 0x19, 0xe3, 0x7d, 0xe8, 0xac, 0x91, - 0xd8, 0xa2, 0x74, 0xb8, 0x7c, 0xb4, 0x26, 0xae, 0x7a, 0xf0, 0xf5, 0xf9, 0x8b, 0x23, 0xf5, 0x14, - 0x05, 0x50, 0x63, 0x49, 0xcf, 0x72, 0x0b, 0x26, 0x02, 0xfb, 0xc8, 0xa3, 0xb6, 0x63, 0x7e, 0xa3, - 0x0e, 0x90, 0x1a, 0x11, 0xf1, 0xa2, 0x4b, 0x09, 0xff, 0xa5, 0x13, 0xc3, 0x1f, 0x78, 0x47, 0x12, - 0x00, 0x7a, 0xd5, 0x00, 0xf8, 0xaf, 0x71, 0x01, 0x80, 0xda, 0x0a, 0x10, 0xb8, 0x56, 0x80, 0xc0, - 0xa5, 0x13, 0x21, 0x20, 0x8c, 0x12, 0x20, 0xb8, 0x56, 0x00, 0xc1, 0xa5, 0x13, 0x41, 0x20, 0xe4, - 0x05, 0x0c, 0xae, 0x15, 0x60, 0x70, 0xe9, 0x44, 0x18, 0x08, 0x79, 0x01, 0x84, 0x6b, 0x05, 0x20, - 0x5c, 0x3a, 0x11, 0x08, 0x42, 0x5e, 0x40, 0xe1, 0xc3, 0x91, 0x50, 0x58, 0x7a, 0x00, 0x28, 0xa0, - 0xce, 0x63, 0xc1, 0xf0, 0x07, 0x1d, 0x66, 0xd6, 0xb3, 0xf7, 0xc0, 0xfc, 0x5e, 0xa5, 0xf4, 0x60, - 0x51, 0xab, 0x78, 0xb0, 0x68, 0xbc, 0x08, 0x73, 0xc8, 0x20, 0xd2, 0x65, 0x12, 0xa6, 0xfb, 0xf2, - 0x07, 0x7e, 0x7d, 0x96, 0x44, 0x31, 0x1d, 0xae, 0xda, 0xb1, 0x9d, 0x96, 0x99, 0x39, 0x47, 0xbe, - 0xdc, 0xac, 0x97, 0x7e, 0x87, 0x10, 0x52, 0x3a, 0xcc, 0x6e, 0x2d, 0x05, 0xc5, 0x24, 0x62, 0x77, - 0x48, 0x68, 0x12, 0x8b, 0x04, 0x97, 0x92, 0xf8, 0xca, 0xcc, 0x71, 0x6d, 0x7e, 0x25, 0x28, 0x9e, - 0x60, 0x65, 0x0c, 0x9e, 0x93, 0xf3, 0x2b, 0x4e, 0xf1, 0x3b, 0x81, 0x9c, 0x33, 0xc6, 0x75, 0x24, - 0xff, 0xc9, 0x89, 0x1b, 0xbb, 0xf2, 0xd3, 0xac, 0x86, 0xa5, 0xf0, 0xcc, 0xbf, 0x68, 0x70, 0x6e, - 0xdb, 0x0e, 0x63, 0xb7, 0xef, 0x06, 0xb6, 0x1f, 0x6f, 0x92, 0xd8, 0xe6, 0xe3, 0x54, 0x1e, 0xcc, - 0x6a, 0x0f, 0xf6, 0x60, 0x76, 0x1b, 0x66, 0x07, 0xea, 0x5e, 0xeb, 0x01, 0xb7, 0x49, 0x45, 0x71, - 0xe5, 0xf5, 0x6f, 0xed, 0x81, 0x5f, 0xff, 0x9a, 0x5f, 0xd7, 0x61, 0xb6, 0xb0, 0x30, 0x1c, 0xbb, - 0xaa, 0x5e, 0x07, 0xc8, 0x9f, 0x9e, 0x1f, 0x73, 0x15, 0xa1, 0xe2, 0xd1, 0x92, 0x84, 0xaa, 0xee, - 0x42, 0x6b, 0xa7, 0xbf, 0x0b, 0xbd, 0x09, 0xed, 0x20, 0x0f, 0xd2, 0x31, 0x3b, 0xc1, 0x8a, 0x50, - 0x5a, 0xb2, 0xa8, 0xf9, 0x01, 0xcc, 0x95, 0x72, 0x24, 0xbf, 0xa0, 0xa4, 0xfb, 0xc4, 0xcf, 0x2e, - 0x28, 0x19, 0x21, 0x01, 0x5a, 0x2f, 0x02, 0xda, 0x73, 0x0f, 0xe5, 0x9f, 0x55, 0x08, 0xd2, 0xfc, - 0x96, 0x0e, 0xf3, 0xd5, 0x6b, 0xe7, 0xe3, 0xea, 0xee, 0x1d, 0xe8, 0x8e, 0x5a, 0x4b, 0xce, 0xcc, - 0xeb, 0x39, 0xba, 0xb3, 0x2a, 0xe3, 0x71, 0x75, 0xf7, 0xb9, 0x14, 0xdd, 0xd2, 0x62, 0x6b, 0xfe, - 0x2c, 0xf3, 0x4f, 0x56, 0x47, 0x3d, 0xa6, 0xfe, 0x31, 0x2e, 0x43, 0x07, 0x87, 0x29, 0x3d, 0x9e, - 0xc1, 0xb2, 0xbc, 0xc4, 0xcf, 0x33, 0x85, 0x54, 0x78, 0x9c, 0x19, 0x66, 0x7f, 0xad, 0xa5, 0x31, - 0xc9, 0xaa, 0xd3, 0xcf, 0x55, 0x4c, 0x72, 0xa4, 0x49, 0x65, 0x95, 0x84, 0xb4, 0xac, 0x6a, 0xfe, - 0x17, 0xd2, 0x4e, 0x46, 0x5a, 0xe6, 0x4b, 0xa9, 0xc4, 0x34, 0xdf, 0x81, 0xa7, 0x46, 0x6e, 0x1c, - 0x8e, 0x75, 0xaa, 0x54, 0xa1, 0xe9, 0x4a, 0x85, 0x66, 0xfe, 0x59, 0x83, 0xa7, 0x8f, 0xa9, 0x40, - 0x0b, 0xe1, 0xd0, 0x4e, 0x13, 0x8e, 0x57, 0x60, 0x9e, 0xfa, 0x2b, 0xd4, 0xf7, 0x49, 0x3f, 0x76, - 0xfd, 0x41, 0xa9, 0xe2, 0x1c, 0xf1, 0x35, 0x9f, 0x57, 0xb5, 0xea, 0x79, 0x55, 0x1f, 0x35, 0xaf, - 0x1a, 0xea, 0xbc, 0xfa, 0x32, 0x4c, 0xaf, 0x12, 0x6f, 0x33, 0x1a, 0xa4, 0x6f, 0xa2, 0xcf, 0xf4, - 0xf0, 0xa0, 0xf8, 0x72, 0xb4, 0x5e, 0x7e, 0x39, 0xba, 0x0c, 0x33, 0xb2, 0x01, 0xa7, 0x79, 0xf3, - 0xbb, 0x7c, 0xe1, 0xfd, 0x85, 0x25, 0xf1, 0x7f, 0x01, 0x5e, 0x2b, 0x79, 0x7f, 0xa7, 0xc9, 0x7f, - 0x49, 0xfc, 0xd2, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x80, 0x2b, 0x62, 0xc9, 0x70, 0x40, 0x00, - 0x00, +var fileDescriptor_ws_28f8f8e2747ce3c8 = []byte{ + // 3613 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5b, 0xcb, 0x6f, 0x24, 0x57, + 0xd5, 0xff, 0xaa, 0xfa, 0x61, 0xf7, 0x69, 0x3f, 0xda, 0x35, 0x13, 0xa7, 0xe3, 0x4c, 0xe6, 0x33, + 0x95, 0x51, 0x12, 0x86, 0xe0, 0x41, 0x13, 0x12, 0x41, 0x1e, 0x83, 0xc6, 0x76, 0xc6, 0x33, 0xc9, + 0xf8, 0x91, 0xea, 0x99, 0x04, 0x25, 0x91, 0x26, 0xe5, 0xae, 0xeb, 0x76, 0xc5, 0xd5, 0x75, 0xcb, + 0xf5, 0xf0, 0x8c, 0xd9, 0x20, 0x81, 0x84, 0x10, 0x1b, 0x36, 0x20, 0x24, 0x96, 0x6c, 0x10, 0x08, + 0x45, 0x08, 0x01, 0x62, 0x81, 0x10, 0x42, 0xec, 0xd8, 0xb0, 0x60, 0xc7, 0x02, 0xc4, 0x9a, 0x7f, + 0x00, 0x81, 0x14, 0x74, 0xef, 0xb9, 0x55, 0x75, 0x6f, 0x55, 0xb5, 0xdd, 0x63, 0x59, 0x99, 0x89, + 0x86, 0x5d, 0x9f, 0x53, 0xf7, 0x9c, 0x7b, 0xee, 0x39, 0xbf, 0x7b, 0xee, 0xb9, 0x8f, 0x86, 0xd9, + 0xc8, 0xd9, 0xbb, 0x73, 0x37, 0xba, 0x74, 0x37, 0x5a, 0x0a, 0x42, 0x1a, 0x53, 0x63, 0x2e, 0x22, + 0xe1, 0x01, 0x09, 0xef, 0xd8, 0x81, 0x7b, 0x27, 0xb0, 0x43, 0x7b, 0x18, 0x2d, 0x3c, 0xbb, 0x19, + 0x10, 0xff, 0xce, 0x8d, 0xf5, 0x4b, 0xc1, 0xde, 0xe0, 0x12, 0x6f, 0x75, 0x29, 0x95, 0x0a, 0xed, + 0x20, 0x20, 0xa1, 0x90, 0x35, 0xff, 0x56, 0x87, 0xd6, 0x5a, 0x48, 0x93, 0xe0, 0x86, 0xbf, 0x43, + 0x8d, 0x2e, 0x4c, 0x0c, 0x38, 0xb1, 0xda, 0xd5, 0x16, 0xb5, 0xe7, 0x5a, 0x56, 0x4a, 0x1a, 0xe7, + 0xa0, 0xc5, 0x7f, 0x6e, 0xd8, 0x43, 0xd2, 0xd5, 0xf9, 0xb7, 0x9c, 0x61, 0x98, 0x30, 0xe5, 0xd3, + 0xd8, 0xdd, 0x71, 0xfb, 0x76, 0xec, 0x52, 0xbf, 0x5b, 0xe3, 0x0d, 0x14, 0x1e, 0x6b, 0xe3, 0xfa, + 0x71, 0x48, 0x9d, 0xa4, 0xcf, 0xdb, 0xd4, 0xb1, 0x8d, 0xcc, 0x63, 0xfd, 0xef, 0xd8, 0x7d, 0x72, + 0xdb, 0xba, 0xd9, 0x6d, 0x60, 0xff, 0x82, 0x34, 0x16, 0xa1, 0x4d, 0xef, 0xfa, 0x24, 0xbc, 0x1d, + 0x91, 0xf0, 0xc6, 0x6a, 0xb7, 0xc9, 0xbf, 0xca, 0x2c, 0xe3, 0x3c, 0x40, 0x3f, 0x24, 0x76, 0x4c, + 0x6e, 0xb9, 0x43, 0xd2, 0x9d, 0x58, 0xd4, 0x9e, 0x9b, 0xb6, 0x24, 0x0e, 0xd3, 0x30, 0x24, 0xc3, + 0x6d, 0x12, 0xae, 0xd0, 0xc4, 0x8f, 0xbb, 0x93, 0xbc, 0x81, 0xcc, 0x32, 0x66, 0x40, 0x27, 0xf7, + 0xba, 0x2d, 0xae, 0x5a, 0x27, 0xf7, 0x8c, 0x79, 0x68, 0x46, 0xb1, 0x1d, 0x27, 0x51, 0x17, 0x16, + 0xb5, 0xe7, 0x1a, 0x96, 0xa0, 0x8c, 0x0b, 0x30, 0xcd, 0xf5, 0xd2, 0xd4, 0x9a, 0x36, 0x17, 0x51, + 0x99, 0x99, 0xc7, 0x6e, 0x1d, 0x06, 0xa4, 0x3b, 0xc5, 0x15, 0xe4, 0x0c, 0xe3, 0x22, 0x74, 0x7c, + 0x42, 0x9c, 0xb7, 0x49, 0x98, 0x7b, 0x6d, 0x9a, 0x37, 0x2a, 0xf1, 0x8d, 0x67, 0x60, 0xc6, 0xa3, + 0x74, 0x6f, 0x9d, 0x9b, 0xca, 0xe2, 0xd4, 0x9d, 0xe1, 0x2d, 0x0b, 0x5c, 0xe3, 0x79, 0x98, 0xb3, + 0x83, 0xc0, 0x3b, 0x44, 0xd6, 0xb5, 0xd0, 0x25, 0xbe, 0xd3, 0x9d, 0xe5, 0x4d, 0xcb, 0x1f, 0x8c, + 0x97, 0x60, 0x5e, 0x8e, 0xcf, 0xed, 0xc0, 0x49, 0x7d, 0xd7, 0xe1, 0xae, 0x19, 0xf1, 0xd5, 0x58, + 0x02, 0x43, 0xf9, 0x82, 0x2e, 0x98, 0xe3, 0x2e, 0xa8, 0xf8, 0x62, 0x7e, 0xaf, 0x06, 0xb3, 0x19, + 0xc2, 0xae, 0xd1, 0xb0, 0x47, 0xe2, 0x87, 0x18, 0x67, 0x88, 0x81, 0x66, 0x86, 0x81, 0xb5, 0x8a, + 0x38, 0x31, 0x6c, 0xb5, 0x2f, 0x3f, 0xb9, 0x34, 0xa0, 0x74, 0xe0, 0x11, 0x9c, 0x48, 0xdb, 0xc9, + 0xce, 0xd2, 0x0d, 0x3f, 0x7e, 0xe1, 0xf2, 0xdb, 0xb6, 0x97, 0x90, 0x8a, 0x20, 0xae, 0x94, 0x82, + 0x38, 0x79, 0xbc, 0x9a, 0x62, 0x84, 0x6f, 0x54, 0x45, 0xb8, 0x75, 0xbc, 0x9e, 0xb2, 0x94, 0xf9, + 0xb1, 0x0e, 0x67, 0x78, 0x58, 0x04, 0x37, 0xf1, 0xbc, 0x63, 0x52, 0xc0, 0x3c, 0x34, 0x13, 0x0c, + 0x36, 0xc6, 0x45, 0x50, 0x2c, 0x64, 0x21, 0xf5, 0xc8, 0x4d, 0x72, 0x40, 0x3c, 0x1e, 0x91, 0x86, + 0x95, 0x33, 0x8c, 0x05, 0x98, 0xfc, 0x90, 0xba, 0x3e, 0x07, 0x56, 0x9d, 0x7f, 0xcc, 0x68, 0xf6, + 0xcd, 0x77, 0xfb, 0x7b, 0x3e, 0x8b, 0x35, 0xc6, 0x21, 0xa3, 0xe5, 0x10, 0x35, 0xd5, 0x10, 0x3d, + 0x03, 0x33, 0x76, 0x10, 0xac, 0xdb, 0xfe, 0x80, 0x84, 0xd8, 0xe9, 0x04, 0x4e, 0x07, 0x95, 0xcb, + 0x12, 0x02, 0xeb, 0xa9, 0x47, 0x93, 0xb0, 0x4f, 0xb8, 0xb7, 0x1b, 0x96, 0xc4, 0x61, 0x7a, 0x68, + 0x40, 0x42, 0x69, 0x1e, 0xe3, 0xd4, 0x2f, 0x70, 0x05, 0x24, 0x20, 0x83, 0x04, 0x4b, 0x24, 0x49, + 0x4c, 0x5e, 0xf7, 0x1d, 0x3e, 0xa8, 0xb6, 0x48, 0x24, 0x39, 0x8b, 0x25, 0x08, 0xd7, 0x3f, 0x70, + 0xe3, 0x2c, 0x5d, 0x4d, 0x61, 0x82, 0x50, 0x98, 0xe6, 0xb7, 0x34, 0x98, 0xd9, 0x4a, 0xb6, 0x3d, + 0xb7, 0xcf, 0x19, 0xcc, 0xf9, 0xb9, 0x8b, 0x35, 0xc5, 0xc5, 0xb2, 0xa3, 0xf4, 0xd1, 0x8e, 0xaa, + 0xa9, 0x8e, 0x9a, 0x87, 0xe6, 0x80, 0xf8, 0x0e, 0x09, 0x85, 0xe3, 0x05, 0x25, 0x06, 0xd4, 0x48, + 0x07, 0x64, 0xfe, 0x41, 0x87, 0xc9, 0x4f, 0xd8, 0x84, 0x45, 0x68, 0x07, 0xbb, 0xd4, 0x27, 0x1b, + 0x09, 0x03, 0x9f, 0xb0, 0x45, 0x66, 0x19, 0x67, 0xa1, 0xb1, 0xed, 0x86, 0xf1, 0x2e, 0x8f, 0xfe, + 0xb4, 0x85, 0x04, 0xe3, 0x92, 0xa1, 0xed, 0x62, 0xc8, 0x5b, 0x16, 0x12, 0x62, 0x40, 0x93, 0x59, + 0x84, 0xd4, 0xa5, 0xa0, 0x55, 0x5a, 0x0a, 0xca, 0x08, 0x82, 0x4a, 0x04, 0x5d, 0x84, 0xce, 0xc0, + 0xa3, 0xdb, 0xb6, 0x67, 0x91, 0xfe, 0xc1, 0x7a, 0x34, 0xd8, 0x0c, 0x62, 0x1e, 0xee, 0x86, 0x55, + 0xe2, 0x9b, 0xff, 0xd2, 0x00, 0x70, 0x6a, 0x71, 0x37, 0x16, 0xd6, 0x2b, 0xad, 0xbc, 0x5e, 0xcd, + 0x43, 0x33, 0x24, 0x43, 0x3b, 0xdc, 0x4b, 0xa7, 0x13, 0x52, 0x05, 0xe3, 0x6b, 0x25, 0xe3, 0x5f, + 0x01, 0xd8, 0xe1, 0xfd, 0x30, 0x3d, 0xdc, 0xad, 0x6c, 0xf2, 0x97, 0x4a, 0x80, 0xa5, 0x34, 0xa2, + 0x96, 0xd4, 0x9c, 0xcd, 0x55, 0xdb, 0x71, 0xc4, 0x94, 0x68, 0xe0, 0x5c, 0xcd, 0x18, 0x15, 0x33, + 0xa2, 0x79, 0xc4, 0x8c, 0x98, 0xc8, 0x00, 0xf4, 0x4f, 0x0d, 0x5a, 0xcb, 0x9e, 0xdd, 0xdf, 0x1b, + 0x73, 0xe8, 0xea, 0x10, 0xf5, 0xd2, 0x10, 0xd7, 0x60, 0x7a, 0x9b, 0xa9, 0x4b, 0x87, 0xc0, 0xbd, + 0xd0, 0xbe, 0xfc, 0x99, 0x8a, 0x51, 0xaa, 0x13, 0xc8, 0x52, 0xe5, 0xd4, 0xe1, 0xd6, 0x8f, 0x1f, + 0x6e, 0xe3, 0x88, 0xe1, 0x66, 0x6b, 0x82, 0xf9, 0x83, 0x1a, 0x4c, 0xf1, 0xd4, 0x69, 0x91, 0xfd, + 0x84, 0x44, 0xb1, 0xf1, 0x1a, 0x4c, 0x26, 0xa9, 0xa9, 0xda, 0xb8, 0xa6, 0x66, 0x22, 0xc6, 0xcb, + 0x62, 0xcd, 0xe3, 0xf2, 0x3a, 0x97, 0x3f, 0x57, 0x21, 0x9f, 0x2d, 0xa2, 0x56, 0xde, 0x9c, 0xad, + 0x76, 0xbb, 0xb6, 0xef, 0x78, 0xc4, 0x22, 0x51, 0xe2, 0xc5, 0x22, 0xff, 0x2a, 0x3c, 0x44, 0xda, + 0xfe, 0x7a, 0x34, 0x10, 0x6b, 0xa1, 0xa0, 0x98, 0x77, 0xb0, 0x1d, 0xfb, 0x84, 0x43, 0xcf, 0x19, + 0x6c, 0x52, 0x87, 0x64, 0x9f, 0x47, 0x08, 0xa7, 0x60, 0x4a, 0xe6, 0x7d, 0x0a, 0xaf, 0x21, 0x10, + 0x14, 0x1e, 0x0b, 0x31, 0xd2, 0x5c, 0x01, 0x16, 0x5b, 0x12, 0xa7, 0x54, 0x6b, 0xa9, 0xc9, 0x1a, + 0x4a, 0xc9, 0xba, 0x94, 0x52, 0xdb, 0x55, 0x29, 0xf5, 0xaf, 0x35, 0x98, 0xc6, 0x49, 0x98, 0x86, + 0xe6, 0x3c, 0x9b, 0x2d, 0x74, 0xa8, 0x60, 0x51, 0xe2, 0xb0, 0xb1, 0x30, 0x6a, 0x43, 0x4d, 0x6d, + 0x0a, 0x8f, 0x01, 0x9a, 0xd1, 0xd7, 0x94, 0x14, 0x27, 0xb3, 0xd2, 0x5e, 0xd6, 0xe4, 0x54, 0x27, + 0x71, 0x58, 0xf2, 0x8c, 0xa9, 0x82, 0xb1, 0x8c, 0x66, 0xb2, 0x31, 0xcd, 0xfa, 0x47, 0x94, 0x49, + 0x1c, 0x16, 0xa5, 0x98, 0xa6, 0x7d, 0xa3, 0xab, 0x73, 0x06, 0x6a, 0x16, 0xfd, 0xe2, 0x12, 0x97, + 0xd1, 0x25, 0x6c, 0xb4, 0x8e, 0xc4, 0x06, 0x28, 0xd8, 0x50, 0xa7, 0x68, 0xbb, 0x34, 0x45, 0x2f, + 0xc0, 0x34, 0xea, 0x29, 0x2c, 0x71, 0x0a, 0x53, 0x45, 0xd8, 0x74, 0x11, 0x61, 0x2a, 0x46, 0x66, + 0x46, 0x60, 0x64, 0x36, 0x9b, 0x77, 0xbf, 0xd0, 0x01, 0x56, 0x49, 0x60, 0x87, 0xf1, 0x90, 0xf8, + 0x31, 0x1b, 0x9e, 0x93, 0x51, 0x59, 0x70, 0x15, 0x9e, 0xbc, 0x32, 0xe9, 0xea, 0xca, 0x64, 0x40, + 0x9d, 0x3b, 0x1c, 0xa3, 0xc9, 0x7f, 0x33, 0x67, 0x06, 0x76, 0x88, 0xda, 0x70, 0xaa, 0x64, 0x34, + 0x5b, 0x79, 0x68, 0xe8, 0x88, 0xb5, 0xaa, 0x61, 0x21, 0xc1, 0x52, 0x48, 0xde, 0x1f, 0xaf, 0xf4, + 0x9b, 0xb8, 0x92, 0xa8, 0xdc, 0x63, 0x37, 0x27, 0x17, 0xa1, 0x13, 0x25, 0xdb, 0xf9, 0xe0, 0x36, + 0x92, 0xa1, 0x98, 0x34, 0x25, 0x3e, 0x73, 0x2a, 0xee, 0x5a, 0x58, 0x23, 0x5c, 0xdc, 0x72, 0x46, + 0xb1, 0x5a, 0x31, 0x7f, 0xa6, 0x43, 0x67, 0x33, 0x1c, 0xd8, 0xbe, 0xfb, 0xb5, 0xac, 0x2a, 0x3f, + 0xd1, 0x22, 0xbf, 0x08, 0x6d, 0xe2, 0x0f, 0x3c, 0x37, 0xda, 0xdd, 0xc8, 0xfd, 0x26, 0xb3, 0x64, + 0x67, 0xd7, 0x47, 0x95, 0x01, 0x0d, 0xa5, 0x0c, 0x98, 0x87, 0xe6, 0x90, 0x6e, 0xbb, 0x5e, 0x8a, + 0x7b, 0x41, 0x71, 0xcc, 0x13, 0x8f, 0xf0, 0x7a, 0x20, 0xc3, 0x7c, 0xca, 0xc8, 0x4b, 0x83, 0xc9, + 0xca, 0xd2, 0xa0, 0x25, 0x97, 0x06, 0xaa, 0xe3, 0xa1, 0xe4, 0x78, 0x74, 0x57, 0x3b, 0x73, 0xd7, + 0xef, 0x35, 0xe8, 0xe4, 0xee, 0xc6, 0xda, 0x78, 0xa4, 0xbb, 0x8a, 0x08, 0xd4, 0x2b, 0x10, 0x98, + 0xe1, 0xa6, 0x26, 0xe3, 0x86, 0x21, 0x8d, 0x46, 0xae, 0xb4, 0x41, 0xc9, 0x68, 0xd6, 0x9b, 0x47, + 0x6c, 0xc9, 0x59, 0x48, 0x49, 0xdb, 0xd1, 0xa6, 0xb2, 0x1d, 0x2d, 0xae, 0xc6, 0xbf, 0xd1, 0xe0, + 0x2c, 0x8b, 0x72, 0x69, 0x18, 0x9b, 0xd0, 0xa1, 0x05, 0x24, 0x88, 0xe5, 0xea, 0xe9, 0x8a, 0xe5, + 0xa6, 0x08, 0x1a, 0xab, 0x24, 0xcc, 0x14, 0x3a, 0x85, 0x4e, 0xc4, 0xfa, 0x55, 0xa5, 0xb0, 0x68, + 0x8f, 0x55, 0x12, 0x36, 0x7f, 0xab, 0x41, 0x07, 0x17, 0x48, 0x69, 0x9e, 0x9f, 0xba, 0xd9, 0xef, + 0xc0, 0xd9, 0x62, 0xcf, 0x37, 0xdd, 0x28, 0xee, 0xea, 0x8b, 0xb5, 0x71, 0x4d, 0xaf, 0x54, 0xc0, + 0xe6, 0xda, 0xe3, 0x5b, 0x89, 0xe7, 0xad, 0x93, 0x28, 0xb2, 0x07, 0x64, 0xf9, 0xb0, 0x47, 0xf6, + 0xd9, 0x07, 0x8b, 0xec, 0x8f, 0xc4, 0x10, 0xab, 0x96, 0x78, 0xb9, 0xe1, 0x52, 0x3f, 0x83, 0x90, + 0xcc, 0x62, 0xd3, 0x2a, 0x42, 0x3d, 0xdd, 0xda, 0x62, 0x8d, 0x2d, 0xc4, 0x82, 0x34, 0x3e, 0x80, + 0x29, 0x5e, 0x09, 0x88, 0x6e, 0xba, 0x75, 0x3e, 0x80, 0x57, 0x2b, 0x6b, 0x8f, 0x4a, 0xab, 0xb0, + 0xa6, 0x10, 0xf4, 0xeb, 0x7e, 0x1c, 0x1e, 0x5a, 0x8a, 0xc6, 0x85, 0xf7, 0x60, 0xae, 0xd4, 0xc4, + 0xe8, 0x40, 0x6d, 0x8f, 0x1c, 0x8a, 0x71, 0xb0, 0x9f, 0xc6, 0x17, 0xa0, 0x71, 0xc0, 0x36, 0x9a, + 0x22, 0xfa, 0x0b, 0x15, 0x16, 0x08, 0x9b, 0x2d, 0x6c, 0xf8, 0xb2, 0xfe, 0x25, 0xcd, 0x7c, 0x3a, + 0x1b, 0x98, 0x3c, 0x46, 0x4d, 0x19, 0xa3, 0xf9, 0x26, 0xb4, 0xd7, 0xa3, 0xc1, 0xaa, 0x1d, 0xdb, + 0xbc, 0xe1, 0xab, 0xd0, 0x1e, 0xe6, 0x24, 0x6f, 0x5c, 0xdd, 0x9f, 0x10, 0xb2, 0xe4, 0xe6, 0xe6, + 0x9f, 0x75, 0xe8, 0x56, 0xbb, 0x22, 0x0a, 0x98, 0x0d, 0x24, 0x0c, 0x57, 0xa8, 0x43, 0xf8, 0xd0, + 0x1a, 0x56, 0x4a, 0xb2, 0xd8, 0x91, 0x30, 0x64, 0x6b, 0x98, 0x28, 0xd5, 0x91, 0x32, 0x96, 0xa0, + 0xee, 0xa5, 0x61, 0x39, 0xda, 0x0a, 0xde, 0xce, 0x18, 0x42, 0x87, 0x7b, 0x57, 0x1a, 0x90, 0x88, + 0xd9, 0xd5, 0xb1, 0x63, 0x16, 0x05, 0x18, 0x34, 0x49, 0x07, 0x06, 0xae, 0xa4, 0x7a, 0xa1, 0x0f, + 0x8f, 0x55, 0x36, 0xad, 0x08, 0xe0, 0x17, 0xd5, 0x00, 0x9e, 0x1f, 0x3d, 0x94, 0x62, 0x10, 0x03, + 0x30, 0xd6, 0x48, 0xbc, 0x6e, 0xdf, 0xbb, 0xea, 0x3b, 0xeb, 0xae, 0xdf, 0x23, 0xfb, 0x0c, 0xed, + 0x8b, 0xd0, 0x16, 0xc7, 0x06, 0x59, 0x98, 0x5a, 0x96, 0xcc, 0x1a, 0x79, 0x9a, 0x50, 0x98, 0x0f, + 0xb5, 0xd2, 0x7c, 0x30, 0xaf, 0xc0, 0x94, 0xdc, 0x1d, 0x5f, 0x44, 0xec, 0x7b, 0x3d, 0xb2, 0xcf, + 0x07, 0x34, 0x6d, 0x09, 0x8a, 0xf3, 0x79, 0x0b, 0xb1, 0xc3, 0x10, 0x94, 0xf9, 0x27, 0x1d, 0xce, + 0x94, 0x4c, 0x8e, 0x82, 0xfb, 0xd5, 0x23, 0xe3, 0xa5, 0x36, 0x0a, 0x2f, 0x75, 0x05, 0x2f, 0x7b, + 0x30, 0x87, 0x41, 0x92, 0xba, 0xee, 0x36, 0x38, 0x00, 0x5e, 0xab, 0x2a, 0xf8, 0xcb, 0x46, 0x8a, + 0xd8, 0x4b, 0x5c, 0x0c, 0x7e, 0x59, 0xef, 0x02, 0x81, 0xf9, 0xea, 0xc6, 0x15, 0xe1, 0x7f, 0x51, + 0x0d, 0xff, 0xff, 0x57, 0x85, 0x5f, 0xb6, 0x44, 0x8a, 0xff, 0x3e, 0xcc, 0xb2, 0xa4, 0xda, 0x23, + 0xbe, 0xb3, 0x1e, 0x0d, 0xb8, 0x23, 0x17, 0xa1, 0x8d, 0xf2, 0xeb, 0xd1, 0x20, 0xdf, 0x00, 0x4a, + 0x2c, 0xd6, 0xa2, 0xef, 0xb9, 0x2c, 0x79, 0xf2, 0x16, 0x22, 0xe9, 0x49, 0x2c, 0xb6, 0x40, 0x46, + 0x44, 0x9c, 0xb0, 0x30, 0xef, 0xd6, 0xac, 0x8c, 0x36, 0x7f, 0xdd, 0x84, 0x09, 0x81, 0x46, 0xbe, + 0x28, 0xb2, 0x3d, 0x77, 0x96, 0x56, 0x91, 0xc2, 0xba, 0xb6, 0x7f, 0x90, 0xc3, 0x0b, 0x29, 0xf9, + 0x78, 0xab, 0xa6, 0x1e, 0x6f, 0x15, 0x6c, 0xaa, 0x97, 0x6d, 0x2a, 0x8c, 0xab, 0x51, 0x1e, 0x17, + 0x2b, 0xe3, 0x78, 0x65, 0xb3, 0xe5, 0xd9, 0xf1, 0x0e, 0x0d, 0x87, 0x62, 0x0b, 0xdd, 0xb0, 0x4a, + 0x7c, 0x56, 0x3a, 0x22, 0x2f, 0xab, 0xfd, 0x71, 0x09, 0x2f, 0x70, 0x59, 0xa5, 0x8d, 0x9c, 0x74, + 0x0f, 0x80, 0xe7, 0x1c, 0x2a, 0x13, 0x6d, 0x8b, 0x22, 0x97, 0xfa, 0xbc, 0x0a, 0xc5, 0x52, 0x5f, + 0x66, 0xb1, 0x91, 0x0f, 0xa3, 0xc1, 0xb5, 0x90, 0x0e, 0xc5, 0xf6, 0x2a, 0x25, 0xf9, 0xc8, 0xa9, + 0x1f, 0xa7, 0x15, 0x2c, 0x9e, 0x70, 0xc8, 0x2c, 0x26, 0x2b, 0x48, 0x5e, 0xe7, 0x4f, 0x59, 0x29, + 0xc9, 0xb0, 0x14, 0x91, 0x7d, 0x51, 0xbc, 0xb3, 0x9f, 0x4a, 0xe4, 0x66, 0xd5, 0xc8, 0x15, 0xaa, + 0xb1, 0x0e, 0xff, 0x2a, 0x57, 0x63, 0x79, 0x89, 0x33, 0xa7, 0x94, 0x38, 0x57, 0x61, 0x82, 0x06, + 0x6c, 0xfa, 0x47, 0x5d, 0x83, 0x4f, 0x97, 0x67, 0x47, 0x27, 0xa8, 0xa5, 0x4d, 0x6c, 0x89, 0x13, + 0x23, 0x95, 0x33, 0x6e, 0xc2, 0x2c, 0xdd, 0xd9, 0xf1, 0x5c, 0x9f, 0x6c, 0x25, 0xd1, 0x2e, 0xdf, + 0x6a, 0x9f, 0xe1, 0x60, 0x37, 0xab, 0x8a, 0x08, 0xb5, 0xa5, 0x55, 0x14, 0x65, 0x95, 0x9f, 0x1d, + 0xe3, 0x26, 0x87, 0x27, 0xb8, 0xb3, 0x3c, 0xc1, 0x29, 0x3c, 0x7e, 0x4e, 0x28, 0x25, 0xfa, 0xc7, + 0xb8, 0xe3, 0x64, 0x16, 0x6a, 0x89, 0xed, 0xfe, 0x2e, 0xe1, 0x87, 0x46, 0xdd, 0x79, 0xac, 0x1f, + 0x65, 0x9e, 0xa8, 0xee, 0x1e, 0x4f, 0xab, 0xbb, 0x85, 0x97, 0x61, 0x4a, 0x1e, 0x60, 0xc5, 0x64, + 0x3e, 0x2b, 0x4f, 0xe6, 0x49, 0x79, 0xae, 0x7e, 0x5f, 0x83, 0xd9, 0xc2, 0xd0, 0x58, 0xeb, 0xd8, + 0x8d, 0x3d, 0x22, 0x34, 0x20, 0xc1, 0x76, 0x47, 0x0e, 0x89, 0xfa, 0x62, 0xf2, 0xf0, 0xdf, 0xc2, + 0x92, 0x5a, 0xb6, 0x65, 0x37, 0x61, 0xca, 0xdd, 0xec, 0x31, 0x45, 0x3d, 0x9a, 0xf8, 0x4e, 0x76, + 0xd0, 0x2e, 0xf1, 0xf8, 0xb6, 0x7d, 0xb3, 0xb7, 0x6c, 0x3b, 0x03, 0x82, 0xd7, 0x2e, 0x0d, 0x6e, + 0x93, 0xca, 0x34, 0x1d, 0x98, 0xbc, 0xe5, 0x06, 0xd1, 0x0a, 0x1d, 0x0e, 0x19, 0x04, 0x1c, 0x12, + 0xb3, 0x3a, 0x5e, 0xe3, 0x0e, 0x13, 0x14, 0xf3, 0xa6, 0x43, 0x76, 0xec, 0xc4, 0x8b, 0x59, 0xd3, + 0x34, 0x65, 0x48, 0x2c, 0x7e, 0x84, 0x10, 0x51, 0x7f, 0x15, 0xa5, 0xd1, 0x4e, 0x89, 0x63, 0xfe, + 0x51, 0x87, 0x0e, 0xcf, 0x88, 0x2b, 0x1c, 0x70, 0x0e, 0x17, 0xba, 0x0c, 0x0d, 0x9e, 0x00, 0x44, + 0x45, 0x79, 0xf4, 0xb9, 0x0b, 0x36, 0x35, 0xae, 0x40, 0x93, 0x06, 0xbc, 0x0c, 0xc5, 0x74, 0xf9, + 0xcc, 0x28, 0x21, 0xf5, 0x68, 0xdd, 0x12, 0x52, 0xc6, 0x35, 0x80, 0x61, 0x5e, 0x75, 0x62, 0xf1, + 0x30, 0xae, 0x0e, 0x49, 0x92, 0x39, 0x37, 0x5b, 0x17, 0xb3, 0xf3, 0xf5, 0x9a, 0xa5, 0x32, 0x8d, + 0x0d, 0x98, 0xe1, 0x66, 0x6f, 0xa6, 0x07, 0x70, 0x3c, 0x06, 0xe3, 0xf7, 0x58, 0x90, 0x36, 0x7f, + 0xa4, 0x09, 0x37, 0xb2, 0xaf, 0x3d, 0x82, 0xbe, 0xcf, 0x5d, 0xa2, 0x9d, 0xc8, 0x25, 0x0b, 0x30, + 0x39, 0x4c, 0xa4, 0xf3, 0xc0, 0x9a, 0x95, 0xd1, 0x79, 0x88, 0x6a, 0x63, 0x87, 0xc8, 0xfc, 0xb1, + 0x06, 0xdd, 0x37, 0xa8, 0xeb, 0xf3, 0x0f, 0x57, 0x83, 0xc0, 0x13, 0xd7, 0x30, 0x27, 0x8e, 0xf9, + 0x57, 0xa0, 0x65, 0xa3, 0x1a, 0x3f, 0x16, 0x61, 0x1f, 0xe3, 0x8c, 0x2f, 0x97, 0x91, 0x0e, 0x5a, + 0x6a, 0xf2, 0x41, 0x8b, 0xf9, 0x91, 0x06, 0x33, 0xe8, 0x94, 0xb7, 0x12, 0x37, 0x3e, 0xb1, 0x7d, + 0xcb, 0x30, 0xb9, 0x9f, 0xb8, 0xf1, 0x09, 0x50, 0x99, 0xc9, 0x95, 0xf1, 0x54, 0xab, 0xc0, 0x93, + 0xf9, 0x73, 0x0d, 0xce, 0x15, 0xdd, 0x7a, 0xb5, 0xdf, 0x27, 0xc1, 0x83, 0x9c, 0x52, 0xca, 0x41, + 0x53, 0xbd, 0x70, 0xd0, 0x54, 0x69, 0xb2, 0x45, 0x3e, 0x24, 0xfd, 0x87, 0xd7, 0xe4, 0x6f, 0xea, + 0xf0, 0xc4, 0x5a, 0x36, 0xf1, 0x6e, 0x85, 0xb6, 0x1f, 0xed, 0x90, 0x30, 0x7c, 0x80, 0xf6, 0xde, + 0x84, 0x69, 0x9f, 0xdc, 0xcd, 0x6d, 0x12, 0xd3, 0x71, 0x5c, 0x35, 0xaa, 0xf0, 0x78, 0xb9, 0xcb, + 0xfc, 0x8f, 0x06, 0x1d, 0xd4, 0xf3, 0xa6, 0xdb, 0xdf, 0x7b, 0x80, 0x83, 0xdf, 0x80, 0x99, 0x3d, + 0x6e, 0x01, 0xa3, 0x4e, 0x90, 0xb6, 0x0b, 0xd2, 0x63, 0x0e, 0xff, 0x63, 0x0d, 0xe6, 0xd2, 0xdb, + 0xdf, 0x03, 0xf7, 0x41, 0x82, 0x75, 0x0b, 0x66, 0xf1, 0xa4, 0xfd, 0xa4, 0x0e, 0x28, 0x8a, 0x8f, + 0xe9, 0x81, 0x5f, 0x69, 0x30, 0x8b, 0x9a, 0x5e, 0xf7, 0x63, 0x12, 0x9e, 0x78, 0xfc, 0xd7, 0xa1, + 0x4d, 0xfc, 0x38, 0xb4, 0xfd, 0x93, 0x64, 0x48, 0x59, 0x74, 0xcc, 0x24, 0xf9, 0x91, 0x06, 0x06, + 0x57, 0xb5, 0xea, 0x46, 0x43, 0x37, 0x8a, 0x1e, 0x60, 0xe8, 0xc6, 0x33, 0xf8, 0x87, 0x3a, 0x9c, + 0x95, 0xb4, 0xac, 0x27, 0xf1, 0xc3, 0x6e, 0xb2, 0xb1, 0x0a, 0x2d, 0x56, 0x23, 0xc8, 0xf7, 0xa0, + 0xe3, 0x76, 0x94, 0x0b, 0xb2, 0x2a, 0x96, 0x13, 0x3d, 0xd2, 0xa7, 0xbe, 0x13, 0xf1, 0xe2, 0x68, + 0xda, 0x52, 0x78, 0x2c, 0x0d, 0x2d, 0x48, 0x6a, 0x56, 0x6c, 0xbf, 0x4f, 0xbc, 0x47, 0xc6, 0x45, + 0xe6, 0x4f, 0x35, 0x98, 0xc1, 0x26, 0x0f, 0xff, 0x90, 0xd9, 0x5a, 0x8f, 0x40, 0xfe, 0xd4, 0x44, + 0x89, 0xc1, 0x6b, 0x5e, 0xd2, 0x22, 0xd7, 0xd5, 0x0f, 0x2f, 0xb4, 0xae, 0x43, 0xbb, 0xbf, 0x6b, + 0xfb, 0x83, 0x13, 0x81, 0x4b, 0x16, 0x35, 0x63, 0x78, 0x5c, 0x3e, 0xb4, 0x5f, 0xc1, 0x4f, 0x7c, + 0xf8, 0x2f, 0x14, 0x86, 0x72, 0xe4, 0x3b, 0x87, 0xfb, 0x73, 0xfa, 0x1e, 0xcc, 0xe1, 0x4d, 0xb1, + 0x54, 0x13, 0x1a, 0x5d, 0x98, 0xb0, 0x1d, 0x3c, 0xba, 0xd0, 0xb8, 0x50, 0x4a, 0xaa, 0x2f, 0x09, + 0xc4, 0xbb, 0xb4, 0xfc, 0x25, 0xc1, 0x79, 0x00, 0xdb, 0x71, 0xde, 0xa1, 0xa1, 0xe3, 0xfa, 0x69, + 0x81, 0x2f, 0x71, 0xcc, 0x37, 0x60, 0xea, 0x5a, 0x48, 0x87, 0xb7, 0xa4, 0x3b, 0xdf, 0x23, 0x6f, + 0xa5, 0xe5, 0xfb, 0x62, 0x5d, 0xbd, 0x2f, 0x36, 0xdf, 0x87, 0xc7, 0x4a, 0x86, 0x73, 0x67, 0xad, + 0xe0, 0x55, 0x76, 0xda, 0x89, 0x80, 0x4c, 0xd5, 0x59, 0x9e, 0x6c, 0x8b, 0xa5, 0x08, 0x99, 0xdf, + 0xd0, 0xe0, 0xa9, 0x92, 0xfa, 0xab, 0x41, 0x10, 0xd2, 0x03, 0x11, 0x93, 0xd3, 0xe8, 0x46, 0x2d, + 0x7e, 0xf5, 0x62, 0xf1, 0x5b, 0x69, 0x84, 0x52, 0xb0, 0x7f, 0x02, 0x46, 0xfc, 0x44, 0x83, 0x59, + 0x61, 0x84, 0xe3, 0x88, 0x6e, 0x5f, 0x84, 0x26, 0x3e, 0xa6, 0x11, 0x1d, 0x3e, 0x55, 0xd9, 0x61, + 0xfa, 0x08, 0xc8, 0x12, 0x8d, 0xcb, 0x88, 0xd4, 0xab, 0x66, 0xd4, 0x97, 0x33, 0xb0, 0x8f, 0xfd, + 0xdc, 0x45, 0x08, 0x98, 0x5f, 0x4d, 0xc1, 0xbc, 0x4a, 0x3c, 0x72, 0x9a, 0x3e, 0x32, 0x6f, 0xc3, + 0x0c, 0x7f, 0xd9, 0x93, 0xfb, 0xe0, 0x54, 0xd4, 0xbe, 0x03, 0x1d, 0xae, 0xf6, 0xd4, 0xed, 0xcd, + 0x66, 0x07, 0xf3, 0x8f, 0x9c, 0x4a, 0x4e, 0x45, 0xfb, 0xe7, 0xe1, 0x4c, 0xea, 0x7b, 0x7c, 0x11, + 0x8b, 0xba, 0x47, 0xdc, 0xed, 0x99, 0x1f, 0xc0, 0xfc, 0x0a, 0xf5, 0x0f, 0x48, 0x18, 0x29, 0x8f, + 0x68, 0x51, 0x42, 0x99, 0xfc, 0x82, 0x32, 0x96, 0xc0, 0xe8, 0x4b, 0x12, 0xe2, 0x74, 0x51, 0xe7, + 0xa7, 0x8b, 0x15, 0x5f, 0xcc, 0x0f, 0x61, 0x41, 0xee, 0xa1, 0x47, 0xe2, 0xad, 0xd0, 0x3d, 0x90, + 0x7a, 0x11, 0x87, 0xe0, 0x9a, 0x72, 0x08, 0x9e, 0x1f, 0x9a, 0xeb, 0xca, 0xa1, 0xf9, 0x39, 0x68, + 0xb9, 0x91, 0x50, 0xc0, 0x41, 0x38, 0x69, 0xe5, 0x0c, 0xd3, 0x86, 0x39, 0x0c, 0x97, 0xb8, 0x94, + 0xe2, 0x5d, 0x2c, 0xc0, 0x24, 0x62, 0x30, 0xeb, 0x24, 0xa3, 0x47, 0x5e, 0xf1, 0x8c, 0xbc, 0xd0, + 0x34, 0x7b, 0x30, 0x27, 0x1e, 0xee, 0x6c, 0xd9, 0x03, 0xd7, 0xc7, 0xa4, 0x7c, 0x1e, 0x20, 0xb0, + 0x07, 0xe9, 0x53, 0x41, 0xbc, 0x9a, 0x93, 0x38, 0xec, 0x7b, 0xb4, 0x4b, 0xef, 0x8a, 0xef, 0x3a, + 0x7e, 0xcf, 0x39, 0xe6, 0xdb, 0x60, 0x58, 0x24, 0x0a, 0xa8, 0x1f, 0x11, 0x49, 0xeb, 0x22, 0xb4, + 0x57, 0x92, 0x30, 0x24, 0x3e, 0xeb, 0x2a, 0x7d, 0x0b, 0x27, 0xb3, 0x98, 0xde, 0x5e, 0xae, 0x17, + 0x8f, 0xf1, 0x25, 0x8e, 0xf9, 0xef, 0x1a, 0xb4, 0x7a, 0xee, 0xc0, 0xb7, 0x3d, 0x8b, 0xec, 0x1b, + 0xaf, 0x42, 0x13, 0xb7, 0x38, 0x02, 0x59, 0x55, 0xc7, 0xca, 0xd8, 0x1a, 0xf7, 0x72, 0x16, 0xd9, + 0xbf, 0xfe, 0x7f, 0x96, 0x90, 0x31, 0xde, 0x4a, 0x9f, 0x37, 0xdd, 0xc0, 0x23, 0x2b, 0xb1, 0xde, + 0x7d, 0xf6, 0x18, 0x25, 0xa2, 0x35, 0xea, 0x52, 0x35, 0x30, 0x83, 0xfa, 0xbc, 0x04, 0x12, 0xe9, + 0x64, 0xb4, 0x41, 0x58, 0x29, 0x09, 0x83, 0x50, 0x86, 0x49, 0xdb, 0xfc, 0x50, 0x47, 0xac, 0xec, + 0xa3, 0xa5, 0xf1, 0xec, 0x47, 0x48, 0xa3, 0x0c, 0x93, 0xde, 0x4d, 0xfc, 0xc1, 0xed, 0x40, 0x9c, + 0x35, 0x8e, 0x96, 0xbe, 0xce, 0x9b, 0x09, 0x69, 0x94, 0x61, 0xd2, 0x21, 0x4f, 0xf6, 0xdc, 0xe9, + 0x47, 0x49, 0xe3, 0x9a, 0x20, 0xa4, 0x51, 0xc6, 0x78, 0x17, 0x3a, 0x6b, 0x24, 0xb6, 0x28, 0x1d, + 0x2e, 0x1f, 0xae, 0x89, 0xab, 0x1e, 0x7c, 0xb1, 0xfd, 0xfc, 0x48, 0x3d, 0x45, 0x01, 0xd4, 0x58, + 0xd2, 0xb3, 0xdc, 0x82, 0x89, 0xc0, 0x3e, 0xf4, 0xa8, 0xed, 0x98, 0xdf, 0xa9, 0x03, 0xa4, 0x46, + 0x44, 0xbc, 0xe8, 0x52, 0xc2, 0x7f, 0xe1, 0xd8, 0xf0, 0x07, 0xde, 0xa1, 0x04, 0x80, 0x5e, 0x35, + 0x00, 0x3e, 0x37, 0x2e, 0x00, 0x50, 0x5b, 0x01, 0x02, 0x57, 0x0a, 0x10, 0xb8, 0x70, 0x2c, 0x04, + 0x84, 0x51, 0x02, 0x04, 0x57, 0x0a, 0x20, 0xb8, 0x70, 0x2c, 0x08, 0x84, 0xbc, 0x80, 0xc1, 0x95, + 0x02, 0x0c, 0x2e, 0x1c, 0x0b, 0x03, 0x21, 0x2f, 0x80, 0x70, 0xa5, 0x00, 0x84, 0x0b, 0xc7, 0x02, + 0x41, 0xc8, 0x0b, 0x28, 0xbc, 0x3f, 0x12, 0x0a, 0x4b, 0xf7, 0x01, 0x05, 0xd4, 0x79, 0x24, 0x18, + 0xfe, 0xa2, 0xc3, 0x0c, 0x0f, 0x08, 0xe6, 0x66, 0x7f, 0x87, 0x96, 0x1f, 0x2c, 0x6a, 0x15, 0x0f, + 0x16, 0x8d, 0xe7, 0x61, 0x0e, 0x19, 0x44, 0xba, 0x4c, 0xc2, 0x74, 0x5f, 0xfe, 0xc0, 0xaf, 0xcf, + 0x92, 0x28, 0xa6, 0xc3, 0x55, 0x3b, 0xb6, 0xd3, 0x32, 0x33, 0xe7, 0xc8, 0x97, 0x9b, 0xf5, 0xd2, + 0xdb, 0xfd, 0x90, 0xd2, 0x61, 0x76, 0x6b, 0x29, 0x28, 0x26, 0x11, 0xbb, 0x43, 0x42, 0x93, 0x58, + 0x24, 0xb8, 0x94, 0xc4, 0x57, 0x66, 0x8e, 0x6b, 0xf3, 0x2b, 0x41, 0xf1, 0x04, 0x2b, 0x63, 0xf0, + 0x9c, 0x9c, 0x5f, 0x71, 0x8a, 0xb7, 0xf5, 0x39, 0x67, 0x8c, 0xeb, 0x48, 0xfe, 0x37, 0x0d, 0x37, + 0x76, 0xe5, 0xa7, 0x59, 0x0d, 0x4b, 0xe1, 0x99, 0xff, 0xd0, 0xe0, 0xcc, 0x96, 0x1d, 0xc6, 0x6e, + 0xdf, 0x0d, 0x6c, 0x3f, 0x5e, 0x27, 0xb1, 0xcd, 0xc7, 0xa9, 0x3c, 0x98, 0xd5, 0xee, 0xef, 0xc1, + 0xec, 0x16, 0xcc, 0x0e, 0xd4, 0xbd, 0xd6, 0x7d, 0x6e, 0x93, 0x8a, 0xe2, 0xca, 0xeb, 0xdf, 0xda, + 0x7d, 0xbf, 0xfe, 0x35, 0xbf, 0xad, 0xc3, 0x6c, 0x61, 0x61, 0x38, 0x72, 0x55, 0xbd, 0x0a, 0xe0, + 0x66, 0x50, 0x3b, 0xe2, 0x2a, 0x42, 0xc5, 0xa3, 0x25, 0x09, 0x55, 0xdd, 0x85, 0xd6, 0x4e, 0x7e, + 0x17, 0x7a, 0x1d, 0xda, 0x41, 0x1e, 0xa4, 0x23, 0x76, 0x82, 0x15, 0xa1, 0xb4, 0x64, 0x51, 0xf3, + 0x3d, 0x98, 0x2b, 0xe5, 0x48, 0x7e, 0x41, 0x49, 0xf7, 0x88, 0x9f, 0x5d, 0x50, 0x32, 0x42, 0x02, + 0xb4, 0x5e, 0x04, 0xb4, 0xe7, 0x1e, 0xc8, 0x7f, 0x45, 0x10, 0xa4, 0xf9, 0x5d, 0x1d, 0xe6, 0xab, + 0xd7, 0xce, 0x47, 0xd5, 0xdd, 0xdb, 0xd0, 0x1d, 0xb5, 0x96, 0x9c, 0x9a, 0xd7, 0x73, 0x74, 0x67, + 0x55, 0xc6, 0xa3, 0xea, 0xee, 0x33, 0x29, 0xba, 0xa5, 0xc5, 0xd6, 0xfc, 0x65, 0xe6, 0x9f, 0xac, + 0x8e, 0x7a, 0x44, 0xfd, 0x63, 0x5c, 0x84, 0x0e, 0x0e, 0x53, 0x7a, 0x3c, 0x83, 0x65, 0x79, 0x89, + 0x9f, 0x67, 0x0a, 0xa9, 0xf0, 0x38, 0x35, 0xcc, 0xfe, 0x4e, 0x4b, 0x63, 0x92, 0x55, 0xa7, 0x9f, + 0xaa, 0x98, 0xe4, 0x48, 0x93, 0xca, 0x2a, 0x09, 0x69, 0x59, 0xd5, 0xfc, 0x3f, 0xa4, 0x1d, 0x8f, + 0xb4, 0xcc, 0x97, 0x52, 0x89, 0x69, 0xbe, 0x05, 0x4f, 0x8c, 0xdc, 0x38, 0x1c, 0xe9, 0x54, 0xa9, + 0x42, 0xd3, 0x95, 0x0a, 0xcd, 0xfc, 0xbb, 0x06, 0x4f, 0x1e, 0x51, 0x81, 0x16, 0xc2, 0xa1, 0x9d, + 0x24, 0x1c, 0x2f, 0xc1, 0x3c, 0xf5, 0x57, 0xa8, 0xef, 0x93, 0x7e, 0xec, 0xfa, 0x83, 0x52, 0xc5, + 0x39, 0xe2, 0x6b, 0x3e, 0xaf, 0x6a, 0xd5, 0xf3, 0xaa, 0x3e, 0x6a, 0x5e, 0x35, 0xd4, 0x79, 0xf5, + 0x75, 0x98, 0x5e, 0x25, 0xde, 0x7a, 0x34, 0x48, 0xdf, 0x44, 0x9f, 0xea, 0xe1, 0x41, 0xf1, 0xe5, + 0x68, 0xbd, 0xfc, 0x72, 0x74, 0x19, 0x66, 0x64, 0x03, 0x4e, 0xf2, 0xe6, 0x77, 0xf9, 0xdc, 0xbb, + 0x0b, 0x4b, 0xe2, 0xbf, 0xf4, 0xaf, 0x94, 0xbc, 0xbf, 0xdd, 0xe4, 0xff, 0xbe, 0x7d, 0xe1, 0xbf, + 0x01, 0x00, 0x00, 0xff, 0xff, 0xce, 0x8c, 0x10, 0x95, 0xa4, 0x3f, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index 226ac5dcf..6ff3be38c 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -72,15 +72,9 @@ message UserInfo{ uint32 birth = 6; string email = 7; string ex = 8; - string createIp = 9; - uint32 createTime = 10; - string LastLoginIp =11; - uint32 LastLoginTime = 12; - int32 LoginTimes = 13; - int32 LoginLimit = 14; - int32 appMangerLevel = 15; - int32 globalRecvMsgOpt = 16; - string invitationCode = 17; + uint32 createTime = 9; + int32 appMangerLevel = 10; + int32 globalRecvMsgOpt = 11; } message FriendInfo{