pull/351/head
Gordon 2 years ago
parent b176701e51
commit c1a2dee0e9

@ -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 {

@ -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"
pbOrganization "Open_IM/pkg/proto/organization"
sdkws "Open_IM/pkg/proto/sdk_ws"
@ -85,7 +86,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),
@ -180,7 +181,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 {
@ -198,7 +199,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 {
@ -216,7 +217,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 {

@ -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"`
IsNotInGroup bool `json:"isNotInGroup"`
UpdateUnreadCountTime int64 ` json:"updateUnreadCountTime"`
AttachedInfo string `json:"attachedInfo"`
Ex string `json:"ex"`
}
type SetConversationReq struct {

@ -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)
}
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,
proto.RegisterFile("conversation/conversation.proto", fileDescriptor_conversation_ac55165355a1b6e6)
}
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,
}

@ -21,6 +21,8 @@ message Conversation{
int32 groupAtType = 12;
bool isNotInGroup = 13;
string ex = 14;
int64 updateUnreadCountTime = 15;
}
message ModifyConversationFieldReq{
Conversation conversation = 1;

@ -6,6 +6,7 @@ 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 (
@ -36,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_461ee57002abbf2b, []int{0}
return fileDescriptor_user_862a17c60dc96c16, []int{0}
}
func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b)
@ -83,7 +84,7 @@ 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_461ee57002abbf2b, []int{1}
return fileDescriptor_user_862a17c60dc96c16, []int{1}
}
func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b)
@ -136,7 +137,7 @@ 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_461ee57002abbf2b, []int{2}
return fileDescriptor_user_862a17c60dc96c16, []int{2}
}
func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b)
@ -182,7 +183,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_461ee57002abbf2b, []int{3}
return fileDescriptor_user_862a17c60dc96c16, []int{3}
}
func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b)
@ -228,7 +229,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_461ee57002abbf2b, []int{4}
return fileDescriptor_user_862a17c60dc96c16, []int{4}
}
func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b)
@ -275,7 +276,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_461ee57002abbf2b, []int{5}
return fileDescriptor_user_862a17c60dc96c16, []int{5}
}
func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b)
@ -328,7 +329,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_461ee57002abbf2b, []int{6}
return fileDescriptor_user_862a17c60dc96c16, []int{6}
}
func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b)
@ -374,7 +375,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_461ee57002abbf2b, []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)
@ -421,7 +422,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_461ee57002abbf2b, []int{7}
return fileDescriptor_user_862a17c60dc96c16, []int{7}
}
func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b)
@ -474,7 +475,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_461ee57002abbf2b, []int{8}
return fileDescriptor_user_862a17c60dc96c16, []int{8}
}
func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b)
@ -521,7 +522,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_461ee57002abbf2b, []int{9}
return fileDescriptor_user_862a17c60dc96c16, []int{9}
}
func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b)
@ -573,7 +574,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_461ee57002abbf2b, []int{10}
return fileDescriptor_user_862a17c60dc96c16, []int{10}
}
func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b)
@ -613,7 +614,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_461ee57002abbf2b, []int{11}
return fileDescriptor_user_862a17c60dc96c16, []int{11}
}
func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b)
@ -665,7 +666,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_461ee57002abbf2b, []int{12}
return fileDescriptor_user_862a17c60dc96c16, []int{12}
}
func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b)
@ -692,162 +693,20 @@ func (m *SetGlobalRecvMessageOptResp) GetCommonResp() *CommonResp {
return nil
}
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:"-"`
}
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_user_461ee57002abbf2b, []int{13}
}
func (m *Conversation) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Conversation.Unmarshal(m, b)
}
func (m *Conversation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Conversation.Marshal(b, m, deterministic)
}
func (dst *Conversation) XXX_Merge(src proto.Message) {
xxx_messageInfo_Conversation.Merge(dst, src)
}
func (m *Conversation) XXX_Size() int {
return xxx_messageInfo_Conversation.Size(m)
}
func (m *Conversation) XXX_DiscardUnknown() {
xxx_messageInfo_Conversation.DiscardUnknown(m)
}
var xxx_messageInfo_Conversation proto.InternalMessageInfo
func (m *Conversation) GetOwnerUserID() string {
if m != nil {
return m.OwnerUserID
}
return ""
}
func (m *Conversation) GetConversationID() string {
if m != nil {
return m.ConversationID
}
return ""
}
func (m *Conversation) GetRecvMsgOpt() int32 {
if m != nil {
return m.RecvMsgOpt
}
return 0
}
func (m *Conversation) GetConversationType() int32 {
if m != nil {
return m.ConversationType
}
return 0
}
func (m *Conversation) GetUserID() string {
if m != nil {
return m.UserID
}
return ""
}
func (m *Conversation) GetGroupID() string {
if m != nil {
return m.GroupID
}
return ""
}
func (m *Conversation) GetUnreadCount() int32 {
if m != nil {
return m.UnreadCount
}
return 0
}
func (m *Conversation) GetDraftTextTime() int64 {
if m != nil {
return m.DraftTextTime
}
return 0
}
func (m *Conversation) GetIsPinned() bool {
if m != nil {
return m.IsPinned
}
return false
}
func (m *Conversation) GetAttachedInfo() string {
if m != nil {
return m.AttachedInfo
}
return ""
}
func (m *Conversation) GetIsPrivateChat() bool {
if m != nil {
return m.IsPrivateChat
}
return false
}
func (m *Conversation) GetGroupAtType() int32 {
if m != nil {
return m.GroupAtType
}
return 0
}
func (m *Conversation) GetIsNotInGroup() bool {
if m != nil {
return m.IsNotInGroup
}
return false
}
func (m *Conversation) GetEx() string {
if m != nil {
return m.Ex
}
return ""
}
type SetConversationReq struct {
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:"-"`
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_461ee57002abbf2b, []int{14}
return fileDescriptor_user_862a17c60dc96c16, []int{13}
}
func (m *SetConversationReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetConversationReq.Unmarshal(m, b)
@ -867,7 +726,7 @@ func (m *SetConversationReq) XXX_DiscardUnknown() {
var xxx_messageInfo_SetConversationReq proto.InternalMessageInfo
func (m *SetConversationReq) GetConversation() *Conversation {
func (m *SetConversationReq) GetConversation() *conversation.Conversation {
if m != nil {
return m.Conversation
}
@ -899,7 +758,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_461ee57002abbf2b, []int{15}
return fileDescriptor_user_862a17c60dc96c16, []int{14}
}
func (m *SetConversationResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetConversationResp.Unmarshal(m, b)
@ -941,7 +800,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_461ee57002abbf2b, []int{16}
return fileDescriptor_user_862a17c60dc96c16, []int{15}
}
func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b)
@ -1007,7 +866,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_461ee57002abbf2b, []int{17}
return fileDescriptor_user_862a17c60dc96c16, []int{16}
}
func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b)
@ -1047,7 +906,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_461ee57002abbf2b, []int{18}
return fileDescriptor_user_862a17c60dc96c16, []int{17}
}
func (m *GetConversationReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationReq.Unmarshal(m, b)
@ -1089,18 +948,18 @@ func (m *GetConversationReq) GetOperationID() string {
}
type GetConversationResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
Conversation *Conversation `protobuf:"bytes,2,opt,name=Conversation" json:"Conversation,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
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_461ee57002abbf2b, []int{19}
return fileDescriptor_user_862a17c60dc96c16, []int{18}
}
func (m *GetConversationResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationResp.Unmarshal(m, b)
@ -1127,7 +986,7 @@ func (m *GetConversationResp) GetCommonResp() *CommonResp {
return nil
}
func (m *GetConversationResp) GetConversation() *Conversation {
func (m *GetConversationResp) GetConversation() *conversation.Conversation {
if m != nil {
return m.Conversation
}
@ -1147,7 +1006,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_461ee57002abbf2b, []int{20}
return fileDescriptor_user_862a17c60dc96c16, []int{19}
}
func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b)
@ -1189,18 +1048,18 @@ func (m *GetConversationsReq) GetOperationID() string {
}
type GetConversationsResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations" json:"Conversations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
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_461ee57002abbf2b, []int{21}
return fileDescriptor_user_862a17c60dc96c16, []int{20}
}
func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b)
@ -1227,7 +1086,7 @@ func (m *GetConversationsResp) GetCommonResp() *CommonResp {
return nil
}
func (m *GetConversationsResp) GetConversations() []*Conversation {
func (m *GetConversationsResp) GetConversations() []*conversation.Conversation {
if m != nil {
return m.Conversations
}
@ -1246,7 +1105,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_461ee57002abbf2b, []int{22}
return fileDescriptor_user_862a17c60dc96c16, []int{21}
}
func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b)
@ -1281,18 +1140,18 @@ func (m *GetAllConversationsReq) GetOperationID() string {
}
type GetAllConversationsResp struct {
CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"`
Conversations []*Conversation `protobuf:"bytes,2,rep,name=Conversations" json:"Conversations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
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_461ee57002abbf2b, []int{23}
return fileDescriptor_user_862a17c60dc96c16, []int{22}
}
func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b)
@ -1319,7 +1178,7 @@ func (m *GetAllConversationsResp) GetCommonResp() *CommonResp {
return nil
}
func (m *GetAllConversationsResp) GetConversations() []*Conversation {
func (m *GetAllConversationsResp) GetConversations() []*conversation.Conversation {
if m != nil {
return m.Conversations
}
@ -1327,20 +1186,20 @@ func (m *GetAllConversationsResp) GetConversations() []*Conversation {
}
type BatchSetConversationsReq struct {
Conversations []*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:"-"`
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_461ee57002abbf2b, []int{24}
return fileDescriptor_user_862a17c60dc96c16, []int{23}
}
func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b)
@ -1360,7 +1219,7 @@ func (m *BatchSetConversationsReq) XXX_DiscardUnknown() {
var xxx_messageInfo_BatchSetConversationsReq proto.InternalMessageInfo
func (m *BatchSetConversationsReq) GetConversations() []*Conversation {
func (m *BatchSetConversationsReq) GetConversations() []*conversation.Conversation {
if m != nil {
return m.Conversations
}
@ -1401,7 +1260,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_461ee57002abbf2b, []int{25}
return fileDescriptor_user_862a17c60dc96c16, []int{24}
}
func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b)
@ -1454,7 +1313,7 @@ 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_461ee57002abbf2b, []int{26}
return fileDescriptor_user_862a17c60dc96c16, []int{25}
}
func (m *ResignUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResignUserReq.Unmarshal(m, b)
@ -1499,7 +1358,7 @@ 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_461ee57002abbf2b, []int{27}
return fileDescriptor_user_862a17c60dc96c16, []int{26}
}
func (m *ResignUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ResignUserResp.Unmarshal(m, b)
@ -1538,7 +1397,7 @@ 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_461ee57002abbf2b, []int{28}
return fileDescriptor_user_862a17c60dc96c16, []int{27}
}
func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b)
@ -1597,7 +1456,7 @@ 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_461ee57002abbf2b, []int{29}
return fileDescriptor_user_862a17c60dc96c16, []int{28}
}
func (m *User) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_User.Unmarshal(m, b)
@ -1734,7 +1593,7 @@ 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_461ee57002abbf2b, []int{30}
return fileDescriptor_user_862a17c60dc96c16, []int{29}
}
func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b)
@ -1781,7 +1640,7 @@ 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_461ee57002abbf2b, []int{31}
return fileDescriptor_user_862a17c60dc96c16, []int{30}
}
func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b)
@ -1835,7 +1694,7 @@ 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_461ee57002abbf2b, []int{32}
return fileDescriptor_user_862a17c60dc96c16, []int{31}
}
func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b)
@ -1895,7 +1754,7 @@ 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_461ee57002abbf2b, []int{33}
return fileDescriptor_user_862a17c60dc96c16, []int{32}
}
func (m *AlterUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AlterUserReq.Unmarshal(m, b)
@ -1989,7 +1848,7 @@ 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_461ee57002abbf2b, []int{34}
return fileDescriptor_user_862a17c60dc96c16, []int{33}
}
func (m *AlterUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AlterUserResp.Unmarshal(m, b)
@ -2029,7 +1888,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_461ee57002abbf2b, []int{35}
return fileDescriptor_user_862a17c60dc96c16, []int{34}
}
func (m *GetUsersReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersReq.Unmarshal(m, b)
@ -2084,7 +1943,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_461ee57002abbf2b, []int{36}
return fileDescriptor_user_862a17c60dc96c16, []int{35}
}
func (m *GetUsersResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUsersResp.Unmarshal(m, b)
@ -2151,7 +2010,7 @@ 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_461ee57002abbf2b, []int{37}
return fileDescriptor_user_862a17c60dc96c16, []int{36}
}
func (m *AddUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddUserReq.Unmarshal(m, b)
@ -2245,7 +2104,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_461ee57002abbf2b, []int{38}
return fileDescriptor_user_862a17c60dc96c16, []int{37}
}
func (m *AddUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddUserResp.Unmarshal(m, b)
@ -2286,7 +2145,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_461ee57002abbf2b, []int{39}
return fileDescriptor_user_862a17c60dc96c16, []int{38}
}
func (m *BlockUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUserReq.Unmarshal(m, b)
@ -2345,7 +2204,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_461ee57002abbf2b, []int{40}
return fileDescriptor_user_862a17c60dc96c16, []int{39}
}
func (m *BlockUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUserResp.Unmarshal(m, b)
@ -2385,7 +2244,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_461ee57002abbf2b, []int{41}
return fileDescriptor_user_862a17c60dc96c16, []int{40}
}
func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b)
@ -2437,7 +2296,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_461ee57002abbf2b, []int{42}
return fileDescriptor_user_862a17c60dc96c16, []int{41}
}
func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b)
@ -2477,7 +2336,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_461ee57002abbf2b, []int{43}
return fileDescriptor_user_862a17c60dc96c16, []int{42}
}
func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b)
@ -2531,7 +2390,7 @@ 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_461ee57002abbf2b, []int{44}
return fileDescriptor_user_862a17c60dc96c16, []int{43}
}
func (m *BlockUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockUser.Unmarshal(m, b)
@ -2586,7 +2445,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_461ee57002abbf2b, []int{45}
return fileDescriptor_user_862a17c60dc96c16, []int{44}
}
func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b)
@ -2646,7 +2505,7 @@ 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_461ee57002abbf2b, []int{46}
return fileDescriptor_user_862a17c60dc96c16, []int{45}
}
func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b)
@ -2691,7 +2550,7 @@ 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_461ee57002abbf2b, []int{47}
return fileDescriptor_user_862a17c60dc96c16, []int{46}
}
func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b)
@ -2731,7 +2590,7 @@ 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_461ee57002abbf2b, []int{48}
return fileDescriptor_user_862a17c60dc96c16, []int{47}
}
func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b)
@ -2783,7 +2642,7 @@ 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_461ee57002abbf2b, []int{49}
return fileDescriptor_user_862a17c60dc96c16, []int{48}
}
func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b)
@ -2825,7 +2684,6 @@ func init() {
proto.RegisterType((*UpdateUserInfoResp)(nil), "user.UpdateUserInfoResp")
proto.RegisterType((*SetGlobalRecvMessageOptReq)(nil), "user.SetGlobalRecvMessageOptReq")
proto.RegisterType((*SetGlobalRecvMessageOptResp)(nil), "user.SetGlobalRecvMessageOptResp")
proto.RegisterType((*Conversation)(nil), "user.Conversation")
proto.RegisterType((*SetConversationReq)(nil), "user.SetConversationReq")
proto.RegisterType((*SetConversationResp)(nil), "user.SetConversationResp")
proto.RegisterType((*SetRecvMsgOptReq)(nil), "user.SetRecvMsgOptReq")
@ -3662,136 +3520,127 @@ var _User_serviceDesc = grpc.ServiceDesc{
Metadata: "user/user.proto",
}
func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_461ee57002abbf2b) }
var fileDescriptor_user_461ee57002abbf2b = []byte{
// 2047 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x5a, 0xcd, 0x6f, 0x23, 0x49,
0x15, 0x57, 0xfb, 0x63, 0x12, 0x3f, 0xc7, 0x8e, 0x53, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0x90, 0x6d,
0x2d, 0x4b, 0x34, 0x12, 0x09, 0x0c, 0x88, 0x41, 0x8b, 0x60, 0x37, 0x76, 0x32, 0x96, 0xd1, 0x4c,
0x12, 0xb5, 0x67, 0x24, 0x84, 0x10, 0x51, 0x8f, 0x5d, 0x71, 0x5a, 0xb1, 0xbb, 0x7b, 0xbb, 0xca,
0xf3, 0xc1, 0x65, 0xd1, 0x00, 0x17, 0xc4, 0x85, 0x13, 0x82, 0x03, 0x7f, 0x0c, 0x70, 0xe2, 0x3f,
0x80, 0x0b, 0xff, 0x03, 0x17, 0x2e, 0x1c, 0x50, 0x7d, 0x74, 0x77, 0x55, 0x77, 0x3b, 0x36, 0x9d,
0x68, 0xf6, 0x92, 0xe4, 0xfd, 0xaa, 0xea, 0xf5, 0x7b, 0xaf, 0xde, 0x57, 0x55, 0x05, 0x36, 0xe7,
0x04, 0x47, 0x07, 0xec, 0xc7, 0x7e, 0x18, 0x05, 0x34, 0x40, 0x35, 0xf6, 0xb7, 0xf5, 0xe1, 0x69,
0x88, 0xfd, 0xf3, 0xc1, 0xd3, 0x83, 0xf0, 0x6a, 0x72, 0xc0, 0x07, 0x0e, 0xc8, 0xf8, 0xea, 0xfc,
0x15, 0x39, 0x78, 0x45, 0xc4, 0x44, 0xfb, 0x47, 0x00, 0xbd, 0x60, 0x36, 0x0b, 0x7c, 0x07, 0x93,
0x10, 0x99, 0xb0, 0x86, 0xa3, 0xa8, 0x17, 0x8c, 0xb1, 0x69, 0xec, 0x1a, 0x7b, 0x75, 0x27, 0x26,
0xd1, 0x3d, 0xb8, 0x83, 0xa3, 0xe8, 0x29, 0x99, 0x98, 0x95, 0x5d, 0x63, 0xaf, 0xe1, 0x48, 0xca,
0xfe, 0x05, 0xb4, 0x8f, 0xf0, 0x14, 0x53, 0xfc, 0x9c, 0xe0, 0x88, 0x38, 0xf8, 0x73, 0xf4, 0x00,
0x3a, 0x29, 0x32, 0x38, 0x7a, 0xe2, 0x11, 0x6a, 0x56, 0x76, 0xab, 0x7b, 0x0d, 0x27, 0x87, 0x23,
0x0b, 0xd6, 0x4f, 0x43, 0x41, 0x9b, 0x55, 0xce, 0x37, 0xa1, 0xd1, 0x2e, 0x34, 0x4f, 0x43, 0x1c,
0xb9, 0xd4, 0x0b, 0xfc, 0xc1, 0x91, 0x59, 0xe3, 0xc3, 0x2a, 0x64, 0x07, 0xb0, 0xa9, 0x7d, 0x9b,
0x84, 0xe8, 0x5b, 0xaa, 0x3a, 0x5c, 0x87, 0xe6, 0xc3, 0xce, 0x3e, 0x37, 0x4c, 0x8a, 0x3b, 0xaa,
0xca, 0x0f, 0xa0, 0xf3, 0xd8, 0xf5, 0xa6, 0x78, 0x9c, 0x17, 0x37, 0x8b, 0xdb, 0xa7, 0xb0, 0xd9,
0xc7, 0xf4, 0x70, 0x3a, 0x15, 0x18, 0xd3, 0xd6, 0x82, 0xf5, 0x20, 0xd6, 0xc0, 0x10, 0x1a, 0x04,
0x8a, 0x06, 0x81, 0xa2, 0x81, 0x30, 0x9c, 0x0a, 0xd9, 0x63, 0xe8, 0xe8, 0x0c, 0x4b, 0xa9, 0x70,
0x1f, 0x20, 0x27, 0xbc, 0x82, 0xd8, 0x6f, 0x60, 0xf3, 0x70, 0x34, 0x0a, 0xe6, 0x3e, 0xed, 0x5d,
0xe2, 0xd1, 0x15, 0x13, 0x7b, 0x0f, 0x36, 0xf9, 0xdf, 0xca, 0x3a, 0x83, 0xaf, 0xcb, 0xc2, 0xda,
0x16, 0x55, 0xae, 0xdf, 0xa2, 0x6a, 0x7e, 0x8b, 0xfe, 0x65, 0x40, 0x47, 0xff, 0xb6, 0xd0, 0x70,
0xb4, 0x82, 0x86, 0xe9, 0x1c, 0xd4, 0x07, 0x70, 0x30, 0x99, 0x4f, 0x69, 0xa2, 0x61, 0xf3, 0xe1,
0x37, 0xc4, 0x8a, 0x2c, 0xf7, 0xfd, 0xa1, 0xe7, 0x4f, 0xa6, 0xdc, 0x25, 0x86, 0xd4, 0xa5, 0x73,
0xe2, 0x28, 0x4b, 0xad, 0x33, 0xe8, 0x64, 0xc7, 0x99, 0x6b, 0xcf, 0xd5, 0x0d, 0x94, 0x14, 0xfa,
0x08, 0x5a, 0xae, 0x60, 0x2e, 0x26, 0x4a, 0xf5, 0x75, 0xd0, 0xf6, 0xa1, 0xdd, 0xc7, 0x94, 0x1b,
0xc4, 0xbf, 0x08, 0x98, 0x6d, 0xef, 0x03, 0xcc, 0xb3, 0x66, 0x55, 0x90, 0x1b, 0x5a, 0xf4, 0xd7,
0x06, 0x77, 0xc2, 0xf4, 0x83, 0xa5, 0x0c, 0xfa, 0x29, 0x6c, 0xc4, 0x1c, 0xb8, 0x94, 0x55, 0x6e,
0xd2, 0x0f, 0xf6, 0x09, 0x8e, 0x5e, 0xe2, 0xe8, 0xdc, 0x0d, 0xbd, 0xf3, 0xd0, 0x8d, 0xdc, 0x19,
0xd9, 0x4f, 0x3e, 0xa4, 0x2d, 0xb0, 0x7f, 0x6b, 0xc0, 0xd6, 0xf3, 0x70, 0xec, 0xca, 0x70, 0x96,
0xaa, 0x3f, 0x82, 0xf5, 0x98, 0x94, 0x62, 0x5c, 0xcb, 0x32, 0x99, 0xbc, 0xcc, 0x26, 0x41, 0xde,
0x26, 0x6a, 0x18, 0x3d, 0x06, 0x94, 0x95, 0xa5, 0x8c, 0x55, 0xec, 0xb7, 0x06, 0x58, 0x43, 0x4c,
0xfb, 0xd3, 0xe0, 0x85, 0x3b, 0x75, 0xf0, 0xe8, 0xe5, 0x53, 0x4c, 0x88, 0x3b, 0xc1, 0xa7, 0x21,
0x65, 0xda, 0x2d, 0x72, 0x94, 0xa5, 0x71, 0xce, 0x92, 0xcc, 0x24, 0x65, 0x4a, 0x26, 0xa7, 0x21,
0xe5, 0x7a, 0xd4, 0x9d, 0x1c, 0x6e, 0x9f, 0xc2, 0x07, 0x0b, 0x65, 0x28, 0xa5, 0xd5, 0x3f, 0xab,
0xb0, 0xd1, 0x0b, 0xfc, 0x97, 0x38, 0x22, 0x5c, 0x1e, 0xee, 0x64, 0xaf, 0x7c, 0x1c, 0x69, 0x69,
0x4b, 0x85, 0xd0, 0xc7, 0xd0, 0x56, 0x57, 0x24, 0x4a, 0x65, 0x50, 0xe6, 0xea, 0x39, 0x8d, 0x14,
0x84, 0xe9, 0xad, 0xae, 0x78, 0xf6, 0x26, 0xc4, 0x3c, 0x91, 0xd7, 0x9d, 0x1c, 0xce, 0xac, 0x2b,
0x05, 0xaa, 0x0b, 0xeb, 0x4a, 0x59, 0x4c, 0x58, 0xeb, 0x47, 0xc1, 0x3c, 0x1c, 0x1c, 0x99, 0x77,
0xf8, 0x40, 0x4c, 0x32, 0x3d, 0x9e, 0xfb, 0x11, 0x76, 0xc7, 0x3d, 0x16, 0x8f, 0xe6, 0x1a, 0x67,
0xac, 0x42, 0x2c, 0x84, 0x8f, 0x22, 0xf7, 0x82, 0x3e, 0xc3, 0xaf, 0xe9, 0x33, 0x6f, 0x86, 0xcd,
0xf5, 0x5d, 0x63, 0xaf, 0xea, 0xe8, 0x20, 0x73, 0xbe, 0x01, 0x39, 0xf3, 0x7c, 0x1f, 0x8f, 0xcd,
0xc6, 0xae, 0xb1, 0xb7, 0xee, 0x24, 0x34, 0xb2, 0x61, 0xe3, 0x90, 0x52, 0x77, 0x74, 0x89, 0xc7,
0xdc, 0xab, 0x81, 0x8b, 0xa0, 0x61, 0xec, 0x2b, 0x03, 0x72, 0x16, 0x79, 0x2f, 0x5d, 0x8a, 0x7b,
0x97, 0x2e, 0x35, 0x9b, 0x9c, 0x89, 0x0e, 0x32, 0x69, 0xb9, 0xe0, 0x87, 0x94, 0x9b, 0x61, 0x43,
0x48, 0xab, 0x40, 0xec, 0x5b, 0x03, 0x72, 0x12, 0xd0, 0x81, 0xcf, 0x51, 0xb3, 0xc5, 0xd9, 0x68,
0x18, 0x6a, 0x43, 0xe5, 0xf8, 0xb5, 0xd9, 0xe6, 0x52, 0x54, 0x8e, 0x5f, 0xdb, 0x7f, 0x32, 0x00,
0x0d, 0x31, 0x55, 0xad, 0xc9, 0x5c, 0xf5, 0x7b, 0xfa, 0x96, 0x4b, 0x3f, 0x41, 0xb1, 0x9f, 0x28,
0x93, 0x75, 0xd7, 0x78, 0x00, 0x1d, 0x3f, 0xa0, 0xde, 0x85, 0x37, 0x4a, 0x37, 0xac, 0x22, 0x36,
0x2c, 0x8b, 0xaf, 0x90, 0xab, 0xfa, 0x70, 0x37, 0x27, 0x5b, 0x29, 0x17, 0xfe, 0xbb, 0x01, 0x9d,
0x21, 0xa6, 0xa9, 0x67, 0x31, 0x1d, 0xdf, 0xa9, 0x1b, 0xe7, 0xac, 0x52, 0x5b, 0xcd, 0x2a, 0xf5,
0xbc, 0x55, 0x8e, 0x61, 0x2b, 0xa3, 0x4b, 0x29, 0x9b, 0xfc, 0xd2, 0x00, 0xd4, 0xcf, 0xef, 0x7c,
0x5e, 0x67, 0xa3, 0x50, 0xe7, 0x8c, 0xf5, 0x2a, 0x79, 0xeb, 0x2d, 0xdf, 0xdf, 0x2f, 0xe0, 0x6e,
0xff, 0x36, 0xf6, 0x37, 0xe7, 0xae, 0x95, 0xd5, 0xdc, 0xd5, 0xfe, 0x95, 0x91, 0x93, 0x80, 0xac,
0xe6, 0x1a, 0xac, 0x01, 0xd2, 0x0c, 0x42, 0x64, 0xe3, 0x94, 0x85, 0x57, 0x30, 0xc3, 0x5b, 0x03,
0xb6, 0xf3, 0x52, 0x94, 0x32, 0xc4, 0xf7, 0xa1, 0xa5, 0xb1, 0x91, 0xbd, 0x4e, 0x91, 0x25, 0xf4,
0x89, 0xf6, 0xcf, 0xe0, 0x9e, 0x68, 0x25, 0x4b, 0x18, 0x23, 0xa3, 0x62, 0x25, 0xaf, 0xe2, 0x6f,
0x0c, 0xd8, 0x29, 0x64, 0xff, 0x8e, 0xb5, 0xfc, 0x9b, 0x01, 0x66, 0xd7, 0xa5, 0xa3, 0xcb, 0x61,
0xc1, 0xae, 0xe7, 0xd8, 0x1a, 0x2b, 0xb2, 0x5d, 0x21, 0x18, 0x8a, 0x52, 0x40, 0x75, 0xb5, 0x14,
0x50, 0x2b, 0x0a, 0x9c, 0xf7, 0x17, 0x68, 0x51, 0xca, 0x9e, 0x26, 0xac, 0x0d, 0xe7, 0xa3, 0x11,
0x26, 0xb1, 0x13, 0xc7, 0x24, 0x2b, 0xaa, 0xe2, 0x14, 0xc3, 0x3b, 0xbc, 0x86, 0x23, 0x29, 0x7b,
0x00, 0x2d, 0x07, 0x13, 0x6f, 0xe2, 0x33, 0xf5, 0x64, 0x6f, 0xc3, 0x35, 0x1d, 0xc7, 0xbd, 0x8d,
0xa0, 0x56, 0x70, 0x8d, 0x2e, 0xb4, 0x55, 0x56, 0xa5, 0x72, 0xd9, 0x8f, 0x93, 0x26, 0xba, 0xfb,
0x66, 0x30, 0xbe, 0x99, 0x3c, 0x7f, 0xa9, 0x42, 0x8d, 0x4d, 0x66, 0xe5, 0xf4, 0x2c, 0x0a, 0x2e,
0xbc, 0x29, 0x3e, 0xbb, 0x0c, 0x68, 0x20, 0x19, 0x69, 0x18, 0x2b, 0xfd, 0x27, 0xde, 0xe8, 0xca,
0x77, 0x67, 0x38, 0xee, 0x3b, 0x63, 0x5a, 0x11, 0xa1, 0xaa, 0x89, 0x70, 0x1f, 0xa0, 0x17, 0x61,
0x97, 0x62, 0xde, 0x51, 0x88, 0xdd, 0x55, 0x10, 0x26, 0xe2, 0xd9, 0x65, 0xe0, 0xe3, 0x93, 0xf9,
0xec, 0x05, 0x8e, 0xe2, 0x0a, 0xa0, 0x40, 0x68, 0x1b, 0xea, 0xc7, 0x33, 0xd7, 0x9b, 0xca, 0x86,
0x46, 0x10, 0x0c, 0xed, 0x7a, 0x11, 0xbd, 0xe4, 0x8d, 0x4c, 0xc3, 0x11, 0x04, 0x93, 0x50, 0xf0,
0x1e, 0x84, 0xbc, 0x7b, 0x69, 0x38, 0x09, 0xcd, 0x1a, 0x8f, 0x27, 0x2e, 0xa1, 0x4f, 0x82, 0x89,
0xe7, 0x73, 0x61, 0x1a, 0xe2, 0x84, 0xa2, 0x81, 0x4c, 0x9e, 0x04, 0x18, 0x84, 0xb2, 0x83, 0x51,
0x21, 0xa6, 0x51, 0x32, 0x9d, 0xf0, 0xee, 0xa5, 0xee, 0x28, 0x08, 0xb3, 0x44, 0x1f, 0xfb, 0x63,
0x1c, 0xc9, 0xae, 0x45, 0x52, 0xc9, 0xba, 0x27, 0xde, 0xcc, 0xa3, 0xbc, 0x5d, 0x89, 0xd7, 0x71,
0x84, 0xf9, 0xe5, 0x80, 0x74, 0xa7, 0xc1, 0xe8, 0x8a, 0x77, 0x2c, 0xeb, 0x4e, 0x4c, 0x8a, 0x8a,
0x3b, 0xf1, 0x08, 0xc5, 0xd1, 0x20, 0x34, 0x37, 0x85, 0x0d, 0x53, 0xc4, 0x1e, 0x25, 0x87, 0x1c,
0xe1, 0x10, 0x25, 0xcf, 0xc5, 0xfc, 0x1a, 0x44, 0x56, 0x13, 0x10, 0x73, 0xb9, 0x97, 0x72, 0xdc,
0xfe, 0x83, 0x01, 0x5b, 0xf2, 0x2b, 0xa4, 0xfb, 0xe6, 0xc4, 0x9d, 0x61, 0x79, 0xa2, 0x67, 0x08,
0x23, 0xe3, 0x13, 0x7d, 0x4c, 0xa3, 0x23, 0x80, 0x33, 0x77, 0xe2, 0xf9, 0x6a, 0x95, 0xfa, 0xa8,
0xe0, 0x84, 0xe3, 0xe0, 0xcf, 0xe7, 0x98, 0xd0, 0x74, 0xae, 0xa3, 0xac, 0x5b, 0xa1, 0xa2, 0xfc,
0x51, 0xd4, 0x76, 0x4d, 0x32, 0x12, 0xa2, 0x5d, 0xa8, 0x33, 0xc1, 0xe3, 0xc4, 0xa6, 0x6a, 0x24,
0x06, 0xd0, 0x71, 0x81, 0x80, 0x5f, 0x2f, 0x14, 0x90, 0x84, 0x81, 0x4f, 0xf0, 0x02, 0x09, 0x63,
0x1b, 0xcc, 0x67, 0x44, 0x66, 0xb9, 0x84, 0xb6, 0xff, 0x6b, 0xc0, 0xc6, 0xe1, 0x94, 0x8a, 0xcc,
0x78, 0xa3, 0x50, 0xcd, 0x46, 0x4a, 0x35, 0x1f, 0x29, 0x6a, 0x7c, 0xd6, 0x32, 0xf1, 0x99, 0x44,
0x51, 0x5d, 0x8d, 0xa2, 0xd4, 0x57, 0x45, 0x70, 0xc5, 0xbe, 0x5a, 0x1c, 0x5d, 0xdb, 0x50, 0x17,
0xc9, 0x41, 0x84, 0x56, 0x3d, 0xc9, 0x0a, 0xf2, 0xf4, 0x39, 0x96, 0x21, 0x95, 0xd0, 0xf6, 0x21,
0xb4, 0x14, 0xed, 0xcb, 0xf8, 0xa5, 0xfd, 0x7b, 0x03, 0x9a, 0xf1, 0xee, 0xc6, 0x05, 0x5a, 0x31,
0x94, 0x91, 0x37, 0xd4, 0xed, 0xf8, 0x9d, 0xea, 0xd9, 0x55, 0xdd, 0xb3, 0xed, 0xbf, 0x1a, 0xb0,
0x91, 0xca, 0x74, 0xc3, 0x70, 0xab, 0x16, 0x85, 0x5b, 0xc6, 0x37, 0xab, 0xb7, 0xe1, 0x9b, 0xb5,
0x8c, 0x6f, 0xfe, 0xdb, 0x00, 0x38, 0x1c, 0x8f, 0x63, 0xcf, 0x5c, 0x6e, 0xd8, 0x8c, 0x07, 0x56,
0xf2, 0x1e, 0xb8, 0xa8, 0x0a, 0x20, 0xa8, 0x29, 0x5e, 0x59, 0xfb, 0x12, 0x3d, 0xf2, 0x53, 0x68,
0x26, 0x3a, 0x97, 0xf2, 0xc7, 0xdf, 0x19, 0xb0, 0xc1, 0xd3, 0xf2, 0xb2, 0x88, 0xfe, 0x18, 0xda,
0xc7, 0xfe, 0xf8, 0xc8, 0x23, 0xee, 0x8b, 0xa9, 0xa8, 0x7e, 0xf2, 0x3c, 0xa5, 0xa3, 0xcb, 0x13,
0x9c, 0xa6, 0x4f, 0x2d, 0x1f, 0x61, 0x8a, 0x34, 0xa5, 0x34, 0xba, 0x80, 0xf6, 0x73, 0x7f, 0x25,
0x95, 0x96, 0x27, 0x29, 0x55, 0xd4, 0x6a, 0x46, 0xd4, 0x1e, 0x6c, 0x6a, 0xdf, 0x29, 0x25, 0xec,
0x9f, 0x0d, 0x7e, 0x0b, 0x9c, 0xb0, 0xe1, 0x39, 0x41, 0x8f, 0x78, 0xe3, 0x76, 0x2a, 0x4d, 0x81,
0x76, 0xb6, 0xb2, 0xf5, 0x27, 0xf3, 0x99, 0xcc, 0xf6, 0x1a, 0x66, 0x7f, 0x01, 0x8d, 0x84, 0x66,
0x51, 0xce, 0x7e, 0x4b, 0x91, 0xb4, 0x28, 0xe7, 0xe3, 0x0f, 0xa0, 0xd3, 0xc5, 0x13, 0xcf, 0xcf,
0x7b, 0x49, 0x0e, 0x2f, 0xf0, 0xa7, 0x6a, 0x91, 0x3f, 0xd9, 0xff, 0x10, 0x85, 0x5a, 0xb5, 0x50,
0xa9, 0x0c, 0x75, 0x00, 0x90, 0xf2, 0x90, 0x79, 0x6a, 0x53, 0xac, 0x48, 0x37, 0x51, 0x99, 0xf2,
0x2e, 0x52, 0xd6, 0x19, 0x3f, 0xc1, 0x26, 0xdf, 0x8c, 0xfb, 0xdf, 0x1d, 0x58, 0x63, 0xe4, 0xb9,
0xf7, 0xff, 0x37, 0xc0, 0xc7, 0xfc, 0x34, 0x9a, 0xe1, 0x48, 0x42, 0xf4, 0x4d, 0x65, 0x1b, 0x65,
0x0d, 0xc9, 0x29, 0x9f, 0xce, 0xb0, 0x2f, 0xa0, 0x95, 0xbe, 0xae, 0xdc, 0x4c, 0xa4, 0x6b, 0x63,
0xa8, 0xab, 0xbe, 0x20, 0x95, 0xdb, 0xd8, 0x87, 0xff, 0x69, 0x8a, 0xda, 0x83, 0x3e, 0x49, 0x2a,
0x2b, 0xbf, 0x99, 0xdb, 0x16, 0xab, 0xf4, 0x0b, 0x7a, 0xeb, 0xbd, 0x02, 0x94, 0x84, 0xa8, 0x07,
0x6d, 0xfd, 0x16, 0x19, 0xed, 0x48, 0xef, 0xce, 0xde, 0x73, 0x5b, 0x66, 0xf1, 0x00, 0x09, 0xd1,
0xcf, 0x61, 0x67, 0xc1, 0xed, 0x2d, 0xda, 0x15, 0x8b, 0x16, 0x5f, 0x30, 0x5b, 0x1f, 0x2e, 0x99,
0x41, 0x42, 0xa6, 0xa0, 0xf2, 0xe6, 0x15, 0x2b, 0xa8, 0x3f, 0xc1, 0xc5, 0x0a, 0x66, 0x1f, 0xc7,
0x7e, 0xc8, 0x4b, 0x7c, 0xf2, 0xda, 0x84, 0x52, 0x3b, 0xa8, 0x4f, 0x5a, 0xd6, 0xbd, 0x22, 0x58,
0x2c, 0x57, 0x1f, 0x5b, 0xe2, 0xe5, 0x99, 0xa7, 0xa5, 0x78, 0x79, 0xee, 0xd5, 0xe7, 0x31, 0x6f,
0xe9, 0xb5, 0xdb, 0x46, 0x33, 0xf9, 0x52, 0xe6, 0x16, 0xcb, 0x7a, 0x7f, 0xc1, 0x08, 0x09, 0x91,
0xc3, 0x03, 0x26, 0x7b, 0x13, 0x81, 0xbe, 0xa2, 0x4a, 0x9d, 0xbd, 0x1a, 0xb0, 0xbe, 0x7a, 0xcd,
0x28, 0x09, 0xd1, 0x80, 0x67, 0x60, 0x9d, 0x61, 0xb1, 0x08, 0x9c, 0x9b, 0xb5, 0x68, 0x88, 0x84,
0xe8, 0x27, 0xf0, 0x5e, 0xe1, 0xd1, 0x1e, 0xdd, 0x97, 0xb1, 0xb6, 0xe0, 0xf6, 0xc2, 0xfa, 0xda,
0xb5, 0xe3, 0xc2, 0x80, 0xc3, 0x62, 0x03, 0x0e, 0x17, 0x1a, 0xb0, 0xe8, 0xfa, 0xf5, 0x33, 0x68,
0x69, 0xf7, 0x8f, 0xe8, 0x5e, 0x32, 0x57, 0xbb, 0x60, 0xb5, 0x76, 0x0a, 0x71, 0xe1, 0x84, 0xca,
0xe9, 0x2c, 0x13, 0x65, 0x32, 0x83, 0x65, 0xa2, 0x2c, 0xc9, 0x42, 0xbd, 0xe4, 0xa8, 0x2f, 0x4f,
0x36, 0x71, 0x94, 0xe5, 0x4e, 0x62, 0x96, 0x59, 0x3c, 0x40, 0x42, 0xf4, 0x88, 0xbf, 0x07, 0xca,
0x3b, 0x07, 0x74, 0x57, 0xcc, 0xd3, 0x2e, 0x34, 0xac, 0xed, 0x3c, 0x48, 0x42, 0xf4, 0x5d, 0x68,
0x24, 0xdd, 0x3b, 0x92, 0x17, 0x43, 0xea, 0x61, 0xc6, 0xba, 0x9b, 0xc3, 0x48, 0x88, 0xbe, 0x0d,
0xeb, 0xb1, 0x10, 0x68, 0x4b, 0x17, 0x8a, 0xad, 0x41, 0x59, 0x88, 0x84, 0x68, 0x1f, 0xd6, 0x64,
0x53, 0x86, 0x64, 0xea, 0x4a, 0xfb, 0x52, 0x6b, 0x2b, 0x83, 0x08, 0xc1, 0xd2, 0x1a, 0x8b, 0xb2,
0x69, 0x39, 0x15, 0x4c, 0x6f, 0x36, 0x3e, 0x81, 0xa6, 0xd2, 0x7f, 0xc4, 0x1b, 0xa1, 0xb7, 0x3e,
0xf1, 0x46, 0x64, 0x1b, 0x95, 0xcf, 0xa0, 0xa5, 0xd5, 0x54, 0x94, 0xc6, 0xbd, 0xd6, 0x8a, 0x58,
0x3b, 0x85, 0x78, 0x12, 0x35, 0x5a, 0xa1, 0x51, 0xa2, 0x26, 0x5b, 0xd2, 0x94, 0xa8, 0xc9, 0xd7,
0xa6, 0x47, 0x00, 0x69, 0xb6, 0x8a, 0x37, 0x54, 0x2b, 0x3f, 0xd6, 0x76, 0x1e, 0x24, 0x61, 0xb7,
0xf5, 0xd3, 0xe6, 0x3e, 0xff, 0xc7, 0x87, 0x1f, 0xb0, 0x1f, 0x2f, 0xee, 0xf0, 0xff, 0x6a, 0xf8,
0xce, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x63, 0x75, 0x08, 0x11, 0x21, 0x00, 0x00,
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,
}

@ -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;

Loading…
Cancel
Save