From a4e2e23fbe9aeb785eab6242933bdd0e7427c4e2 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 8 Dec 2022 19:50:28 +0800 Subject: [PATCH 01/33] modify --- pkg/common/db/extend_msg_mongo_model.go | 32 +- pkg/proto/msg/msg.pb.go | 709 ++++++++++++++++--- pkg/proto/msg/msg.proto | 53 +- pkg/proto/sdk_ws/ws.pb.go | 880 +++++++++++++++--------- pkg/proto/sdk_ws/ws.proto | 26 +- 5 files changed, 1243 insertions(+), 457 deletions(-) diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 45e97ee25..d4229ba3a 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -16,26 +16,26 @@ import ( const cExtendMsgSet = "extend_msgs" type ExtendMsgSet struct { - ID string `bson:"id" json:"ID"` + SourceID string `bson:"id" json:"ID"` + SessionType string `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` - AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` - Ex *string `bson:"ex" json:"ex"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` - CreateTime int32 `bson:"create_time" json:"createTime"` + CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time + MaxMsgUpdateTime int64 `bson:"max_msg_update_time"` // index find msg } -type ReactionExtendMsgSet struct { - UserKey string `bson:"user_key" json:"userKey"` +type KeyValue struct { + TypeKey string `bson:"type_key" json:"typeKey"` Value string `bson:"value" json:"value"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + LatestUpdateTime int64 `bson:"latest_update_time" json:"latestUpdateTime"` } type ExtendMsg struct { - Content map[string]ReactionExtendMsgSet `bson:"content" json:"content"` - ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - CreateTime int32 `bson:"create_time" json:"createTime"` - LatestUpdateTime int32 `bson:"latest_update_time" json:"latestUpdateTime"` + ReactionExtensionList map[string]KeyValue `bson:"content" json:"content"` + ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` + MsgFirstModifyTime int64 `bson:"create_time" json:"createTime"` // this extendMsg create time + AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` + Ex *string `bson:"ex" json:"ex"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -106,10 +106,10 @@ func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *Exte func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, clientMsgID, userID, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - reactionExtendMsgSet := ReactionExtendMsgSet{ - UserKey: userID, + reactionExtendMsgSet := KeyValue{ + TypeKey: userID, Value: value, - LatestUpdateTime: int32(utils.GetCurrentTimestampBySecond()), + LatestUpdateTime: utils.GetCurrentTimestampBySecond(), } upsert := true opt := &options.UpdateOptions{ @@ -122,7 +122,7 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, c func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index int32, clientMsgID, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{}}) + _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) return err } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 532c73b84..8a5c94d97 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -7,6 +7,7 @@ import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import sdk_ws "Open_IM/pkg/proto/sdk_ws" +import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" import ( context "golang.org/x/net/context" @@ -37,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{0} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{1} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -137,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{2} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -192,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{3} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -272,7 +273,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_msg_3f0146015dfd26d9, []int{4} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -320,7 +321,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_msg_3f0146015dfd26d9, []int{5} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -381,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{6} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -437,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{7} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -505,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{8} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -558,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{9} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -607,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{10} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -674,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{11} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -720,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{12} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -766,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{13} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -811,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{14} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -851,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{15} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -906,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{16} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -966,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{17} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1013,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{18} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1067,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{19} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1120,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{20} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1167,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_3f0146015dfd26d9, []int{21} + return fileDescriptor_msg_c6fbff1b04f5a192, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1208,6 +1209,380 @@ func (m *GetWriteDiffMsgResp) GetMsgData() *sdk_ws.MsgData { return nil } +type ModifyMessageReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessageReactionExtensionsReq{} } +func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} +func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{22} +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *ModifyMessageReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyMessageReactionExtensionsReq.Merge(dst, src) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Size(m) +} +func (m *ModifyMessageReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyMessageReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_ModifyMessageReactionExtensionsReq proto.InternalMessageInfo + +func (m *ModifyMessageReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ModifyMessageReactionExtensionsReq) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ModifyMessageReactionExtensionsReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetAttachedInfo() *wrapperspb.StringValue { + if m != nil { + return m.AttachedInfo + } + return nil +} + +func (m *ModifyMessageReactionExtensionsReq) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *ModifyMessageReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type ModifyMessageReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessageReactionExtensionsResp{} } +func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} +func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{23} +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *ModifyMessageReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ModifyMessageReactionExtensionsResp.Merge(dst, src) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Size(m) +} +func (m *ModifyMessageReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_ModifyMessageReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_ModifyMessageReactionExtensionsResp proto.InternalMessageInfo + +func (m *ModifyMessageReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *ModifyMessageReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.SuccessList + } + return nil +} + +func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.FailedList + } + return nil +} + +type OperateMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType string `protobuf:"bytes,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsReq) Reset() { + *m = OperateMessageListReactionExtensionsReq{} +} +func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{24} +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsReq.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Size(m) +} +func (m *OperateMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsReq proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetSessionType() string { + if m != nil { + return m.SessionType + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { + if m != nil { + return m.MessageReactionKeyList + } + return nil +} + +type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { + ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = OperateMessageListReactionExtensionsReq_MessageReactionKey{} +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() string { + return proto.CompactTextString(m) +} +func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{24, 0} +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +} +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +type OperateMessageListReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *OperateMessageListReactionExtensionsResp) Reset() { + *m = OperateMessageListReactionExtensionsResp{} +} +func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} +func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_c6fbff1b04f5a192, []int{25} +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *OperateMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_OperateMessageListReactionExtensionsResp.Merge(dst, src) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Size(m) +} +func (m *OperateMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_OperateMessageListReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_OperateMessageListReactionExtensionsResp proto.InternalMessageInfo + +func (m *OperateMessageListReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.SuccessList + } + return nil +} + +func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { + if m != nil { + return m.FailedList + } + return nil +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1231,6 +1606,12 @@ func init() { proto.RegisterType((*GetSuperGroupMsgResp)(nil), "msg.GetSuperGroupMsgResp") proto.RegisterType((*GetWriteDiffMsgReq)(nil), "msg.GetWriteDiffMsgReq") proto.RegisterType((*GetWriteDiffMsgResp)(nil), "msg.GetWriteDiffMsgResp") + proto.RegisterType((*ModifyMessageReactionExtensionsReq)(nil), "msg.ModifyMessageReactionExtensionsReq") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.ModifyMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") + proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") + proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -1255,6 +1636,11 @@ type MsgClient interface { GetSendMsgStatus(ctx context.Context, in *GetSendMsgStatusReq, opts ...grpc.CallOption) (*GetSendMsgStatusResp, error) GetSuperGroupMsg(ctx context.Context, in *GetSuperGroupMsgReq, opts ...grpc.CallOption) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) + // modify msg + SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) } type msgClient struct { @@ -1364,6 +1750,42 @@ func (c *msgClient) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, return out, nil } +func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { + out := new(ModifyMessageReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/SetMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { + out := new(OperateMessageListReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/GetMessageListReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { + out := new(ModifyMessageReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/AddMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { + out := new(OperateMessageListReactionExtensionsResp) + err := grpc.Invoke(ctx, "/msg.msg/DeleteMessageReactionExtensions", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // Server API for Msg service type MsgServer interface { @@ -1378,6 +1800,11 @@ type MsgServer interface { GetSendMsgStatus(context.Context, *GetSendMsgStatusReq) (*GetSendMsgStatusResp, error) GetSuperGroupMsg(context.Context, *GetSuperGroupMsgReq) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) + // modify msg + SetMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) } func RegisterMsgServer(s *grpc.Server, srv MsgServer) { @@ -1582,6 +2009,78 @@ func _Msg_GetWriteDiffMsg_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyMessageReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).SetMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/SetMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OperateMessageListReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/GetMessageListReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ModifyMessageReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).AddMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/AddMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).AddMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(OperateMessageListReactionExtensionsReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/DeleteMessageReactionExtensions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "msg.msg", HandlerType: (*MsgServer)(nil), @@ -1630,71 +2129,115 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "GetWriteDiffMsg", Handler: _Msg_GetWriteDiffMsg_Handler, }, + { + MethodName: "SetMessageReactionExtensions", + Handler: _Msg_SetMessageReactionExtensions_Handler, + }, + { + MethodName: "GetMessageListReactionExtensions", + Handler: _Msg_GetMessageListReactionExtensions_Handler, + }, + { + MethodName: "AddMessageReactionExtensions", + Handler: _Msg_AddMessageReactionExtensions_Handler, + }, + { + MethodName: "DeleteMessageReactionExtensions", + Handler: _Msg_DeleteMessageReactionExtensions_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_3f0146015dfd26d9) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c6fbff1b04f5a192) } -var fileDescriptor_msg_3f0146015dfd26d9 = []byte{ - // 928 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0xe3, 0x44, - 0x14, 0x96, 0xe3, 0x26, 0xdd, 0xbe, 0xb4, 0x6a, 0x98, 0x86, 0xe2, 0x35, 0x1c, 0x82, 0x05, 0x28, - 0x02, 0xb6, 0x91, 0x0a, 0x12, 0x87, 0xbd, 0x40, 0xd7, 0x2b, 0x6f, 0x25, 0x4c, 0xb7, 0x76, 0x11, - 0x12, 0x97, 0xae, 0x69, 0x66, 0x67, 0xad, 0xc6, 0xf6, 0xd4, 0xcf, 0xa1, 0xbb, 0x20, 0xb8, 0x71, - 0xe4, 0x0f, 0xe0, 0xc4, 0x8d, 0x3b, 0xff, 0x21, 0x9a, 0x19, 0x27, 0x19, 0xff, 0x28, 0x2d, 0x61, - 0xb5, 0xb7, 0xbc, 0x37, 0x6f, 0xbe, 0xf7, 0x7d, 0x6f, 0xde, 0xcc, 0x8b, 0x61, 0x27, 0x41, 0x36, - 0x49, 0x90, 0x1d, 0xf0, 0x3c, 0x2b, 0x32, 0x62, 0x26, 0xc8, 0xec, 0xf1, 0x09, 0xa7, 0xe9, 0x83, - 0x63, 0xff, 0x41, 0x48, 0xf3, 0x1f, 0x69, 0x3e, 0xe1, 0x97, 0x6c, 0x22, 0x97, 0x27, 0x38, 0xbd, - 0x3c, 0xbf, 0xc6, 0xc9, 0x35, 0xaa, 0x70, 0xe7, 0x67, 0xe8, 0xfb, 0xc8, 0xdc, 0xa8, 0x88, 0xce, - 0x32, 0xff, 0x94, 0x0c, 0xa1, 0x5b, 0x64, 0x97, 0x34, 0xb5, 0x8c, 0x91, 0x31, 0xde, 0x0a, 0x94, - 0x41, 0x46, 0xd0, 0xcf, 0x38, 0xcd, 0xa3, 0x22, 0xce, 0xd2, 0x63, 0xd7, 0xea, 0xc8, 0x35, 0xdd, - 0x45, 0x3e, 0x87, 0xcd, 0x44, 0xc1, 0x58, 0xe6, 0xc8, 0x18, 0xf7, 0x0f, 0xed, 0x03, 0x94, 0xa9, - 0xcf, 0x23, 0x1e, 0x9f, 0xf3, 0x28, 0x8f, 0x12, 0x3c, 0x28, 0x13, 0x05, 0x8b, 0x50, 0x87, 0x6a, - 0xc9, 0xdd, 0x23, 0x1d, 0xc4, 0xb8, 0x33, 0xc8, 0xed, 0xe4, 0x9c, 0xdf, 0x0d, 0xd8, 0x7d, 0x3a, - 0xc7, 0x17, 0xba, 0xd0, 0x11, 0xf4, 0x4f, 0xb4, 0x5d, 0x4a, 0xae, 0xee, 0xd2, 0xd9, 0x74, 0xee, - 0xce, 0xc6, 0x81, 0x6d, 0x3e, 0xc7, 0x17, 0x67, 0xd9, 0xb7, 0x48, 0xf3, 0x63, 0x57, 0x56, 0x63, - 0x2b, 0xa8, 0xf8, 0x9c, 0xbf, 0x0c, 0x20, 0x2b, 0x2e, 0x59, 0xca, 0xb2, 0xa3, 0x57, 0xfe, 0x29, - 0xb1, 0x60, 0x73, 0x16, 0x61, 0x11, 0xd2, 0x2b, 0x49, 0x67, 0x23, 0x58, 0x98, 0xe4, 0x03, 0xd8, - 0x89, 0x18, 0xcb, 0x29, 0xab, 0x8a, 0xac, 0x3a, 0xc9, 0x21, 0xf4, 0x13, 0x8a, 0x18, 0x31, 0xfa, - 0x75, 0x8c, 0x85, 0x65, 0x8e, 0xcc, 0x71, 0xff, 0x70, 0x70, 0x20, 0x5a, 0x43, 0x53, 0x1e, 0xe8, - 0x41, 0xe4, 0x3d, 0xd8, 0x2a, 0xf2, 0x98, 0x31, 0xc9, 0x75, 0x43, 0xa2, 0xae, 0x1c, 0xce, 0x37, - 0x40, 0x3c, 0x5a, 0xf8, 0xd1, 0xcb, 0xaf, 0xd2, 0xa9, 0x1f, 0xa7, 0x21, 0xbd, 0x0a, 0xe8, 0x15, - 0xd9, 0x87, 0x5e, 0x29, 0x4e, 0x55, 0xad, 0xb4, 0xea, 0x25, 0xed, 0x34, 0x4a, 0xea, 0x5c, 0xc3, - 0x5e, 0x03, 0x0f, 0xb9, 0x10, 0xfe, 0x38, 0xcf, 0x1f, 0x65, 0x53, 0x2a, 0x11, 0xbb, 0xc1, 0xc2, - 0x14, 0xa9, 0x1e, 0xe7, 0xb9, 0x8f, 0xac, 0x44, 0x2b, 0x2d, 0xe1, 0xf7, 0xa3, 0x97, 0xa2, 0x52, - 0xa2, 0xbe, 0x3b, 0x41, 0x69, 0x49, 0xbf, 0xc4, 0x95, 0x5a, 0x84, 0x5f, 0x5a, 0xce, 0x4f, 0x00, - 0x21, 0x4d, 0xa7, 0x3e, 0x32, 0x21, 0xe0, 0xcd, 0x36, 0xf9, 0x9f, 0x06, 0xf4, 0x97, 0xc9, 0x95, - 0x5a, 0x5a, 0x55, 0x4b, 0x57, 0x6a, 0x69, 0x45, 0xad, 0xb2, 0x04, 0x33, 0x95, 0xc7, 0x47, 0xb6, - 0x3c, 0x26, 0xdd, 0x25, 0x22, 0x2e, 0x66, 0x31, 0x4d, 0x0b, 0x15, 0xd1, 0x55, 0x11, 0x9a, 0x8b, - 0xd8, 0x70, 0x0f, 0x69, 0x3a, 0x3d, 0x8b, 0x13, 0x6a, 0xf5, 0x46, 0xc6, 0xd8, 0x0c, 0x96, 0xb6, - 0x73, 0x01, 0xfd, 0x47, 0x33, 0x1a, 0xe5, 0x65, 0x79, 0xf6, 0xa1, 0x37, 0xaf, 0x9c, 0xaf, 0xb2, - 0x04, 0x44, 0xc6, 0xcb, 0x93, 0x57, 0x04, 0x97, 0x76, 0xbd, 0x78, 0x66, 0xf3, 0x12, 0x7e, 0x09, - 0xdb, 0xab, 0x24, 0xeb, 0x94, 0xc1, 0xf9, 0xc3, 0x80, 0xdd, 0x90, 0x0a, 0x3d, 0x95, 0x5e, 0x6c, - 0xe5, 0x6a, 0xc1, 0x26, 0xcb, 0xb3, 0x39, 0x5f, 0x52, 0x5d, 0x98, 0x62, 0x47, 0xa2, 0x5a, 0xa4, - 0x6c, 0x1d, 0x65, 0xd5, 0x15, 0x6c, 0x34, 0x8f, 0x5f, 0xd7, 0xdf, 0xad, 0xea, 0x77, 0x5c, 0x18, - 0x54, 0xa9, 0xad, 0xa5, 0xf0, 0x04, 0xf6, 0x42, 0x5a, 0x94, 0xcd, 0x12, 0x16, 0x51, 0x31, 0xc7, - 0xa0, 0x49, 0xcd, 0x68, 0x52, 0xdb, 0x87, 0x1e, 0xca, 0x70, 0x09, 0xd8, 0x0d, 0x4a, 0xcb, 0x79, - 0x02, 0xc3, 0x26, 0xe0, 0x5a, 0xd4, 0xbe, 0x90, 0x57, 0xf7, 0xbf, 0x53, 0x73, 0x9e, 0xc1, 0xd0, - 0x7b, 0x2d, 0x14, 0x34, 0x91, 0x66, 0x45, 0xe4, 0x6f, 0x06, 0xec, 0xb9, 0x74, 0x16, 0xce, 0x39, - 0xcd, 0x3d, 0x71, 0xca, 0x65, 0x1f, 0xeb, 0xe7, 0x65, 0xd4, 0xfa, 0x75, 0xd5, 0x37, 0x9d, 0x9b, - 0xfa, 0xc6, 0xac, 0xf6, 0xcd, 0xad, 0xfd, 0x21, 0x8a, 0xdd, 0xa4, 0xb1, 0x56, 0xb1, 0x2f, 0x54, - 0xb1, 0xeb, 0x82, 0x6e, 0xef, 0x83, 0x01, 0x98, 0xa2, 0xb3, 0x3b, 0xb2, 0xb3, 0xc5, 0xcf, 0x9b, - 0x05, 0x39, 0xbf, 0xaa, 0x83, 0xf9, 0xff, 0x74, 0xd7, 0x7c, 0x17, 0x9f, 0xc8, 0xe1, 0xf2, 0x5d, - 0x1e, 0x17, 0xd4, 0x8d, 0x9f, 0x3f, 0x5f, 0x5f, 0xa3, 0xf3, 0x8b, 0x2c, 0x57, 0x15, 0xe9, 0xcd, - 0x09, 0x39, 0xfc, 0xbb, 0x07, 0xe2, 0x4f, 0x17, 0x79, 0x06, 0xbb, 0xb5, 0xe9, 0x46, 0x3e, 0x6c, - 0xd9, 0xdf, 0x9c, 0xa8, 0xf6, 0x47, 0x77, 0x09, 0x43, 0x4e, 0x32, 0x18, 0x3e, 0x9d, 0xcf, 0x66, - 0xbe, 0x1a, 0xe0, 0x47, 0xaf, 0x42, 0x7a, 0x25, 0xa7, 0xf8, 0xc7, 0x2d, 0xfb, 0xdb, 0x02, 0x45, - 0xae, 0x4f, 0xee, 0x1c, 0x8b, 0x9c, 0x7c, 0x0a, 0x9b, 0xe5, 0xcd, 0x25, 0xbb, 0xf2, 0x8f, 0xc4, - 0x6a, 0x8a, 0xda, 0x83, 0xaa, 0x03, 0x39, 0x39, 0x05, 0x70, 0xe9, 0xcc, 0x47, 0x26, 0x49, 0x8d, - 0x5a, 0x12, 0xad, 0x96, 0x05, 0xc2, 0xfb, 0xb7, 0x44, 0x20, 0x27, 0x1e, 0x0c, 0xea, 0x77, 0x8a, - 0x58, 0x32, 0x71, 0xcb, 0x8d, 0xb7, 0xef, 0xdf, 0xb0, 0x82, 0x9c, 0x4c, 0xe0, 0xde, 0x62, 0xfc, - 0x10, 0xc5, 0x5c, 0x1b, 0x79, 0xf6, 0x5b, 0x35, 0x0f, 0x72, 0xf2, 0x10, 0xb6, 0xf5, 0x17, 0x9d, - 0x0c, 0x4b, 0xb9, 0x95, 0xf9, 0x63, 0xbf, 0xdd, 0xe2, 0x55, 0xb4, 0xeb, 0xef, 0x6e, 0x49, 0xbb, - 0xe5, 0x7d, 0x2f, 0x69, 0xb7, 0x3e, 0xd4, 0x1e, 0x0c, 0xbc, 0x76, 0x20, 0xef, 0x46, 0x20, 0xef, - 0x5f, 0x80, 0x5a, 0x0a, 0xd9, 0xf2, 0xd2, 0x68, 0x40, 0x8d, 0x42, 0xba, 0xb2, 0xcb, 0xf5, 0xcb, - 0x46, 0xde, 0x59, 0x44, 0xd7, 0x2e, 0xb3, 0x6d, 0xb5, 0x2f, 0x20, 0x3f, 0x7a, 0xf7, 0xfb, 0xfb, - 0xe2, 0x13, 0xe5, 0xfc, 0xd8, 0xd7, 0xbe, 0x4d, 0x12, 0x64, 0x0f, 0x13, 0x64, 0x3f, 0xf4, 0xa4, - 0xf9, 0xd9, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x68, 0xc1, 0xb8, 0x4c, 0xda, 0x0c, 0x00, 0x00, +var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ + // 1363 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, + 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, + 0x80, 0xc4, 0x25, 0xdd, 0xda, 0x2f, 0xdb, 0x55, 0xec, 0xdd, 0xcd, 0xcc, 0xba, 0xb1, 0x41, 0x94, + 0x13, 0x47, 0x0e, 0xdc, 0xe0, 0xc4, 0x8d, 0xef, 0xc0, 0x07, 0xe1, 0xd2, 0x4f, 0x83, 0x66, 0x66, + 0x6d, 0xcf, 0xfe, 0x71, 0xed, 0xb8, 0x28, 0x12, 0x37, 0xbf, 0x37, 0x6f, 0xde, 0xfc, 0x7e, 0x6f, + 0x7e, 0xb3, 0xf3, 0xc6, 0x70, 0xa5, 0xcb, 0xdc, 0xed, 0x2e, 0x73, 0x6b, 0x21, 0x0d, 0xa2, 0x80, + 0x14, 0xbb, 0xcc, 0x35, 0xaa, 0x07, 0x21, 0xfa, 0xb7, 0xf7, 0xad, 0xdb, 0x4d, 0xa4, 0xcf, 0x90, + 0x6e, 0x87, 0xa7, 0xee, 0xb6, 0x18, 0xde, 0x66, 0xed, 0xd3, 0xe3, 0x73, 0xb6, 0x7d, 0xce, 0x64, + 0xb8, 0x51, 0x9b, 0x1a, 0x49, 0x9d, 0x30, 0x44, 0x1a, 0xc7, 0x9b, 0x3f, 0x42, 0xd9, 0x62, 0x6e, + 0xdd, 0x89, 0x9c, 0xa3, 0xc0, 0x3a, 0x24, 0x1b, 0x50, 0x8a, 0x82, 0x53, 0xf4, 0x75, 0xad, 0xa2, + 0x55, 0x57, 0x6c, 0x69, 0x90, 0x0a, 0x94, 0x83, 0x10, 0xa9, 0x13, 0x79, 0x81, 0xbf, 0x5f, 0xd7, + 0x0b, 0x62, 0x4c, 0x75, 0x91, 0x8f, 0x60, 0xa9, 0x2b, 0xd3, 0xe8, 0xc5, 0x8a, 0x56, 0x2d, 0xef, + 0x18, 0x35, 0x26, 0x00, 0x1c, 0x3b, 0xa1, 0x77, 0x1c, 0x3a, 0xd4, 0xe9, 0xb2, 0x5a, 0xbc, 0x90, + 0x3d, 0x0c, 0x35, 0x51, 0x59, 0xbc, 0xbe, 0xab, 0x26, 0xd1, 0x66, 0x4e, 0x32, 0x1d, 0x9c, 0xf9, + 0xab, 0x06, 0x6b, 0x8f, 0x7a, 0xec, 0xa9, 0x4a, 0xb4, 0x02, 0xe5, 0x03, 0x65, 0x96, 0xa4, 0xab, + 0xba, 0x54, 0x34, 0x85, 0xd9, 0xd1, 0x98, 0xb0, 0x1a, 0xf6, 0xd8, 0xd3, 0xa3, 0xe0, 0x1b, 0x86, + 0x74, 0xbf, 0x2e, 0xaa, 0xb1, 0x62, 0x27, 0x7c, 0xe6, 0x5f, 0x1a, 0x90, 0x31, 0x96, 0xc0, 0x77, + 0x83, 0xdd, 0x81, 0x75, 0x48, 0x74, 0x58, 0xea, 0x38, 0x2c, 0x6a, 0xe2, 0x99, 0x80, 0xb3, 0x60, + 0x0f, 0x4d, 0xf2, 0x36, 0x5c, 0x71, 0x5c, 0x97, 0xa2, 0x9b, 0x24, 0x99, 0x74, 0x92, 0x1d, 0x28, + 0x77, 0x91, 0x31, 0xc7, 0xc5, 0xaf, 0x3c, 0x16, 0xe9, 0xc5, 0x4a, 0xb1, 0x5a, 0xde, 0x59, 0xaf, + 0x71, 0x29, 0x29, 0xcc, 0x6d, 0x35, 0x88, 0x6c, 0xc1, 0x4a, 0x44, 0x3d, 0xd7, 0x15, 0x58, 0x17, + 0x44, 0xd6, 0xb1, 0xc3, 0xfc, 0x1a, 0x48, 0x03, 0x23, 0xcb, 0xe9, 0xdf, 0xf3, 0xdb, 0x96, 0xe7, + 0x37, 0xf1, 0xcc, 0xc6, 0x33, 0xb2, 0x09, 0x8b, 0x31, 0x39, 0x59, 0xb5, 0xd8, 0x4a, 0x97, 0xb4, + 0x90, 0x29, 0xa9, 0x79, 0x0e, 0x57, 0x33, 0xf9, 0x58, 0xc8, 0x89, 0xef, 0x51, 0x7a, 0x3f, 0x68, + 0xa3, 0xc8, 0x58, 0xb2, 0x87, 0x26, 0x5f, 0x6a, 0x8f, 0x52, 0x8b, 0xb9, 0x71, 0xb6, 0xd8, 0xe2, + 0x7e, 0xcb, 0xe9, 0xf3, 0x4a, 0xf1, 0xfa, 0x5e, 0xb1, 0x63, 0x4b, 0xf8, 0x45, 0x5e, 0xc1, 0x85, + 0xfb, 0x85, 0x65, 0xfe, 0x00, 0xd0, 0x44, 0xbf, 0x6d, 0x31, 0x97, 0x13, 0xb8, 0x5c, 0x91, 0xff, + 0xa9, 0x41, 0x79, 0xb4, 0xb8, 0x64, 0x8b, 0x49, 0xb6, 0x38, 0x66, 0x8b, 0x09, 0xb6, 0xd2, 0xe2, + 0xc8, 0xe4, 0x3a, 0x16, 0x73, 0x47, 0xdb, 0xa4, 0xba, 0x78, 0x44, 0xab, 0xe3, 0xa1, 0x1f, 0xc9, + 0x88, 0x92, 0x8c, 0x50, 0x5c, 0xc4, 0x80, 0x65, 0x86, 0x7e, 0xfb, 0xc8, 0xeb, 0xa2, 0xbe, 0x58, + 0xd1, 0xaa, 0x45, 0x7b, 0x64, 0x9b, 0x2d, 0x28, 0xdf, 0xef, 0xa0, 0x43, 0xe3, 0xf2, 0x6c, 0xc2, + 0x62, 0x2f, 0xb1, 0xbf, 0xd2, 0xe2, 0x29, 0x82, 0x30, 0xde, 0x79, 0x09, 0x70, 0x64, 0xa7, 0x8b, + 0x57, 0xcc, 0x1e, 0xc2, 0xbb, 0xb0, 0x3a, 0x5e, 0x64, 0x9e, 0x32, 0x98, 0x7f, 0x68, 0xb0, 0xd6, + 0x44, 0xce, 0x27, 0xa1, 0xc5, 0x5c, 0xac, 0x3a, 0x2c, 0xb9, 0x34, 0xe8, 0x85, 0x23, 0xa8, 0x43, + 0x93, 0xcf, 0xe8, 0x4a, 0x89, 0xc4, 0xd2, 0x91, 0x56, 0x9a, 0xc1, 0x42, 0x76, 0xfb, 0x55, 0xfe, + 0xa5, 0x24, 0x7f, 0xb3, 0x0e, 0xeb, 0x49, 0x68, 0x73, 0x31, 0x3c, 0x80, 0xab, 0x4d, 0x8c, 0x62, + 0xb1, 0x34, 0x23, 0x27, 0xea, 0x31, 0x3b, 0x0b, 0x4d, 0xcb, 0x42, 0xdb, 0x84, 0x45, 0x26, 0xc2, + 0x45, 0xc2, 0x92, 0x1d, 0x5b, 0xe6, 0x03, 0xd8, 0xc8, 0x26, 0x9c, 0x0b, 0xda, 0xc7, 0xe2, 0xe8, + 0x5e, 0x1c, 0x9a, 0xf9, 0x18, 0x36, 0x1a, 0xff, 0x09, 0x04, 0x85, 0x64, 0x31, 0x41, 0xf2, 0x17, + 0x0d, 0xae, 0xd6, 0xb1, 0xd3, 0xec, 0x85, 0x48, 0x1b, 0x7c, 0x97, 0x63, 0x1d, 0xab, 0xfb, 0xa5, + 0xa5, 0xf4, 0x3a, 0xd6, 0x4d, 0x61, 0x92, 0x6e, 0x8a, 0x49, 0xdd, 0x4c, 0xd5, 0x07, 0x2f, 0x76, + 0x16, 0xc6, 0x5c, 0xc5, 0x6e, 0xc9, 0x62, 0xa7, 0x09, 0x4d, 0xd7, 0xc1, 0x3a, 0x14, 0xb9, 0xb2, + 0x0b, 0x42, 0xd9, 0xfc, 0xe7, 0x64, 0x42, 0xe6, 0x73, 0xb9, 0x31, 0xaf, 0x0e, 0x77, 0xce, 0xef, + 0xe2, 0x03, 0x71, 0xb9, 0x7c, 0x47, 0xbd, 0x08, 0xeb, 0xde, 0xc9, 0xc9, 0xfc, 0x1c, 0xcd, 0x9f, + 0x44, 0xb9, 0x92, 0x99, 0x2e, 0x91, 0xc8, 0x6f, 0x25, 0x30, 0xad, 0xa0, 0xed, 0x9d, 0x0c, 0x2c, + 0x79, 0xb3, 0xda, 0xe8, 0xb4, 0x38, 0xd8, 0xbd, 0x7e, 0x84, 0x3e, 0xf3, 0x02, 0x7f, 0xc6, 0x53, + 0xcc, 0xbf, 0xd1, 0x41, 0x8f, 0xb6, 0x70, 0xfc, 0x81, 0x1d, 0xda, 0x09, 0x31, 0x17, 0xb3, 0x1f, + 0x5f, 0x86, 0x8c, 0x2f, 0x74, 0x34, 0x08, 0x51, 0x48, 0xb3, 0x64, 0xab, 0x2e, 0xd2, 0x87, 0x6b, + 0x34, 0x0d, 0x4a, 0x34, 0x09, 0x25, 0xd1, 0x24, 0xec, 0xca, 0x26, 0x61, 0x2a, 0x87, 0x9a, 0x9d, + 0x97, 0x64, 0xcf, 0x8f, 0xe8, 0xc0, 0xce, 0x5f, 0x20, 0x7d, 0x33, 0x2d, 0x66, 0x6f, 0xa6, 0x5b, + 0x50, 0xc0, 0xbe, 0xbe, 0x24, 0xea, 0xbd, 0x55, 0x73, 0x83, 0xc0, 0xed, 0xa0, 0x6c, 0x4e, 0x9f, + 0xf4, 0x4e, 0x6a, 0xcd, 0x88, 0x7a, 0xbe, 0xfb, 0xad, 0xd3, 0xe9, 0xa1, 0x5d, 0xc0, 0x3e, 0xb9, + 0x0b, 0xab, 0x4e, 0x14, 0x39, 0xad, 0xa7, 0xd8, 0xde, 0xf7, 0x4f, 0x02, 0x7d, 0x79, 0x86, 0x79, + 0x89, 0x19, 0x5c, 0x16, 0x1e, 0x13, 0x44, 0xf4, 0x95, 0x8a, 0x56, 0x5d, 0xb6, 0x87, 0x26, 0xd9, + 0x81, 0x0d, 0x8f, 0x71, 0xf8, 0xd4, 0x77, 0x3a, 0x63, 0xe2, 0x3a, 0x88, 0xb0, 0xdc, 0x31, 0x52, + 0x03, 0xd2, 0x65, 0xee, 0x97, 0x1e, 0x65, 0x91, 0xac, 0x9f, 0xb8, 0x61, 0xcb, 0xe2, 0x86, 0xcd, + 0x19, 0x31, 0x10, 0x8c, 0xc9, 0x45, 0xe4, 0xda, 0x3e, 0xc5, 0x41, 0xac, 0x0d, 0xfe, 0x93, 0x7c, + 0x00, 0xa5, 0x67, 0x9c, 0x44, 0xdc, 0x83, 0xde, 0xc8, 0x11, 0xe4, 0x43, 0x1c, 0x48, 0x9e, 0x32, + 0xf2, 0xd3, 0xc2, 0x27, 0x9a, 0xf9, 0x8f, 0x06, 0x6f, 0x4d, 0xdd, 0xcf, 0xb9, 0xce, 0xc8, 0xe7, + 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, + 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, + 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, + 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0x39, 0x07, 0x6e, 0x25, 0x79, 0xe0, 0xce, 0x61, 0xb3, + 0x9b, 0x2c, 0xfc, 0x43, 0x1c, 0x28, 0x27, 0xee, 0x0b, 0x71, 0xe2, 0x66, 0x64, 0x52, 0xb3, 0x32, + 0xa9, 0xec, 0x09, 0xe9, 0x8d, 0xbf, 0xf9, 0xdb, 0x22, 0x33, 0x94, 0x3e, 0x86, 0x5a, 0xf6, 0x18, + 0xe6, 0x0b, 0xb9, 0x30, 0x49, 0xc8, 0xe4, 0x70, 0xd2, 0x27, 0x45, 0x2a, 0xe2, 0xa5, 0x42, 0xcd, + 0x9f, 0x69, 0xbe, 0xd0, 0xa0, 0x3a, 0x5b, 0x49, 0xfe, 0x7f, 0xca, 0xdd, 0xf9, 0x1d, 0x80, 0x3f, + 0xe5, 0xc9, 0x63, 0x58, 0x4b, 0xbd, 0x81, 0xc8, 0x3b, 0x39, 0x49, 0xb2, 0xef, 0x2e, 0xe3, 0xdd, + 0x59, 0xc2, 0x58, 0x48, 0x02, 0xd8, 0x78, 0xd4, 0xeb, 0x74, 0xe2, 0x12, 0xee, 0x0e, 0x9a, 0x78, + 0x26, 0xf0, 0xbf, 0x97, 0x33, 0x3f, 0x2f, 0x90, 0xaf, 0xf5, 0xfe, 0xcc, 0xb1, 0x2c, 0x24, 0xb7, + 0x60, 0x29, 0xee, 0xef, 0xc8, 0x9a, 0xd0, 0xf5, 0xf8, 0xad, 0x65, 0xac, 0x27, 0x1d, 0x2c, 0x24, + 0x87, 0x00, 0x75, 0xec, 0x58, 0xcc, 0x95, 0xf7, 0x43, 0xce, 0x42, 0xe3, 0x61, 0x9e, 0xe1, 0xcd, + 0x29, 0x11, 0x2c, 0x24, 0x0d, 0x58, 0x4f, 0x77, 0x5e, 0x44, 0x17, 0x0b, 0xe7, 0xf4, 0x85, 0xc6, + 0xf5, 0x09, 0x23, 0x2c, 0x24, 0xdb, 0xb0, 0x3c, 0x7c, 0xa4, 0x10, 0x89, 0x5c, 0x79, 0x18, 0x19, + 0xaf, 0xa5, 0x3c, 0x2c, 0x24, 0x77, 0x60, 0x55, 0xed, 0xfb, 0xc9, 0x46, 0x4c, 0x37, 0xf1, 0x4a, + 0x31, 0xae, 0xe5, 0x78, 0x25, 0xec, 0x74, 0x77, 0x1e, 0xc3, 0xce, 0x79, 0x05, 0xc4, 0xb0, 0x73, + 0xdb, 0xf9, 0x06, 0xac, 0x37, 0xf2, 0x13, 0x35, 0x26, 0x26, 0x6a, 0xbc, 0x24, 0x51, 0x4e, 0x21, + 0x73, 0xfa, 0x51, 0x25, 0x51, 0xa6, 0x90, 0x75, 0xa1, 0x72, 0xb5, 0x25, 0x23, 0xaf, 0x0f, 0xa3, + 0x53, 0x2d, 0x9f, 0xa1, 0xe7, 0x0f, 0xb0, 0x90, 0x9c, 0xc1, 0x16, 0x2f, 0xda, 0xa4, 0x1b, 0x8c, + 0xdc, 0x9c, 0xb1, 0x6f, 0x31, 0xaa, 0xb3, 0x05, 0xb2, 0x90, 0xfc, 0x0c, 0x95, 0xc6, 0x68, 0xc9, + 0xfc, 0xcf, 0x0f, 0xb9, 0x75, 0x91, 0x8f, 0xb7, 0x71, 0xfb, 0x02, 0xd1, 0x92, 0xf3, 0xbd, 0x76, + 0xfb, 0x52, 0x39, 0x3f, 0x87, 0x37, 0xea, 0xd8, 0xc1, 0x11, 0xba, 0x4b, 0xa6, 0xbc, 0x7b, 0xe3, + 0xfb, 0xeb, 0x07, 0x21, 0xfa, 0xc7, 0xfb, 0x96, 0xf2, 0x77, 0x65, 0x97, 0xb9, 0x77, 0xba, 0xcc, + 0x7d, 0xb2, 0x28, 0xcc, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0x8a, 0xda, 0x17, + 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 38144eec9..bd7899019 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -154,25 +154,45 @@ message GetWriteDiffMsgResp{ server_api_params.MsgData msgData = 3; } -message ModifyMsgReq { +message ModifyMessageReactionExtensionsReq { string operationID = 1; - string ID = 2; - int32 Index = 3; - int32 msgIndex = 4; - string opUserID = 5; - string userID = 6; - bool isFirstModify = 7; - string clientMsgID = 8; - google.protobuf.StringValue value = 9; - google.protobuf.StringValue ex = 10; - google.protobuf.StringValue attachedInfo = 11; + string sourceID = 2; + string opUserID = 3; + int32 sessionType = 4; + map reactionExtensionList = 5; + string clientMsgID = 6; + google.protobuf.StringValue ex = 7; + google.protobuf.StringValue attachedInfo = 8; + bool isReact = 9; + bool isExternalExtensions = 10; + int64 msgFirstModifyTime = 11; } -message ModifyMsgResp { +message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - int32 Index = 4; - int32 msgIndex = 3; + repeated server_api_params.ExtendMsg successList = 3; + repeated server_api_params.ExtendMsg failedList = 4; +} + +message OperateMessageListReactionExtensionsReq { + string operationID = 1; + string opUserID = 2; + string sourceID = 3; + string sessionType = 4; + message MessageReactionKey { + string clientMsgID = 1; + int64 msgFirstModifyTime = 2; + repeated server_api_params.KeyValue reactionExtensionList = 3; + } + repeated MessageReactionKey messageReactionKeyList = 5; +} + +message OperateMessageListReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + repeated server_api_params.ExtendMsg successList = 3; + repeated server_api_params.ExtendMsg failedList = 4; } service msg { @@ -189,5 +209,8 @@ service msg { rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); // modify msg - rpc ModifyMsg(ModifyMsgReq) returns(ModifyMsgResp); + rpc SetMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); } diff --git a/pkg/proto/sdk_ws/ws.pb.go b/pkg/proto/sdk_ws/ws.pb.go index 9ee84f836..1341cfc53 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_064f17309f8224cf, []int{0} + return fileDescriptor_ws_20501d8722cdea6e, []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_064f17309f8224cf, []int{1} + return fileDescriptor_ws_20501d8722cdea6e, []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_064f17309f8224cf, []int{2} + return fileDescriptor_ws_20501d8722cdea6e, []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_064f17309f8224cf, []int{3} + return fileDescriptor_ws_20501d8722cdea6e, []int{3} } func (m *PublicUserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublicUserInfo.Unmarshal(m, b) @@ -505,7 +505,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_064f17309f8224cf, []int{4} + return fileDescriptor_ws_20501d8722cdea6e, []int{4} } func (m *UserInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfo.Unmarshal(m, b) @@ -626,7 +626,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_064f17309f8224cf, []int{5} + return fileDescriptor_ws_20501d8722cdea6e, []int{5} } func (m *FriendInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfo.Unmarshal(m, b) @@ -711,7 +711,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_064f17309f8224cf, []int{6} + return fileDescriptor_ws_20501d8722cdea6e, []int{6} } func (m *BlackInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackInfo.Unmarshal(m, b) @@ -794,7 +794,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_064f17309f8224cf, []int{7} + return fileDescriptor_ws_20501d8722cdea6e, []int{7} } func (m *GroupRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupRequest.Unmarshal(m, b) @@ -916,7 +916,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_064f17309f8224cf, []int{8} + return fileDescriptor_ws_20501d8722cdea6e, []int{8} } func (m *FriendRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendRequest.Unmarshal(m, b) @@ -1061,7 +1061,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_064f17309f8224cf, []int{9} + return fileDescriptor_ws_20501d8722cdea6e, []int{9} } func (m *Department) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Department.Unmarshal(m, b) @@ -1173,7 +1173,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_064f17309f8224cf, []int{10} + return fileDescriptor_ws_20501d8722cdea6e, []int{10} } func (m *OrganizationUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationUser.Unmarshal(m, b) @@ -1294,7 +1294,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_064f17309f8224cf, []int{11} + return fileDescriptor_ws_20501d8722cdea6e, []int{11} } func (m *DepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DepartmentMember.Unmarshal(m, b) @@ -1375,7 +1375,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_064f17309f8224cf, []int{12} + return fileDescriptor_ws_20501d8722cdea6e, []int{12} } func (m *UserDepartmentMember) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserDepartmentMember.Unmarshal(m, b) @@ -1421,7 +1421,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_064f17309f8224cf, []int{13} + return fileDescriptor_ws_20501d8722cdea6e, []int{13} } func (m *UserInDepartment) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInDepartment.Unmarshal(m, b) @@ -1470,7 +1470,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_064f17309f8224cf, []int{14} + return fileDescriptor_ws_20501d8722cdea6e, []int{14} } func (m *PullMessageBySeqListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListReq.Unmarshal(m, b) @@ -1529,7 +1529,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_064f17309f8224cf, []int{15} + return fileDescriptor_ws_20501d8722cdea6e, []int{15} } func (m *SeqList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SeqList.Unmarshal(m, b) @@ -1567,7 +1567,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_064f17309f8224cf, []int{16} + return fileDescriptor_ws_20501d8722cdea6e, []int{16} } func (m *MsgDataList) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataList.Unmarshal(m, b) @@ -1608,7 +1608,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_064f17309f8224cf, []int{17} + return fileDescriptor_ws_20501d8722cdea6e, []int{17} } func (m *PullMessageBySeqListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PullMessageBySeqListResp.Unmarshal(m, b) @@ -1669,7 +1669,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_064f17309f8224cf, []int{18} + return fileDescriptor_ws_20501d8722cdea6e, []int{18} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -1722,7 +1722,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_064f17309f8224cf, []int{19} + return fileDescriptor_ws_20501d8722cdea6e, []int{19} } func (m *MaxAndMinSeq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MaxAndMinSeq.Unmarshal(m, b) @@ -1771,7 +1771,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_064f17309f8224cf, []int{20} + return fileDescriptor_ws_20501d8722cdea6e, []int{20} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -1839,7 +1839,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_064f17309f8224cf, []int{21} + return fileDescriptor_ws_20501d8722cdea6e, []int{21} } func (m *UserSendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserSendMsgResp.Unmarshal(m, b) @@ -1912,7 +1912,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_064f17309f8224cf, []int{22} + return fileDescriptor_ws_20501d8722cdea6e, []int{22} } func (m *MsgData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgData.Unmarshal(m, b) @@ -2101,7 +2101,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_064f17309f8224cf, []int{23} + return fileDescriptor_ws_20501d8722cdea6e, []int{23} } func (m *OfflinePushInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OfflinePushInfo.Unmarshal(m, b) @@ -2169,7 +2169,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_064f17309f8224cf, []int{24} + return fileDescriptor_ws_20501d8722cdea6e, []int{24} } func (m *TipsComm) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TipsComm.Unmarshal(m, b) @@ -2226,7 +2226,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_064f17309f8224cf, []int{25} + return fileDescriptor_ws_20501d8722cdea6e, []int{25} } func (m *GroupCreatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCreatedTips.Unmarshal(m, b) @@ -2295,7 +2295,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_064f17309f8224cf, []int{26} + return fileDescriptor_ws_20501d8722cdea6e, []int{26} } func (m *GroupInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupInfoSetTips.Unmarshal(m, b) @@ -2350,7 +2350,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_064f17309f8224cf, []int{27} + return fileDescriptor_ws_20501d8722cdea6e, []int{27} } func (m *JoinGroupApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_JoinGroupApplicationTips.Unmarshal(m, b) @@ -2406,7 +2406,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_064f17309f8224cf, []int{28} + return fileDescriptor_ws_20501d8722cdea6e, []int{28} } func (m *MemberQuitTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberQuitTips.Unmarshal(m, b) @@ -2461,7 +2461,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_064f17309f8224cf, []int{29} + return fileDescriptor_ws_20501d8722cdea6e, []int{29} } func (m *GroupApplicationAcceptedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationAcceptedTips.Unmarshal(m, b) @@ -2516,7 +2516,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_064f17309f8224cf, []int{30} + return fileDescriptor_ws_20501d8722cdea6e, []int{30} } func (m *GroupApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupApplicationRejectedTips.Unmarshal(m, b) @@ -2572,7 +2572,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_064f17309f8224cf, []int{31} + return fileDescriptor_ws_20501d8722cdea6e, []int{31} } func (m *GroupOwnerTransferredTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupOwnerTransferredTips.Unmarshal(m, b) @@ -2635,7 +2635,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_064f17309f8224cf, []int{32} + return fileDescriptor_ws_20501d8722cdea6e, []int{32} } func (m *MemberKickedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberKickedTips.Unmarshal(m, b) @@ -2698,7 +2698,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_064f17309f8224cf, []int{33} + return fileDescriptor_ws_20501d8722cdea6e, []int{33} } func (m *MemberInvitedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberInvitedTips.Unmarshal(m, b) @@ -2760,7 +2760,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_064f17309f8224cf, []int{34} + return fileDescriptor_ws_20501d8722cdea6e, []int{34} } func (m *MemberEnterTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MemberEnterTips.Unmarshal(m, b) @@ -2814,7 +2814,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_064f17309f8224cf, []int{35} + return fileDescriptor_ws_20501d8722cdea6e, []int{35} } func (m *GroupDismissedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupDismissedTips.Unmarshal(m, b) @@ -2870,7 +2870,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_064f17309f8224cf, []int{36} + return fileDescriptor_ws_20501d8722cdea6e, []int{36} } func (m *GroupMemberMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberMutedTips.Unmarshal(m, b) @@ -2939,7 +2939,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_064f17309f8224cf, []int{37} + return fileDescriptor_ws_20501d8722cdea6e, []int{37} } func (m *GroupMemberCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberCancelMutedTips.Unmarshal(m, b) @@ -3000,7 +3000,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_064f17309f8224cf, []int{38} + return fileDescriptor_ws_20501d8722cdea6e, []int{38} } func (m *GroupMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMutedTips.Unmarshal(m, b) @@ -3054,7 +3054,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_064f17309f8224cf, []int{39} + return fileDescriptor_ws_20501d8722cdea6e, []int{39} } func (m *GroupCancelMutedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupCancelMutedTips.Unmarshal(m, b) @@ -3109,7 +3109,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_064f17309f8224cf, []int{40} + return fileDescriptor_ws_20501d8722cdea6e, []int{40} } func (m *GroupMemberInfoSetTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GroupMemberInfoSetTips.Unmarshal(m, b) @@ -3169,7 +3169,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_064f17309f8224cf, []int{41} + return fileDescriptor_ws_20501d8722cdea6e, []int{41} } func (m *OrganizationChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OrganizationChangedTips.Unmarshal(m, b) @@ -3216,7 +3216,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_064f17309f8224cf, []int{42} + return fileDescriptor_ws_20501d8722cdea6e, []int{42} } func (m *FriendApplication) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplication.Unmarshal(m, b) @@ -3269,7 +3269,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_064f17309f8224cf, []int{43} + return fileDescriptor_ws_20501d8722cdea6e, []int{43} } func (m *FromToUserID) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FromToUserID.Unmarshal(m, b) @@ -3315,7 +3315,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_064f17309f8224cf, []int{44} + return fileDescriptor_ws_20501d8722cdea6e, []int{44} } func (m *FriendApplicationTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationTips.Unmarshal(m, b) @@ -3355,7 +3355,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_064f17309f8224cf, []int{45} + return fileDescriptor_ws_20501d8722cdea6e, []int{45} } func (m *FriendApplicationApprovedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationApprovedTips.Unmarshal(m, b) @@ -3402,7 +3402,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_064f17309f8224cf, []int{46} + return fileDescriptor_ws_20501d8722cdea6e, []int{46} } func (m *FriendApplicationRejectedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendApplicationRejectedTips.Unmarshal(m, b) @@ -3450,7 +3450,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_064f17309f8224cf, []int{47} + return fileDescriptor_ws_20501d8722cdea6e, []int{47} } func (m *FriendAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendAddedTips.Unmarshal(m, b) @@ -3503,7 +3503,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_064f17309f8224cf, []int{48} + return fileDescriptor_ws_20501d8722cdea6e, []int{48} } func (m *FriendDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendDeletedTips.Unmarshal(m, b) @@ -3541,7 +3541,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_064f17309f8224cf, []int{49} + return fileDescriptor_ws_20501d8722cdea6e, []int{49} } func (m *BlackAddedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackAddedTips.Unmarshal(m, b) @@ -3579,7 +3579,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_064f17309f8224cf, []int{50} + return fileDescriptor_ws_20501d8722cdea6e, []int{50} } func (m *BlackDeletedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlackDeletedTips.Unmarshal(m, b) @@ -3617,7 +3617,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_064f17309f8224cf, []int{51} + return fileDescriptor_ws_20501d8722cdea6e, []int{51} } func (m *FriendInfoChangedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FriendInfoChangedTips.Unmarshal(m, b) @@ -3656,7 +3656,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_064f17309f8224cf, []int{52} + return fileDescriptor_ws_20501d8722cdea6e, []int{52} } func (m *UserInfoUpdatedTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UserInfoUpdatedTips.Unmarshal(m, b) @@ -3697,7 +3697,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_064f17309f8224cf, []int{53} + return fileDescriptor_ws_20501d8722cdea6e, []int{53} } func (m *ConversationUpdateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationUpdateTips.Unmarshal(m, b) @@ -3751,7 +3751,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_064f17309f8224cf, []int{54} + return fileDescriptor_ws_20501d8722cdea6e, []int{54} } func (m *ConversationSetPrivateTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConversationSetPrivateTips.Unmarshal(m, b) @@ -3806,7 +3806,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_064f17309f8224cf, []int{55} + return fileDescriptor_ws_20501d8722cdea6e, []int{55} } func (m *DeleteMessageTips) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageTips.Unmarshal(m, b) @@ -3860,7 +3860,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_064f17309f8224cf, []int{56} + return fileDescriptor_ws_20501d8722cdea6e, []int{56} } func (m *RequestPagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RequestPagination.Unmarshal(m, b) @@ -3906,7 +3906,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_064f17309f8224cf, []int{57} + return fileDescriptor_ws_20501d8722cdea6e, []int{57} } func (m *ResponsePagination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResponsePagination.Unmarshal(m, b) @@ -3963,7 +3963,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_064f17309f8224cf, []int{58} + return fileDescriptor_ws_20501d8722cdea6e, []int{58} } func (m *SignalReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalReq.Unmarshal(m, b) @@ -4352,7 +4352,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_064f17309f8224cf, []int{59} + return fileDescriptor_ws_20501d8722cdea6e, []int{59} } func (m *SignalResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalResp.Unmarshal(m, b) @@ -4682,7 +4682,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_064f17309f8224cf, []int{60} + return fileDescriptor_ws_20501d8722cdea6e, []int{60} } func (m *InvitationInfo) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_InvitationInfo.Unmarshal(m, b) @@ -4792,7 +4792,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_064f17309f8224cf, []int{61} + return fileDescriptor_ws_20501d8722cdea6e, []int{61} } func (m *ParticipantMetaData) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ParticipantMetaData.Unmarshal(m, b) @@ -4847,7 +4847,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_064f17309f8224cf, []int{62} + return fileDescriptor_ws_20501d8722cdea6e, []int{62} } func (m *SignalInviteReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReq.Unmarshal(m, b) @@ -4909,7 +4909,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_064f17309f8224cf, []int{63} + return fileDescriptor_ws_20501d8722cdea6e, []int{63} } func (m *SignalInviteReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteReply.Unmarshal(m, b) @@ -4971,7 +4971,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_064f17309f8224cf, []int{64} + return fileDescriptor_ws_20501d8722cdea6e, []int{64} } func (m *SignalInviteInGroupReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReq.Unmarshal(m, b) @@ -5033,7 +5033,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_064f17309f8224cf, []int{65} + return fileDescriptor_ws_20501d8722cdea6e, []int{65} } func (m *SignalInviteInGroupReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalInviteInGroupReply.Unmarshal(m, b) @@ -5095,7 +5095,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_064f17309f8224cf, []int{66} + return fileDescriptor_ws_20501d8722cdea6e, []int{66} } func (m *SignalCancelReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReq.Unmarshal(m, b) @@ -5153,7 +5153,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_064f17309f8224cf, []int{67} + return fileDescriptor_ws_20501d8722cdea6e, []int{67} } func (m *SignalCancelReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalCancelReply.Unmarshal(m, b) @@ -5188,7 +5188,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_064f17309f8224cf, []int{68} + return fileDescriptor_ws_20501d8722cdea6e, []int{68} } func (m *SignalAcceptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReq.Unmarshal(m, b) @@ -5256,7 +5256,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_064f17309f8224cf, []int{69} + return fileDescriptor_ws_20501d8722cdea6e, []int{69} } func (m *SignalAcceptReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalAcceptReply.Unmarshal(m, b) @@ -5310,7 +5310,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_064f17309f8224cf, []int{70} + return fileDescriptor_ws_20501d8722cdea6e, []int{70} } func (m *SignalHungUpReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReq.Unmarshal(m, b) @@ -5361,7 +5361,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_064f17309f8224cf, []int{71} + return fileDescriptor_ws_20501d8722cdea6e, []int{71} } func (m *SignalHungUpReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalHungUpReply.Unmarshal(m, b) @@ -5396,7 +5396,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_064f17309f8224cf, []int{72} + return fileDescriptor_ws_20501d8722cdea6e, []int{72} } func (m *SignalRejectReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReq.Unmarshal(m, b) @@ -5461,7 +5461,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_064f17309f8224cf, []int{73} + return fileDescriptor_ws_20501d8722cdea6e, []int{73} } func (m *SignalRejectReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalRejectReply.Unmarshal(m, b) @@ -5494,7 +5494,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_064f17309f8224cf, []int{74} + return fileDescriptor_ws_20501d8722cdea6e, []int{74} } func (m *SignalGetRoomByGroupIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReq.Unmarshal(m, b) @@ -5548,7 +5548,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_064f17309f8224cf, []int{75} + return fileDescriptor_ws_20501d8722cdea6e, []int{75} } func (m *SignalGetRoomByGroupIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetRoomByGroupIDReply.Unmarshal(m, b) @@ -5602,7 +5602,7 @@ func (m *SignalOnRoomParticipantConnectedReq) Reset() { *m = SignalOnRoo func (m *SignalOnRoomParticipantConnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantConnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantConnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{76} + return fileDescriptor_ws_20501d8722cdea6e, []int{76} } func (m *SignalOnRoomParticipantConnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantConnectedReq.Unmarshal(m, b) @@ -5658,7 +5658,7 @@ func (m *SignalOnRoomParticipantDisconnectedReq) Reset() { func (m *SignalOnRoomParticipantDisconnectedReq) String() string { return proto.CompactTextString(m) } func (*SignalOnRoomParticipantDisconnectedReq) ProtoMessage() {} func (*SignalOnRoomParticipantDisconnectedReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{77} + return fileDescriptor_ws_20501d8722cdea6e, []int{77} } func (m *SignalOnRoomParticipantDisconnectedReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalOnRoomParticipantDisconnectedReq.Unmarshal(m, b) @@ -5713,7 +5713,7 @@ func (m *SignalGetTokenByRoomIDReq) Reset() { *m = SignalGetTokenByRoomI func (m *SignalGetTokenByRoomIDReq) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReq) ProtoMessage() {} func (*SignalGetTokenByRoomIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{78} + return fileDescriptor_ws_20501d8722cdea6e, []int{78} } func (m *SignalGetTokenByRoomIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReq.Unmarshal(m, b) @@ -5773,7 +5773,7 @@ func (m *SignalGetTokenByRoomIDReply) Reset() { *m = SignalGetTokenByRoo func (m *SignalGetTokenByRoomIDReply) String() string { return proto.CompactTextString(m) } func (*SignalGetTokenByRoomIDReply) ProtoMessage() {} func (*SignalGetTokenByRoomIDReply) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{79} + return fileDescriptor_ws_20501d8722cdea6e, []int{79} } func (m *SignalGetTokenByRoomIDReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignalGetTokenByRoomIDReply.Unmarshal(m, b) @@ -5821,7 +5821,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_064f17309f8224cf, []int{80} + return fileDescriptor_ws_20501d8722cdea6e, []int{80} } func (m *DelMsgListReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListReq.Unmarshal(m, b) @@ -5881,7 +5881,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_064f17309f8224cf, []int{81} + return fileDescriptor_ws_20501d8722cdea6e, []int{81} } func (m *DelMsgListResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelMsgListResp.Unmarshal(m, b) @@ -5927,7 +5927,7 @@ func (m *SetAppBackgroundStatusReq) Reset() { *m = SetAppBackgroundStatu func (m *SetAppBackgroundStatusReq) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusReq) ProtoMessage() {} func (*SetAppBackgroundStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{82} + return fileDescriptor_ws_20501d8722cdea6e, []int{82} } func (m *SetAppBackgroundStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusReq.Unmarshal(m, b) @@ -5973,7 +5973,7 @@ func (m *SetAppBackgroundStatusResp) Reset() { *m = SetAppBackgroundStat func (m *SetAppBackgroundStatusResp) String() string { return proto.CompactTextString(m) } func (*SetAppBackgroundStatusResp) ProtoMessage() {} func (*SetAppBackgroundStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_ws_064f17309f8224cf, []int{83} + return fileDescriptor_ws_20501d8722cdea6e, []int{83} } func (m *SetAppBackgroundStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAppBackgroundStatusResp.Unmarshal(m, b) @@ -6007,6 +6007,208 @@ func (m *SetAppBackgroundStatusResp) GetErrMsg() string { return "" } +type ExtendMsgSet struct { + SourceID string `protobuf:"bytes,1,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,2,opt,name=sessionType" json:"sessionType,omitempty"` + ExtendMsgs map[string]*ExtendMsg `protobuf:"bytes,3,rep,name=extendMsgs" json:"extendMsgs,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MaxMsgUpdateTime int64 `protobuf:"varint,4,opt,name=MaxMsgUpdateTime" json:"MaxMsgUpdateTime,omitempty"` + ExtendMsgNum int32 `protobuf:"varint,5,opt,name=extendMsgNum" json:"extendMsgNum,omitempty"` + CreateTime int64 `protobuf:"varint,6,opt,name=createTime" json:"createTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgSet) Reset() { *m = ExtendMsgSet{} } +func (m *ExtendMsgSet) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgSet) ProtoMessage() {} +func (*ExtendMsgSet) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{84} +} +func (m *ExtendMsgSet) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgSet.Unmarshal(m, b) +} +func (m *ExtendMsgSet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgSet.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgSet) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgSet.Merge(dst, src) +} +func (m *ExtendMsgSet) XXX_Size() int { + return xxx_messageInfo_ExtendMsgSet.Size(m) +} +func (m *ExtendMsgSet) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgSet.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgSet proto.InternalMessageInfo + +func (m *ExtendMsgSet) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *ExtendMsgSet) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *ExtendMsgSet) GetExtendMsgs() map[string]*ExtendMsg { + if m != nil { + return m.ExtendMsgs + } + return nil +} + +func (m *ExtendMsgSet) GetMaxMsgUpdateTime() int64 { + if m != nil { + return m.MaxMsgUpdateTime + } + return 0 +} + +func (m *ExtendMsgSet) GetExtendMsgNum() int32 { + if m != nil { + return m.ExtendMsgNum + } + return 0 +} + +func (m *ExtendMsgSet) GetCreateTime() int64 { + if m != nil { + return m.CreateTime + } + return 0 +} + +type ExtendMsg struct { + ReactionExtensionList map[string]*KeyValue `protobuf:"bytes,1,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{85} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetReactionExtensionList() map[string]*KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *ExtendMsg) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsg) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type KeyValue struct { + TypeKey string `protobuf:"bytes,1,opt,name=typeKey" json:"typeKey,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"` + LatestUpdateTime int64 `protobuf:"varint,3,opt,name=latestUpdateTime" json:"latestUpdateTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyValue) Reset() { *m = KeyValue{} } +func (m *KeyValue) String() string { return proto.CompactTextString(m) } +func (*KeyValue) ProtoMessage() {} +func (*KeyValue) Descriptor() ([]byte, []int) { + return fileDescriptor_ws_20501d8722cdea6e, []int{86} +} +func (m *KeyValue) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyValue.Unmarshal(m, b) +} +func (m *KeyValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyValue.Marshal(b, m, deterministic) +} +func (dst *KeyValue) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyValue.Merge(dst, src) +} +func (m *KeyValue) XXX_Size() int { + return xxx_messageInfo_KeyValue.Size(m) +} +func (m *KeyValue) XXX_DiscardUnknown() { + xxx_messageInfo_KeyValue.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyValue proto.InternalMessageInfo + +func (m *KeyValue) GetTypeKey() string { + if m != nil { + return m.TypeKey + } + return "" +} + +func (m *KeyValue) GetValue() string { + if m != nil { + return m.Value + } + return "" +} + +func (m *KeyValue) GetLatestUpdateTime() int64 { + if m != nil { + return m.LatestUpdateTime + } + return 0 +} + func init() { proto.RegisterType((*GroupInfo)(nil), "server_api_params.GroupInfo") proto.RegisterType((*GroupInfoForSet)(nil), "server_api_params.GroupInfoForSet") @@ -6096,253 +6298,271 @@ func init() { proto.RegisterType((*DelMsgListResp)(nil), "server_api_params.DelMsgListResp") proto.RegisterType((*SetAppBackgroundStatusReq)(nil), "server_api_params.SetAppBackgroundStatusReq") proto.RegisterType((*SetAppBackgroundStatusResp)(nil), "server_api_params.SetAppBackgroundStatusResp") + proto.RegisterType((*ExtendMsgSet)(nil), "server_api_params.ExtendMsgSet") + proto.RegisterMapType((map[string]*ExtendMsg)(nil), "server_api_params.ExtendMsgSet.ExtendMsgsEntry") + proto.RegisterType((*ExtendMsg)(nil), "server_api_params.ExtendMsg") + proto.RegisterMapType((map[string]*KeyValue)(nil), "server_api_params.ExtendMsg.ReactionExtensionListEntry") + proto.RegisterType((*KeyValue)(nil), "server_api_params.KeyValue") } -func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_064f17309f8224cf) } +func init() { proto.RegisterFile("sdk_ws/ws.proto", fileDescriptor_ws_20501d8722cdea6e) } -var fileDescriptor_ws_064f17309f8224cf = []byte{ - // 3880 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x5b, 0x6f, 0x1c, 0xd7, - 0x79, 0x9e, 0x59, 0xee, 0x92, 0xfb, 0x2d, 0x2f, 0xcb, 0x91, 0x44, 0xaf, 0x69, 0x59, 0x65, 0xc7, - 0x82, 0xea, 0xaa, 0x32, 0x55, 0xc8, 0x17, 0xd4, 0x37, 0x15, 0xbc, 0x58, 0x14, 0x6d, 0x2d, 0x49, - 0xcf, 0x4a, 0x56, 0x61, 0x1b, 0x50, 0x87, 0x3b, 0x87, 0xcb, 0x31, 0x67, 0x67, 0x86, 0x73, 0xa1, - 0xc4, 0x3e, 0xb4, 0x40, 0x5b, 0xb4, 0x05, 0xfa, 0x50, 0xa0, 0xe8, 0x05, 0x48, 0xde, 0xf2, 0x12, - 0x24, 0x08, 0x8c, 0x20, 0x48, 0x82, 0x00, 0x09, 0x82, 0x20, 0xc8, 0x43, 0x80, 0x04, 0x48, 0xde, - 0x03, 0x24, 0x48, 0x9e, 0xf2, 0x90, 0x3f, 0x10, 0x20, 0x80, 0x83, 0x73, 0xbe, 0x33, 0x33, 0xe7, - 0xcc, 0xcc, 0x5e, 0x44, 0x10, 0x96, 0x0c, 0xe5, 0x8d, 0xdf, 0x37, 0xe7, 0xfb, 0xce, 0x77, 0x3f, - 0xdf, 0xb9, 0x2c, 0x61, 0x2e, 0xb4, 0x0e, 0xee, 0xdd, 0x0f, 0xaf, 0xde, 0x0f, 0x97, 0xfd, 0xc0, - 0x8b, 0x3c, 0x6d, 0x3e, 0x24, 0xc1, 0x11, 0x09, 0xee, 0x99, 0xbe, 0x7d, 0xcf, 0x37, 0x03, 0xb3, - 0x1f, 0x2e, 0x2e, 0x6f, 0xfb, 0xc4, 0x7d, 0x71, 0xb3, 0xfd, 0x62, 0x87, 0x7d, 0xba, 0xea, 0x1f, - 0xf4, 0xae, 0xb2, 0xc1, 0x57, 0x13, 0xe2, 0xc0, 0xf4, 0x7d, 0x12, 0x70, 0x16, 0xfa, 0xaf, 0x26, - 0xa0, 0xbe, 0x11, 0x78, 0xb1, 0xbf, 0xe9, 0xee, 0x79, 0x5a, 0x0b, 0x26, 0x7b, 0x0c, 0x58, 0x6f, - 0x29, 0x4b, 0xca, 0x0b, 0x75, 0x23, 0x01, 0xb5, 0xf3, 0x50, 0x67, 0x7f, 0x6e, 0x99, 0x7d, 0xd2, - 0x52, 0xd9, 0xb7, 0x0c, 0xa1, 0xe9, 0x30, 0xed, 0x7a, 0x91, 0xbd, 0x67, 0x77, 0xcd, 0xc8, 0xf6, - 0xdc, 0x56, 0x85, 0x0d, 0x90, 0x70, 0x74, 0x8c, 0xed, 0x46, 0x81, 0x67, 0xc5, 0x5d, 0x36, 0x66, - 0x02, 0xc7, 0x88, 0x38, 0x3a, 0xff, 0x9e, 0xd9, 0x25, 0x77, 0x8c, 0x5b, 0xad, 0x2a, 0xce, 0xcf, - 0x41, 0x6d, 0x09, 0x1a, 0xde, 0x7d, 0x97, 0x04, 0x77, 0x42, 0x12, 0x6c, 0xae, 0xb7, 0x6a, 0xec, - 0xab, 0x88, 0xd2, 0x2e, 0x00, 0x74, 0x03, 0x62, 0x46, 0xe4, 0xb6, 0xdd, 0x27, 0xad, 0xc9, 0x25, - 0xe5, 0x85, 0x19, 0x43, 0xc0, 0x50, 0x0e, 0x7d, 0xd2, 0xdf, 0x25, 0xc1, 0x9a, 0x17, 0xbb, 0x51, - 0x6b, 0x8a, 0x0d, 0x10, 0x51, 0xda, 0x2c, 0xa8, 0xe4, 0x41, 0xab, 0xce, 0x58, 0xab, 0xe4, 0x81, - 0xb6, 0x00, 0xb5, 0x30, 0x32, 0xa3, 0x38, 0x6c, 0xc1, 0x92, 0xf2, 0x42, 0xd5, 0xe0, 0x90, 0x76, - 0x11, 0x66, 0x18, 0x5f, 0x2f, 0x91, 0xa6, 0xc1, 0x48, 0x64, 0x64, 0x6a, 0xb1, 0xdb, 0xc7, 0x3e, - 0x69, 0x4d, 0x33, 0x06, 0x19, 0x42, 0xbb, 0x0c, 0x4d, 0x97, 0x10, 0xeb, 0x7d, 0x12, 0x64, 0x56, - 0x9b, 0x61, 0x83, 0x0a, 0x78, 0xed, 0x12, 0xcc, 0x3a, 0x9e, 0x77, 0xd0, 0x66, 0xa2, 0x52, 0x3f, - 0xb5, 0x66, 0xd9, 0xc8, 0x1c, 0x56, 0xbb, 0x02, 0xf3, 0xa6, 0xef, 0x3b, 0xc7, 0x88, 0xba, 0x11, - 0xd8, 0xc4, 0xb5, 0x5a, 0x73, 0x6c, 0x68, 0xf1, 0x83, 0xf6, 0x2a, 0x2c, 0x88, 0xfe, 0xb9, 0xe3, - 0x5b, 0x89, 0xed, 0x9a, 0xcc, 0x34, 0x03, 0xbe, 0x6a, 0xcb, 0xa0, 0x49, 0x5f, 0xd0, 0x04, 0xf3, - 0xcc, 0x04, 0x25, 0x5f, 0xf4, 0xff, 0xa9, 0xc0, 0x5c, 0x1a, 0x61, 0x37, 0xbc, 0xa0, 0x43, 0xa2, - 0xc7, 0x38, 0xce, 0x30, 0x06, 0x6a, 0x69, 0x0c, 0x6c, 0x94, 0xf8, 0x89, 0xc6, 0x56, 0xe3, 0xda, - 0xb3, 0xcb, 0x3d, 0xcf, 0xeb, 0x39, 0x04, 0x13, 0x69, 0x37, 0xde, 0x5b, 0xde, 0x74, 0xa3, 0x97, - 0xae, 0xbd, 0x6f, 0x3a, 0x31, 0x29, 0x71, 0xe2, 0x5a, 0xc1, 0x89, 0x53, 0xa3, 0xd9, 0xe4, 0x3d, - 0xbc, 0x59, 0xe6, 0xe1, 0xfa, 0x68, 0x3e, 0x45, 0x2a, 0xfd, 0x53, 0x15, 0xce, 0x30, 0xb7, 0x70, - 0x6c, 0xec, 0x38, 0x23, 0x4a, 0xc0, 0x02, 0xd4, 0x62, 0x74, 0x36, 0xfa, 0x85, 0x43, 0xd4, 0x65, - 0x81, 0xe7, 0x90, 0x5b, 0xe4, 0x88, 0x38, 0xcc, 0x23, 0x55, 0x23, 0x43, 0x68, 0x8b, 0x30, 0xf5, - 0xb1, 0x67, 0xbb, 0x2c, 0xb0, 0x26, 0xd8, 0xc7, 0x14, 0xa6, 0xdf, 0x5c, 0xbb, 0x7b, 0xe0, 0x52, - 0x5f, 0xa3, 0x1f, 0x52, 0x58, 0x74, 0x51, 0x4d, 0x76, 0xd1, 0x25, 0x98, 0x35, 0x7d, 0xbf, 0x6d, - 0xba, 0x3d, 0x12, 0xe0, 0xa4, 0x93, 0x98, 0x0e, 0x32, 0x96, 0x16, 0x04, 0x3a, 0x53, 0xc7, 0x8b, - 0x83, 0x2e, 0x61, 0xd6, 0xae, 0x1a, 0x02, 0x86, 0xf2, 0xf1, 0x7c, 0x12, 0x08, 0x79, 0x8c, 0xa9, - 0x9f, 0xc3, 0xf2, 0x90, 0x80, 0x34, 0x24, 0x68, 0x21, 0x89, 0x23, 0xf2, 0xb6, 0x6b, 0x31, 0xa5, - 0x1a, 0xbc, 0x90, 0x64, 0x28, 0x5a, 0x20, 0x6c, 0xf7, 0xc8, 0x8e, 0xd2, 0x72, 0x35, 0x8d, 0x05, - 0x42, 0x42, 0xea, 0xff, 0xa6, 0xc0, 0xec, 0x4e, 0xbc, 0xeb, 0xd8, 0x5d, 0x86, 0xa0, 0xc6, 0xcf, - 0x4c, 0xac, 0x48, 0x26, 0x16, 0x0d, 0xa5, 0x0e, 0x36, 0x54, 0x45, 0x36, 0xd4, 0x02, 0xd4, 0x7a, - 0xc4, 0xb5, 0x48, 0xc0, 0x0d, 0xcf, 0x21, 0xae, 0x50, 0x35, 0x51, 0x48, 0xff, 0xa5, 0x0a, 0x53, - 0x9f, 0xb1, 0x08, 0x4b, 0xd0, 0xf0, 0xf7, 0x3d, 0x97, 0x6c, 0xc5, 0x34, 0xf8, 0xb8, 0x2c, 0x22, - 0x4a, 0x3b, 0x0b, 0xd5, 0x5d, 0x3b, 0x88, 0xf6, 0x99, 0xf7, 0x67, 0x0c, 0x04, 0x28, 0x96, 0xf4, - 0x4d, 0x1b, 0x5d, 0x5e, 0x37, 0x10, 0xe0, 0x0a, 0x4d, 0xa5, 0x1e, 0x92, 0x97, 0x82, 0x7a, 0x61, - 0x29, 0x28, 0x46, 0x10, 0x94, 0x46, 0xd0, 0x65, 0x68, 0xf6, 0x1c, 0x6f, 0xd7, 0x74, 0x0c, 0xd2, - 0x3d, 0x6a, 0x87, 0xbd, 0x6d, 0x3f, 0x62, 0xee, 0xae, 0x1a, 0x05, 0x3c, 0xb5, 0x0f, 0x13, 0xb1, - 0x13, 0x05, 0xdc, 0xdd, 0x29, 0xac, 0xff, 0x5e, 0x01, 0xc0, 0xb4, 0x63, 0x26, 0xce, 0xad, 0x65, - 0x4a, 0x71, 0x2d, 0x5b, 0x80, 0x5a, 0x40, 0xfa, 0x66, 0x70, 0x90, 0xa4, 0x1a, 0x42, 0x39, 0xc5, - 0x2a, 0x05, 0xc5, 0xde, 0x00, 0xd8, 0x63, 0xf3, 0x50, 0x3e, 0xcc, 0xe4, 0xb4, 0x30, 0x14, 0xba, - 0x84, 0xe5, 0xc4, 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0xaa, 0x98, 0xc7, - 0x29, 0xa2, 0x24, 0x5b, 0x6a, 0x43, 0xb2, 0x65, 0x32, 0x0d, 0xae, 0xdf, 0x29, 0x50, 0x5f, 0x75, - 0xcc, 0xee, 0xc1, 0x98, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x60, 0x66, 0x97, 0xb2, 0x4b, - 0x54, 0x60, 0x56, 0x68, 0x5c, 0xfb, 0xf3, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, - 0x89, 0xd1, 0xea, 0x56, 0x87, 0xa8, 0x9b, 0xae, 0x17, 0xfa, 0xff, 0x57, 0x60, 0x9a, 0x95, 0x55, - 0x83, 0x1c, 0xc6, 0x24, 0x8c, 0xb4, 0xb7, 0x60, 0x2a, 0x4e, 0x44, 0x55, 0xc6, 0x15, 0x35, 0x25, - 0xd1, 0x5e, 0xe7, 0xeb, 0x21, 0xa3, 0x57, 0x19, 0xfd, 0xf9, 0x12, 0xfa, 0x74, 0x81, 0x35, 0xb2, - 0xe1, 0x74, 0x25, 0xdc, 0x37, 0x5d, 0xcb, 0x21, 0x06, 0x09, 0x63, 0x27, 0xe2, 0xb5, 0x59, 0xc2, - 0x61, 0xa4, 0x1d, 0xb6, 0xc3, 0x1e, 0x5f, 0x27, 0x39, 0x44, 0xad, 0x83, 0xe3, 0xe8, 0x27, 0x54, - 0x3d, 0x43, 0xd0, 0x84, 0x0f, 0xc8, 0x21, 0xf3, 0x10, 0xa6, 0x67, 0x02, 0x66, 0x73, 0x72, 0xab, - 0x61, 0x20, 0x48, 0x38, 0xea, 0x62, 0x84, 0x19, 0x03, 0x6c, 0xc4, 0x04, 0x4c, 0xa1, 0x0f, 0x93, - 0x0b, 0x39, 0x14, 0x0a, 0x79, 0xa1, 0xdc, 0x36, 0xca, 0xca, 0xed, 0x2f, 0x2a, 0x30, 0x83, 0x49, - 0x98, 0xb8, 0xe6, 0x02, 0xcd, 0x16, 0xaf, 0x2f, 0xc5, 0xa2, 0x80, 0xa1, 0xba, 0x50, 0x68, 0x4b, - 0x2e, 0x7b, 0x12, 0x8e, 0x06, 0x34, 0x85, 0x6f, 0x48, 0xe5, 0x4f, 0x44, 0x25, 0xb3, 0x6c, 0x88, - 0x65, 0x50, 0xc0, 0xd0, 0xc2, 0x11, 0x79, 0x52, 0x8c, 0xa5, 0x30, 0xa5, 0x8d, 0xbc, 0x74, 0x7e, - 0x8c, 0x32, 0x01, 0x43, 0xbd, 0x14, 0x79, 0xc9, 0xdc, 0x68, 0xea, 0x0c, 0x81, 0x9c, 0xf9, 0xbc, - 0xb8, 0xfc, 0xa5, 0x70, 0x21, 0x36, 0xea, 0x43, 0x63, 0x03, 0xa4, 0xd8, 0x90, 0x53, 0xb4, 0x51, - 0x48, 0xd1, 0x8b, 0x30, 0x83, 0x7c, 0x72, 0xcb, 0x9f, 0x84, 0x94, 0x23, 0x6c, 0x26, 0x1f, 0x61, - 0x72, 0x8c, 0xcc, 0x0e, 0x88, 0x91, 0xb9, 0x34, 0xef, 0xbe, 0xa1, 0x02, 0xac, 0x13, 0xdf, 0x0c, - 0xa2, 0x3e, 0x71, 0x23, 0xaa, 0x9e, 0x95, 0x42, 0xa9, 0x73, 0x25, 0x9c, 0xb8, 0x6a, 0xa9, 0xf2, - 0xaa, 0xa5, 0xc1, 0x04, 0x33, 0x38, 0x7a, 0x93, 0xfd, 0x4d, 0x8d, 0xe9, 0x9b, 0x01, 0x72, 0xc3, - 0x54, 0x49, 0x61, 0xba, 0x2a, 0x79, 0x81, 0xc5, 0xd7, 0xb1, 0xaa, 0x81, 0x00, 0x2d, 0x21, 0xd9, - 0x7c, 0x6c, 0x17, 0x50, 0xc3, 0x55, 0x46, 0xc6, 0x8e, 0xdc, 0xb8, 0x5c, 0x86, 0x66, 0x18, 0xef, - 0x66, 0xca, 0x6d, 0xc5, 0x7d, 0x9e, 0x34, 0x05, 0x3c, 0x35, 0x2a, 0xee, 0x68, 0xe8, 0x20, 0x5c, - 0xf8, 0x32, 0x44, 0xbe, 0x93, 0xd1, 0x7f, 0xac, 0x42, 0x73, 0x3b, 0xe8, 0x99, 0xae, 0xfd, 0x0f, - 0x69, 0xc7, 0x7e, 0xa2, 0x06, 0x60, 0x09, 0x1a, 0xc4, 0xed, 0x39, 0x76, 0xb8, 0xbf, 0x95, 0xd9, - 0x4d, 0x44, 0x89, 0xc6, 0x9e, 0x18, 0xd4, 0x22, 0x54, 0xa5, 0x16, 0x61, 0x01, 0x6a, 0x7d, 0x6f, - 0xd7, 0x76, 0x92, 0xb8, 0xe7, 0x10, 0x8b, 0x79, 0xe2, 0x10, 0xd6, 0x2b, 0xa4, 0x31, 0x9f, 0x20, - 0xb2, 0xb6, 0x61, 0xaa, 0xb4, 0x6d, 0xa8, 0x8b, 0x6d, 0x83, 0x6c, 0x78, 0x28, 0x18, 0x1e, 0xcd, - 0xd5, 0x48, 0xeb, 0xd0, 0xb0, 0x25, 0xfe, 0x07, 0x0a, 0x34, 0x33, 0x57, 0x60, 0x4f, 0x3d, 0xd0, - 0x94, 0xf9, 0xe8, 0x54, 0x4b, 0xa2, 0x33, 0x8d, 0xa9, 0x8a, 0x18, 0x53, 0x34, 0x0a, 0xbd, 0xd0, - 0x16, 0x36, 0x36, 0x29, 0x4c, 0x67, 0x73, 0x88, 0x29, 0x18, 0x12, 0x21, 0x61, 0x1b, 0x5b, 0x93, - 0xb6, 0xb1, 0xf9, 0x95, 0xfa, 0x3b, 0x0a, 0x9c, 0xa5, 0x11, 0x50, 0x50, 0x63, 0x1b, 0x9a, 0x5e, - 0x2e, 0x4a, 0xf8, 0x52, 0xf6, 0x7c, 0xc9, 0x52, 0x94, 0x0f, 0x28, 0xa3, 0x40, 0x4c, 0x19, 0x5a, - 0xb9, 0x49, 0xf8, 0xda, 0x56, 0xc6, 0x30, 0x2f, 0x8f, 0x51, 0x20, 0xd6, 0xbf, 0xa7, 0x40, 0x13, - 0x17, 0x4f, 0xa1, 0x06, 0x9c, 0xba, 0xd8, 0x77, 0xe1, 0x6c, 0x7e, 0xe6, 0x5b, 0x76, 0x18, 0xb5, - 0xd4, 0xa5, 0xca, 0xb8, 0xa2, 0x97, 0x32, 0xd0, 0xbf, 0xa6, 0xc2, 0xd3, 0x3b, 0xb1, 0xe3, 0xb4, - 0x49, 0x18, 0x9a, 0x3d, 0xb2, 0x7a, 0xdc, 0x21, 0x87, 0xf4, 0x83, 0x41, 0x0e, 0x07, 0xc6, 0x10, - 0xed, 0xa4, 0x58, 0x2b, 0x62, 0x7b, 0x6e, 0x1a, 0x42, 0x22, 0x8a, 0xa6, 0x5c, 0x88, 0x7c, 0x5a, - 0x95, 0xa5, 0x0a, 0x5d, 0xa4, 0x39, 0xa8, 0xfd, 0x3d, 0x4c, 0xb3, 0x2e, 0x81, 0x4f, 0xd3, 0x9a, - 0x60, 0x0a, 0xbc, 0x59, 0xda, 0x97, 0x94, 0x4a, 0x85, 0xfd, 0x06, 0x87, 0xdf, 0x76, 0xa3, 0xe0, - 0xd8, 0x90, 0x38, 0x2e, 0x7e, 0x08, 0xf3, 0x85, 0x21, 0x5a, 0x13, 0x2a, 0x07, 0xe4, 0x98, 0xeb, - 0x41, 0xff, 0xd4, 0xfe, 0x1a, 0xaa, 0x47, 0x74, 0x83, 0xca, 0xbd, 0xbf, 0x58, 0x22, 0x01, 0x97, - 0xd9, 0xc0, 0x81, 0xaf, 0xab, 0x7f, 0xa3, 0xe8, 0xcf, 0xa7, 0x8a, 0x89, 0x3a, 0x2a, 0x92, 0x8e, - 0xfa, 0xbb, 0xd0, 0x68, 0x87, 0xbd, 0x75, 0x33, 0x32, 0xd9, 0xc0, 0x37, 0xa1, 0xd1, 0xcf, 0x40, - 0x36, 0xb8, 0x7c, 0x3e, 0x4e, 0x64, 0x88, 0xc3, 0xf5, 0x9f, 0xab, 0xd0, 0x2a, 0x37, 0x45, 0xe8, - 0x53, 0x19, 0x48, 0x10, 0xac, 0x79, 0x16, 0x61, 0xaa, 0x55, 0x8d, 0x04, 0xa4, 0xbe, 0x23, 0x41, - 0x40, 0xd7, 0x37, 0xde, 0xc6, 0x23, 0xa4, 0x2d, 0xc3, 0x84, 0x93, 0xb8, 0x65, 0xb8, 0x14, 0x6c, - 0x9c, 0xd6, 0x87, 0x26, 0xb3, 0xae, 0xa0, 0x10, 0xf7, 0xd9, 0xca, 0xd8, 0x3e, 0x0b, 0x7d, 0x74, - 0x9a, 0xc0, 0x03, 0x1d, 0x57, 0x60, 0xbd, 0xd8, 0x85, 0x73, 0xa5, 0x43, 0x4b, 0x1c, 0xf8, 0xb2, - 0xec, 0xc0, 0x0b, 0x83, 0x55, 0xc9, 0x3b, 0xd1, 0x07, 0x6d, 0x83, 0x44, 0x6d, 0xf3, 0xc1, 0x8a, - 0x6b, 0xb5, 0x6d, 0xb7, 0x43, 0x0e, 0x69, 0xb4, 0x2f, 0x41, 0x83, 0x1f, 0x37, 0xa4, 0x6e, 0xaa, - 0x1b, 0x22, 0x6a, 0xe0, 0x29, 0x44, 0x2e, 0x1f, 0x2a, 0x85, 0x7c, 0xd0, 0xaf, 0xc3, 0xb4, 0x38, - 0x1d, 0x5b, 0x60, 0xcc, 0x07, 0x1d, 0x72, 0xc8, 0x14, 0x9a, 0x31, 0x38, 0xc4, 0xf0, 0x6c, 0x04, - 0xdf, 0x7d, 0x70, 0x48, 0xff, 0x89, 0x0a, 0x67, 0x0a, 0x22, 0x87, 0xfe, 0xc3, 0xf2, 0x11, 0xe3, - 0xa5, 0x32, 0x28, 0x5e, 0x26, 0xa4, 0x78, 0x39, 0x80, 0x79, 0x74, 0x92, 0x30, 0x75, 0xab, 0xca, - 0x02, 0xe0, 0xad, 0xb2, 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, - 0x24, 0xb0, 0x50, 0x3e, 0xb8, 0xc4, 0xfd, 0xaf, 0xc8, 0xee, 0xff, 0xb3, 0x32, 0xf7, 0x8b, 0x92, - 0x08, 0xfe, 0x3f, 0x84, 0x39, 0x5a, 0x54, 0x3b, 0xc4, 0xb5, 0xda, 0x61, 0x8f, 0x19, 0x72, 0x09, - 0x1a, 0x48, 0xdf, 0x0e, 0x7b, 0xd9, 0xe6, 0x50, 0x40, 0xd1, 0x11, 0x5d, 0xc7, 0xa6, 0xc5, 0x93, - 0x8d, 0xe0, 0x45, 0x4f, 0x40, 0xd1, 0x05, 0x32, 0x24, 0xfc, 0x64, 0x86, 0x5a, 0xb7, 0x62, 0xa4, - 0xb0, 0xfe, 0xed, 0x1a, 0x4c, 0xf2, 0x68, 0x64, 0x8b, 0x22, 0xdd, 0x8f, 0xa7, 0x65, 0x15, 0x21, - 0xec, 0x79, 0xbb, 0x47, 0x59, 0x78, 0x21, 0x24, 0x1e, 0x8b, 0x55, 0xe4, 0x63, 0xb1, 0x9c, 0x4c, - 0x13, 0x45, 0x99, 0x72, 0x7a, 0x55, 0x8b, 0x7a, 0xd1, 0x16, 0x8f, 0x75, 0x3d, 0x3b, 0x8e, 0x19, - 0xed, 0x79, 0x41, 0x9f, 0x6f, 0xaf, 0xab, 0x46, 0x01, 0x4f, 0xdb, 0x4a, 0xc4, 0xa5, 0xfb, 0x02, - 0x5c, 0xc2, 0x73, 0x58, 0xda, 0x85, 0x23, 0x26, 0xd9, 0x1f, 0xe0, 0xf9, 0x88, 0x8c, 0x44, 0xd9, - 0xc2, 0xd0, 0xf6, 0x5c, 0xd6, 0xa1, 0xe2, 0x36, 0x40, 0x44, 0x51, 0xcd, 0xfb, 0x61, 0xef, 0x46, - 0xe0, 0xf5, 0xf9, 0xd6, 0x2b, 0x01, 0x99, 0xe6, 0x9e, 0x1b, 0x25, 0xdd, 0x2d, 0x9e, 0x8c, 0x88, - 0x28, 0x4a, 0xcb, 0x41, 0xd6, 0x30, 0x4d, 0x1b, 0x09, 0x48, 0x63, 0x29, 0x24, 0x87, 0xbc, 0xb1, - 0xa7, 0x7f, 0x4a, 0x9e, 0x9b, 0x93, 0x3d, 0x97, 0xeb, 0xd4, 0x9a, 0xec, 0xab, 0xd8, 0xa9, 0x65, - 0x2d, 0xce, 0xbc, 0xd4, 0xe2, 0xac, 0xc0, 0xa4, 0xe7, 0xd3, 0xf4, 0x0f, 0x5b, 0x1a, 0x4b, 0x97, - 0xbf, 0x18, 0x5c, 0xa0, 0x96, 0xb7, 0x71, 0x24, 0x26, 0x46, 0x42, 0xa7, 0xdd, 0x82, 0x39, 0x6f, - 0x6f, 0xcf, 0xb1, 0x5d, 0xb2, 0x13, 0x87, 0xfb, 0x6c, 0x1b, 0x7e, 0x86, 0x05, 0xbb, 0x5e, 0xd6, - 0x44, 0xc8, 0x23, 0x8d, 0x3c, 0x29, 0xed, 0xfc, 0xcc, 0x08, 0x37, 0x40, 0xac, 0xc0, 0x9d, 0x65, - 0x05, 0x4e, 0xc2, 0xb1, 0xf3, 0x45, 0xa1, 0xd0, 0x9f, 0x63, 0x86, 0x13, 0x51, 0xc8, 0x25, 0x32, - 0xbb, 0xfb, 0x84, 0x1d, 0x28, 0xb5, 0x16, 0xb0, 0x7f, 0x14, 0x71, 0xbc, 0xbb, 0x7b, 0x3a, 0xe9, - 0xee, 0x16, 0x5f, 0x87, 0x69, 0x51, 0xc1, 0x92, 0x64, 0x3e, 0x2b, 0x26, 0xf3, 0x94, 0x98, 0xab, - 0xff, 0xab, 0xc0, 0x5c, 0x4e, 0x35, 0x3a, 0x3a, 0xb2, 0x23, 0x87, 0x70, 0x0e, 0x08, 0xd0, 0x9d, - 0x93, 0x45, 0xc2, 0x2e, 0x4f, 0x1e, 0xf6, 0x37, 0x97, 0xa4, 0x92, 0xb6, 0xd1, 0x3a, 0x4c, 0xdb, - 0xdb, 0x1d, 0xca, 0xa8, 0xe3, 0xc5, 0xae, 0x95, 0x1e, 0xd0, 0x0b, 0x38, 0xb6, 0xa5, 0xdf, 0xee, - 0xac, 0x9a, 0x56, 0x8f, 0xe0, 0x75, 0x4d, 0x95, 0xc9, 0x24, 0x23, 0x75, 0x0b, 0xa6, 0x6e, 0xdb, - 0x7e, 0xb8, 0xe6, 0xf5, 0xfb, 0x34, 0x04, 0x2c, 0x12, 0xd1, 0x1e, 0x5f, 0x61, 0x06, 0xe3, 0x10, - 0xb5, 0xa6, 0x45, 0xf6, 0xcc, 0xd8, 0x89, 0xe8, 0xd0, 0xa4, 0x64, 0x08, 0x28, 0x76, 0xbc, 0x10, - 0x7a, 0xee, 0x3a, 0x52, 0xa3, 0x9c, 0x02, 0x46, 0xff, 0x91, 0x0a, 0x4d, 0x56, 0x11, 0xd7, 0x58, - 0xc0, 0x59, 0x8c, 0xe8, 0x1a, 0x54, 0x59, 0x01, 0xe0, 0x1d, 0xe5, 0xf0, 0x33, 0x19, 0x1c, 0xaa, - 0x5d, 0x87, 0x9a, 0xe7, 0xb3, 0x36, 0x14, 0xcb, 0xe5, 0xa5, 0x41, 0x44, 0xf2, 0x91, 0xbc, 0xc1, - 0xa9, 0xb4, 0x1b, 0x00, 0xfd, 0xac, 0xeb, 0xc4, 0xe6, 0x61, 0x5c, 0x1e, 0x02, 0x25, 0x35, 0x6e, - 0xba, 0x2e, 0xa6, 0xe7, 0xf2, 0x15, 0x43, 0x46, 0x6a, 0x5b, 0x30, 0xcb, 0xc4, 0xde, 0x4e, 0x0e, - 0xe7, 0x98, 0x0f, 0xc6, 0x9f, 0x31, 0x47, 0xad, 0x7f, 0x49, 0xe1, 0x66, 0xa4, 0x5f, 0x3b, 0x04, - 0x6d, 0x9f, 0x99, 0x44, 0x39, 0x91, 0x49, 0x16, 0x61, 0xaa, 0x1f, 0x0b, 0x67, 0x85, 0x15, 0x23, - 0x85, 0x33, 0x17, 0x55, 0xc6, 0x76, 0x91, 0xfe, 0x65, 0x05, 0x5a, 0xef, 0x78, 0xb6, 0xcb, 0x3e, - 0xac, 0xf8, 0xbe, 0xc3, 0xaf, 0x6f, 0x4e, 0xec, 0xf3, 0xbf, 0x85, 0xba, 0x89, 0x6c, 0xdc, 0x88, - 0xbb, 0x7d, 0x8c, 0xf3, 0xbf, 0x8c, 0x46, 0x38, 0x84, 0xa9, 0x88, 0x87, 0x30, 0xfa, 0x27, 0x0a, - 0xcc, 0xa2, 0x51, 0xde, 0x8b, 0xed, 0xe8, 0xc4, 0xf2, 0xad, 0xc2, 0xd4, 0x61, 0x6c, 0x47, 0x27, - 0x88, 0xca, 0x94, 0xae, 0x18, 0x4f, 0x95, 0x92, 0x78, 0xd2, 0xbf, 0xae, 0xc0, 0xf9, 0xbc, 0x59, - 0x57, 0xba, 0x5d, 0xe2, 0x3f, 0xca, 0x94, 0x92, 0x0e, 0xa1, 0x26, 0x72, 0x87, 0x50, 0xa5, 0x22, - 0x1b, 0xe4, 0x63, 0xd2, 0x7d, 0x7c, 0x45, 0xfe, 0x17, 0x15, 0x9e, 0xd9, 0x48, 0x13, 0xef, 0x76, - 0x60, 0xba, 0xe1, 0x1e, 0x09, 0x82, 0x47, 0x28, 0xef, 0x2d, 0x98, 0x71, 0xc9, 0xfd, 0x4c, 0x26, - 0x9e, 0x8e, 0xe3, 0xb2, 0x91, 0x89, 0xc7, 0xab, 0x5d, 0xfa, 0x1f, 0x14, 0x68, 0x22, 0x9f, 0x77, - 0xed, 0xee, 0xc1, 0x23, 0x54, 0x7e, 0x0b, 0x66, 0x0f, 0x98, 0x04, 0x14, 0x3a, 0x41, 0xd9, 0xce, - 0x51, 0x8f, 0xa9, 0xfe, 0xa7, 0x0a, 0xcc, 0x27, 0xb7, 0xc6, 0x47, 0xf6, 0xa3, 0x0c, 0xd6, 0x1d, - 0x98, 0xc3, 0x53, 0xf8, 0x93, 0x1a, 0x20, 0x4f, 0x3e, 0xa6, 0x05, 0xbe, 0xa5, 0xc0, 0x1c, 0x72, - 0x7a, 0xdb, 0x8d, 0x48, 0x70, 0x62, 0xfd, 0x6f, 0x42, 0x83, 0xb8, 0x51, 0x60, 0xba, 0x27, 0xa9, - 0x90, 0x22, 0xe9, 0x98, 0x45, 0xf2, 0x13, 0x05, 0x34, 0xc6, 0x6a, 0xdd, 0x0e, 0xfb, 0x76, 0x18, - 0x3e, 0x42, 0xd7, 0x8d, 0x27, 0xf0, 0x17, 0x54, 0x38, 0x2b, 0x70, 0x69, 0xc7, 0xd1, 0xe3, 0x2e, - 0xb2, 0xb6, 0x0e, 0x75, 0xda, 0x23, 0x88, 0x77, 0xa4, 0xe3, 0x4e, 0x94, 0x11, 0xd2, 0x2e, 0x96, - 0x01, 0x1d, 0xd2, 0xf5, 0x5c, 0x2b, 0x64, 0xcd, 0xd1, 0x8c, 0x21, 0xe1, 0x68, 0x19, 0x5a, 0x14, - 0xd8, 0xac, 0x99, 0x6e, 0x97, 0x38, 0x4f, 0x8c, 0x89, 0xf4, 0xaf, 0x2a, 0x30, 0x8b, 0x43, 0x1e, - 0x7f, 0x95, 0xe9, 0x5a, 0x8f, 0x81, 0xfc, 0xb9, 0xf1, 0x12, 0x0d, 0xaf, 0x05, 0x81, 0x8b, 0xd8, - 0x57, 0x3f, 0xbe, 0xa1, 0x75, 0x13, 0x1a, 0xdd, 0x7d, 0xd3, 0xed, 0x9d, 0x28, 0xb8, 0x44, 0x52, - 0x3d, 0x82, 0xa7, 0xc5, 0x43, 0xfb, 0x35, 0xfc, 0xc4, 0xd4, 0x7f, 0x29, 0xa7, 0xca, 0xd0, 0x37, - 0x10, 0x0f, 0x67, 0xf4, 0x03, 0x98, 0xc7, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0x5a, 0x30, 0x69, 0x5a, - 0x78, 0x74, 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x0b, - 0x00, 0xa6, 0x65, 0xdd, 0xf5, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0xef, 0xc0, 0xf4, - 0x8d, 0xc0, 0xeb, 0xdf, 0x16, 0xee, 0x83, 0x87, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, - 0xac, 0x7f, 0x04, 0xe7, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe1, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, - 0xb2, 0xb3, 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0xff, 0x59, 0x81, 0xe7, 0x0a, 0xec, 0x57, 0x7c, - 0x3f, 0xf0, 0x8e, 0xb8, 0x4f, 0x4e, 0x63, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, - 0x52, 0xc3, 0xfe, 0x19, 0x08, 0xf1, 0x15, 0x05, 0xe6, 0xb8, 0x10, 0x96, 0xc5, 0xa7, 0x7d, 0x05, - 0x6a, 0xf8, 0xd0, 0x86, 0x4f, 0xf8, 0x5c, 0xe9, 0x84, 0xc9, 0x03, 0x21, 0x83, 0x0f, 0x2e, 0x46, - 0xa4, 0x5a, 0x96, 0x51, 0xaf, 0xa5, 0xc1, 0x3e, 0xf6, 0x53, 0x18, 0x4e, 0xa0, 0xff, 0x5d, 0x12, - 0xcc, 0xeb, 0xc4, 0x21, 0xa7, 0x69, 0x23, 0xfd, 0x0e, 0xcc, 0xb2, 0x57, 0x3f, 0x99, 0x0d, 0x4e, - 0x85, 0xed, 0x5d, 0x68, 0x32, 0xb6, 0xa7, 0x2e, 0x6f, 0x9a, 0x1d, 0xd4, 0x3e, 0x62, 0x29, 0x39, - 0x15, 0xee, 0x2f, 0xc2, 0x99, 0xc4, 0xf6, 0xf8, 0x92, 0x16, 0x79, 0x0f, 0xb8, 0xdb, 0xd3, 0xff, - 0x4f, 0x81, 0x85, 0x35, 0xcf, 0x3d, 0x22, 0x41, 0x28, 0xbd, 0xbe, 0x45, 0x12, 0x29, 0xfb, 0x39, - 0xa4, 0x2d, 0x83, 0xd6, 0x15, 0x28, 0xf8, 0xf1, 0xa2, 0xca, 0x8e, 0x17, 0x4b, 0xbe, 0x68, 0x2f, - 0xc3, 0xb9, 0x98, 0x71, 0xbd, 0xe3, 0x06, 0xc4, 0xb4, 0xd8, 0x79, 0x9a, 0x50, 0xf4, 0xca, 0x3f, - 0xea, 0x1f, 0xc3, 0xa2, 0x28, 0x57, 0x87, 0x44, 0x3b, 0x81, 0x7d, 0x24, 0xc8, 0xc6, 0xcf, 0xce, - 0x15, 0xe9, 0xec, 0x3c, 0x3b, 0x6b, 0x57, 0xa5, 0xb3, 0xf6, 0xf3, 0x50, 0xb7, 0x43, 0xce, 0x80, - 0xcd, 0x3b, 0x65, 0x64, 0x08, 0xdd, 0x84, 0x79, 0xf4, 0x32, 0xbf, 0xcb, 0x62, 0x53, 0x2c, 0xc2, - 0x14, 0x86, 0x6e, 0x3a, 0x49, 0x0a, 0x0f, 0xbc, 0x19, 0x1a, 0x78, 0x0f, 0xaa, 0x77, 0x60, 0x9e, - 0xbf, 0x05, 0xda, 0x31, 0x7b, 0xb6, 0x8b, 0xb5, 0xfc, 0x02, 0x80, 0x6f, 0xf6, 0x92, 0x97, 0x89, - 0x78, 0xa3, 0x27, 0x60, 0xe8, 0xf7, 0x70, 0xdf, 0xbb, 0xcf, 0xbf, 0xab, 0xf8, 0x3d, 0xc3, 0xe8, - 0xef, 0x83, 0x66, 0x90, 0xd0, 0xf7, 0xdc, 0x90, 0x08, 0x5c, 0x97, 0xa0, 0xb1, 0x16, 0x07, 0x01, - 0x71, 0xe9, 0x54, 0xc9, 0xf3, 0x3a, 0x11, 0x45, 0xf9, 0x76, 0x32, 0xbe, 0x78, 0xfa, 0x2f, 0x60, - 0xf4, 0x5f, 0xd7, 0xa0, 0xde, 0xb1, 0x7b, 0xae, 0xe9, 0x18, 0xe4, 0x50, 0x7b, 0x13, 0x6a, 0xb8, - 0x33, 0xe2, 0x01, 0x59, 0x76, 0x1a, 0x8d, 0xa3, 0x71, 0x0b, 0x68, 0x90, 0xc3, 0x9b, 0x4f, 0x19, - 0x9c, 0x46, 0x7b, 0x2f, 0x79, 0x31, 0xb5, 0x89, 0x27, 0x5d, 0x7c, 0x99, 0xfc, 0xcb, 0x11, 0x4c, - 0xf8, 0x68, 0xe4, 0x25, 0x73, 0xa0, 0x02, 0x75, 0x59, 0xe7, 0xc4, 0xab, 0xd0, 0x60, 0x81, 0xb0, - 0xc1, 0xe2, 0x02, 0x21, 0x0d, 0xa5, 0x36, 0xd9, 0x59, 0x10, 0x6f, 0x08, 0x06, 0x53, 0xe3, 0x91, - 0x11, 0xa7, 0x46, 0x1a, 0x4a, 0xbd, 0x1f, 0xbb, 0xbd, 0x3b, 0x3e, 0x3f, 0xa2, 0x1c, 0x4c, 0x7d, - 0x93, 0x0d, 0xe3, 0xd4, 0x48, 0x43, 0xa9, 0x03, 0xb6, 0x46, 0x30, 0xa3, 0x0f, 0xa3, 0xc6, 0xa5, - 0x84, 0x53, 0x23, 0x8d, 0xf6, 0x01, 0x34, 0x7b, 0x24, 0x32, 0x3c, 0xaf, 0xbf, 0x7a, 0xbc, 0xc1, - 0x6f, 0x88, 0xf0, 0x81, 0xf8, 0x95, 0x81, 0x7c, 0x36, 0x72, 0x04, 0xc8, 0xb1, 0xc0, 0x47, 0xfb, - 0x47, 0x78, 0xce, 0x73, 0x29, 0x6a, 0xc7, 0x0c, 0x22, 0xbb, 0x6b, 0xfb, 0xa6, 0x1b, 0xad, 0x79, - 0xae, 0xcb, 0xd6, 0x33, 0x83, 0x1c, 0xf2, 0x27, 0xe4, 0xaf, 0x0e, 0x9c, 0x68, 0x7b, 0x18, 0xf5, - 0xcd, 0xa7, 0x8c, 0xe1, 0xec, 0xb5, 0x7f, 0x57, 0x60, 0xa9, 0x30, 0x62, 0xdd, 0x0e, 0xbb, 0xa2, - 0x0c, 0xf8, 0xfc, 0xfc, 0xb5, 0xf1, 0x65, 0xc8, 0x31, 0xb8, 0xf9, 0x94, 0x31, 0x72, 0x12, 0x6e, - 0xe5, 0xdb, 0xde, 0x01, 0x71, 0x57, 0x8f, 0xe9, 0xd8, 0xcd, 0x75, 0x76, 0x1b, 0x35, 0xc2, 0xca, - 0x12, 0x41, 0x66, 0x65, 0x09, 0xbd, 0x5a, 0x87, 0x49, 0xdf, 0x3c, 0x76, 0x3c, 0xd3, 0xd2, 0x7f, - 0x3b, 0x01, 0x90, 0xb8, 0x3a, 0x64, 0x1d, 0xb1, 0x94, 0x64, 0x17, 0x47, 0x26, 0x99, 0xef, 0x1c, - 0x0b, 0x69, 0xd6, 0x29, 0x4f, 0xb3, 0xbf, 0x1a, 0x37, 0xcd, 0x90, 0x5b, 0x2e, 0xd1, 0xae, 0xe7, - 0x12, 0xed, 0xe2, 0xc8, 0x44, 0xe3, 0x42, 0xf1, 0x54, 0xbb, 0x9e, 0x4b, 0xb5, 0x8b, 0x23, 0x53, - 0x8d, 0xd3, 0xf3, 0x64, 0xbb, 0x9e, 0x4b, 0xb6, 0x8b, 0x23, 0x93, 0x8d, 0xd3, 0xf3, 0x74, 0xbb, - 0x9e, 0x4b, 0xb7, 0x8b, 0x23, 0xd3, 0x8d, 0xd3, 0xf3, 0x84, 0xfb, 0x68, 0x60, 0xc2, 0x2d, 0x3f, - 0x44, 0xc2, 0x21, 0xcf, 0x62, 0xca, 0x7d, 0x54, 0x12, 0x68, 0x53, 0xa3, 0xb9, 0xe7, 0x02, 0x2d, - 0xe3, 0x3e, 0x30, 0xd4, 0xfe, 0xb5, 0x02, 0xb3, 0xcc, 0xdd, 0xb8, 0x2a, 0xbb, 0x7b, 0x5e, 0xf1, - 0x1d, 0xab, 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x02, 0xf3, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x2e, 0xf4, - 0xc5, 0x0f, 0xec, 0xe6, 0x34, 0x0e, 0x23, 0xaf, 0xbf, 0x6e, 0x46, 0x66, 0xb2, 0xc3, 0xc8, 0x30, - 0xe2, 0xbd, 0xf6, 0x44, 0xe1, 0xe7, 0x1e, 0x01, 0xea, 0x5f, 0xe5, 0xab, 0x39, 0x83, 0x28, 0x45, - 0x64, 0xf7, 0x89, 0x17, 0x47, 0x7c, 0x91, 0x4a, 0x40, 0x7c, 0x7c, 0x68, 0xd9, 0x26, 0xbb, 0x0d, - 0xe6, 0x2f, 0xf3, 0x52, 0x04, 0x5b, 0x57, 0xb3, 0xdb, 0x6d, 0xfe, 0x73, 0x8c, 0x0c, 0x33, 0xc6, - 0x4d, 0x34, 0xfb, 0x65, 0x8f, 0x1d, 0xd9, 0xe2, 0x8b, 0xbd, 0xaa, 0x21, 0xe1, 0x68, 0x1f, 0xb4, - 0x1b, 0x87, 0xc7, 0xb7, 0x6c, 0x57, 0x34, 0x4f, 0x03, 0xfb, 0xa0, 0xe2, 0x17, 0xfd, 0x37, 0x0a, - 0x9c, 0x11, 0xea, 0x4e, 0x9b, 0x44, 0x26, 0xb3, 0x8b, 0xf4, 0xee, 0x5a, 0x79, 0xb8, 0x77, 0xd7, - 0x3b, 0x30, 0xd7, 0x93, 0xb7, 0xe5, 0x0f, 0xb9, 0xa3, 0xce, 0x93, 0x4b, 0x8f, 0xc8, 0x2b, 0x0f, - 0xfd, 0x88, 0x5c, 0xff, 0x0f, 0x15, 0xe6, 0x72, 0xcd, 0xc0, 0xd0, 0x4e, 0x6a, 0x05, 0xc0, 0x4e, - 0x43, 0x73, 0xc8, 0xad, 0x95, 0x1c, 0xbf, 0x86, 0x40, 0x54, 0x76, 0x6d, 0x5e, 0x39, 0xf9, 0xb5, - 0xf9, 0x4d, 0x68, 0xf8, 0x99, 0x93, 0x86, 0x1c, 0x1a, 0x94, 0xb8, 0xd2, 0x10, 0x49, 0xf5, 0xff, - 0x54, 0x60, 0xbe, 0x50, 0xb2, 0xd9, 0x65, 0x36, 0x4d, 0xd4, 0xf4, 0x32, 0x9b, 0x02, 0x42, 0x06, - 0xa8, 0xf9, 0x0c, 0x70, 0xec, 0x23, 0xf1, 0xe7, 0x2e, 0x1c, 0x1c, 0x10, 0x7d, 0x13, 0x03, 0xa3, - 0xef, 0xbf, 0x54, 0x58, 0x28, 0x6f, 0xb0, 0x9e, 0x54, 0xff, 0xfc, 0xb7, 0x02, 0xad, 0x41, 0x6b, - 0xe1, 0x23, 0x73, 0x53, 0x96, 0x3f, 0x69, 0xef, 0xfa, 0xa4, 0xfa, 0xe7, 0x4c, 0x92, 0x3e, 0x42, - 0x73, 0xa1, 0x7f, 0x33, 0xb5, 0x4f, 0xda, 0x9d, 0x3f, 0xa1, 0xf6, 0xd1, 0x2e, 0x43, 0x13, 0xd5, - 0x14, 0x5e, 0x72, 0xe1, 0x66, 0xaf, 0x80, 0xd7, 0x3f, 0x4c, 0x6c, 0x29, 0x34, 0x5a, 0xa7, 0x15, - 0xe3, 0xfa, 0xf7, 0x95, 0xc4, 0x27, 0xe9, 0x9e, 0xe7, 0x73, 0xe5, 0x93, 0x2c, 0xd2, 0x84, 0x36, - 0x52, 0x88, 0xb4, 0x74, 0x2f, 0xf6, 0xa7, 0x48, 0x1b, 0x1d, 0x69, 0xa9, 0x2d, 0x85, 0x96, 0x5a, - 0xff, 0xa2, 0x02, 0xcf, 0x0c, 0xdc, 0x8f, 0x0e, 0xb5, 0xaa, 0xd0, 0x34, 0xaa, 0x72, 0xd3, 0x98, - 0x53, 0xaf, 0x72, 0xf2, 0x42, 0xf3, 0x43, 0x05, 0x9e, 0x1d, 0xd2, 0xbc, 0xe7, 0x3c, 0xab, 0x9c, - 0xc4, 0xb3, 0x39, 0x61, 0xd5, 0x81, 0x17, 0xd3, 0x23, 0x7d, 0x91, 0xa5, 0x67, 0x45, 0x4c, 0x4f, - 0xfd, 0xa7, 0x0a, 0x3c, 0x3f, 0xc6, 0x4e, 0xfc, 0xf1, 0x52, 0x66, 0xe0, 0x53, 0x57, 0xfd, 0x67, - 0x0a, 0x5c, 0x1a, 0x6f, 0x53, 0xff, 0x79, 0xd1, 0xe8, 0xbb, 0x62, 0x0e, 0xe4, 0x4f, 0x0b, 0x04, - 0xb7, 0x2a, 0x52, 0xd5, 0x15, 0x73, 0x43, 0xcd, 0xe5, 0xc6, 0xa9, 0x65, 0x40, 0xfe, 0x45, 0xfb, - 0x44, 0xf1, 0x45, 0x7b, 0x5b, 0x48, 0x91, 0xe2, 0x0e, 0x74, 0xc0, 0x52, 0x22, 0x2c, 0x19, 0xaa, - 0xbc, 0x64, 0xfc, 0x13, 0xcc, 0xac, 0x13, 0xa7, 0x1d, 0xf6, 0x92, 0xdf, 0x9e, 0x9c, 0xea, 0x69, - 0xeb, 0x18, 0xfa, 0xac, 0xc2, 0xac, 0x28, 0xc0, 0x49, 0x7e, 0x5b, 0xa1, 0xdf, 0x85, 0x67, 0x3a, - 0x24, 0x5a, 0xf1, 0xfd, 0x55, 0xb3, 0x7b, 0x40, 0xdd, 0xec, 0x5a, 0x1d, 0xf6, 0x18, 0x78, 0xd8, - 0x8f, 0x69, 0xe8, 0xce, 0x32, 0xcc, 0x08, 0xf8, 0x0b, 0x58, 0x09, 0xa7, 0x6f, 0xc1, 0xe2, 0x20, - 0xc6, 0x27, 0x11, 0x74, 0xf5, 0xca, 0x07, 0x97, 0xb7, 0x7d, 0xe2, 0xde, 0xdb, 0x6c, 0x17, 0xfe, - 0x49, 0xcb, 0x1b, 0x85, 0x68, 0xd9, 0xad, 0xb1, 0xef, 0x2f, 0xfd, 0x31, 0x00, 0x00, 0xff, 0xff, - 0x49, 0xe5, 0xf2, 0x74, 0x04, 0x46, 0x00, 0x00, +var fileDescriptor_ws_20501d8722cdea6e = []byte{ + // 4096 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x3c, 0x59, 0x6f, 0x1c, 0x59, + 0x57, 0x53, 0xd5, 0x8b, 0xdd, 0xa7, 0xbd, 0xb4, 0x2b, 0x89, 0xa7, 0xc7, 0x93, 0x09, 0xa6, 0x26, + 0x0a, 0x43, 0xc8, 0x38, 0x90, 0x59, 0x60, 0xb6, 0x20, 0x2f, 0x89, 0xe3, 0x49, 0xda, 0xf6, 0x54, + 0x27, 0x13, 0x34, 0x33, 0x52, 0x28, 0x77, 0x5d, 0xb7, 0x6b, 0x5c, 0x5d, 0x55, 0xae, 0xc5, 0x89, + 0x79, 0x00, 0x09, 0x10, 0x20, 0xf1, 0x80, 0x84, 0x58, 0x24, 0x78, 0xe3, 0x05, 0x81, 0xd0, 0x08, + 0x21, 0x40, 0x48, 0x20, 0x84, 0x10, 0x0f, 0x48, 0x20, 0xc1, 0x3b, 0x12, 0x08, 0x5e, 0xf8, 0xf4, + 0xe9, 0xfb, 0x03, 0x9f, 0xf4, 0x49, 0xf3, 0xe9, 0xde, 0x73, 0xab, 0xea, 0xde, 0xaa, 0xea, 0x25, + 0x96, 0x35, 0xc9, 0x28, 0xdf, 0x9b, 0xcf, 0xa9, 0x7b, 0xce, 0x3d, 0xeb, 0x3d, 0xe7, 0x2e, 0x6d, + 0x98, 0x0f, 0xad, 0xc3, 0x47, 0x8f, 0xc3, 0xeb, 0x8f, 0xc3, 0x15, 0x3f, 0xf0, 0x22, 0x4f, 0x5b, + 0x08, 0x49, 0x70, 0x4c, 0x82, 0x47, 0xa6, 0x6f, 0x3f, 0xf2, 0xcd, 0xc0, 0x1c, 0x84, 0x4b, 0x2b, + 0x3b, 0x3e, 0x71, 0xdf, 0xdc, 0xea, 0xbc, 0xd9, 0x65, 0x9f, 0xae, 0xfb, 0x87, 0xfd, 0xeb, 0x6c, + 0xf0, 0xf5, 0x84, 0x38, 0x30, 0x7d, 0x9f, 0x04, 0x9c, 0x85, 0xfe, 0x3f, 0x55, 0x68, 0x6c, 0x06, + 0x5e, 0xec, 0x6f, 0xb9, 0xfb, 0x9e, 0xd6, 0x86, 0xa9, 0x3e, 0x03, 0x36, 0xda, 0xca, 0xb2, 0xf2, + 0x46, 0xc3, 0x48, 0x40, 0xed, 0x22, 0x34, 0xd8, 0x9f, 0xdb, 0xe6, 0x80, 0xb4, 0x55, 0xf6, 0x2d, + 0x43, 0x68, 0x3a, 0xcc, 0xb8, 0x5e, 0x64, 0xef, 0xdb, 0x3d, 0x33, 0xb2, 0x3d, 0xb7, 0x5d, 0x61, + 0x03, 0x24, 0x1c, 0x1d, 0x63, 0xbb, 0x51, 0xe0, 0x59, 0x71, 0x8f, 0x8d, 0xa9, 0xe2, 0x18, 0x11, + 0x47, 0xe7, 0xdf, 0x37, 0x7b, 0xe4, 0x81, 0x71, 0xaf, 0x5d, 0xc3, 0xf9, 0x39, 0xa8, 0x2d, 0x43, + 0xd3, 0x7b, 0xec, 0x92, 0xe0, 0x41, 0x48, 0x82, 0xad, 0x8d, 0x76, 0x9d, 0x7d, 0x15, 0x51, 0xda, + 0x25, 0x80, 0x5e, 0x40, 0xcc, 0x88, 0xdc, 0xb7, 0x07, 0xa4, 0x3d, 0xb5, 0xac, 0xbc, 0x31, 0x6b, + 0x08, 0x18, 0xca, 0x61, 0x40, 0x06, 0x7b, 0x24, 0x58, 0xf7, 0x62, 0x37, 0x6a, 0x4f, 0xb3, 0x01, + 0x22, 0x4a, 0x9b, 0x03, 0x95, 0x3c, 0x69, 0x37, 0x18, 0x6b, 0x95, 0x3c, 0xd1, 0x16, 0xa1, 0x1e, + 0x46, 0x66, 0x14, 0x87, 0x6d, 0x58, 0x56, 0xde, 0xa8, 0x19, 0x1c, 0xd2, 0x2e, 0xc3, 0x2c, 0xe3, + 0xeb, 0x25, 0xd2, 0x34, 0x19, 0x89, 0x8c, 0x4c, 0x2d, 0x76, 0xff, 0xc4, 0x27, 0xed, 0x19, 0xc6, + 0x20, 0x43, 0x68, 0x57, 0xa1, 0xe5, 0x12, 0x62, 0x7d, 0x4a, 0x82, 0xcc, 0x6a, 0xb3, 0x6c, 0x50, + 0x01, 0xaf, 0x5d, 0x81, 0x39, 0xc7, 0xf3, 0x0e, 0x3b, 0x4c, 0x54, 0xea, 0xa7, 0xf6, 0x1c, 0x1b, + 0x99, 0xc3, 0x6a, 0xd7, 0x60, 0xc1, 0xf4, 0x7d, 0xe7, 0x04, 0x51, 0xb7, 0x03, 0x9b, 0xb8, 0x56, + 0x7b, 0x9e, 0x0d, 0x2d, 0x7e, 0xd0, 0xde, 0x85, 0x45, 0xd1, 0x3f, 0x0f, 0x7c, 0x2b, 0xb1, 0x5d, + 0x8b, 0x99, 0x66, 0xc8, 0x57, 0x6d, 0x05, 0x34, 0xe9, 0x0b, 0x9a, 0x60, 0x81, 0x99, 0xa0, 0xe4, + 0x8b, 0xfe, 0x7b, 0x15, 0x98, 0x4f, 0x23, 0xec, 0xb6, 0x17, 0x74, 0x49, 0xf4, 0x1c, 0xc7, 0x19, + 0xc6, 0x40, 0x3d, 0x8d, 0x81, 0xcd, 0x12, 0x3f, 0xd1, 0xd8, 0x6a, 0xde, 0x78, 0x75, 0xa5, 0xef, + 0x79, 0x7d, 0x87, 0x60, 0x22, 0xed, 0xc5, 0xfb, 0x2b, 0x5b, 0x6e, 0xf4, 0xd6, 0x8d, 0x4f, 0x4d, + 0x27, 0x26, 0x25, 0x4e, 0x5c, 0x2f, 0x38, 0x71, 0x7a, 0x3c, 0x9b, 0xbc, 0x87, 0xb7, 0xca, 0x3c, + 0xdc, 0x18, 0xcf, 0xa7, 0x48, 0xa5, 0x7f, 0xad, 0xc2, 0x39, 0xe6, 0x16, 0x8e, 0x8d, 0x1d, 0x67, + 0xcc, 0x12, 0xb0, 0x08, 0xf5, 0x18, 0x9d, 0x8d, 0x7e, 0xe1, 0x10, 0x75, 0x59, 0xe0, 0x39, 0xe4, + 0x1e, 0x39, 0x26, 0x0e, 0xf3, 0x48, 0xcd, 0xc8, 0x10, 0xda, 0x12, 0x4c, 0x7f, 0xe9, 0xd9, 0x2e, + 0x0b, 0xac, 0x2a, 0xfb, 0x98, 0xc2, 0xf4, 0x9b, 0x6b, 0xf7, 0x0e, 0x5d, 0xea, 0x6b, 0xf4, 0x43, + 0x0a, 0x8b, 0x2e, 0xaa, 0xcb, 0x2e, 0xba, 0x02, 0x73, 0xa6, 0xef, 0x77, 0x4c, 0xb7, 0x4f, 0x02, + 0x9c, 0x74, 0x0a, 0xd3, 0x41, 0xc6, 0xd2, 0x05, 0x81, 0xce, 0xd4, 0xf5, 0xe2, 0xa0, 0x47, 0x98, + 0xb5, 0x6b, 0x86, 0x80, 0xa1, 0x7c, 0x3c, 0x9f, 0x04, 0x42, 0x1e, 0x63, 0xea, 0xe7, 0xb0, 0x3c, + 0x24, 0x20, 0x0d, 0x09, 0xba, 0x90, 0xc4, 0x11, 0xb9, 0xe5, 0x5a, 0x4c, 0xa9, 0x26, 0x5f, 0x48, + 0x32, 0x14, 0x5d, 0x20, 0x6c, 0xf7, 0xd8, 0x8e, 0xd2, 0xe5, 0x6a, 0x06, 0x17, 0x08, 0x09, 0xa9, + 0xff, 0x86, 0x02, 0x73, 0xbb, 0xf1, 0x9e, 0x63, 0xf7, 0x18, 0x82, 0x1a, 0x3f, 0x33, 0xb1, 0x22, + 0x99, 0x58, 0x34, 0x94, 0x3a, 0xdc, 0x50, 0x15, 0xd9, 0x50, 0x8b, 0x50, 0xef, 0x13, 0xd7, 0x22, + 0x01, 0x37, 0x3c, 0x87, 0xb8, 0x42, 0xb5, 0x44, 0x21, 0xfd, 0xbf, 0x55, 0x98, 0xfe, 0x86, 0x45, + 0x58, 0x86, 0xa6, 0x7f, 0xe0, 0xb9, 0x64, 0x3b, 0xa6, 0xc1, 0xc7, 0x65, 0x11, 0x51, 0xda, 0x79, + 0xa8, 0xed, 0xd9, 0x41, 0x74, 0xc0, 0xbc, 0x3f, 0x6b, 0x20, 0x40, 0xb1, 0x64, 0x60, 0xda, 0xe8, + 0xf2, 0x86, 0x81, 0x00, 0x57, 0x68, 0x3a, 0xf5, 0x90, 0x5c, 0x0a, 0x1a, 0x85, 0x52, 0x50, 0x8c, + 0x20, 0x28, 0x8d, 0xa0, 0xab, 0xd0, 0xea, 0x3b, 0xde, 0x9e, 0xe9, 0x18, 0xa4, 0x77, 0xdc, 0x09, + 0xfb, 0x3b, 0x7e, 0xc4, 0xdc, 0x5d, 0x33, 0x0a, 0x78, 0x6a, 0x1f, 0x26, 0x62, 0x37, 0x0a, 0xb8, + 0xbb, 0x53, 0x58, 0xff, 0xbe, 0x02, 0x80, 0x69, 0xc7, 0x4c, 0x9c, 0xab, 0x65, 0x4a, 0xb1, 0x96, + 0x2d, 0x42, 0x3d, 0x20, 0x03, 0x33, 0x38, 0x4c, 0x52, 0x0d, 0xa1, 0x9c, 0x62, 0x95, 0x82, 0x62, + 0x1f, 0x00, 0xec, 0xb3, 0x79, 0x28, 0x1f, 0x66, 0x72, 0xba, 0x30, 0x14, 0xba, 0x84, 0x95, 0xc4, + 0xdb, 0x86, 0x30, 0x9c, 0xe6, 0xb1, 0x69, 0x59, 0x3c, 0x5d, 0x6a, 0x98, 0xc7, 0x29, 0xa2, 0x24, + 0x5b, 0xea, 0x23, 0xb2, 0x65, 0x2a, 0x0d, 0xae, 0xef, 0x29, 0xd0, 0x58, 0x73, 0xcc, 0xde, 0xe1, + 0x84, 0xaa, 0xcb, 0x2a, 0xaa, 0x05, 0x15, 0x37, 0x61, 0x76, 0x8f, 0xb2, 0x4b, 0x54, 0x60, 0x56, + 0x68, 0xde, 0xf8, 0xf1, 0x12, 0x2d, 0xe5, 0xe4, 0x32, 0x64, 0x3a, 0x59, 0xdd, 0xea, 0x78, 0x75, + 0x6b, 0x23, 0xd4, 0x4d, 0xeb, 0x85, 0xfe, 0x87, 0x15, 0x98, 0x61, 0xcb, 0xaa, 0x41, 0x8e, 0x62, + 0x12, 0x46, 0xda, 0x47, 0x30, 0x1d, 0x27, 0xa2, 0x2a, 0x93, 0x8a, 0x9a, 0x92, 0x68, 0xef, 0xf3, + 0x7a, 0xc8, 0xe8, 0x55, 0x46, 0x7f, 0xb1, 0x84, 0x3e, 0x2d, 0xb0, 0x46, 0x36, 0x9c, 0x56, 0xc2, + 0x03, 0xd3, 0xb5, 0x1c, 0x62, 0x90, 0x30, 0x76, 0x22, 0xbe, 0x36, 0x4b, 0x38, 0x8c, 0xb4, 0xa3, + 0x4e, 0xd8, 0xe7, 0x75, 0x92, 0x43, 0xd4, 0x3a, 0x38, 0x8e, 0x7e, 0x42, 0xd5, 0x33, 0x04, 0x4d, + 0xf8, 0x80, 0x1c, 0x31, 0x0f, 0x61, 0x7a, 0x26, 0x60, 0x36, 0x27, 0xb7, 0x1a, 0x06, 0x82, 0x84, + 0xa3, 0x2e, 0x46, 0x98, 0x31, 0xc0, 0x46, 0x4c, 0xc0, 0x14, 0xfa, 0x30, 0x79, 0x21, 0x87, 0xc2, + 0x42, 0x5e, 0x58, 0x6e, 0x9b, 0x65, 0xcb, 0xed, 0x7f, 0x55, 0x60, 0x16, 0x93, 0x30, 0x71, 0xcd, + 0x25, 0x9a, 0x2d, 0xde, 0x40, 0x8a, 0x45, 0x01, 0x43, 0x75, 0xa1, 0xd0, 0xb6, 0xbc, 0xec, 0x49, + 0x38, 0x1a, 0xd0, 0x14, 0xbe, 0x2d, 0x2d, 0x7f, 0x22, 0x2a, 0x99, 0x65, 0x53, 0x5c, 0x06, 0x05, + 0x0c, 0x5d, 0x38, 0x22, 0x4f, 0x8a, 0xb1, 0x14, 0xa6, 0xb4, 0x91, 0x97, 0xce, 0x8f, 0x51, 0x26, + 0x60, 0xa8, 0x97, 0x22, 0x2f, 0x99, 0x1b, 0x4d, 0x9d, 0x21, 0x90, 0x33, 0x9f, 0x17, 0xcb, 0x5f, + 0x0a, 0x17, 0x62, 0xa3, 0x31, 0x32, 0x36, 0x40, 0x8a, 0x0d, 0x39, 0x45, 0x9b, 0x85, 0x14, 0xbd, + 0x0c, 0xb3, 0xc8, 0x27, 0x57, 0xfe, 0x24, 0xa4, 0x1c, 0x61, 0xb3, 0xf9, 0x08, 0x93, 0x63, 0x64, + 0x6e, 0x48, 0x8c, 0xcc, 0xa7, 0x79, 0xf7, 0x57, 0x2a, 0xc0, 0x06, 0xf1, 0xcd, 0x20, 0x1a, 0x10, + 0x37, 0xa2, 0xea, 0x59, 0x29, 0x94, 0x3a, 0x57, 0xc2, 0x89, 0x55, 0x4b, 0x95, 0xab, 0x96, 0x06, + 0x55, 0x66, 0x70, 0xf4, 0x26, 0xfb, 0x9b, 0x1a, 0xd3, 0x37, 0x03, 0xe4, 0x86, 0xa9, 0x92, 0xc2, + 0xb4, 0x2a, 0x79, 0x81, 0xc5, 0xeb, 0x58, 0xcd, 0x40, 0x80, 0x2e, 0x21, 0xd9, 0x7c, 0x6c, 0x17, + 0x50, 0xc7, 0x2a, 0x23, 0x63, 0xc7, 0x6e, 0x5c, 0xae, 0x42, 0x2b, 0x8c, 0xf7, 0x32, 0xe5, 0xb6, + 0xe3, 0x01, 0x4f, 0x9a, 0x02, 0x9e, 0x1a, 0x15, 0x77, 0x34, 0x74, 0x10, 0x16, 0xbe, 0x0c, 0x91, + 0xef, 0x64, 0xf4, 0x7f, 0x55, 0xa1, 0xb5, 0x13, 0xf4, 0x4d, 0xd7, 0xfe, 0xa5, 0xb4, 0x63, 0x3f, + 0x55, 0x03, 0xb0, 0x0c, 0x4d, 0xe2, 0xf6, 0x1d, 0x3b, 0x3c, 0xd8, 0xce, 0xec, 0x26, 0xa2, 0x44, + 0x63, 0x57, 0x87, 0xb5, 0x08, 0x35, 0xa9, 0x45, 0x58, 0x84, 0xfa, 0xc0, 0xdb, 0xb3, 0x9d, 0x24, + 0xee, 0x39, 0xc4, 0x62, 0x9e, 0x38, 0x84, 0xf5, 0x0a, 0x69, 0xcc, 0x27, 0x88, 0xac, 0x6d, 0x98, + 0x2e, 0x6d, 0x1b, 0x1a, 0x62, 0xdb, 0x20, 0x1b, 0x1e, 0x0a, 0x86, 0x47, 0x73, 0x35, 0xd3, 0x75, + 0x68, 0x54, 0x89, 0xff, 0x27, 0x05, 0x5a, 0x99, 0x2b, 0xb0, 0xa7, 0x1e, 0x6a, 0xca, 0x7c, 0x74, + 0xaa, 0x25, 0xd1, 0x99, 0xc6, 0x54, 0x45, 0x8c, 0x29, 0x1a, 0x85, 0x5e, 0x68, 0x0b, 0x1b, 0x9b, + 0x14, 0xa6, 0xb3, 0x39, 0xc4, 0x14, 0x0c, 0x89, 0x90, 0xb0, 0x8d, 0xad, 0x4b, 0xdb, 0xd8, 0x7c, + 0xa5, 0xfe, 0x3b, 0x05, 0xce, 0xd3, 0x08, 0x28, 0xa8, 0xb1, 0x03, 0x2d, 0x2f, 0x17, 0x25, 0xbc, + 0x94, 0xbd, 0x5e, 0x52, 0x8a, 0xf2, 0x01, 0x65, 0x14, 0x88, 0x29, 0x43, 0x2b, 0x37, 0x09, 0xaf, + 0x6d, 0x65, 0x0c, 0xf3, 0xf2, 0x18, 0x05, 0x62, 0xfd, 0x1f, 0x14, 0x68, 0x61, 0xf1, 0x14, 0xd6, + 0x80, 0x33, 0x17, 0xfb, 0x21, 0x9c, 0xcf, 0xcf, 0x7c, 0xcf, 0x0e, 0xa3, 0xb6, 0xba, 0x5c, 0x99, + 0x54, 0xf4, 0x52, 0x06, 0xfa, 0x5f, 0xa8, 0xf0, 0xf2, 0x6e, 0xec, 0x38, 0x1d, 0x12, 0x86, 0x66, + 0x9f, 0xac, 0x9d, 0x74, 0xc9, 0x11, 0xfd, 0x60, 0x90, 0xa3, 0xa1, 0x31, 0x44, 0x3b, 0x29, 0xd6, + 0x8a, 0xd8, 0x9e, 0x9b, 0x86, 0x90, 0x88, 0xa2, 0x29, 0x17, 0x22, 0x9f, 0x76, 0x65, 0xb9, 0x42, + 0x8b, 0x34, 0x07, 0xb5, 0x5f, 0x84, 0x19, 0xd6, 0x25, 0xf0, 0x69, 0xda, 0x55, 0xa6, 0xc0, 0x87, + 0xa5, 0x7d, 0x49, 0xa9, 0x54, 0xd8, 0x6f, 0x70, 0xf8, 0x96, 0x1b, 0x05, 0x27, 0x86, 0xc4, 0x71, + 0xe9, 0x73, 0x58, 0x28, 0x0c, 0xd1, 0x5a, 0x50, 0x39, 0x24, 0x27, 0x5c, 0x0f, 0xfa, 0xa7, 0xf6, + 0xd3, 0x50, 0x3b, 0xa6, 0x1b, 0x54, 0xee, 0xfd, 0xa5, 0x12, 0x09, 0xb8, 0xcc, 0x06, 0x0e, 0x7c, + 0x5f, 0xfd, 0x39, 0x45, 0x7f, 0x3d, 0x55, 0x4c, 0xd4, 0x51, 0x91, 0x74, 0xd4, 0xef, 0x42, 0xb3, + 0x13, 0xf6, 0x37, 0xcc, 0xc8, 0x64, 0x03, 0x3f, 0x84, 0xe6, 0x20, 0x03, 0xd9, 0xe0, 0xf2, 0xf9, + 0x38, 0x91, 0x21, 0x0e, 0xd7, 0xff, 0x53, 0x85, 0x76, 0xb9, 0x29, 0x42, 0x9f, 0xca, 0x40, 0x82, + 0x60, 0xdd, 0xb3, 0x08, 0x53, 0xad, 0x66, 0x24, 0x20, 0xf5, 0x1d, 0x09, 0x02, 0x5a, 0xdf, 0x78, + 0x1b, 0x8f, 0x90, 0xb6, 0x02, 0x55, 0x27, 0x71, 0xcb, 0x68, 0x29, 0xd8, 0x38, 0x6d, 0x00, 0x2d, + 0x66, 0x5d, 0x41, 0x21, 0xee, 0xb3, 0xd5, 0x89, 0x7d, 0x16, 0xfa, 0xe8, 0x34, 0x81, 0x07, 0x3a, + 0xae, 0xc0, 0x7a, 0xa9, 0x07, 0x17, 0x4a, 0x87, 0x96, 0x38, 0xf0, 0x6d, 0xd9, 0x81, 0x97, 0x86, + 0xab, 0x92, 0x77, 0xa2, 0x0f, 0xda, 0x26, 0x89, 0x3a, 0xe6, 0x93, 0x55, 0xd7, 0xea, 0xd8, 0x6e, + 0x97, 0x1c, 0xd1, 0x68, 0x5f, 0x86, 0x26, 0x3f, 0x6e, 0x48, 0xdd, 0xd4, 0x30, 0x44, 0xd4, 0xd0, + 0x53, 0x88, 0x5c, 0x3e, 0x54, 0x0a, 0xf9, 0xa0, 0xdf, 0x84, 0x19, 0x71, 0x3a, 0x56, 0x60, 0xcc, + 0x27, 0x5d, 0x72, 0xc4, 0x14, 0x9a, 0x35, 0x38, 0xc4, 0xf0, 0x6c, 0x04, 0xdf, 0x7d, 0x70, 0x48, + 0xff, 0x37, 0x15, 0xce, 0x15, 0x44, 0x0e, 0xfd, 0xa7, 0xe5, 0x23, 0xc6, 0x4b, 0x65, 0x58, 0xbc, + 0x54, 0xa5, 0x78, 0x39, 0x84, 0x05, 0x74, 0x92, 0x30, 0x75, 0xbb, 0xc6, 0x02, 0xe0, 0xa3, 0xb2, + 0xcd, 0x40, 0x51, 0x48, 0xee, 0x7b, 0x01, 0x8b, 0xce, 0x2f, 0xf2, 0x5d, 0x22, 0xb0, 0x58, 0x3e, + 0xb8, 0xc4, 0xfd, 0xef, 0xc8, 0xee, 0xff, 0xb1, 0x32, 0xf7, 0x8b, 0x92, 0x08, 0xfe, 0x3f, 0x82, + 0x79, 0xba, 0xa8, 0x76, 0x89, 0x6b, 0x75, 0xc2, 0x3e, 0x33, 0xe4, 0x32, 0x34, 0x91, 0xbe, 0x13, + 0xf6, 0xb3, 0xcd, 0xa1, 0x80, 0xa2, 0x23, 0x7a, 0x8e, 0x4d, 0x17, 0x4f, 0x36, 0x82, 0x2f, 0x7a, + 0x02, 0x8a, 0x16, 0xc8, 0x90, 0xf0, 0x93, 0x19, 0x6a, 0xdd, 0x8a, 0x91, 0xc2, 0xfa, 0xdf, 0xd6, + 0x61, 0x8a, 0x47, 0x23, 0x2b, 0x8a, 0x74, 0x3f, 0x9e, 0x2e, 0xab, 0x08, 0x61, 0xcf, 0xdb, 0x3b, + 0xce, 0xc2, 0x0b, 0x21, 0xf1, 0x58, 0xac, 0x22, 0x1f, 0x8b, 0xe5, 0x64, 0xaa, 0x16, 0x65, 0xca, + 0xe9, 0x55, 0x2b, 0xea, 0x45, 0x5b, 0x3c, 0xd6, 0xf5, 0xec, 0x3a, 0x66, 0xb4, 0xef, 0x05, 0x03, + 0xbe, 0xbd, 0xae, 0x19, 0x05, 0x3c, 0x6d, 0x2b, 0x11, 0x97, 0xee, 0x0b, 0xb0, 0x84, 0xe7, 0xb0, + 0xb4, 0x0b, 0x47, 0x4c, 0xb2, 0x3f, 0xc0, 0xf3, 0x11, 0x19, 0x89, 0xb2, 0x85, 0xa1, 0xed, 0xb9, + 0xac, 0x43, 0xc5, 0x6d, 0x80, 0x88, 0xa2, 0x9a, 0x0f, 0xc2, 0xfe, 0xed, 0xc0, 0x1b, 0xf0, 0xad, + 0x57, 0x02, 0x32, 0xcd, 0x3d, 0x37, 0x4a, 0xba, 0x5b, 0x3c, 0x19, 0x11, 0x51, 0x94, 0x96, 0x83, + 0xac, 0x61, 0x9a, 0x31, 0x12, 0x90, 0xc6, 0x52, 0x48, 0x8e, 0x78, 0x63, 0x4f, 0xff, 0x94, 0x3c, + 0x37, 0x2f, 0x7b, 0x2e, 0xd7, 0xa9, 0xb5, 0xd8, 0x57, 0xb1, 0x53, 0xcb, 0x5a, 0x9c, 0x05, 0xa9, + 0xc5, 0x59, 0x85, 0x29, 0xcf, 0xa7, 0xe9, 0x1f, 0xb6, 0x35, 0x96, 0x2e, 0x3f, 0x31, 0x7c, 0x81, + 0x5a, 0xd9, 0xc1, 0x91, 0x98, 0x18, 0x09, 0x9d, 0x76, 0x0f, 0xe6, 0xbd, 0xfd, 0x7d, 0xc7, 0x76, + 0xc9, 0x6e, 0x1c, 0x1e, 0xb0, 0x6d, 0xf8, 0x39, 0x16, 0xec, 0x7a, 0x59, 0x13, 0x21, 0x8f, 0x34, + 0xf2, 0xa4, 0xb4, 0xf3, 0x33, 0x23, 0xdc, 0x00, 0xb1, 0x05, 0xee, 0x3c, 0x5b, 0xe0, 0x24, 0x1c, + 0x3b, 0x5f, 0x14, 0x16, 0xfa, 0x0b, 0xcc, 0x70, 0x22, 0x0a, 0xb9, 0x44, 0x66, 0xef, 0x80, 0xb0, + 0x03, 0xa5, 0xf6, 0x22, 0xf6, 0x8f, 0x22, 0x8e, 0x77, 0x77, 0x2f, 0x27, 0xdd, 0xdd, 0xd2, 0xfb, + 0x30, 0x23, 0x2a, 0x58, 0x92, 0xcc, 0xe7, 0xc5, 0x64, 0x9e, 0x16, 0x73, 0xf5, 0xf7, 0x15, 0x98, + 0xcf, 0xa9, 0x46, 0x47, 0x47, 0x76, 0xe4, 0x10, 0xce, 0x01, 0x01, 0xba, 0x73, 0xb2, 0x48, 0xd8, + 0xe3, 0xc9, 0xc3, 0xfe, 0xe6, 0x92, 0x54, 0xd2, 0x36, 0x5a, 0x87, 0x19, 0x7b, 0xa7, 0x4b, 0x19, + 0x75, 0xbd, 0xd8, 0xb5, 0xd2, 0x03, 0x7a, 0x01, 0xc7, 0xb6, 0xf4, 0x3b, 0xdd, 0x35, 0xd3, 0xea, + 0x13, 0xbc, 0xae, 0xa9, 0x31, 0x99, 0x64, 0xa4, 0x6e, 0xc1, 0xf4, 0x7d, 0xdb, 0x0f, 0xd7, 0xbd, + 0xc1, 0x80, 0x86, 0x80, 0x45, 0x22, 0xda, 0xe3, 0x2b, 0xcc, 0x60, 0x1c, 0xa2, 0xd6, 0xb4, 0xc8, + 0xbe, 0x19, 0x3b, 0x11, 0x1d, 0x9a, 0x2c, 0x19, 0x02, 0x8a, 0x1d, 0x2f, 0x84, 0x9e, 0xbb, 0x81, + 0xd4, 0x28, 0xa7, 0x80, 0xd1, 0xff, 0x45, 0x85, 0x16, 0x5b, 0x11, 0xd7, 0x59, 0xc0, 0x59, 0x8c, + 0xe8, 0x06, 0xd4, 0xd8, 0x02, 0xc0, 0x3b, 0xca, 0xd1, 0x67, 0x32, 0x38, 0x54, 0xbb, 0x09, 0x75, + 0xcf, 0x67, 0x6d, 0x28, 0x2e, 0x97, 0x57, 0x86, 0x11, 0xc9, 0x47, 0xf2, 0x06, 0xa7, 0xd2, 0x6e, + 0x03, 0x0c, 0xb2, 0xae, 0x13, 0x9b, 0x87, 0x49, 0x79, 0x08, 0x94, 0xd4, 0xb8, 0x69, 0x5d, 0x4c, + 0xcf, 0xe5, 0x2b, 0x86, 0x8c, 0xd4, 0xb6, 0x61, 0x8e, 0x89, 0xbd, 0x93, 0x1c, 0xce, 0x31, 0x1f, + 0x4c, 0x3e, 0x63, 0x8e, 0x5a, 0xff, 0x13, 0x85, 0x9b, 0x91, 0x7e, 0xed, 0x12, 0xb4, 0x7d, 0x66, + 0x12, 0xe5, 0x54, 0x26, 0x59, 0x82, 0xe9, 0x41, 0x2c, 0x9c, 0x15, 0x56, 0x8c, 0x14, 0xce, 0x5c, + 0x54, 0x99, 0xd8, 0x45, 0xfa, 0x9f, 0x2a, 0xd0, 0xfe, 0xd8, 0xb3, 0x5d, 0xf6, 0x61, 0xd5, 0xf7, + 0x1d, 0x7e, 0x7d, 0x73, 0x6a, 0x9f, 0xff, 0x3c, 0x34, 0x4c, 0x64, 0xe3, 0x46, 0xdc, 0xed, 0x13, + 0x9c, 0xff, 0x65, 0x34, 0xc2, 0x21, 0x4c, 0x45, 0x3c, 0x84, 0xd1, 0xbf, 0x52, 0x60, 0x0e, 0x8d, + 0xf2, 0x49, 0x6c, 0x47, 0xa7, 0x96, 0x6f, 0x0d, 0xa6, 0x8f, 0x62, 0x3b, 0x3a, 0x45, 0x54, 0xa6, + 0x74, 0xc5, 0x78, 0xaa, 0x94, 0xc4, 0x93, 0xfe, 0x97, 0x0a, 0x5c, 0xcc, 0x9b, 0x75, 0xb5, 0xd7, + 0x23, 0xfe, 0xb3, 0x4c, 0x29, 0xe9, 0x10, 0xaa, 0x9a, 0x3b, 0x84, 0x2a, 0x15, 0xd9, 0x20, 0x5f, + 0x92, 0xde, 0xf3, 0x2b, 0xf2, 0xaf, 0xa9, 0xf0, 0xca, 0x66, 0x9a, 0x78, 0xf7, 0x03, 0xd3, 0x0d, + 0xf7, 0x49, 0x10, 0x3c, 0x43, 0x79, 0xef, 0xc1, 0xac, 0x4b, 0x1e, 0x67, 0x32, 0xf1, 0x74, 0x9c, + 0x94, 0x8d, 0x4c, 0x3c, 0xd9, 0xda, 0xa5, 0xff, 0x40, 0x81, 0x16, 0xf2, 0xb9, 0x6b, 0xf7, 0x0e, + 0x9f, 0xa1, 0xf2, 0xdb, 0x30, 0x77, 0xc8, 0x24, 0xa0, 0xd0, 0x29, 0x96, 0xed, 0x1c, 0xf5, 0x84, + 0xea, 0x7f, 0xad, 0xc0, 0x42, 0x72, 0x6b, 0x7c, 0x6c, 0x3f, 0xcb, 0x60, 0xdd, 0x85, 0x79, 0x3c, + 0x85, 0x3f, 0xad, 0x01, 0xf2, 0xe4, 0x13, 0x5a, 0xe0, 0x6f, 0x14, 0x98, 0x47, 0x4e, 0xb7, 0xdc, + 0x88, 0x04, 0xa7, 0xd6, 0xff, 0x0e, 0x34, 0x89, 0x1b, 0x05, 0xa6, 0x7b, 0x9a, 0x15, 0x52, 0x24, + 0x9d, 0x70, 0x91, 0xfc, 0x4a, 0x01, 0x8d, 0xb1, 0xda, 0xb0, 0xc3, 0x81, 0x1d, 0x86, 0xcf, 0xd0, + 0x75, 0x93, 0x09, 0xfc, 0x47, 0x2a, 0x9c, 0x17, 0xb8, 0x74, 0xe2, 0xe8, 0x79, 0x17, 0x59, 0xdb, + 0x80, 0x06, 0xed, 0x11, 0xc4, 0x3b, 0xd2, 0x49, 0x27, 0xca, 0x08, 0x69, 0x17, 0xcb, 0x80, 0x2e, + 0xe9, 0x79, 0xae, 0x15, 0xb2, 0xe6, 0x68, 0xd6, 0x90, 0x70, 0x74, 0x19, 0x5a, 0x12, 0xd8, 0xac, + 0x9b, 0x6e, 0x8f, 0x38, 0x2f, 0x8c, 0x89, 0xf4, 0x3f, 0x57, 0x60, 0x0e, 0x87, 0x3c, 0xff, 0x2a, + 0xd3, 0x5a, 0x8f, 0x81, 0xfc, 0xad, 0xf1, 0x12, 0x0d, 0xaf, 0x45, 0x81, 0x8b, 0xd8, 0x57, 0x3f, + 0xbf, 0xa1, 0x75, 0x07, 0x9a, 0xbd, 0x03, 0xd3, 0xed, 0x9f, 0x2a, 0xb8, 0x44, 0x52, 0x3d, 0x82, + 0x97, 0xc5, 0x43, 0xfb, 0x75, 0xfc, 0xc4, 0xd4, 0x7f, 0x2b, 0xa7, 0xca, 0xc8, 0x37, 0x10, 0x4f, + 0x67, 0xf4, 0x43, 0x58, 0xc0, 0x5b, 0x64, 0xa1, 0x27, 0xd4, 0xda, 0x30, 0x65, 0x5a, 0x78, 0x74, + 0xa1, 0x30, 0xa2, 0x04, 0x94, 0x5f, 0x19, 0xf0, 0xf7, 0x6c, 0xd9, 0x2b, 0x83, 0x4b, 0x00, 0xa6, + 0x65, 0x3d, 0xf4, 0x02, 0xcb, 0x76, 0x93, 0x06, 0x5f, 0xc0, 0xe8, 0x1f, 0xc3, 0xcc, 0xed, 0xc0, + 0x1b, 0xdc, 0x17, 0xee, 0x83, 0x47, 0xde, 0x58, 0x8b, 0x77, 0xc9, 0xaa, 0x7c, 0x97, 0xac, 0x7f, + 0x01, 0x17, 0x0a, 0x82, 0x33, 0x63, 0xad, 0xe3, 0x35, 0x77, 0x32, 0x09, 0x0f, 0x99, 0xb2, 0xb3, + 0x3c, 0x51, 0x16, 0x43, 0x22, 0xd2, 0x7f, 0x55, 0x81, 0xd7, 0x0a, 0xec, 0x57, 0x7d, 0x3f, 0xf0, + 0x8e, 0xb9, 0x4f, 0xce, 0x62, 0x1a, 0xb9, 0xf9, 0x55, 0xf3, 0xcd, 0x6f, 0xa9, 0x10, 0x52, 0xc3, + 0xfe, 0x0d, 0x08, 0xf1, 0x67, 0x0a, 0xcc, 0x73, 0x21, 0x2c, 0x8b, 0x4f, 0xfb, 0x0e, 0xd4, 0xf1, + 0xa1, 0x0d, 0x9f, 0xf0, 0xb5, 0xd2, 0x09, 0x93, 0x07, 0x42, 0x06, 0x1f, 0x5c, 0x8c, 0x48, 0xb5, + 0x2c, 0xa3, 0xde, 0x4b, 0x83, 0x7d, 0xe2, 0xa7, 0x30, 0x9c, 0x40, 0xff, 0x85, 0x24, 0x98, 0x37, + 0x88, 0x43, 0xce, 0xd2, 0x46, 0xfa, 0x03, 0x98, 0x63, 0xaf, 0x7e, 0x32, 0x1b, 0x9c, 0x09, 0xdb, + 0x87, 0xd0, 0x62, 0x6c, 0xcf, 0x5c, 0xde, 0x34, 0x3b, 0xa8, 0x7d, 0xc4, 0xa5, 0xe4, 0x4c, 0xb8, + 0xbf, 0x09, 0xe7, 0x12, 0xdb, 0xe3, 0x4b, 0x5a, 0xe4, 0x3d, 0xe4, 0x6e, 0x4f, 0xff, 0x03, 0x05, + 0x16, 0xd7, 0x3d, 0xf7, 0x98, 0x04, 0xa1, 0xf4, 0xfa, 0x16, 0x49, 0xa4, 0xec, 0xe7, 0x90, 0xb6, + 0x02, 0x5a, 0x4f, 0xa0, 0xe0, 0xc7, 0x8b, 0x2a, 0x3b, 0x5e, 0x2c, 0xf9, 0xa2, 0xbd, 0x0d, 0x17, + 0x62, 0xc6, 0xf5, 0x81, 0x1b, 0x10, 0xd3, 0x62, 0xe7, 0x69, 0xc2, 0xa2, 0x57, 0xfe, 0x51, 0xff, + 0x12, 0x96, 0x44, 0xb9, 0xba, 0x24, 0xda, 0x0d, 0xec, 0x63, 0x41, 0x36, 0x7e, 0x76, 0xae, 0x48, + 0x67, 0xe7, 0xd9, 0x59, 0xbb, 0x2a, 0x9d, 0xb5, 0x5f, 0x84, 0x86, 0x1d, 0x72, 0x06, 0x6c, 0xde, + 0x69, 0x23, 0x43, 0xe8, 0x26, 0x2c, 0xa0, 0x97, 0xf9, 0x5d, 0x16, 0x9b, 0x62, 0x09, 0xa6, 0x31, + 0x74, 0xd3, 0x49, 0x52, 0x78, 0xe8, 0xcd, 0xd0, 0xd0, 0x7b, 0x50, 0xbd, 0x0b, 0x0b, 0xfc, 0x2d, + 0xd0, 0xae, 0xd9, 0xb7, 0x5d, 0x5c, 0xcb, 0x2f, 0x01, 0xf8, 0x66, 0x3f, 0x79, 0x99, 0x88, 0x37, + 0x7a, 0x02, 0x86, 0x7e, 0x0f, 0x0f, 0xbc, 0xc7, 0xfc, 0xbb, 0x8a, 0xdf, 0x33, 0x8c, 0xfe, 0x29, + 0x68, 0x06, 0x09, 0x7d, 0xcf, 0x0d, 0x89, 0xc0, 0x75, 0x19, 0x9a, 0xeb, 0x71, 0x10, 0x10, 0x97, + 0x4e, 0x95, 0x3c, 0xaf, 0x13, 0x51, 0x94, 0x6f, 0x37, 0xe3, 0x8b, 0xa7, 0xff, 0x02, 0x46, 0xff, + 0xdf, 0x3a, 0x34, 0xba, 0x76, 0xdf, 0x35, 0x1d, 0x83, 0x1c, 0x69, 0x1f, 0x42, 0x1d, 0x77, 0x46, + 0x3c, 0x20, 0xcb, 0x4e, 0xa3, 0x71, 0x34, 0x6e, 0x01, 0x0d, 0x72, 0x74, 0xe7, 0x25, 0x83, 0xd3, + 0x68, 0x9f, 0x24, 0x2f, 0xa6, 0xb6, 0xf0, 0xa4, 0x8b, 0x97, 0xc9, 0x9f, 0x1c, 0xc3, 0x84, 0x8f, + 0x46, 0x5e, 0x32, 0x07, 0x2a, 0x50, 0x8f, 0x75, 0x4e, 0x7c, 0x15, 0x1a, 0x2e, 0x10, 0x36, 0x58, + 0x5c, 0x20, 0xa4, 0xa1, 0xd4, 0x26, 0x3b, 0x0b, 0xe2, 0x0d, 0xc1, 0x70, 0x6a, 0x3c, 0x32, 0xe2, + 0xd4, 0x48, 0x43, 0xa9, 0x0f, 0x62, 0xb7, 0xff, 0xc0, 0xe7, 0x47, 0x94, 0xc3, 0xa9, 0xef, 0xb0, + 0x61, 0x9c, 0x1a, 0x69, 0x28, 0x75, 0xc0, 0x6a, 0x04, 0x33, 0xfa, 0x28, 0x6a, 0x2c, 0x25, 0x9c, + 0x1a, 0x69, 0xb4, 0xcf, 0xa0, 0xd5, 0x27, 0x91, 0xe1, 0x79, 0x83, 0xb5, 0x93, 0x4d, 0x7e, 0x43, + 0x84, 0x0f, 0xc4, 0xaf, 0x0d, 0xe5, 0xb3, 0x99, 0x23, 0x40, 0x8e, 0x05, 0x3e, 0xda, 0x2f, 0xc3, + 0x6b, 0x9e, 0x4b, 0x51, 0xbb, 0x66, 0x10, 0xd9, 0x3d, 0xdb, 0x37, 0xdd, 0x68, 0xdd, 0x73, 0x5d, + 0x56, 0xcf, 0x0c, 0x72, 0xc4, 0x9f, 0x90, 0xbf, 0x3b, 0x74, 0xa2, 0x9d, 0x51, 0xd4, 0x77, 0x5e, + 0x32, 0x46, 0xb3, 0xd7, 0x7e, 0x53, 0x81, 0xe5, 0xc2, 0x88, 0x0d, 0x3b, 0xec, 0x89, 0x32, 0xe0, + 0xf3, 0xf3, 0xf7, 0x26, 0x97, 0x21, 0xc7, 0xe0, 0xce, 0x4b, 0xc6, 0xd8, 0x49, 0xb8, 0x95, 0xef, + 0x7b, 0x87, 0xc4, 0x5d, 0x3b, 0xa1, 0x63, 0xb7, 0x36, 0xd8, 0x6d, 0xd4, 0x18, 0x2b, 0x4b, 0x04, + 0x99, 0x95, 0x25, 0xf4, 0x5a, 0x03, 0xa6, 0x7c, 0xf3, 0xc4, 0xf1, 0x4c, 0x4b, 0xff, 0x4e, 0x15, + 0x20, 0x71, 0x75, 0xc8, 0x3a, 0x62, 0x29, 0xc9, 0x2e, 0x8f, 0x4d, 0x32, 0xdf, 0x39, 0x11, 0xd2, + 0xac, 0x5b, 0x9e, 0x66, 0x3f, 0x35, 0x69, 0x9a, 0x21, 0xb7, 0x5c, 0xa2, 0xdd, 0xcc, 0x25, 0xda, + 0xe5, 0xb1, 0x89, 0xc6, 0x85, 0xe2, 0xa9, 0x76, 0x33, 0x97, 0x6a, 0x97, 0xc7, 0xa6, 0x1a, 0xa7, + 0xe7, 0xc9, 0x76, 0x33, 0x97, 0x6c, 0x97, 0xc7, 0x26, 0x1b, 0xa7, 0xe7, 0xe9, 0x76, 0x33, 0x97, + 0x6e, 0x97, 0xc7, 0xa6, 0x1b, 0xa7, 0xe7, 0x09, 0xf7, 0xc5, 0xd0, 0x84, 0x5b, 0x79, 0x8a, 0x84, + 0x43, 0x9e, 0xc5, 0x94, 0xfb, 0xa2, 0x24, 0xd0, 0xa6, 0xc7, 0x73, 0xcf, 0x05, 0x5a, 0xc6, 0x7d, + 0x68, 0xa8, 0xfd, 0x7a, 0x05, 0xe6, 0x98, 0xbb, 0xb1, 0x2a, 0xbb, 0xfb, 0x5e, 0xf1, 0x1d, 0xab, + 0x52, 0xf2, 0x8e, 0x55, 0xbb, 0x06, 0x0b, 0x88, 0x20, 0xc2, 0x3d, 0x22, 0x16, 0xfa, 0xe2, 0x07, + 0x76, 0x73, 0x1a, 0x87, 0x91, 0x37, 0xd8, 0x30, 0x23, 0x33, 0xd9, 0x61, 0x64, 0x18, 0xf1, 0x5e, + 0xbb, 0x5a, 0xf8, 0xb9, 0x47, 0x80, 0xfa, 0xd7, 0x78, 0x35, 0x67, 0x10, 0xa5, 0x88, 0xec, 0x01, + 0xf1, 0xe2, 0x88, 0x17, 0xa9, 0x04, 0xc4, 0xc7, 0x87, 0x96, 0x6d, 0xb2, 0xdb, 0x60, 0xfe, 0x32, + 0x2f, 0x45, 0xb0, 0xba, 0x9a, 0xdd, 0x6e, 0xf3, 0x9f, 0x63, 0x64, 0x98, 0x09, 0x6e, 0xa2, 0xd9, + 0x2f, 0x7b, 0xec, 0xc8, 0x16, 0x5f, 0xec, 0xd5, 0x0c, 0x09, 0x47, 0xfb, 0xa0, 0xbd, 0x38, 0x3c, + 0xb9, 0x67, 0xbb, 0xa2, 0x79, 0x9a, 0xd8, 0x07, 0x15, 0xbf, 0xe8, 0xff, 0xa7, 0xc0, 0x39, 0x61, + 0xdd, 0xe9, 0x90, 0xc8, 0x64, 0x76, 0x91, 0xde, 0x5d, 0x2b, 0x4f, 0xf7, 0xee, 0x7a, 0x17, 0xe6, + 0xfb, 0xf2, 0xb6, 0xfc, 0x29, 0x77, 0xd4, 0x79, 0x72, 0xe9, 0x11, 0x79, 0xe5, 0xa9, 0x1f, 0x91, + 0xeb, 0xbf, 0xa5, 0xc2, 0x7c, 0xae, 0x19, 0x18, 0xd9, 0x49, 0xad, 0x02, 0xd8, 0x69, 0x68, 0x8e, + 0xb8, 0xb5, 0x92, 0xe3, 0xd7, 0x10, 0x88, 0xca, 0xae, 0xcd, 0x2b, 0xa7, 0xbf, 0x36, 0xbf, 0x03, + 0x4d, 0x3f, 0x73, 0xd2, 0x88, 0x43, 0x83, 0x12, 0x57, 0x1a, 0x22, 0xa9, 0xfe, 0xdb, 0x0a, 0x2c, + 0x14, 0x96, 0x6c, 0x76, 0x99, 0x4d, 0x13, 0x35, 0xbd, 0xcc, 0xa6, 0x80, 0x90, 0x01, 0x6a, 0x3e, + 0x03, 0x1c, 0xfb, 0x58, 0xfc, 0xb9, 0x0b, 0x07, 0x87, 0x44, 0x5f, 0x75, 0x68, 0xf4, 0xfd, 0x8e, + 0x0a, 0x8b, 0xe5, 0x0d, 0xd6, 0x8b, 0xea, 0x9f, 0xdf, 0x55, 0xa0, 0x3d, 0xac, 0x16, 0x3e, 0x33, + 0x37, 0x65, 0xf9, 0x93, 0xf6, 0xae, 0x2f, 0xaa, 0x7f, 0xce, 0x25, 0xe9, 0x23, 0x34, 0x17, 0xfa, + 0x5f, 0xa7, 0xf6, 0x49, 0xbb, 0xf3, 0x17, 0xd4, 0x3e, 0xda, 0x55, 0x68, 0xa1, 0x9a, 0xc2, 0x4b, + 0x2e, 0xdc, 0xec, 0x15, 0xf0, 0xfa, 0xe7, 0x89, 0x2d, 0x85, 0x46, 0xeb, 0xac, 0x62, 0x5c, 0xff, + 0x47, 0x25, 0xf1, 0x49, 0xba, 0xe7, 0xf9, 0x56, 0xf9, 0x24, 0x8b, 0x34, 0xa1, 0x8d, 0x14, 0x22, + 0x2d, 0xdd, 0x8b, 0xfd, 0x28, 0xd2, 0xc6, 0x47, 0x5a, 0x6a, 0x4b, 0xa1, 0xa5, 0xd6, 0xff, 0x58, + 0x81, 0x57, 0x86, 0xee, 0x47, 0x47, 0x5a, 0x55, 0x68, 0x1a, 0x55, 0xb9, 0x69, 0xcc, 0xa9, 0x57, + 0x39, 0xfd, 0x42, 0xf3, 0xcf, 0x0a, 0xbc, 0x3a, 0xa2, 0x79, 0xcf, 0x79, 0x56, 0x39, 0x8d, 0x67, + 0x73, 0xc2, 0xaa, 0x43, 0x2f, 0xa6, 0xc7, 0xfa, 0x22, 0x4b, 0xcf, 0x8a, 0x98, 0x9e, 0xfa, 0xbf, + 0x2b, 0xf0, 0xfa, 0x04, 0x3b, 0xf1, 0xe7, 0x4b, 0x99, 0xa1, 0x4f, 0x5d, 0xf5, 0xff, 0x50, 0xe0, + 0xca, 0x64, 0x9b, 0xfa, 0x6f, 0x8b, 0x46, 0x7f, 0x2f, 0xe6, 0x40, 0xfe, 0xb4, 0x40, 0x70, 0xab, + 0x22, 0xad, 0xba, 0x62, 0x6e, 0xa8, 0xb9, 0xdc, 0x38, 0xb3, 0x0c, 0xc8, 0xbf, 0x68, 0xaf, 0x16, + 0x5f, 0xb4, 0x77, 0x84, 0x14, 0x29, 0xee, 0x40, 0x87, 0x94, 0x12, 0xa1, 0x64, 0xa8, 0x72, 0xc9, + 0xf8, 0x15, 0x98, 0xdd, 0x20, 0x4e, 0x27, 0xec, 0x27, 0xbf, 0x3d, 0x39, 0xd3, 0xd3, 0xd6, 0x09, + 0xf4, 0x59, 0x83, 0x39, 0x51, 0x80, 0xd3, 0xfc, 0xb6, 0x42, 0x7f, 0x08, 0xaf, 0x74, 0x49, 0xb4, + 0xea, 0xfb, 0x6b, 0x66, 0xef, 0x90, 0xba, 0xd9, 0xb5, 0xba, 0xec, 0x31, 0xf0, 0xa8, 0x1f, 0xd3, + 0xd0, 0x9d, 0x65, 0x98, 0x11, 0xf0, 0x17, 0xb0, 0x12, 0x4e, 0xdf, 0x86, 0xa5, 0x61, 0x8c, 0x4f, + 0x25, 0xe8, 0x77, 0x55, 0x98, 0xb9, 0xf5, 0x24, 0xc2, 0xf7, 0xef, 0x5d, 0xc2, 0x7e, 0x41, 0x1e, + 0xb2, 0x6b, 0xc1, 0xcc, 0xda, 0x09, 0x9c, 0xdf, 0x1c, 0xab, 0xc5, 0xcd, 0xf1, 0x0e, 0x00, 0x49, + 0xb8, 0x85, 0xfc, 0x91, 0xcd, 0xf5, 0x92, 0xb0, 0x13, 0xa7, 0xcc, 0x00, 0xfe, 0xea, 0x59, 0x60, + 0x41, 0xeb, 0x4b, 0xc7, 0x7c, 0xd2, 0x09, 0xfb, 0xc2, 0x7f, 0x06, 0xc1, 0xb7, 0x36, 0x05, 0x3c, + 0xb5, 0x5f, 0x4a, 0xb9, 0x1d, 0x0f, 0x78, 0x1d, 0x92, 0x70, 0xb9, 0x37, 0xdc, 0xf5, 0xfc, 0x1b, + 0xee, 0xa5, 0xcf, 0x61, 0x3e, 0x27, 0x4e, 0xc9, 0x1b, 0xe5, 0x1b, 0xf2, 0x0f, 0x0e, 0x2e, 0x8e, + 0x52, 0x50, 0x7c, 0xc1, 0xfc, 0xff, 0x2a, 0x34, 0xd2, 0x0f, 0xda, 0x00, 0x2e, 0x04, 0xc4, 0x64, + 0xff, 0x0a, 0x84, 0x21, 0xa9, 0x11, 0x85, 0x9f, 0x05, 0xfd, 0xec, 0x28, 0xae, 0x2b, 0x46, 0x19, + 0x25, 0x9a, 0xaf, 0x9c, 0xeb, 0x04, 0xbf, 0x5a, 0x58, 0x01, 0x6d, 0x10, 0xf6, 0x6f, 0xdb, 0x41, + 0x18, 0x75, 0x3c, 0xcb, 0xde, 0x3f, 0x11, 0xae, 0x62, 0x4a, 0xbe, 0x14, 0x1e, 0x80, 0x57, 0x87, + 0x3e, 0x00, 0x4f, 0xff, 0xcb, 0xc3, 0x12, 0x81, 0xa5, 0xe1, 0xa2, 0x97, 0x98, 0xfa, 0x67, 0x64, + 0x53, 0x97, 0x5d, 0xa1, 0xdf, 0x25, 0x27, 0xf8, 0xff, 0x45, 0x04, 0x4b, 0xef, 0xc3, 0x74, 0x82, + 0x66, 0x47, 0x45, 0x27, 0x3e, 0xb9, 0x9b, 0x32, 0x4e, 0x40, 0xf9, 0xad, 0x79, 0x83, 0xd3, 0xd3, + 0x90, 0x73, 0xcc, 0x88, 0x84, 0x91, 0x10, 0x72, 0x68, 0x84, 0x02, 0x7e, 0xed, 0xda, 0x67, 0x57, + 0x77, 0x7c, 0xe2, 0x3e, 0xda, 0xea, 0x14, 0xfe, 0xc7, 0xd1, 0x07, 0x05, 0x49, 0xf7, 0xea, 0xec, + 0xfb, 0x5b, 0x3f, 0x0c, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x20, 0xfb, 0xbd, 0x43, 0x49, 0x00, 0x00, } diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b8c232965..b0b531f8f 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -707,25 +707,25 @@ message SetAppBackgroundStatusResp { } message ExtendMsgSet { - string ID = 1; - repeated ExtendMsg extendMsgs = 2; - int32 latestUpdateTime = 3; - string attachedInfo = 4; - string ex = 5; - int32 extendMsgNum = 6; - int32 createTime = 7; + string sourceID = 1; + int32 sessionType = 2; + map extendMsgs = 3; + int64 MaxMsgUpdateTime = 4; + int32 extendMsgNum = 5; + int64 createTime = 6; } message ExtendMsg { - repeated ReactionExtendMsgSet content = 1; + map reactionExtensionList = 1; string clientMsgID = 2; - int32 createTime = 3; - int32 latestUpdateTime = 4; + int64 msgFirstModifyTime = 3; + string attachedInfo = 4; + string ex = 5; } -message ReactionExtendMsgSet { - string userKey = 1; +message KeyValue { + string typeKey = 1; string value = 2; - int32 latestUpdateTime = 3; + int64 latestUpdateTime = 3; } From 53cd4205e813db3b8d584887d5b67134d936f809 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 10:45:51 +0800 Subject: [PATCH 02/33] modify --- internal/rpc/msg/extend_msg.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 6cb5870b7..682485c50 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1 +1,22 @@ package msg + +import ( + "Open_IM/pkg/proto/msg" + "context" +) + +func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { + return +} + +func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + return +} From 4d56dfdfa29813ec7df55b9daf6219fb2f7a8463 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 12:13:14 +0800 Subject: [PATCH 03/33] modify --- cmd/open_im_api/main.go | 5 + config/config.yaml | 3 +- internal/api/msg/extend_msg.go | 206 ++++++++++++++++++++++++ internal/rpc/msg/callback.go | 6 - internal/rpc/msg/extend_msg_callback.go | 9 ++ pkg/base_info/msg.go | 61 ++++++- 6 files changed, 278 insertions(+), 12 deletions(-) create mode 100644 internal/api/msg/extend_msg.go create mode 100644 internal/rpc/msg/extend_msg_callback.go diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index 94cb88831..074028eec 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -163,6 +163,11 @@ func main() { chatGroup.POST("/batch_send_msg", manage.ManagementBatchSendMsg) chatGroup.POST("/check_msg_is_send_success", manage.CheckMsgIsSendSuccess) chatGroup.POST("/set_msg_min_seq", apiChat.SetMsgMinSeq) + + chatGroup.POST("/set_message_reaction_extensions", apiChat.SetMessageReactionExtensions) + chatGroup.POST("/get_message_list_reaction_extensions", apiChat.GetMessageListReactionExtensions) + chatGroup.POST("/add_message_reaction_extensions", apiChat.AddMessageReactionExtensions) + chatGroup.POST("/delete_message_reaction_extensions", apiChat.DeleteMessageReactionExtensions) } //Conversation conversationGroup := r.Group("/conversation") diff --git a/config/config.yaml b/config/config.yaml index 966c613f4..9d452e0e1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -345,11 +345,12 @@ callback: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 - callbackBeforeExtendMsgModify: + callbackSetMessageReactionExtensions: enable: false callbackTimeOut: 2 callbackFailedContinue: true # 回调超时是否继续 + notification: groupCreated: conversation: diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go new file mode 100644 index 000000000..1d6b8db07 --- /dev/null +++ b/internal/api/msg/extend_msg.go @@ -0,0 +1,206 @@ +package msg + +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" + rpc "Open_IM/pkg/proto/msg" + "Open_IM/pkg/utils" + "context" + "github.com/gin-gonic/gin" + "net/http" + "strings" +) + +func SetMessageReactionExtensions(c *gin.Context) { + var ( + req api.SetMessageReactionExtensionsCallbackReq + resp api.SetMessageReactionExtensionsCallbackResp + reqPb rpc.ModifyMessageReactionExtensionsReq + ) + + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.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.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.SetMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) + +} + +func GetMessageListReactionExtensions(c *gin.Context) { + var ( + req api.GetMessageListReactionExtensionsReq + resp api.GetMessageListReactionExtensionsResp + reqPb rpc.OperateMessageListReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.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.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.GetMessageListReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} + +func AddMessageReactionExtensions(c *gin.Context) { + var ( + req api.AddMessageReactionExtensionsReq + resp api.AddMessageReactionExtensionsResp + reqPb rpc.ModifyMessageReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.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.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.AddMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} + +func DeleteMessageReactionExtensions(c *gin.Context) { + var ( + req api.DeleteMessageReactionExtensionsReq + resp api.DeleteMessageReactionExtensionsResp + reqPb rpc.OperateMessageListReactionExtensionsReq + ) + if err := c.BindJSON(&req); err != nil { + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) + + if err := utils.CopyStructFields(&reqPb, &req); err != nil { + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields", err.Error()) + } + var ok bool + var errInfo string + ok, reqPb.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.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + + grpcConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, req.OperationID) + if grpcConn == nil { + errMsg := req.OperationID + " getcdv3.GetDefaultConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + msgClient := rpc.NewMsgClient(grpcConn) + respPb, err := msgClient.DeleteMessageReactionExtensions(context.Background(), &reqPb) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) + c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + return + } + resp.ErrCode = respPb.ErrCode + resp.ErrMsg = respPb.ErrMsg + resp.FailedList = respPb.FailedList + resp.SuccessList = respPb.SuccessList + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) +} diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index b4ae38418..5fae1e133 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -221,9 +221,3 @@ func callbackMsgModify(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), string(msg.MsgData.Content)) return callbackResp } - -func CallbackBeforeExtendMsgModify() cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: ""} - - return callbackResp -} diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go new file mode 100644 index 000000000..956c86c9d --- /dev/null +++ b/internal/rpc/msg/extend_msg_callback.go @@ -0,0 +1,9 @@ +package msg + +func callbackSetMessageReactionExtensions() { + +} + +func callbackDeleteMessageReactionExtensions() { + +} diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 2b12a2b2e..4e27873b7 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -1,5 +1,10 @@ package base_info +import ( + "Open_IM/pkg/proto/msg" + sdk_ws "Open_IM/pkg/proto/sdk_ws" +) + type DelMsgReq struct { UserID string `json:"userID,omitempty" binding:"required"` SeqList []uint32 `json:"seqList,omitempty" binding:"required"` @@ -18,6 +23,7 @@ type CleanUpMsgReq struct { type CleanUpMsgResp struct { CommResp } + type DelSuperGroupMsgReq struct { UserID string `json:"userID" binding:"required"` GroupID string `json:"groupID" binding:"required"` @@ -29,23 +35,68 @@ type DelSuperGroupMsgReq struct { type DelSuperGroupMsgResp struct { CommResp } + type MsgDeleteNotificationElem struct { GroupID string `json:"groupID"` IsAllDelete bool `json:"isAllDelete"` SeqList []uint32 `json:"seqList"` } -//UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` -// GroupID string `protobuf:"bytes,2,opt,name=groupID" json:"groupID,omitempty"` -// MinSeq uint32 `protobuf:"varint,3,opt,name=minSeq" json:"minSeq,omitempty"` -// OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` -// OpUserID string `protobuf:"bytes,5,opt,name=opUserID" json:"opUserID,omitempty"` type SetMsgMinSeqReq struct { UserID string `json:"userID" binding:"required"` GroupID string `json:"groupID"` MinSeq uint32 `json:"minSeq" binding:"required"` OperationID string `json:"operationID" binding:"required"` } + type SetMsgMinSeqResp struct { CommResp } + +type ModifyMessageReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + Ex *string `json:"ex"` + AttachedInfo *string `json:"attachedInfo"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} + +type ModifyMessageReactionExtensionsResp struct { + CommResp + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` +} + +type OperateMessageListReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType string `json:"sessionType" binding:"required"` + MessageReactionKeyList []*msg.OperateMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` +} + +type OperateMessageListReactionExtensionsResp struct { + CommResp + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` +} + +type SetMessageReactionExtensionsCallbackReq ModifyMessageReactionExtensionsReq + +type SetMessageReactionExtensionsCallbackResp ModifyMessageReactionExtensionsResp + +type GetMessageListReactionExtensionsReq OperateMessageListReactionExtensionsReq + +type GetMessageListReactionExtensionsResp OperateMessageListReactionExtensionsResp + +type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq + +type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp + +type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq + +type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp From 0fbf882059af63f63928819587504e57e261856f Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 12:18:38 +0800 Subject: [PATCH 04/33] modify --- internal/api/msg/extend_msg.go | 16 ++++++++-------- pkg/base_info/msg.go | 12 ++++++++---- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 1d6b8db07..62c11773d 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -57,8 +57,8 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) @@ -105,8 +105,8 @@ func GetMessageListReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -152,8 +152,8 @@ func AddMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -199,8 +199,8 @@ func DeleteMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.FailedList = respPb.FailedList - resp.SuccessList = respPb.SuccessList + resp.Data.FailedList = respPb.FailedList + resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4e27873b7..4927d7969 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,8 +68,10 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + Data struct { + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + } `json:"data"` } type OperateMessageListReactionExtensionsReq struct { @@ -81,8 +83,10 @@ type OperateMessageListReactionExtensionsReq struct { type OperateMessageListReactionExtensionsResp struct { CommResp - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + Data struct { + SuccessList []*sdk_ws.ExtendMsg `json:"successList"` + FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + } `json:"data"` } type SetMessageReactionExtensionsCallbackReq ModifyMessageReactionExtensionsReq From 9cb30e0ec6bd2cab73ba965b151628a58e95f707 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 9 Dec 2022 14:28:24 +0800 Subject: [PATCH 05/33] reaction message --- pkg/common/constant/constant.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index ff2e0097f..76b285c24 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -99,10 +99,11 @@ const ( SignalingNotification = 1601 SignalingNotificationEnd = 1649 - SuperGroupNotificationBegin = 1650 - SuperGroupUpdateNotification = 1651 - MsgDeleteNotification = 1652 - SuperGroupNotificationEnd = 1699 + SuperGroupNotificationBegin = 1650 + SuperGroupUpdateNotification = 1651 + MsgDeleteNotification = 1652 + ReactionMessageModifierNotification = 1653 + SuperGroupNotificationEnd = 1699 ConversationPrivateChatNotification = 1701 ConversationUnreadNotification = 1702 From 7f449aed5b42c964ac1d9571ba9dc580baa8f6be Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 16:42:43 +0800 Subject: [PATCH 06/33] modify msg --- pkg/proto/msg/msg.pb.go | 111 ++++++++++++++++++++-------------------- pkg/proto/msg/msg.proto | 12 +++-- 2 files changed, 64 insertions(+), 59 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 8a5c94d97..0ea6d4f62 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{0} + return fileDescriptor_msg_21d1ceb5221a9786, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{1} + return fileDescriptor_msg_21d1ceb5221a9786, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{2} + return fileDescriptor_msg_21d1ceb5221a9786, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{3} + return fileDescriptor_msg_21d1ceb5221a9786, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_c6fbff1b04f5a192, []int{4} + return fileDescriptor_msg_21d1ceb5221a9786, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_c6fbff1b04f5a192, []int{5} + return fileDescriptor_msg_21d1ceb5221a9786, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{6} + return fileDescriptor_msg_21d1ceb5221a9786, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{7} + return fileDescriptor_msg_21d1ceb5221a9786, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{8} + return fileDescriptor_msg_21d1ceb5221a9786, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{9} + return fileDescriptor_msg_21d1ceb5221a9786, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{10} + return fileDescriptor_msg_21d1ceb5221a9786, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{11} + return fileDescriptor_msg_21d1ceb5221a9786, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{12} + return fileDescriptor_msg_21d1ceb5221a9786, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{13} + return fileDescriptor_msg_21d1ceb5221a9786, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{14} + return fileDescriptor_msg_21d1ceb5221a9786, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{15} + return fileDescriptor_msg_21d1ceb5221a9786, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{16} + return fileDescriptor_msg_21d1ceb5221a9786, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{17} + return fileDescriptor_msg_21d1ceb5221a9786, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{18} + return fileDescriptor_msg_21d1ceb5221a9786, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{19} + return fileDescriptor_msg_21d1ceb5221a9786, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{20} + return fileDescriptor_msg_21d1ceb5221a9786, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{21} + return fileDescriptor_msg_21d1ceb5221a9786, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{22} + return fileDescriptor_msg_21d1ceb5221a9786, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1341,7 +1341,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{23} + return fileDescriptor_msg_21d1ceb5221a9786, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1393,7 +1393,7 @@ type OperateMessageListReactionExtensionsReq struct { OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType string `protobuf:"bytes,4,opt,name=sessionType" json:"sessionType,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{24} + return fileDescriptor_msg_21d1ceb5221a9786, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1447,11 +1447,11 @@ func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSessionType() string { +func (m *OperateMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType } - return "" + return 0 } func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{24, 0} + return fileDescriptor_msg_21d1ceb5221a9786, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c6fbff1b04f5a192, []int{25} + return fileDescriptor_msg_21d1ceb5221a9786, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2150,10 +2150,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c6fbff1b04f5a192) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_21d1ceb5221a9786) } -var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ - // 1363 bytes of a gzipped FileDescriptorProto +var fileDescriptor_msg_21d1ceb5221a9786 = []byte{ + // 1360 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, @@ -2217,27 +2217,26 @@ var fileDescriptor_msg_c6fbff1b04f5a192 = []byte{ 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, - 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0x39, 0x07, 0x6e, 0x25, 0x79, 0xe0, 0xce, 0x61, 0xb3, - 0x9b, 0x2c, 0xfc, 0x43, 0x1c, 0x28, 0x27, 0xee, 0x0b, 0x71, 0xe2, 0x66, 0x64, 0x52, 0xb3, 0x32, - 0xa9, 0xec, 0x09, 0xe9, 0x8d, 0xbf, 0xf9, 0xdb, 0x22, 0x33, 0x94, 0x3e, 0x86, 0x5a, 0xf6, 0x18, - 0xe6, 0x0b, 0xb9, 0x30, 0x49, 0xc8, 0xe4, 0x70, 0xd2, 0x27, 0x45, 0x2a, 0xe2, 0xa5, 0x42, 0xcd, - 0x9f, 0x69, 0xbe, 0xd0, 0xa0, 0x3a, 0x5b, 0x49, 0xfe, 0x7f, 0xca, 0xdd, 0xf9, 0x1d, 0x80, 0x3f, - 0xe5, 0xc9, 0x63, 0x58, 0x4b, 0xbd, 0x81, 0xc8, 0x3b, 0x39, 0x49, 0xb2, 0xef, 0x2e, 0xe3, 0xdd, - 0x59, 0xc2, 0x58, 0x48, 0x02, 0xd8, 0x78, 0xd4, 0xeb, 0x74, 0xe2, 0x12, 0xee, 0x0e, 0x9a, 0x78, - 0x26, 0xf0, 0xbf, 0x97, 0x33, 0x3f, 0x2f, 0x90, 0xaf, 0xf5, 0xfe, 0xcc, 0xb1, 0x2c, 0x24, 0xb7, - 0x60, 0x29, 0xee, 0xef, 0xc8, 0x9a, 0xd0, 0xf5, 0xf8, 0xad, 0x65, 0xac, 0x27, 0x1d, 0x2c, 0x24, - 0x87, 0x00, 0x75, 0xec, 0x58, 0xcc, 0x95, 0xf7, 0x43, 0xce, 0x42, 0xe3, 0x61, 0x9e, 0xe1, 0xcd, - 0x29, 0x11, 0x2c, 0x24, 0x0d, 0x58, 0x4f, 0x77, 0x5e, 0x44, 0x17, 0x0b, 0xe7, 0xf4, 0x85, 0xc6, - 0xf5, 0x09, 0x23, 0x2c, 0x24, 0xdb, 0xb0, 0x3c, 0x7c, 0xa4, 0x10, 0x89, 0x5c, 0x79, 0x18, 0x19, - 0xaf, 0xa5, 0x3c, 0x2c, 0x24, 0x77, 0x60, 0x55, 0xed, 0xfb, 0xc9, 0x46, 0x4c, 0x37, 0xf1, 0x4a, - 0x31, 0xae, 0xe5, 0x78, 0x25, 0xec, 0x74, 0x77, 0x1e, 0xc3, 0xce, 0x79, 0x05, 0xc4, 0xb0, 0x73, - 0xdb, 0xf9, 0x06, 0xac, 0x37, 0xf2, 0x13, 0x35, 0x26, 0x26, 0x6a, 0xbc, 0x24, 0x51, 0x4e, 0x21, - 0x73, 0xfa, 0x51, 0x25, 0x51, 0xa6, 0x90, 0x75, 0xa1, 0x72, 0xb5, 0x25, 0x23, 0xaf, 0x0f, 0xa3, - 0x53, 0x2d, 0x9f, 0xa1, 0xe7, 0x0f, 0xb0, 0x90, 0x9c, 0xc1, 0x16, 0x2f, 0xda, 0xa4, 0x1b, 0x8c, - 0xdc, 0x9c, 0xb1, 0x6f, 0x31, 0xaa, 0xb3, 0x05, 0xb2, 0x90, 0xfc, 0x0c, 0x95, 0xc6, 0x68, 0xc9, - 0xfc, 0xcf, 0x0f, 0xb9, 0x75, 0x91, 0x8f, 0xb7, 0x71, 0xfb, 0x02, 0xd1, 0x92, 0xf3, 0xbd, 0x76, - 0xfb, 0x52, 0x39, 0x3f, 0x87, 0x37, 0xea, 0xd8, 0xc1, 0x11, 0xba, 0x4b, 0xa6, 0xbc, 0x7b, 0xe3, - 0xfb, 0xeb, 0x07, 0x21, 0xfa, 0xc7, 0xfb, 0x96, 0xf2, 0x77, 0x65, 0x97, 0xb9, 0x77, 0xba, 0xcc, - 0x7d, 0xb2, 0x28, 0xcc, 0x0f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x60, 0xb9, 0x8a, 0xda, 0x17, - 0x15, 0x00, 0x00, + 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0xd3, 0x0f, 0xdc, 0x39, 0x6c, 0x76, 0x93, 0x85, 0x7f, + 0x88, 0x03, 0xe5, 0xc4, 0x7d, 0x21, 0x4e, 0xdc, 0x8c, 0x4c, 0x6a, 0x56, 0x26, 0x95, 0x3d, 0x21, + 0xbd, 0xf1, 0x37, 0x7f, 0x5b, 0x64, 0x86, 0xd2, 0xc7, 0x50, 0xcb, 0x1e, 0xc3, 0x7c, 0x21, 0x17, + 0x26, 0x09, 0x99, 0x1c, 0x4e, 0xfa, 0xa4, 0x48, 0x45, 0xbc, 0x54, 0xa8, 0xf9, 0x33, 0xcd, 0x17, + 0x1a, 0x54, 0x67, 0x2b, 0xc9, 0xff, 0x4f, 0xb9, 0x3b, 0xbf, 0x03, 0xf0, 0xa7, 0x3c, 0x79, 0x0c, + 0x6b, 0xa9, 0x37, 0x10, 0x79, 0x27, 0x27, 0x49, 0xf6, 0xdd, 0x65, 0xbc, 0x3b, 0x4b, 0x18, 0x0b, + 0x49, 0x00, 0x1b, 0x8f, 0x7a, 0x9d, 0x4e, 0x5c, 0xc2, 0xdd, 0x41, 0x13, 0xcf, 0x04, 0xfe, 0xf7, + 0x72, 0xe6, 0xe7, 0x05, 0xf2, 0xb5, 0xde, 0x9f, 0x39, 0x96, 0x85, 0xe4, 0x16, 0x2c, 0xc5, 0xfd, + 0x1d, 0x59, 0x13, 0xba, 0x1e, 0xbf, 0xb5, 0x8c, 0xf5, 0xa4, 0x83, 0x85, 0xe4, 0x10, 0xa0, 0x8e, + 0x1d, 0x8b, 0xb9, 0xf2, 0x7e, 0xc8, 0x59, 0x68, 0x3c, 0xcc, 0x33, 0xbc, 0x39, 0x25, 0x82, 0x85, + 0xa4, 0x01, 0xeb, 0xe9, 0xce, 0x8b, 0xe8, 0x62, 0xe1, 0x9c, 0xbe, 0xd0, 0xb8, 0x3e, 0x61, 0x84, + 0x85, 0x64, 0x1b, 0x96, 0x87, 0x8f, 0x14, 0x22, 0x91, 0x2b, 0x0f, 0x23, 0xe3, 0xb5, 0x94, 0x87, + 0x85, 0xe4, 0x0e, 0xac, 0xaa, 0x7d, 0x3f, 0xd9, 0x88, 0xe9, 0x26, 0x5e, 0x29, 0xc6, 0xb5, 0x1c, + 0xaf, 0x84, 0x9d, 0xee, 0xce, 0x63, 0xd8, 0x39, 0xaf, 0x80, 0x18, 0x76, 0x6e, 0x3b, 0xdf, 0x80, + 0xf5, 0x46, 0x7e, 0xa2, 0xc6, 0xc4, 0x44, 0x8d, 0x97, 0x24, 0xca, 0x29, 0x64, 0x4e, 0x3f, 0xaa, + 0x24, 0xca, 0x14, 0xb2, 0x2e, 0x54, 0xae, 0xb6, 0x64, 0xe4, 0xf5, 0x61, 0x74, 0xaa, 0xe5, 0x33, + 0xf4, 0xfc, 0x01, 0x16, 0x92, 0x33, 0xd8, 0xe2, 0x45, 0x9b, 0x74, 0x83, 0x91, 0x9b, 0x33, 0xf6, + 0x2d, 0x46, 0x75, 0xb6, 0x40, 0x16, 0x92, 0x9f, 0xa1, 0xd2, 0x18, 0x2d, 0x99, 0xff, 0xf9, 0x21, + 0xb7, 0x2e, 0xf2, 0xf1, 0x36, 0x6e, 0x5f, 0x20, 0x5a, 0x72, 0xbe, 0xd7, 0x6e, 0x5f, 0x2a, 0xe7, + 0xe7, 0xf0, 0x46, 0x1d, 0x3b, 0x38, 0x42, 0x77, 0xc9, 0x94, 0x77, 0x6f, 0x7c, 0x7f, 0xfd, 0x20, + 0x44, 0xff, 0x78, 0xdf, 0x52, 0xfe, 0xae, 0xec, 0x32, 0xf7, 0x4e, 0x97, 0xb9, 0x4f, 0x16, 0x85, + 0xf9, 0xe1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xb1, 0xa4, 0x31, 0x17, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index bd7899019..6324d2c6d 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -179,7 +179,7 @@ message OperateMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; - string sessionType = 4; + int32 sessionType = 4; message MessageReactionKey { string clientMsgID = 1; int64 msgFirstModifyTime = 2; @@ -191,8 +191,14 @@ message OperateMessageListReactionExtensionsReq { message OperateMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated server_api_params.ExtendMsg successList = 3; - repeated server_api_params.ExtendMsg failedList = 4; + repeated ExtendMsgResp successList = 3; + repeated ExtendMsgResp failedList = 4; +} + +message ExtendMsgResp { + server_api_params.ExtendMsg extendMsg = 1; + int32 errCode = 2; + string errMsg = 3; } service msg { From b77bbe6a66d8fbf5138d23fc9e3101d5f39e63eb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 16:55:01 +0800 Subject: [PATCH 07/33] modify msg --- pkg/proto/msg/msg.pb.go | 323 +++++++++++++++++++++++----------------- pkg/proto/msg/msg.proto | 4 +- 2 files changed, 192 insertions(+), 135 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 0ea6d4f62..1cede638a 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{0} + return fileDescriptor_msg_46916c59bfcbd84e, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{1} + return fileDescriptor_msg_46916c59bfcbd84e, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{2} + return fileDescriptor_msg_46916c59bfcbd84e, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{3} + return fileDescriptor_msg_46916c59bfcbd84e, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_21d1ceb5221a9786, []int{4} + return fileDescriptor_msg_46916c59bfcbd84e, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_21d1ceb5221a9786, []int{5} + return fileDescriptor_msg_46916c59bfcbd84e, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{6} + return fileDescriptor_msg_46916c59bfcbd84e, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{7} + return fileDescriptor_msg_46916c59bfcbd84e, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{8} + return fileDescriptor_msg_46916c59bfcbd84e, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{9} + return fileDescriptor_msg_46916c59bfcbd84e, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{10} + return fileDescriptor_msg_46916c59bfcbd84e, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{11} + return fileDescriptor_msg_46916c59bfcbd84e, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{12} + return fileDescriptor_msg_46916c59bfcbd84e, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{13} + return fileDescriptor_msg_46916c59bfcbd84e, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{14} + return fileDescriptor_msg_46916c59bfcbd84e, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{15} + return fileDescriptor_msg_46916c59bfcbd84e, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{16} + return fileDescriptor_msg_46916c59bfcbd84e, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{17} + return fileDescriptor_msg_46916c59bfcbd84e, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{18} + return fileDescriptor_msg_46916c59bfcbd84e, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{19} + return fileDescriptor_msg_46916c59bfcbd84e, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{20} + return fileDescriptor_msg_46916c59bfcbd84e, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{21} + return fileDescriptor_msg_46916c59bfcbd84e, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{22} + return fileDescriptor_msg_46916c59bfcbd84e, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1328,20 +1328,20 @@ func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { } type ModifyMessageReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessageReactionExtensionsResp{} } func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{23} + return fileDescriptor_msg_46916c59bfcbd84e, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1375,14 +1375,14 @@ func (m *ModifyMessageReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { +func (m *ModifyMessageReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { +func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{24} + return fileDescriptor_msg_46916c59bfcbd84e, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{24, 0} + return fileDescriptor_msg_46916c59bfcbd84e, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1520,13 +1520,13 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReaction } type OperateMessageListReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*sdk_ws.ExtendMsg `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*sdk_ws.ExtendMsg `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` + FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *OperateMessageListReactionExtensionsResp) Reset() { @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_21d1ceb5221a9786, []int{25} + return fileDescriptor_msg_46916c59bfcbd84e, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1569,20 +1569,74 @@ func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*sdk_ws.ExtendMsg { +func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*sdk_ws.ExtendMsg { +func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } return nil } +type ExtendMsgResp struct { + ExtendMsg *sdk_ws.ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } +func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } +func (*ExtendMsgResp) ProtoMessage() {} +func (*ExtendMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_46916c59bfcbd84e, []int{26} +} +func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) +} +func (m *ExtendMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsgResp.Marshal(b, m, deterministic) +} +func (dst *ExtendMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsgResp.Merge(dst, src) +} +func (m *ExtendMsgResp) XXX_Size() int { + return xxx_messageInfo_ExtendMsgResp.Size(m) +} +func (m *ExtendMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsgResp proto.InternalMessageInfo + +func (m *ExtendMsgResp) GetExtendMsg() *sdk_ws.ExtendMsg { + if m != nil { + return m.ExtendMsg + } + return nil +} + +func (m *ExtendMsgResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *ExtendMsgResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1612,6 +1666,7 @@ func init() { proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") + proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2150,93 +2205,95 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_21d1ceb5221a9786) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_46916c59bfcbd84e) } -var fileDescriptor_msg_21d1ceb5221a9786 = []byte{ - // 1360 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0x4f, 0x6f, 0x1b, 0x45, - 0x14, 0xd7, 0xda, 0x71, 0xfe, 0x3c, 0xa7, 0x4a, 0x98, 0xa6, 0x61, 0xbb, 0x8d, 0x84, 0x59, 0xfe, - 0xd4, 0x82, 0xd6, 0x11, 0x01, 0x09, 0x44, 0x11, 0xb4, 0xa9, 0x83, 0x1b, 0x95, 0x25, 0xcd, 0x3a, - 0x80, 0xc4, 0x25, 0xdd, 0xda, 0x2f, 0xdb, 0x55, 0xec, 0xdd, 0xcd, 0xcc, 0xba, 0xb1, 0x41, 0x94, - 0x13, 0x47, 0x0e, 0xdc, 0xe0, 0xc4, 0x8d, 0xef, 0xc0, 0x07, 0xe1, 0xd2, 0x4f, 0x83, 0x66, 0x66, - 0x6d, 0xcf, 0xfe, 0x71, 0xed, 0xb8, 0x28, 0x12, 0x37, 0xbf, 0x37, 0x6f, 0xde, 0xfc, 0x7e, 0x6f, - 0x7e, 0xb3, 0xf3, 0xc6, 0x70, 0xa5, 0xcb, 0xdc, 0xed, 0x2e, 0x73, 0x6b, 0x21, 0x0d, 0xa2, 0x80, - 0x14, 0xbb, 0xcc, 0x35, 0xaa, 0x07, 0x21, 0xfa, 0xb7, 0xf7, 0xad, 0xdb, 0x4d, 0xa4, 0xcf, 0x90, - 0x6e, 0x87, 0xa7, 0xee, 0xb6, 0x18, 0xde, 0x66, 0xed, 0xd3, 0xe3, 0x73, 0xb6, 0x7d, 0xce, 0x64, - 0xb8, 0x51, 0x9b, 0x1a, 0x49, 0x9d, 0x30, 0x44, 0x1a, 0xc7, 0x9b, 0x3f, 0x42, 0xd9, 0x62, 0x6e, - 0xdd, 0x89, 0x9c, 0xa3, 0xc0, 0x3a, 0x24, 0x1b, 0x50, 0x8a, 0x82, 0x53, 0xf4, 0x75, 0xad, 0xa2, - 0x55, 0x57, 0x6c, 0x69, 0x90, 0x0a, 0x94, 0x83, 0x10, 0xa9, 0x13, 0x79, 0x81, 0xbf, 0x5f, 0xd7, - 0x0b, 0x62, 0x4c, 0x75, 0x91, 0x8f, 0x60, 0xa9, 0x2b, 0xd3, 0xe8, 0xc5, 0x8a, 0x56, 0x2d, 0xef, - 0x18, 0x35, 0x26, 0x00, 0x1c, 0x3b, 0xa1, 0x77, 0x1c, 0x3a, 0xd4, 0xe9, 0xb2, 0x5a, 0xbc, 0x90, - 0x3d, 0x0c, 0x35, 0x51, 0x59, 0xbc, 0xbe, 0xab, 0x26, 0xd1, 0x66, 0x4e, 0x32, 0x1d, 0x9c, 0xf9, - 0xab, 0x06, 0x6b, 0x8f, 0x7a, 0xec, 0xa9, 0x4a, 0xb4, 0x02, 0xe5, 0x03, 0x65, 0x96, 0xa4, 0xab, - 0xba, 0x54, 0x34, 0x85, 0xd9, 0xd1, 0x98, 0xb0, 0x1a, 0xf6, 0xd8, 0xd3, 0xa3, 0xe0, 0x1b, 0x86, - 0x74, 0xbf, 0x2e, 0xaa, 0xb1, 0x62, 0x27, 0x7c, 0xe6, 0x5f, 0x1a, 0x90, 0x31, 0x96, 0xc0, 0x77, - 0x83, 0xdd, 0x81, 0x75, 0x48, 0x74, 0x58, 0xea, 0x38, 0x2c, 0x6a, 0xe2, 0x99, 0x80, 0xb3, 0x60, - 0x0f, 0x4d, 0xf2, 0x36, 0x5c, 0x71, 0x5c, 0x97, 0xa2, 0x9b, 0x24, 0x99, 0x74, 0x92, 0x1d, 0x28, - 0x77, 0x91, 0x31, 0xc7, 0xc5, 0xaf, 0x3c, 0x16, 0xe9, 0xc5, 0x4a, 0xb1, 0x5a, 0xde, 0x59, 0xaf, - 0x71, 0x29, 0x29, 0xcc, 0x6d, 0x35, 0x88, 0x6c, 0xc1, 0x4a, 0x44, 0x3d, 0xd7, 0x15, 0x58, 0x17, - 0x44, 0xd6, 0xb1, 0xc3, 0xfc, 0x1a, 0x48, 0x03, 0x23, 0xcb, 0xe9, 0xdf, 0xf3, 0xdb, 0x96, 0xe7, - 0x37, 0xf1, 0xcc, 0xc6, 0x33, 0xb2, 0x09, 0x8b, 0x31, 0x39, 0x59, 0xb5, 0xd8, 0x4a, 0x97, 0xb4, - 0x90, 0x29, 0xa9, 0x79, 0x0e, 0x57, 0x33, 0xf9, 0x58, 0xc8, 0x89, 0xef, 0x51, 0x7a, 0x3f, 0x68, - 0xa3, 0xc8, 0x58, 0xb2, 0x87, 0x26, 0x5f, 0x6a, 0x8f, 0x52, 0x8b, 0xb9, 0x71, 0xb6, 0xd8, 0xe2, - 0x7e, 0xcb, 0xe9, 0xf3, 0x4a, 0xf1, 0xfa, 0x5e, 0xb1, 0x63, 0x4b, 0xf8, 0x45, 0x5e, 0xc1, 0x85, - 0xfb, 0x85, 0x65, 0xfe, 0x00, 0xd0, 0x44, 0xbf, 0x6d, 0x31, 0x97, 0x13, 0xb8, 0x5c, 0x91, 0xff, - 0xa9, 0x41, 0x79, 0xb4, 0xb8, 0x64, 0x8b, 0x49, 0xb6, 0x38, 0x66, 0x8b, 0x09, 0xb6, 0xd2, 0xe2, - 0xc8, 0xe4, 0x3a, 0x16, 0x73, 0x47, 0xdb, 0xa4, 0xba, 0x78, 0x44, 0xab, 0xe3, 0xa1, 0x1f, 0xc9, - 0x88, 0x92, 0x8c, 0x50, 0x5c, 0xc4, 0x80, 0x65, 0x86, 0x7e, 0xfb, 0xc8, 0xeb, 0xa2, 0xbe, 0x58, - 0xd1, 0xaa, 0x45, 0x7b, 0x64, 0x9b, 0x2d, 0x28, 0xdf, 0xef, 0xa0, 0x43, 0xe3, 0xf2, 0x6c, 0xc2, - 0x62, 0x2f, 0xb1, 0xbf, 0xd2, 0xe2, 0x29, 0x82, 0x30, 0xde, 0x79, 0x09, 0x70, 0x64, 0xa7, 0x8b, - 0x57, 0xcc, 0x1e, 0xc2, 0xbb, 0xb0, 0x3a, 0x5e, 0x64, 0x9e, 0x32, 0x98, 0x7f, 0x68, 0xb0, 0xd6, - 0x44, 0xce, 0x27, 0xa1, 0xc5, 0x5c, 0xac, 0x3a, 0x2c, 0xb9, 0x34, 0xe8, 0x85, 0x23, 0xa8, 0x43, - 0x93, 0xcf, 0xe8, 0x4a, 0x89, 0xc4, 0xd2, 0x91, 0x56, 0x9a, 0xc1, 0x42, 0x76, 0xfb, 0x55, 0xfe, - 0xa5, 0x24, 0x7f, 0xb3, 0x0e, 0xeb, 0x49, 0x68, 0x73, 0x31, 0x3c, 0x80, 0xab, 0x4d, 0x8c, 0x62, - 0xb1, 0x34, 0x23, 0x27, 0xea, 0x31, 0x3b, 0x0b, 0x4d, 0xcb, 0x42, 0xdb, 0x84, 0x45, 0x26, 0xc2, - 0x45, 0xc2, 0x92, 0x1d, 0x5b, 0xe6, 0x03, 0xd8, 0xc8, 0x26, 0x9c, 0x0b, 0xda, 0xc7, 0xe2, 0xe8, - 0x5e, 0x1c, 0x9a, 0xf9, 0x18, 0x36, 0x1a, 0xff, 0x09, 0x04, 0x85, 0x64, 0x31, 0x41, 0xf2, 0x17, - 0x0d, 0xae, 0xd6, 0xb1, 0xd3, 0xec, 0x85, 0x48, 0x1b, 0x7c, 0x97, 0x63, 0x1d, 0xab, 0xfb, 0xa5, - 0xa5, 0xf4, 0x3a, 0xd6, 0x4d, 0x61, 0x92, 0x6e, 0x8a, 0x49, 0xdd, 0x4c, 0xd5, 0x07, 0x2f, 0x76, - 0x16, 0xc6, 0x5c, 0xc5, 0x6e, 0xc9, 0x62, 0xa7, 0x09, 0x4d, 0xd7, 0xc1, 0x3a, 0x14, 0xb9, 0xb2, - 0x0b, 0x42, 0xd9, 0xfc, 0xe7, 0x64, 0x42, 0xe6, 0x73, 0xb9, 0x31, 0xaf, 0x0e, 0x77, 0xce, 0xef, - 0xe2, 0x03, 0x71, 0xb9, 0x7c, 0x47, 0xbd, 0x08, 0xeb, 0xde, 0xc9, 0xc9, 0xfc, 0x1c, 0xcd, 0x9f, - 0x44, 0xb9, 0x92, 0x99, 0x2e, 0x91, 0xc8, 0x6f, 0x25, 0x30, 0xad, 0xa0, 0xed, 0x9d, 0x0c, 0x2c, - 0x79, 0xb3, 0xda, 0xe8, 0xb4, 0x38, 0xd8, 0xbd, 0x7e, 0x84, 0x3e, 0xf3, 0x02, 0x7f, 0xc6, 0x53, - 0xcc, 0xbf, 0xd1, 0x41, 0x8f, 0xb6, 0x70, 0xfc, 0x81, 0x1d, 0xda, 0x09, 0x31, 0x17, 0xb3, 0x1f, - 0x5f, 0x86, 0x8c, 0x2f, 0x74, 0x34, 0x08, 0x51, 0x48, 0xb3, 0x64, 0xab, 0x2e, 0xd2, 0x87, 0x6b, - 0x34, 0x0d, 0x4a, 0x34, 0x09, 0x25, 0xd1, 0x24, 0xec, 0xca, 0x26, 0x61, 0x2a, 0x87, 0x9a, 0x9d, - 0x97, 0x64, 0xcf, 0x8f, 0xe8, 0xc0, 0xce, 0x5f, 0x20, 0x7d, 0x33, 0x2d, 0x66, 0x6f, 0xa6, 0x5b, - 0x50, 0xc0, 0xbe, 0xbe, 0x24, 0xea, 0xbd, 0x55, 0x73, 0x83, 0xc0, 0xed, 0xa0, 0x6c, 0x4e, 0x9f, - 0xf4, 0x4e, 0x6a, 0xcd, 0x88, 0x7a, 0xbe, 0xfb, 0xad, 0xd3, 0xe9, 0xa1, 0x5d, 0xc0, 0x3e, 0xb9, - 0x0b, 0xab, 0x4e, 0x14, 0x39, 0xad, 0xa7, 0xd8, 0xde, 0xf7, 0x4f, 0x02, 0x7d, 0x79, 0x86, 0x79, - 0x89, 0x19, 0x5c, 0x16, 0x1e, 0x13, 0x44, 0xf4, 0x95, 0x8a, 0x56, 0x5d, 0xb6, 0x87, 0x26, 0xd9, - 0x81, 0x0d, 0x8f, 0x71, 0xf8, 0xd4, 0x77, 0x3a, 0x63, 0xe2, 0x3a, 0x88, 0xb0, 0xdc, 0x31, 0x52, - 0x03, 0xd2, 0x65, 0xee, 0x97, 0x1e, 0x65, 0x91, 0xac, 0x9f, 0xb8, 0x61, 0xcb, 0xe2, 0x86, 0xcd, - 0x19, 0x31, 0x10, 0x8c, 0xc9, 0x45, 0xe4, 0xda, 0x3e, 0xc5, 0x41, 0xac, 0x0d, 0xfe, 0x93, 0x7c, - 0x00, 0xa5, 0x67, 0x9c, 0x44, 0xdc, 0x83, 0xde, 0xc8, 0x11, 0xe4, 0x43, 0x1c, 0x48, 0x9e, 0x32, - 0xf2, 0xd3, 0xc2, 0x27, 0x9a, 0xf9, 0x8f, 0x06, 0x6f, 0x4d, 0xdd, 0xcf, 0xb9, 0xce, 0xc8, 0xe7, - 0x50, 0x66, 0xbd, 0x56, 0x0b, 0x19, 0x53, 0xba, 0xcc, 0xad, 0x1c, 0x58, 0x62, 0x25, 0xd1, 0xf5, - 0xa8, 0x13, 0xc8, 0x67, 0x00, 0x27, 0x8e, 0xd7, 0xc1, 0xb6, 0x98, 0xbe, 0x30, 0xc3, 0x74, 0x25, - 0xde, 0x7c, 0x51, 0x84, 0x9b, 0xb2, 0xa3, 0x44, 0x6b, 0xdc, 0xc6, 0xbe, 0xc2, 0x81, 0x9b, 0xd8, - 0xd1, 0xa8, 0x87, 0xb1, 0x98, 0x3a, 0x8c, 0xd3, 0x0f, 0xdc, 0x39, 0x6c, 0x76, 0x93, 0x85, 0x7f, - 0x88, 0x03, 0xe5, 0xc4, 0x7d, 0x21, 0x4e, 0xdc, 0x8c, 0x4c, 0x6a, 0x56, 0x26, 0x95, 0x3d, 0x21, - 0xbd, 0xf1, 0x37, 0x7f, 0x5b, 0x64, 0x86, 0xd2, 0xc7, 0x50, 0xcb, 0x1e, 0xc3, 0x7c, 0x21, 0x17, - 0x26, 0x09, 0x99, 0x1c, 0x4e, 0xfa, 0xa4, 0x48, 0x45, 0xbc, 0x54, 0xa8, 0xf9, 0x33, 0xcd, 0x17, - 0x1a, 0x54, 0x67, 0x2b, 0xc9, 0xff, 0x4f, 0xb9, 0x3b, 0xbf, 0x03, 0xf0, 0xa7, 0x3c, 0x79, 0x0c, - 0x6b, 0xa9, 0x37, 0x10, 0x79, 0x27, 0x27, 0x49, 0xf6, 0xdd, 0x65, 0xbc, 0x3b, 0x4b, 0x18, 0x0b, - 0x49, 0x00, 0x1b, 0x8f, 0x7a, 0x9d, 0x4e, 0x5c, 0xc2, 0xdd, 0x41, 0x13, 0xcf, 0x04, 0xfe, 0xf7, - 0x72, 0xe6, 0xe7, 0x05, 0xf2, 0xb5, 0xde, 0x9f, 0x39, 0x96, 0x85, 0xe4, 0x16, 0x2c, 0xc5, 0xfd, - 0x1d, 0x59, 0x13, 0xba, 0x1e, 0xbf, 0xb5, 0x8c, 0xf5, 0xa4, 0x83, 0x85, 0xe4, 0x10, 0xa0, 0x8e, - 0x1d, 0x8b, 0xb9, 0xf2, 0x7e, 0xc8, 0x59, 0x68, 0x3c, 0xcc, 0x33, 0xbc, 0x39, 0x25, 0x82, 0x85, - 0xa4, 0x01, 0xeb, 0xe9, 0xce, 0x8b, 0xe8, 0x62, 0xe1, 0x9c, 0xbe, 0xd0, 0xb8, 0x3e, 0x61, 0x84, - 0x85, 0x64, 0x1b, 0x96, 0x87, 0x8f, 0x14, 0x22, 0x91, 0x2b, 0x0f, 0x23, 0xe3, 0xb5, 0x94, 0x87, - 0x85, 0xe4, 0x0e, 0xac, 0xaa, 0x7d, 0x3f, 0xd9, 0x88, 0xe9, 0x26, 0x5e, 0x29, 0xc6, 0xb5, 0x1c, - 0xaf, 0x84, 0x9d, 0xee, 0xce, 0x63, 0xd8, 0x39, 0xaf, 0x80, 0x18, 0x76, 0x6e, 0x3b, 0xdf, 0x80, - 0xf5, 0x46, 0x7e, 0xa2, 0xc6, 0xc4, 0x44, 0x8d, 0x97, 0x24, 0xca, 0x29, 0x64, 0x4e, 0x3f, 0xaa, - 0x24, 0xca, 0x14, 0xb2, 0x2e, 0x54, 0xae, 0xb6, 0x64, 0xe4, 0xf5, 0x61, 0x74, 0xaa, 0xe5, 0x33, - 0xf4, 0xfc, 0x01, 0x16, 0x92, 0x33, 0xd8, 0xe2, 0x45, 0x9b, 0x74, 0x83, 0x91, 0x9b, 0x33, 0xf6, - 0x2d, 0x46, 0x75, 0xb6, 0x40, 0x16, 0x92, 0x9f, 0xa1, 0xd2, 0x18, 0x2d, 0x99, 0xff, 0xf9, 0x21, - 0xb7, 0x2e, 0xf2, 0xf1, 0x36, 0x6e, 0x5f, 0x20, 0x5a, 0x72, 0xbe, 0xd7, 0x6e, 0x5f, 0x2a, 0xe7, - 0xe7, 0xf0, 0x46, 0x1d, 0x3b, 0x38, 0x42, 0x77, 0xc9, 0x94, 0x77, 0x6f, 0x7c, 0x7f, 0xfd, 0x20, - 0x44, 0xff, 0x78, 0xdf, 0x52, 0xfe, 0xae, 0xec, 0x32, 0xf7, 0x4e, 0x97, 0xb9, 0x4f, 0x16, 0x85, - 0xf9, 0xe1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7b, 0xb1, 0xa4, 0x31, 0x17, 0x15, 0x00, 0x00, +var fileDescriptor_msg_46916c59bfcbd84e = []byte{ + // 1387 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x45, + 0x10, 0xae, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xb2, 0x99, 0x38, 0x66, 0xb3, 0x71, 0x15, 0x62, 0x79, + 0x44, 0x05, 0x89, 0x5c, 0x18, 0xaa, 0xa0, 0x92, 0x03, 0x89, 0x23, 0xa3, 0xb8, 0xc2, 0xe2, 0x78, + 0x65, 0xa0, 0x8a, 0x8b, 0xb3, 0x91, 0xda, 0x9b, 0x2d, 0x6b, 0x1f, 0xde, 0x59, 0xc5, 0x12, 0x54, + 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x7f, 0xe0, 0xc8, 0x85, 0x1f, 0xc1, 0xaf, 0xa1, + 0x66, 0x66, 0x25, 0xcd, 0x3e, 0x14, 0x29, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xe9, 0xf9, 0xbe, + 0x9e, 0x6f, 0x76, 0x7a, 0x04, 0x6b, 0x1e, 0x75, 0x76, 0x3c, 0xea, 0xd4, 0xc3, 0x28, 0x88, 0x03, + 0xa2, 0x7a, 0xd4, 0xd1, 0x6b, 0x87, 0x21, 0xfa, 0xb7, 0x0e, 0xcc, 0x5b, 0x2d, 0x8c, 0x9e, 0x61, + 0xb4, 0x13, 0x9e, 0x39, 0x3b, 0x7c, 0x78, 0x87, 0x76, 0xce, 0x4e, 0x2e, 0xe8, 0xce, 0x05, 0x15, + 0xe1, 0x7a, 0x7d, 0x6a, 0x64, 0x64, 0x87, 0x21, 0x46, 0x49, 0xbc, 0xf1, 0x03, 0x54, 0x4c, 0xea, + 0x34, 0xec, 0xd8, 0x3e, 0x0e, 0xcc, 0x23, 0xb2, 0x09, 0xe5, 0x38, 0x38, 0x43, 0x5f, 0x53, 0xaa, + 0x4a, 0x6d, 0xc5, 0x12, 0x06, 0xa9, 0x42, 0x25, 0x08, 0x31, 0xb2, 0x63, 0x37, 0xf0, 0x0f, 0x1a, + 0x5a, 0x89, 0x8f, 0xc9, 0x2e, 0xf2, 0x09, 0x2c, 0x79, 0x22, 0x8d, 0xa6, 0x56, 0x95, 0x5a, 0x65, + 0x57, 0xaf, 0x53, 0x0e, 0xe0, 0xc4, 0x0e, 0xdd, 0x93, 0xd0, 0x8e, 0x6c, 0x8f, 0xd6, 0x93, 0x85, + 0xac, 0x61, 0xa8, 0x81, 0xd2, 0xe2, 0x8d, 0x3d, 0x39, 0x89, 0x32, 0x73, 0x92, 0xe9, 0xe0, 0x8c, + 0x9f, 0x15, 0x58, 0x7f, 0xd4, 0xa3, 0x4f, 0x65, 0xa2, 0x55, 0xa8, 0x1c, 0x4a, 0xb3, 0x04, 0x5d, + 0xd9, 0x25, 0xa3, 0x29, 0xcd, 0x8e, 0xc6, 0x80, 0xd5, 0xb0, 0x47, 0x9f, 0x1e, 0x07, 0x5f, 0x53, + 0x8c, 0x0e, 0x1a, 0xbc, 0x1a, 0x2b, 0x56, 0xca, 0x67, 0xfc, 0xa1, 0x00, 0x19, 0x63, 0x09, 0x7c, + 0x27, 0xd8, 0x1b, 0x98, 0x47, 0x44, 0x83, 0xa5, 0xae, 0x4d, 0xe3, 0x16, 0x9e, 0x73, 0x38, 0x0b, + 0xd6, 0xd0, 0x24, 0xef, 0xc2, 0x9a, 0xed, 0x38, 0x11, 0x3a, 0x69, 0x92, 0x69, 0x27, 0xd9, 0x85, + 0x8a, 0x87, 0x94, 0xda, 0x0e, 0x7e, 0xe9, 0xd2, 0x58, 0x53, 0xab, 0x6a, 0xad, 0xb2, 0xbb, 0x51, + 0x67, 0x52, 0x92, 0x98, 0x5b, 0x72, 0x10, 0xd9, 0x86, 0x95, 0x38, 0x72, 0x1d, 0x87, 0x63, 0x5d, + 0xe0, 0x59, 0xc7, 0x0e, 0xe3, 0x2b, 0x20, 0x4d, 0x8c, 0x4d, 0xbb, 0x7f, 0xcf, 0xef, 0x98, 0xae, + 0xdf, 0xc2, 0x73, 0x0b, 0xcf, 0xc9, 0x16, 0x2c, 0x26, 0xe4, 0x44, 0xd5, 0x12, 0x2b, 0x5b, 0xd2, + 0x52, 0xae, 0xa4, 0xc6, 0x05, 0x5c, 0xc9, 0xe5, 0xa3, 0x21, 0x23, 0xbe, 0x1f, 0x45, 0xf7, 0x83, + 0x0e, 0xf2, 0x8c, 0x65, 0x6b, 0x68, 0xb2, 0xa5, 0xf6, 0xa3, 0xc8, 0xa4, 0x4e, 0x92, 0x2d, 0xb1, + 0x98, 0xdf, 0xb4, 0xfb, 0xac, 0x52, 0xac, 0xbe, 0x6b, 0x56, 0x62, 0x71, 0x3f, 0xcf, 0xcb, 0xb9, + 0x30, 0x3f, 0xb7, 0x8c, 0xef, 0x01, 0x5a, 0xe8, 0x77, 0x4c, 0xea, 0x30, 0x02, 0x97, 0x2b, 0xf2, + 0xdf, 0x15, 0xa8, 0x8c, 0x16, 0x17, 0x6c, 0x31, 0xcd, 0x16, 0xc7, 0x6c, 0x31, 0xc5, 0x56, 0x58, + 0x0c, 0x99, 0x58, 0xc7, 0xa4, 0xce, 0x68, 0x9b, 0x64, 0x17, 0x8b, 0x68, 0x77, 0x5d, 0xf4, 0x63, + 0x11, 0x51, 0x16, 0x11, 0x92, 0x8b, 0xe8, 0xb0, 0x4c, 0xd1, 0xef, 0x1c, 0xbb, 0x1e, 0x6a, 0x8b, + 0x55, 0xa5, 0xa6, 0x5a, 0x23, 0xdb, 0x68, 0x43, 0xe5, 0x7e, 0x17, 0xed, 0x28, 0x29, 0xcf, 0x16, + 0x2c, 0xf6, 0x52, 0xfb, 0x2b, 0x2c, 0x96, 0x22, 0x08, 0x93, 0x9d, 0x17, 0x00, 0x47, 0x76, 0xb6, + 0x78, 0x6a, 0xfe, 0x10, 0xde, 0x85, 0xd5, 0xf1, 0x22, 0xf3, 0x94, 0xc1, 0xf8, 0x4d, 0x81, 0xf5, + 0x16, 0x32, 0x3e, 0x29, 0x2d, 0x16, 0x62, 0xd5, 0x60, 0xc9, 0x89, 0x82, 0x5e, 0x38, 0x82, 0x3a, + 0x34, 0xd9, 0x0c, 0x4f, 0x48, 0x24, 0x91, 0x8e, 0xb0, 0xb2, 0x0c, 0x16, 0xf2, 0xdb, 0x2f, 0xf3, + 0x2f, 0xa7, 0xf9, 0x1b, 0x0d, 0xd8, 0x48, 0x43, 0x9b, 0x8b, 0xe1, 0x21, 0x5c, 0x69, 0x61, 0x9c, + 0x88, 0xa5, 0x15, 0xdb, 0x71, 0x8f, 0x5a, 0x79, 0x68, 0x4a, 0x1e, 0xda, 0x16, 0x2c, 0x52, 0x1e, + 0xce, 0x13, 0x96, 0xad, 0xc4, 0x32, 0x1e, 0xc0, 0x66, 0x3e, 0xe1, 0x5c, 0xd0, 0x3e, 0xe5, 0x47, + 0xf7, 0xd5, 0xa1, 0x19, 0x8f, 0x61, 0xb3, 0xf9, 0x9f, 0x40, 0x90, 0x48, 0xaa, 0x29, 0x92, 0x3f, + 0x29, 0x70, 0xa5, 0x81, 0xdd, 0x56, 0x2f, 0xc4, 0xa8, 0xc9, 0x76, 0x39, 0xd1, 0xb1, 0xbc, 0x5f, + 0x4a, 0x46, 0xaf, 0x63, 0xdd, 0x94, 0x26, 0xe9, 0x46, 0x4d, 0xeb, 0x66, 0xaa, 0x3e, 0x58, 0xb1, + 0xf3, 0x30, 0xe6, 0x2a, 0x76, 0x5b, 0x14, 0x3b, 0x4b, 0x68, 0xba, 0x0e, 0x36, 0x40, 0x65, 0xca, + 0x2e, 0x71, 0x65, 0xb3, 0x9f, 0x93, 0x09, 0x19, 0x2f, 0xc4, 0xc6, 0xbc, 0x3e, 0xdc, 0x39, 0xbf, + 0x8b, 0x0f, 0xf8, 0xe5, 0xf2, 0x6d, 0xe4, 0xc6, 0xd8, 0x70, 0x4f, 0x4f, 0xe7, 0xe7, 0x68, 0x3c, + 0xe7, 0xe5, 0x4a, 0x67, 0xba, 0x44, 0x22, 0xbf, 0x94, 0xc1, 0x30, 0x83, 0x8e, 0x7b, 0x3a, 0x30, + 0xc5, 0xcd, 0x6a, 0xa1, 0xdd, 0x66, 0x60, 0xf7, 0xfb, 0x31, 0xfa, 0xd4, 0x0d, 0xfc, 0x19, 0x4f, + 0x31, 0xfb, 0x46, 0x07, 0xbd, 0xa8, 0x8d, 0xe3, 0x0f, 0xec, 0xd0, 0x4e, 0x89, 0x59, 0xcd, 0x7f, + 0x7c, 0x29, 0x52, 0xb6, 0xd0, 0xf1, 0x20, 0x44, 0x2e, 0xcd, 0xb2, 0x25, 0xbb, 0x48, 0x1f, 0xae, + 0x46, 0x59, 0x50, 0xbc, 0x49, 0x28, 0xf3, 0x26, 0x61, 0x4f, 0x34, 0x09, 0x53, 0x39, 0xd4, 0xad, + 0xa2, 0x24, 0xfb, 0x7e, 0x1c, 0x0d, 0xac, 0xe2, 0x05, 0xb2, 0x37, 0xd3, 0x62, 0xfe, 0x66, 0xba, + 0x09, 0x25, 0xec, 0x6b, 0x4b, 0xbc, 0xde, 0xdb, 0x75, 0x27, 0x08, 0x9c, 0x2e, 0x8a, 0xe6, 0xf4, + 0x49, 0xef, 0xb4, 0xde, 0x8a, 0x23, 0xd7, 0x77, 0xbe, 0xb1, 0xbb, 0x3d, 0xb4, 0x4a, 0xd8, 0x27, + 0x77, 0x61, 0xd5, 0x8e, 0x63, 0xbb, 0xfd, 0x14, 0x3b, 0x07, 0xfe, 0x69, 0xa0, 0x2d, 0xcf, 0x30, + 0x2f, 0x35, 0x83, 0xc9, 0xc2, 0xa5, 0x9c, 0x88, 0xb6, 0x52, 0x55, 0x6a, 0xcb, 0xd6, 0xd0, 0x24, + 0xbb, 0xb0, 0xe9, 0x52, 0x06, 0x3f, 0xf2, 0xed, 0xee, 0x98, 0xb8, 0x06, 0x3c, 0xac, 0x70, 0x8c, + 0xd4, 0x81, 0x78, 0xd4, 0xf9, 0xc2, 0x8d, 0x68, 0x2c, 0xea, 0xc7, 0x6f, 0xd8, 0x0a, 0xbf, 0x61, + 0x0b, 0x46, 0x74, 0x04, 0x7d, 0x72, 0x11, 0x99, 0xb6, 0xcf, 0x70, 0x90, 0x68, 0x83, 0xfd, 0x24, + 0x1f, 0x41, 0xf9, 0x19, 0x23, 0x91, 0xf4, 0xa0, 0xd7, 0x0b, 0x04, 0xf9, 0x10, 0x07, 0x82, 0xa7, + 0x88, 0xbc, 0x5d, 0xfa, 0x4c, 0x31, 0xfe, 0x52, 0xe0, 0x9d, 0xa9, 0xfb, 0x39, 0xe7, 0x19, 0xa9, + 0xd0, 0x5e, 0xbb, 0x8d, 0x94, 0x4a, 0x5d, 0x26, 0xe1, 0x02, 0xe2, 0xb9, 0x87, 0x7d, 0x8e, 0x25, + 0x87, 0x91, 0x5d, 0x80, 0x53, 0xdb, 0xed, 0x62, 0x87, 0x4f, 0x5a, 0x98, 0x38, 0x49, 0x8a, 0x32, + 0xfe, 0x51, 0xe1, 0x86, 0xe8, 0x1e, 0xd1, 0x1c, 0xb7, 0xac, 0xaf, 0x71, 0xb8, 0x26, 0x76, 0x2f, + 0xf2, 0xc1, 0x53, 0x33, 0x07, 0x6f, 0xfa, 0xe1, 0xba, 0x80, 0x2d, 0x2f, 0x5d, 0xe4, 0x87, 0x38, + 0x90, 0x4e, 0xd7, 0xe7, 0x9c, 0xe7, 0x8c, 0x4c, 0xea, 0x66, 0x2e, 0x95, 0x35, 0x21, 0xbd, 0xfe, + 0x27, 0x7b, 0x47, 0xe4, 0x86, 0xb2, 0x47, 0x4e, 0xc9, 0x1f, 0xb9, 0x62, 0xd1, 0x96, 0x26, 0x89, + 0x96, 0x1c, 0x4d, 0xfa, 0x7c, 0x88, 0xdd, 0x7f, 0xa9, 0x28, 0x8b, 0x67, 0x1a, 0x7f, 0x2b, 0x50, + 0x9b, 0xad, 0x24, 0xff, 0x73, 0x95, 0x3e, 0x87, 0xb5, 0xd4, 0x20, 0xb9, 0x0d, 0x2b, 0x38, 0x74, + 0x24, 0xef, 0xd8, 0xed, 0x82, 0x02, 0x8d, 0x27, 0x8d, 0xc3, 0x65, 0xa2, 0xa5, 0x49, 0x44, 0x55, + 0x99, 0xe8, 0xee, 0xaf, 0x00, 0xaa, 0x47, 0x1d, 0xf2, 0x18, 0xd6, 0x33, 0x4f, 0x2b, 0xf2, 0x5e, + 0xc1, 0xaa, 0xf9, 0xe7, 0x9c, 0xfe, 0xfe, 0x2c, 0x61, 0x34, 0x24, 0x01, 0x6c, 0x3e, 0xea, 0x75, + 0xbb, 0xc9, 0x6e, 0xed, 0x0d, 0x5a, 0x78, 0xce, 0x8b, 0xf6, 0x41, 0xc1, 0xfc, 0xa2, 0x40, 0xb6, + 0xd6, 0x87, 0x33, 0xc7, 0xd2, 0x90, 0xdc, 0x84, 0xa5, 0xa4, 0x6d, 0x24, 0xeb, 0x7c, 0x13, 0xc6, + 0x4f, 0x38, 0x7d, 0x23, 0xed, 0xa0, 0x21, 0x39, 0x02, 0x68, 0x60, 0xd7, 0xa4, 0x8e, 0xb8, 0x76, + 0x0a, 0x16, 0x1a, 0x0f, 0xb3, 0x0c, 0x6f, 0x4f, 0x89, 0xa0, 0x21, 0x69, 0xc2, 0x46, 0xb6, 0xa1, + 0x23, 0x1a, 0x5f, 0xb8, 0xa0, 0xdd, 0xd4, 0xaf, 0x4d, 0x18, 0xa1, 0x21, 0xd9, 0x81, 0xe5, 0xe1, + 0xdb, 0x87, 0x08, 0xe4, 0xd2, 0x7b, 0x4b, 0x7f, 0x23, 0xe3, 0xa1, 0x21, 0xb9, 0x03, 0xab, 0xf2, + 0x73, 0x82, 0x6c, 0x26, 0x74, 0x53, 0x8f, 0x1f, 0xfd, 0x6a, 0x81, 0x57, 0xc0, 0xce, 0x36, 0xfd, + 0x09, 0xec, 0x82, 0xc7, 0x45, 0x02, 0xbb, 0xf0, 0x95, 0xd0, 0x84, 0x8d, 0x66, 0x71, 0xa2, 0xe6, + 0xc4, 0x44, 0xcd, 0x97, 0x24, 0x2a, 0x28, 0x64, 0x41, 0x9b, 0x2b, 0x25, 0xca, 0x15, 0xb2, 0xc1, + 0x55, 0x2e, 0x77, 0x7a, 0xe4, 0xcd, 0x61, 0x74, 0xa6, 0x93, 0xd4, 0xb5, 0xe2, 0x01, 0x1a, 0x92, + 0x73, 0xd8, 0x66, 0x45, 0x9b, 0x74, 0x31, 0x92, 0x1b, 0x33, 0xb6, 0x43, 0x7a, 0x6d, 0xb6, 0x40, + 0x1a, 0x92, 0x1f, 0xa1, 0xda, 0x1c, 0x2d, 0x59, 0xfc, 0xa5, 0x23, 0x37, 0x5f, 0xe5, 0x9e, 0xd0, + 0x6f, 0xbd, 0x42, 0xb4, 0xe0, 0x7c, 0xaf, 0xd3, 0xb9, 0x54, 0xce, 0x2f, 0xe0, 0xad, 0x06, 0x76, + 0x71, 0x84, 0xee, 0x92, 0x29, 0xef, 0x5d, 0xff, 0xee, 0xda, 0x61, 0x88, 0xfe, 0xc9, 0x81, 0x29, + 0xfd, 0x0b, 0xea, 0x51, 0xe7, 0x8e, 0x47, 0x9d, 0x27, 0x8b, 0xdc, 0xfc, 0xf8, 0xdf, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x8a, 0x50, 0x7c, 0x95, 0x6e, 0x15, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 6324d2c6d..02672f704 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -171,8 +171,8 @@ message ModifyMessageReactionExtensionsReq { message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated server_api_params.ExtendMsg successList = 3; - repeated server_api_params.ExtendMsg failedList = 4; + repeated ExtendMsgResp successList = 3; + repeated ExtendMsgResp failedList = 4; } message OperateMessageListReactionExtensionsReq { From 66f49feebb34050dbd1ef1ef6bc8b36e5534b154 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 17:29:18 +0800 Subject: [PATCH 08/33] modify msg --- internal/api/msg/extend_msg.go | 8 +- pkg/proto/msg/msg.pb.go | 382 ++++++++++++++++++++++----------- pkg/proto/msg/msg.proto | 16 +- 3 files changed, 276 insertions(+), 130 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 62c11773d..c397e5110 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -52,7 +52,7 @@ func SetMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.SetMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -100,7 +100,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { respPb, err := msgClient.GetMessageListReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -147,7 +147,7 @@ func AddMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.AddMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode @@ -194,7 +194,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { respPb, err := msgClient.DeleteMessageReactionExtensions(context.Background(), &reqPb) if err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "DelMsgList failed", err.Error(), reqPb) - c.JSON(http.StatusOK, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": constant.ErrServer.ErrCode, "errMsg": constant.ErrServer.ErrMsg + err.Error()}) return } resp.ErrCode = respPb.ErrCode diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 1cede638a..399ddf4a8 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{0} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{1} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{2} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{3} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_46916c59bfcbd84e, []int{4} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_46916c59bfcbd84e, []int{5} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{6} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{7} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{8} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{9} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{10} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{11} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{12} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{13} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{14} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{15} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{16} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{17} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{18} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{19} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{20} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{21} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{22} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1341,7 +1341,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{23} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{23} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1406,7 +1406,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{24} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1478,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{24, 0} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1535,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{25} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{25} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1584,19 +1584,19 @@ func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgR } type ExtendMsgResp struct { - ExtendMsg *sdk_ws.ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` - ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ExtendMsg *ExtendMsg `protobuf:"bytes,1,opt,name=extendMsg" json:"extendMsg,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_46916c59bfcbd84e, []int{26} + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{26} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1616,7 +1616,7 @@ func (m *ExtendMsgResp) XXX_DiscardUnknown() { var xxx_messageInfo_ExtendMsgResp proto.InternalMessageInfo -func (m *ExtendMsgResp) GetExtendMsg() *sdk_ws.ExtendMsg { +func (m *ExtendMsgResp) GetExtendMsg() *ExtendMsg { if m != nil { return m.ExtendMsg } @@ -1637,6 +1637,130 @@ func (m *ExtendMsgResp) GetErrMsg() string { return "" } +type ExtendMsg struct { + ReactionExtensionList map[string]*KeyValueResp `protobuf:"bytes,1,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,2,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,3,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + AttachedInfo string `protobuf:"bytes,4,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + Ex string `protobuf:"bytes,5,opt,name=ex" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } +func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } +func (*ExtendMsg) ProtoMessage() {} +func (*ExtendMsg) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{27} +} +func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) +} +func (m *ExtendMsg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ExtendMsg.Marshal(b, m, deterministic) +} +func (dst *ExtendMsg) XXX_Merge(src proto.Message) { + xxx_messageInfo_ExtendMsg.Merge(dst, src) +} +func (m *ExtendMsg) XXX_Size() int { + return xxx_messageInfo_ExtendMsg.Size(m) +} +func (m *ExtendMsg) XXX_DiscardUnknown() { + xxx_messageInfo_ExtendMsg.DiscardUnknown(m) +} + +var xxx_messageInfo_ExtendMsg proto.InternalMessageInfo + +func (m *ExtendMsg) GetReactionExtensionList() map[string]*KeyValueResp { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *ExtendMsg) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *ExtendMsg) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *ExtendMsg) GetAttachedInfo() string { + if m != nil { + return m.AttachedInfo + } + return "" +} + +func (m *ExtendMsg) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type KeyValueResp struct { + KeyValue *sdk_ws.KeyValue `protobuf:"bytes,1,opt,name=keyValue" json:"keyValue,omitempty"` + ErrCode int32 `protobuf:"varint,2,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,3,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } +func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } +func (*KeyValueResp) ProtoMessage() {} +func (*KeyValueResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{28} +} +func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) +} +func (m *KeyValueResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_KeyValueResp.Marshal(b, m, deterministic) +} +func (dst *KeyValueResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_KeyValueResp.Merge(dst, src) +} +func (m *KeyValueResp) XXX_Size() int { + return xxx_messageInfo_KeyValueResp.Size(m) +} +func (m *KeyValueResp) XXX_DiscardUnknown() { + xxx_messageInfo_KeyValueResp.DiscardUnknown(m) +} + +var xxx_messageInfo_KeyValueResp proto.InternalMessageInfo + +func (m *KeyValueResp) GetKeyValue() *sdk_ws.KeyValue { + if m != nil { + return m.KeyValue + } + return nil +} + +func (m *KeyValueResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *KeyValueResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1667,6 +1791,9 @@ func init() { proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") + proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") + proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") + proto.RegisterType((*KeyValueResp)(nil), "msg.KeyValueResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -2205,95 +2332,100 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_46916c59bfcbd84e) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6ec0bb4bc5c02b03) } -var fileDescriptor_msg_46916c59bfcbd84e = []byte{ - // 1387 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0x45, - 0x10, 0xae, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xb2, 0x99, 0x38, 0x66, 0xb3, 0x71, 0x15, 0x62, 0x79, - 0x44, 0x05, 0x89, 0x5c, 0x18, 0xaa, 0xa0, 0x92, 0x03, 0x89, 0x23, 0xa3, 0xb8, 0xc2, 0xe2, 0x78, - 0x65, 0xa0, 0x8a, 0x8b, 0xb3, 0x91, 0xda, 0x9b, 0x2d, 0x6b, 0x1f, 0xde, 0x59, 0xc5, 0x12, 0x54, - 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x7f, 0xe0, 0xc8, 0x85, 0x1f, 0xc1, 0xaf, 0xa1, - 0x66, 0x66, 0x25, 0xcd, 0x3e, 0x14, 0x29, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xe9, 0xf9, 0xbe, - 0x9e, 0x6f, 0x76, 0x7a, 0x04, 0x6b, 0x1e, 0x75, 0x76, 0x3c, 0xea, 0xd4, 0xc3, 0x28, 0x88, 0x03, - 0xa2, 0x7a, 0xd4, 0xd1, 0x6b, 0x87, 0x21, 0xfa, 0xb7, 0x0e, 0xcc, 0x5b, 0x2d, 0x8c, 0x9e, 0x61, - 0xb4, 0x13, 0x9e, 0x39, 0x3b, 0x7c, 0x78, 0x87, 0x76, 0xce, 0x4e, 0x2e, 0xe8, 0xce, 0x05, 0x15, - 0xe1, 0x7a, 0x7d, 0x6a, 0x64, 0x64, 0x87, 0x21, 0x46, 0x49, 0xbc, 0xf1, 0x03, 0x54, 0x4c, 0xea, - 0x34, 0xec, 0xd8, 0x3e, 0x0e, 0xcc, 0x23, 0xb2, 0x09, 0xe5, 0x38, 0x38, 0x43, 0x5f, 0x53, 0xaa, - 0x4a, 0x6d, 0xc5, 0x12, 0x06, 0xa9, 0x42, 0x25, 0x08, 0x31, 0xb2, 0x63, 0x37, 0xf0, 0x0f, 0x1a, - 0x5a, 0x89, 0x8f, 0xc9, 0x2e, 0xf2, 0x09, 0x2c, 0x79, 0x22, 0x8d, 0xa6, 0x56, 0x95, 0x5a, 0x65, - 0x57, 0xaf, 0x53, 0x0e, 0xe0, 0xc4, 0x0e, 0xdd, 0x93, 0xd0, 0x8e, 0x6c, 0x8f, 0xd6, 0x93, 0x85, - 0xac, 0x61, 0xa8, 0x81, 0xd2, 0xe2, 0x8d, 0x3d, 0x39, 0x89, 0x32, 0x73, 0x92, 0xe9, 0xe0, 0x8c, - 0x9f, 0x15, 0x58, 0x7f, 0xd4, 0xa3, 0x4f, 0x65, 0xa2, 0x55, 0xa8, 0x1c, 0x4a, 0xb3, 0x04, 0x5d, - 0xd9, 0x25, 0xa3, 0x29, 0xcd, 0x8e, 0xc6, 0x80, 0xd5, 0xb0, 0x47, 0x9f, 0x1e, 0x07, 0x5f, 0x53, - 0x8c, 0x0e, 0x1a, 0xbc, 0x1a, 0x2b, 0x56, 0xca, 0x67, 0xfc, 0xa1, 0x00, 0x19, 0x63, 0x09, 0x7c, - 0x27, 0xd8, 0x1b, 0x98, 0x47, 0x44, 0x83, 0xa5, 0xae, 0x4d, 0xe3, 0x16, 0x9e, 0x73, 0x38, 0x0b, - 0xd6, 0xd0, 0x24, 0xef, 0xc2, 0x9a, 0xed, 0x38, 0x11, 0x3a, 0x69, 0x92, 0x69, 0x27, 0xd9, 0x85, - 0x8a, 0x87, 0x94, 0xda, 0x0e, 0x7e, 0xe9, 0xd2, 0x58, 0x53, 0xab, 0x6a, 0xad, 0xb2, 0xbb, 0x51, - 0x67, 0x52, 0x92, 0x98, 0x5b, 0x72, 0x10, 0xd9, 0x86, 0x95, 0x38, 0x72, 0x1d, 0x87, 0x63, 0x5d, - 0xe0, 0x59, 0xc7, 0x0e, 0xe3, 0x2b, 0x20, 0x4d, 0x8c, 0x4d, 0xbb, 0x7f, 0xcf, 0xef, 0x98, 0xae, - 0xdf, 0xc2, 0x73, 0x0b, 0xcf, 0xc9, 0x16, 0x2c, 0x26, 0xe4, 0x44, 0xd5, 0x12, 0x2b, 0x5b, 0xd2, - 0x52, 0xae, 0xa4, 0xc6, 0x05, 0x5c, 0xc9, 0xe5, 0xa3, 0x21, 0x23, 0xbe, 0x1f, 0x45, 0xf7, 0x83, - 0x0e, 0xf2, 0x8c, 0x65, 0x6b, 0x68, 0xb2, 0xa5, 0xf6, 0xa3, 0xc8, 0xa4, 0x4e, 0x92, 0x2d, 0xb1, - 0x98, 0xdf, 0xb4, 0xfb, 0xac, 0x52, 0xac, 0xbe, 0x6b, 0x56, 0x62, 0x71, 0x3f, 0xcf, 0xcb, 0xb9, - 0x30, 0x3f, 0xb7, 0x8c, 0xef, 0x01, 0x5a, 0xe8, 0x77, 0x4c, 0xea, 0x30, 0x02, 0x97, 0x2b, 0xf2, - 0xdf, 0x15, 0xa8, 0x8c, 0x16, 0x17, 0x6c, 0x31, 0xcd, 0x16, 0xc7, 0x6c, 0x31, 0xc5, 0x56, 0x58, - 0x0c, 0x99, 0x58, 0xc7, 0xa4, 0xce, 0x68, 0x9b, 0x64, 0x17, 0x8b, 0x68, 0x77, 0x5d, 0xf4, 0x63, - 0x11, 0x51, 0x16, 0x11, 0x92, 0x8b, 0xe8, 0xb0, 0x4c, 0xd1, 0xef, 0x1c, 0xbb, 0x1e, 0x6a, 0x8b, - 0x55, 0xa5, 0xa6, 0x5a, 0x23, 0xdb, 0x68, 0x43, 0xe5, 0x7e, 0x17, 0xed, 0x28, 0x29, 0xcf, 0x16, - 0x2c, 0xf6, 0x52, 0xfb, 0x2b, 0x2c, 0x96, 0x22, 0x08, 0x93, 0x9d, 0x17, 0x00, 0x47, 0x76, 0xb6, - 0x78, 0x6a, 0xfe, 0x10, 0xde, 0x85, 0xd5, 0xf1, 0x22, 0xf3, 0x94, 0xc1, 0xf8, 0x4d, 0x81, 0xf5, - 0x16, 0x32, 0x3e, 0x29, 0x2d, 0x16, 0x62, 0xd5, 0x60, 0xc9, 0x89, 0x82, 0x5e, 0x38, 0x82, 0x3a, - 0x34, 0xd9, 0x0c, 0x4f, 0x48, 0x24, 0x91, 0x8e, 0xb0, 0xb2, 0x0c, 0x16, 0xf2, 0xdb, 0x2f, 0xf3, - 0x2f, 0xa7, 0xf9, 0x1b, 0x0d, 0xd8, 0x48, 0x43, 0x9b, 0x8b, 0xe1, 0x21, 0x5c, 0x69, 0x61, 0x9c, - 0x88, 0xa5, 0x15, 0xdb, 0x71, 0x8f, 0x5a, 0x79, 0x68, 0x4a, 0x1e, 0xda, 0x16, 0x2c, 0x52, 0x1e, - 0xce, 0x13, 0x96, 0xad, 0xc4, 0x32, 0x1e, 0xc0, 0x66, 0x3e, 0xe1, 0x5c, 0xd0, 0x3e, 0xe5, 0x47, - 0xf7, 0xd5, 0xa1, 0x19, 0x8f, 0x61, 0xb3, 0xf9, 0x9f, 0x40, 0x90, 0x48, 0xaa, 0x29, 0x92, 0x3f, - 0x29, 0x70, 0xa5, 0x81, 0xdd, 0x56, 0x2f, 0xc4, 0xa8, 0xc9, 0x76, 0x39, 0xd1, 0xb1, 0xbc, 0x5f, - 0x4a, 0x46, 0xaf, 0x63, 0xdd, 0x94, 0x26, 0xe9, 0x46, 0x4d, 0xeb, 0x66, 0xaa, 0x3e, 0x58, 0xb1, - 0xf3, 0x30, 0xe6, 0x2a, 0x76, 0x5b, 0x14, 0x3b, 0x4b, 0x68, 0xba, 0x0e, 0x36, 0x40, 0x65, 0xca, - 0x2e, 0x71, 0x65, 0xb3, 0x9f, 0x93, 0x09, 0x19, 0x2f, 0xc4, 0xc6, 0xbc, 0x3e, 0xdc, 0x39, 0xbf, - 0x8b, 0x0f, 0xf8, 0xe5, 0xf2, 0x6d, 0xe4, 0xc6, 0xd8, 0x70, 0x4f, 0x4f, 0xe7, 0xe7, 0x68, 0x3c, - 0xe7, 0xe5, 0x4a, 0x67, 0xba, 0x44, 0x22, 0xbf, 0x94, 0xc1, 0x30, 0x83, 0x8e, 0x7b, 0x3a, 0x30, - 0xc5, 0xcd, 0x6a, 0xa1, 0xdd, 0x66, 0x60, 0xf7, 0xfb, 0x31, 0xfa, 0xd4, 0x0d, 0xfc, 0x19, 0x4f, - 0x31, 0xfb, 0x46, 0x07, 0xbd, 0xa8, 0x8d, 0xe3, 0x0f, 0xec, 0xd0, 0x4e, 0x89, 0x59, 0xcd, 0x7f, - 0x7c, 0x29, 0x52, 0xb6, 0xd0, 0xf1, 0x20, 0x44, 0x2e, 0xcd, 0xb2, 0x25, 0xbb, 0x48, 0x1f, 0xae, - 0x46, 0x59, 0x50, 0xbc, 0x49, 0x28, 0xf3, 0x26, 0x61, 0x4f, 0x34, 0x09, 0x53, 0x39, 0xd4, 0xad, - 0xa2, 0x24, 0xfb, 0x7e, 0x1c, 0x0d, 0xac, 0xe2, 0x05, 0xb2, 0x37, 0xd3, 0x62, 0xfe, 0x66, 0xba, - 0x09, 0x25, 0xec, 0x6b, 0x4b, 0xbc, 0xde, 0xdb, 0x75, 0x27, 0x08, 0x9c, 0x2e, 0x8a, 0xe6, 0xf4, - 0x49, 0xef, 0xb4, 0xde, 0x8a, 0x23, 0xd7, 0x77, 0xbe, 0xb1, 0xbb, 0x3d, 0xb4, 0x4a, 0xd8, 0x27, - 0x77, 0x61, 0xd5, 0x8e, 0x63, 0xbb, 0xfd, 0x14, 0x3b, 0x07, 0xfe, 0x69, 0xa0, 0x2d, 0xcf, 0x30, - 0x2f, 0x35, 0x83, 0xc9, 0xc2, 0xa5, 0x9c, 0x88, 0xb6, 0x52, 0x55, 0x6a, 0xcb, 0xd6, 0xd0, 0x24, - 0xbb, 0xb0, 0xe9, 0x52, 0x06, 0x3f, 0xf2, 0xed, 0xee, 0x98, 0xb8, 0x06, 0x3c, 0xac, 0x70, 0x8c, - 0xd4, 0x81, 0x78, 0xd4, 0xf9, 0xc2, 0x8d, 0x68, 0x2c, 0xea, 0xc7, 0x6f, 0xd8, 0x0a, 0xbf, 0x61, - 0x0b, 0x46, 0x74, 0x04, 0x7d, 0x72, 0x11, 0x99, 0xb6, 0xcf, 0x70, 0x90, 0x68, 0x83, 0xfd, 0x24, - 0x1f, 0x41, 0xf9, 0x19, 0x23, 0x91, 0xf4, 0xa0, 0xd7, 0x0b, 0x04, 0xf9, 0x10, 0x07, 0x82, 0xa7, - 0x88, 0xbc, 0x5d, 0xfa, 0x4c, 0x31, 0xfe, 0x52, 0xe0, 0x9d, 0xa9, 0xfb, 0x39, 0xe7, 0x19, 0xa9, - 0xd0, 0x5e, 0xbb, 0x8d, 0x94, 0x4a, 0x5d, 0x26, 0xe1, 0x02, 0xe2, 0xb9, 0x87, 0x7d, 0x8e, 0x25, - 0x87, 0x91, 0x5d, 0x80, 0x53, 0xdb, 0xed, 0x62, 0x87, 0x4f, 0x5a, 0x98, 0x38, 0x49, 0x8a, 0x32, - 0xfe, 0x51, 0xe1, 0x86, 0xe8, 0x1e, 0xd1, 0x1c, 0xb7, 0xac, 0xaf, 0x71, 0xb8, 0x26, 0x76, 0x2f, - 0xf2, 0xc1, 0x53, 0x33, 0x07, 0x6f, 0xfa, 0xe1, 0xba, 0x80, 0x2d, 0x2f, 0x5d, 0xe4, 0x87, 0x38, - 0x90, 0x4e, 0xd7, 0xe7, 0x9c, 0xe7, 0x8c, 0x4c, 0xea, 0x66, 0x2e, 0x95, 0x35, 0x21, 0xbd, 0xfe, - 0x27, 0x7b, 0x47, 0xe4, 0x86, 0xb2, 0x47, 0x4e, 0xc9, 0x1f, 0xb9, 0x62, 0xd1, 0x96, 0x26, 0x89, - 0x96, 0x1c, 0x4d, 0xfa, 0x7c, 0x88, 0xdd, 0x7f, 0xa9, 0x28, 0x8b, 0x67, 0x1a, 0x7f, 0x2b, 0x50, - 0x9b, 0xad, 0x24, 0xff, 0x73, 0x95, 0x3e, 0x87, 0xb5, 0xd4, 0x20, 0xb9, 0x0d, 0x2b, 0x38, 0x74, - 0x24, 0xef, 0xd8, 0xed, 0x82, 0x02, 0x8d, 0x27, 0x8d, 0xc3, 0x65, 0xa2, 0xa5, 0x49, 0x44, 0x55, - 0x99, 0xe8, 0xee, 0xaf, 0x00, 0xaa, 0x47, 0x1d, 0xf2, 0x18, 0xd6, 0x33, 0x4f, 0x2b, 0xf2, 0x5e, - 0xc1, 0xaa, 0xf9, 0xe7, 0x9c, 0xfe, 0xfe, 0x2c, 0x61, 0x34, 0x24, 0x01, 0x6c, 0x3e, 0xea, 0x75, - 0xbb, 0xc9, 0x6e, 0xed, 0x0d, 0x5a, 0x78, 0xce, 0x8b, 0xf6, 0x41, 0xc1, 0xfc, 0xa2, 0x40, 0xb6, - 0xd6, 0x87, 0x33, 0xc7, 0xd2, 0x90, 0xdc, 0x84, 0xa5, 0xa4, 0x6d, 0x24, 0xeb, 0x7c, 0x13, 0xc6, - 0x4f, 0x38, 0x7d, 0x23, 0xed, 0xa0, 0x21, 0x39, 0x02, 0x68, 0x60, 0xd7, 0xa4, 0x8e, 0xb8, 0x76, - 0x0a, 0x16, 0x1a, 0x0f, 0xb3, 0x0c, 0x6f, 0x4f, 0x89, 0xa0, 0x21, 0x69, 0xc2, 0x46, 0xb6, 0xa1, - 0x23, 0x1a, 0x5f, 0xb8, 0xa0, 0xdd, 0xd4, 0xaf, 0x4d, 0x18, 0xa1, 0x21, 0xd9, 0x81, 0xe5, 0xe1, - 0xdb, 0x87, 0x08, 0xe4, 0xd2, 0x7b, 0x4b, 0x7f, 0x23, 0xe3, 0xa1, 0x21, 0xb9, 0x03, 0xab, 0xf2, - 0x73, 0x82, 0x6c, 0x26, 0x74, 0x53, 0x8f, 0x1f, 0xfd, 0x6a, 0x81, 0x57, 0xc0, 0xce, 0x36, 0xfd, - 0x09, 0xec, 0x82, 0xc7, 0x45, 0x02, 0xbb, 0xf0, 0x95, 0xd0, 0x84, 0x8d, 0x66, 0x71, 0xa2, 0xe6, - 0xc4, 0x44, 0xcd, 0x97, 0x24, 0x2a, 0x28, 0x64, 0x41, 0x9b, 0x2b, 0x25, 0xca, 0x15, 0xb2, 0xc1, - 0x55, 0x2e, 0x77, 0x7a, 0xe4, 0xcd, 0x61, 0x74, 0xa6, 0x93, 0xd4, 0xb5, 0xe2, 0x01, 0x1a, 0x92, - 0x73, 0xd8, 0x66, 0x45, 0x9b, 0x74, 0x31, 0x92, 0x1b, 0x33, 0xb6, 0x43, 0x7a, 0x6d, 0xb6, 0x40, - 0x1a, 0x92, 0x1f, 0xa1, 0xda, 0x1c, 0x2d, 0x59, 0xfc, 0xa5, 0x23, 0x37, 0x5f, 0xe5, 0x9e, 0xd0, - 0x6f, 0xbd, 0x42, 0xb4, 0xe0, 0x7c, 0xaf, 0xd3, 0xb9, 0x54, 0xce, 0x2f, 0xe0, 0xad, 0x06, 0x76, - 0x71, 0x84, 0xee, 0x92, 0x29, 0xef, 0x5d, 0xff, 0xee, 0xda, 0x61, 0x88, 0xfe, 0xc9, 0x81, 0x29, - 0xfd, 0x0b, 0xea, 0x51, 0xe7, 0x8e, 0x47, 0x9d, 0x27, 0x8b, 0xdc, 0xfc, 0xf8, 0xdf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x8a, 0x50, 0x7c, 0x95, 0x6e, 0x15, 0x00, 0x00, +var fileDescriptor_msg_6ec0bb4bc5c02b03 = []byte{ + // 1467 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc5, + 0x13, 0xaf, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xd8, 0x99, 0x38, 0xfe, 0x2b, 0x9b, 0x54, 0xfd, 0xc5, + 0xf2, 0x88, 0x80, 0x44, 0x2e, 0x0c, 0x55, 0xa1, 0xc8, 0x81, 0xc4, 0x91, 0x51, 0x5c, 0x61, 0x71, + 0xbc, 0x32, 0x50, 0x05, 0x07, 0x67, 0x23, 0xb5, 0x37, 0x5b, 0xd6, 0x3e, 0xbc, 0xb3, 0x8a, 0x2d, + 0x28, 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0x3e, + 0x0d, 0x35, 0x33, 0x2b, 0x69, 0xf6, 0x15, 0xc9, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xed, 0xe9, + 0x5f, 0xf7, 0x6f, 0x66, 0xba, 0x05, 0x2b, 0x2e, 0xb5, 0x37, 0x5d, 0x6a, 0x37, 0x82, 0xd0, 0x8f, + 0x7c, 0xa2, 0xba, 0xd4, 0xd6, 0xea, 0x7b, 0x01, 0x7a, 0xb7, 0x77, 0x8d, 0xdb, 0x6d, 0x0c, 0x9f, + 0x63, 0xb8, 0x19, 0x1c, 0xdb, 0x9b, 0x7c, 0x79, 0x93, 0x76, 0x8f, 0x0f, 0x4f, 0xe9, 0xe6, 0x29, + 0x15, 0xe6, 0x5a, 0x63, 0xa2, 0x65, 0x68, 0x05, 0x01, 0x86, 0xb1, 0xbd, 0xfe, 0x2d, 0x54, 0x0c, + 0x6a, 0x37, 0xad, 0xc8, 0x3a, 0xf0, 0x8d, 0x7d, 0xb2, 0x0e, 0xe5, 0xc8, 0x3f, 0x46, 0xaf, 0xaa, + 0xd4, 0x94, 0xfa, 0x92, 0x29, 0x04, 0x52, 0x83, 0x8a, 0x1f, 0x60, 0x68, 0x45, 0x8e, 0xef, 0xed, + 0x36, 0xab, 0x25, 0xbe, 0x26, 0xab, 0xc8, 0x07, 0xb0, 0xe0, 0x0a, 0x37, 0x55, 0xb5, 0xa6, 0xd4, + 0x2b, 0x5b, 0x5a, 0x83, 0xf2, 0x00, 0x0e, 0xad, 0xc0, 0x39, 0x0c, 0xac, 0xd0, 0x72, 0x69, 0x23, + 0xde, 0xc8, 0x1c, 0x9a, 0xea, 0x28, 0x6d, 0xde, 0xdc, 0x96, 0x9d, 0x28, 0x53, 0x3b, 0x99, 0x1c, + 0x9c, 0xfe, 0xa3, 0x02, 0xab, 0x8f, 0xfb, 0xf4, 0x99, 0x0c, 0xb4, 0x06, 0x95, 0x3d, 0xe9, 0x2b, + 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x94, 0xa6, 0x8f, 0x46, 0x87, 0xe5, 0xa0, 0x4f, 0x9f, 0x1d, 0xf8, + 0x9f, 0x53, 0x0c, 0x77, 0x9b, 0x3c, 0x1b, 0x4b, 0x66, 0x42, 0xa7, 0xff, 0xa6, 0x00, 0x19, 0xc7, + 0xe2, 0x7b, 0xb6, 0xbf, 0x3d, 0x30, 0xf6, 0x49, 0x15, 0x16, 0x7a, 0x16, 0x8d, 0xda, 0x78, 0xc2, + 0xc3, 0x99, 0x33, 0x87, 0x22, 0x79, 0x03, 0x56, 0x2c, 0xdb, 0x0e, 0xd1, 0x4e, 0x82, 0x4c, 0x2a, + 0xc9, 0x16, 0x54, 0x5c, 0xa4, 0xd4, 0xb2, 0xf1, 0x53, 0x87, 0x46, 0x55, 0xb5, 0xa6, 0xd6, 0x2b, + 0x5b, 0x6b, 0x0d, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, 0x91, 0x1b, 0xb0, 0x14, 0x85, 0x8e, 0x6d, + 0xf3, 0x58, 0xe7, 0xb8, 0xd7, 0xb1, 0x42, 0xff, 0x0c, 0x48, 0x0b, 0x23, 0xc3, 0x3a, 0xbb, 0xef, + 0x75, 0x0d, 0xc7, 0x6b, 0xe3, 0x89, 0x89, 0x27, 0x64, 0x03, 0xe6, 0x63, 0x70, 0x22, 0x6b, 0xb1, + 0x94, 0x4e, 0x69, 0x29, 0x93, 0x52, 0xfd, 0x14, 0xae, 0x64, 0xfc, 0xd1, 0x80, 0x01, 0xdf, 0x09, + 0xc3, 0x07, 0x7e, 0x17, 0xb9, 0xc7, 0xb2, 0x39, 0x14, 0xd9, 0x56, 0x3b, 0x61, 0x68, 0x50, 0x3b, + 0xf6, 0x16, 0x4b, 0x4c, 0x6f, 0x58, 0x67, 0x2c, 0x53, 0x2c, 0xbf, 0x2b, 0x66, 0x2c, 0x71, 0x3d, + 0xf7, 0xcb, 0xb1, 0x30, 0x3d, 0x97, 0xf4, 0x6f, 0x00, 0xda, 0xe8, 0x75, 0x0d, 0x6a, 0x33, 0x00, + 0x17, 0x4b, 0xf2, 0x5f, 0x15, 0xa8, 0x8c, 0x36, 0x17, 0x68, 0x31, 0x89, 0x16, 0xc7, 0x68, 0x31, + 0x81, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8f, 0x41, 0xed, 0x51, 0x99, 0x64, 0x15, 0xb3, 0xe8, 0xf4, + 0x1c, 0xf4, 0x22, 0x61, 0x51, 0x16, 0x16, 0x92, 0x8a, 0x68, 0xb0, 0x48, 0xd1, 0xeb, 0x1e, 0x38, + 0x2e, 0x56, 0xe7, 0x6b, 0x4a, 0x5d, 0x35, 0x47, 0xb2, 0xde, 0x81, 0xca, 0x83, 0x1e, 0x5a, 0x61, + 0x9c, 0x9e, 0x0d, 0x98, 0xef, 0x27, 0xea, 0x2b, 0x24, 0xe6, 0xc2, 0x0f, 0xe2, 0xca, 0x8b, 0x00, + 0x47, 0x72, 0x3a, 0x79, 0x6a, 0xf6, 0x10, 0xde, 0x83, 0xe5, 0xf1, 0x26, 0xb3, 0xa4, 0x41, 0xff, + 0x45, 0x81, 0xd5, 0x36, 0x32, 0x3c, 0x09, 0x2e, 0xe6, 0xc6, 0x5a, 0x85, 0x05, 0x3b, 0xf4, 0xfb, + 0xc1, 0x28, 0xd4, 0xa1, 0xc8, 0xbe, 0x70, 0x05, 0x45, 0x62, 0xea, 0x08, 0x29, 0x8d, 0x60, 0x2e, + 0x5b, 0x7e, 0x19, 0x7f, 0x39, 0x89, 0x5f, 0x6f, 0xc2, 0x5a, 0x32, 0xb4, 0x99, 0x10, 0xee, 0xc1, + 0x95, 0x36, 0x46, 0x31, 0x59, 0xda, 0x91, 0x15, 0xf5, 0xa9, 0x99, 0x0d, 0x4d, 0xc9, 0x86, 0xb6, + 0x01, 0xf3, 0x94, 0x9b, 0x73, 0x87, 0x65, 0x33, 0x96, 0xf4, 0x87, 0xb0, 0x9e, 0x75, 0x38, 0x53, + 0x68, 0x77, 0xf8, 0xd1, 0x3d, 0x7f, 0x68, 0xfa, 0x13, 0x58, 0x6f, 0xfd, 0x2b, 0x21, 0x48, 0x20, + 0xd5, 0x04, 0xc8, 0x1f, 0x14, 0xb8, 0xd2, 0xc4, 0x5e, 0xbb, 0x1f, 0x60, 0xd8, 0x62, 0x55, 0x8e, + 0x79, 0x2c, 0xd7, 0x4b, 0x49, 0xf1, 0x75, 0xcc, 0x9b, 0x52, 0x11, 0x6f, 0xd4, 0x24, 0x6f, 0x26, + 0xf2, 0x83, 0x25, 0x3b, 0x1b, 0xc6, 0x4c, 0xc9, 0xee, 0x88, 0x64, 0xa7, 0x01, 0x4d, 0xe6, 0xc1, + 0x1a, 0xa8, 0x8c, 0xd9, 0x25, 0xce, 0x6c, 0xf6, 0xb3, 0x18, 0x90, 0xfe, 0x42, 0x14, 0xe6, 0xd5, + 0xc3, 0x9d, 0xf1, 0x5e, 0x7c, 0xc8, 0x1f, 0x97, 0x2f, 0x43, 0x27, 0xc2, 0xa6, 0x73, 0x74, 0x34, + 0x3b, 0x46, 0xfd, 0x3b, 0x9e, 0xae, 0xa4, 0xa7, 0x0b, 0x04, 0xf2, 0x53, 0x19, 0x74, 0xc3, 0xef, + 0x3a, 0x47, 0x03, 0x43, 0xbc, 0xac, 0x26, 0x5a, 0x1d, 0x16, 0xec, 0xce, 0x59, 0x84, 0x1e, 0x75, + 0x7c, 0x6f, 0xca, 0x53, 0xcc, 0xee, 0x68, 0xbf, 0x1f, 0x76, 0x70, 0x7c, 0xc1, 0x0e, 0xe5, 0x04, + 0x99, 0xd5, 0xec, 0xe5, 0x4b, 0x91, 0xb2, 0x8d, 0x0e, 0x06, 0x01, 0x72, 0x6a, 0x96, 0x4d, 0x59, + 0x45, 0xce, 0xe0, 0x6a, 0x98, 0x0e, 0x8a, 0x37, 0x09, 0x65, 0xde, 0x24, 0x6c, 0x8b, 0x26, 0x61, + 0x22, 0x86, 0x86, 0x99, 0xe7, 0x64, 0xc7, 0x8b, 0xc2, 0x81, 0x99, 0xbf, 0x41, 0xfa, 0x65, 0x9a, + 0xcf, 0xbe, 0x4c, 0xb7, 0xa0, 0x84, 0x67, 0xd5, 0x05, 0x9e, 0xef, 0x1b, 0x0d, 0xdb, 0xf7, 0xed, + 0x1e, 0x8a, 0xe6, 0xf4, 0x69, 0xff, 0xa8, 0xd1, 0x8e, 0x42, 0xc7, 0xb3, 0xbf, 0xb0, 0x7a, 0x7d, + 0x34, 0x4b, 0x78, 0x46, 0xee, 0xc1, 0xb2, 0x15, 0x45, 0x56, 0xe7, 0x19, 0x76, 0x77, 0xbd, 0x23, + 0xbf, 0xba, 0x38, 0xc5, 0x77, 0x89, 0x2f, 0x18, 0x2d, 0x1c, 0xca, 0x81, 0x54, 0x97, 0x6a, 0x4a, + 0x7d, 0xd1, 0x1c, 0x8a, 0x64, 0x0b, 0xd6, 0x1d, 0xca, 0xc2, 0x0f, 0x3d, 0xab, 0x37, 0x06, 0x5e, + 0x05, 0x6e, 0x96, 0xbb, 0x46, 0x1a, 0x40, 0x5c, 0x6a, 0x7f, 0xe2, 0x84, 0x34, 0x12, 0xf9, 0xe3, + 0x2f, 0x6c, 0x85, 0xbf, 0xb0, 0x39, 0x2b, 0x1a, 0x82, 0x56, 0x9c, 0x44, 0xc6, 0xed, 0x63, 0x1c, + 0xc4, 0xdc, 0x60, 0x3f, 0xc9, 0x7b, 0x50, 0x7e, 0xce, 0x40, 0xc4, 0x3d, 0xe8, 0xf5, 0x1c, 0x42, + 0x3e, 0xc2, 0x81, 0xc0, 0x29, 0x2c, 0x3f, 0x2a, 0x7d, 0xa8, 0xe8, 0x7f, 0x28, 0xf0, 0xfa, 0xc4, + 0x7a, 0xce, 0x78, 0x46, 0x2a, 0xb4, 0xdf, 0xe9, 0x20, 0xa5, 0x52, 0x97, 0x49, 0x38, 0x81, 0xb8, + 0xef, 0x61, 0x9f, 0x63, 0xca, 0x66, 0x64, 0x0b, 0xe0, 0xc8, 0x72, 0x7a, 0xd8, 0xe5, 0x1f, 0xcd, + 0x15, 0x7e, 0x24, 0x59, 0xe9, 0x7f, 0xab, 0x70, 0x53, 0x74, 0x8f, 0x68, 0x8c, 0x5b, 0xd6, 0x57, + 0x38, 0x5c, 0x85, 0xdd, 0x8b, 0x7c, 0xf0, 0xd4, 0xd4, 0xc1, 0x9b, 0x7c, 0xb8, 0x4e, 0x61, 0xc3, + 0x4d, 0x26, 0xf9, 0x11, 0x0e, 0xa4, 0xd3, 0xf5, 0x31, 0xc7, 0x39, 0x25, 0x92, 0x86, 0x91, 0x71, + 0x65, 0x16, 0xb8, 0xd7, 0x7e, 0x67, 0x73, 0x44, 0x66, 0x29, 0x7d, 0xe4, 0x94, 0xec, 0x91, 0xcb, + 0x27, 0x6d, 0xa9, 0x88, 0xb4, 0x64, 0xbf, 0xe8, 0xfa, 0x10, 0xd5, 0x7f, 0x29, 0x29, 0xf3, 0xbf, + 0xd4, 0xff, 0x54, 0xa0, 0x3e, 0x5d, 0x4a, 0xfe, 0xe3, 0x2c, 0xf5, 0x61, 0x25, 0xb1, 0x48, 0x6e, + 0xc1, 0x12, 0x0e, 0x15, 0xf1, 0x1c, 0x7b, 0x29, 0xe5, 0x63, 0x6c, 0x20, 0x43, 0x2b, 0x15, 0x41, + 0x53, 0x13, 0xcd, 0xc1, 0x5f, 0x25, 0x58, 0x1a, 0xb9, 0x22, 0x87, 0x45, 0xa5, 0x51, 0x78, 0xf4, + 0x6f, 0x27, 0x77, 0x7e, 0xf5, 0x0b, 0xbc, 0x34, 0x2d, 0x9b, 0xd4, 0x42, 0x36, 0xe9, 0xa9, 0x2b, + 0x5c, 0xb4, 0x52, 0xc9, 0x4b, 0xfa, 0x12, 0x7f, 0x14, 0x44, 0x97, 0x5d, 0xc2, 0x33, 0xed, 0xeb, + 0x73, 0x5e, 0x9b, 0x37, 0x93, 0xd7, 0xe6, 0x65, 0x9e, 0x86, 0x11, 0x27, 0x59, 0x0d, 0xa5, 0xcb, + 0x72, 0x00, 0xcb, 0xf2, 0x12, 0xb9, 0x03, 0x8b, 0xc7, 0xb1, 0x1c, 0x17, 0xf0, 0xa5, 0x0c, 0x1f, + 0x19, 0x9f, 0xbf, 0x98, 0x5b, 0x3f, 0x03, 0xa8, 0x2e, 0xb5, 0xc9, 0x13, 0x58, 0x4d, 0x4d, 0xc6, + 0xe4, 0xcd, 0x9c, 0x3d, 0xb3, 0xd3, 0xb8, 0xf6, 0xd6, 0x34, 0x66, 0x34, 0x20, 0x3e, 0xac, 0x3f, + 0xee, 0xf7, 0x7a, 0xf1, 0x61, 0xdb, 0x1e, 0xb4, 0xf1, 0x84, 0xd7, 0xf7, 0x9d, 0x9c, 0xef, 0xf3, + 0x0c, 0xd9, 0x5e, 0xef, 0x4e, 0x6d, 0xcb, 0xcf, 0xc1, 0x42, 0xdc, 0xf5, 0x93, 0x55, 0x9e, 0xfe, + 0xf1, 0x04, 0xae, 0xad, 0x25, 0x15, 0x34, 0x20, 0xfb, 0x00, 0x4d, 0xec, 0x19, 0xd4, 0x16, 0xa4, + 0xcb, 0xd9, 0x68, 0xbc, 0xcc, 0x3c, 0xbc, 0x36, 0xc1, 0x82, 0x06, 0xa4, 0x05, 0x6b, 0xe9, 0x7e, + 0x9c, 0x54, 0xf9, 0xc6, 0x39, 0xd3, 0x82, 0x76, 0xad, 0x60, 0x85, 0x06, 0x64, 0x13, 0x16, 0x87, + 0xa3, 0x2b, 0x11, 0x91, 0x4b, 0xe3, 0xb2, 0x76, 0x39, 0xa5, 0xa1, 0x01, 0xb9, 0x0b, 0xcb, 0xf2, + 0x34, 0x48, 0xd6, 0x63, 0xb8, 0x89, 0xd9, 0x55, 0xbb, 0x9a, 0xa3, 0x15, 0x61, 0xa7, 0x67, 0xb6, + 0x38, 0xec, 0x9c, 0xd9, 0x30, 0x0e, 0x3b, 0x77, 0xc8, 0x6b, 0xc1, 0x5a, 0x2b, 0xdf, 0x51, 0xab, + 0xd0, 0x51, 0xeb, 0x25, 0x8e, 0x72, 0x12, 0x99, 0x33, 0xa5, 0x48, 0x8e, 0x32, 0x89, 0x6c, 0x72, + 0x96, 0xcb, 0x8d, 0x3a, 0xf9, 0xdf, 0xd0, 0x3a, 0x35, 0x08, 0x68, 0xd5, 0xfc, 0x05, 0x1a, 0x90, + 0x13, 0xb8, 0xc1, 0x92, 0x56, 0xd4, 0xd7, 0x90, 0x9b, 0x53, 0x76, 0xb3, 0x5a, 0x7d, 0x3a, 0x43, + 0x1a, 0x90, 0xef, 0xa1, 0xd6, 0x1a, 0x6d, 0x99, 0xff, 0x50, 0x91, 0x5b, 0xe7, 0x79, 0xe6, 0xb5, + 0xdb, 0xe7, 0xb0, 0x16, 0x98, 0xef, 0x77, 0xbb, 0x17, 0x8a, 0xf9, 0x05, 0xfc, 0xbf, 0x89, 0x3d, + 0x1c, 0x45, 0x77, 0xc1, 0x90, 0xb7, 0xaf, 0x7f, 0x75, 0x6d, 0x2f, 0x40, 0xef, 0x70, 0xd7, 0x90, + 0xfe, 0xc4, 0x76, 0xa9, 0x7d, 0xd7, 0xa5, 0xf6, 0xd3, 0x79, 0x2e, 0xbe, 0xff, 0x4f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x59, 0x25, 0xe0, 0x09, 0x2d, 0x17, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 02672f704..48292ae06 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -196,7 +196,21 @@ message OperateMessageListReactionExtensionsResp { } message ExtendMsgResp { - server_api_params.ExtendMsg extendMsg = 1; + ExtendMsg extendMsg = 1; + int32 errCode = 2; + string errMsg = 3; +} + +message ExtendMsg { + map reactionExtensionList = 1; + string clientMsgID = 2; + int64 msgFirstModifyTime = 3; + string attachedInfo = 4; + string ex = 5; +} + +message KeyValueResp { + server_api_params.KeyValue keyValue = 1; int32 errCode = 2; string errMsg = 3; } From 24288aa597198d56ede588be06b17452da314aa0 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 18:03:40 +0800 Subject: [PATCH 09/33] modify msg --- .../logic/online_msg_to_mongo_handler.go | 47 +++++++++++++- internal/rpc/msg/extend_msg_callback.go | 6 +- pkg/base_info/msg.go | 8 +-- pkg/common/db/extend_msg_mongo_model.go | 65 +++++++++---------- 4 files changed, 85 insertions(+), 41 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 11bc399ad..a18186714 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,7 +61,52 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - //if v.MsgData.ContentType == ? {} + } else if v.MsgData.ContentType == constant.ReactionMessageModifierNotification { + var req pbMsg.ModifyMessageReactionExtensionsReq + if req.IsExternalExtensions { + log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") + continue + } + if !req.IsReact { + // first time to modify + var reactionExtensionList = make(map[string]db.KeyValue) + for k, v := range req.ReactionExtensionList { + reactionExtensionList[k] = db.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + extendMsg := db.ExtendMsg{ + ReactionExtensionList: reactionExtensionList, + ClientMsgID: req.ClientMsgID, + MsgFirstModifyTime: req.MsgFirstModifyTime, + } + if req.AttachedInfo != nil { + extendMsg.AttachedInfo = req.AttachedInfo.Value + } + if req.Ex != nil { + extendMsg.Ex = req.Ex.Value + } + if err := db.DB.InsertExtendMsg(req.SourceID, req.SessionType, &extendMsg); err != nil { + log.NewError(req.OperationID, "MsgFirstModify InsertExtendMsg failed", req.SourceID, req.SessionType, extendMsg, err.Error()) + continue + } + } else { + // is already modify + if err := db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, req.ReactionExtensionList); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } else if v.MsgData.ContentType == 2301 { + var req pbMsg.OperateMessageListReactionExtensionsReq + var clientMsgIDList []string + for _, v := range req.MessageReactionKeyList { + clientMsgIDList = append(clientMsgIDList, v.ClientMsgID) + } + if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, clientMsgIDList, req.OpUserID); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } } } } diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 956c86c9d..2654ee528 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -1,9 +1,11 @@ package msg -func callbackSetMessageReactionExtensions() { +import "Open_IM/pkg/proto/msg" + +func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensionsReq) { } -func callbackDeleteMessageReactionExtensions() { +func callbackDeleteMessageReactionExtensions(req *msg.OperateMessageListReactionExtensionsReq) { } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4927d7969..193ea40ab 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -69,8 +69,8 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList"` + FailedList []*msg.ExtendMsgResp `json:"failedList"` } `json:"data"` } @@ -84,8 +84,8 @@ type OperateMessageListReactionExtensionsReq struct { type OperateMessageListReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*sdk_ws.ExtendMsg `json:"successList"` - FailedList []*sdk_ws.ExtendMsg `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList"` + FailedList []*msg.ExtendMsgResp `json:"failedList"` } `json:"data"` } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index d4229ba3a..1c5e3d10b 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -14,10 +14,11 @@ import ( ) const cExtendMsgSet = "extend_msgs" +const MaxNum = 100 type ExtendMsgSet struct { - SourceID string `bson:"id" json:"ID"` - SessionType string `bson:"session_type" json:"sessionType"` + SourceID string `bson:"source_id" json:"ID"` + SessionType int32 `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time @@ -31,11 +32,11 @@ type KeyValue struct { } type ExtendMsg struct { - ReactionExtensionList map[string]KeyValue `bson:"content" json:"content"` + ReactionExtensionList map[string]KeyValue `bson:"reaction_extension_list" json:"reactionExtensionList"` ClientMsgID string `bson:"client_msg_id" json:"clientMsgID"` - MsgFirstModifyTime int64 `bson:"create_time" json:"createTime"` // this extendMsg create time - AttachedInfo *string `bson:"attached_info" json:"attachedInfo"` - Ex *string `bson:"ex" json:"ex"` + MsgFirstModifyTime int64 `bson:"msg_first_modify_time" json:"msgFirstModifyTime"` // this extendMsg create time + AttachedInfo string `bson:"attached_info" json:"attachedInfo"` + Ex string `bson:"ex" json:"ex"` } func GetExtendMsgSetID(ID string, index int32) string { @@ -79,35 +80,35 @@ type GetExtendMsgSetOpts struct { ExcludeExtendMsgs bool } -func (d *DataBases) GetExtendMsgSet(ID string, index int32, opts *GetExtendMsgSetOpts) (*ExtendMsgSet, error) { +// first modify msg +func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - var set ExtendMsgSet - var findOneOpt *options.FindOneOptions - if opts != nil { - if opts.ExcludeExtendMsgs { - findOneOpt = &options.FindOneOptions{} - findOneOpt.SetProjection(bson.M{"extend_msgs": 0}) + result, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + if err != nil { + return utils.Wrap(err, "") + } + if result.UpsertedCount == 0 { + if err := d.CreateExtendMsgSet(&ExtendMsgSet{ + SourceID: sourceID, + SessionType: sessionType, + ExtendMsgs: map[string]ExtendMsg{msg.ClientMsgID: *msg}, + ExtendMsgNum: 1, + CreateTime: msg.MsgFirstModifyTime, + MaxMsgUpdateTime: msg.MsgFirstModifyTime, + }); err != nil { + return err } } - err := c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, findOneOpt).Decode(&set) - return &set, err -} - -// first modify msg -func (d *DataBases) InsertExtendMsgAndGetIndex(ID string, index int32, msg *ExtendMsg) error { - ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond(), "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) - return err + return nil } // insert or update -func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, clientMsgID, userID, value string) error { +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID, typeKey, value string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) reactionExtendMsgSet := KeyValue{ - TypeKey: userID, + TypeKey: typeKey, Value: value, LatestUpdateTime: utils.GetCurrentTimestampBySecond(), } @@ -115,21 +116,17 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(ID string, index int32, c opt := &options.UpdateOptions{ Upsert: &upsert, } - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$set": bson.M{"latest_update_time": utils.GetCurrentTimestampBySecond()}, fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): reactionExtendMsgSet}, opt) + _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, typeKey): reactionExtendMsgSet}}, opt) return err } -func (d *DataBases) DeleteReactionExtendMsgSet(ID string, index int32, clientMsgID, userID string) error { +// delete TypeKey +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID []string, userID string) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index)}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) + _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) return err } -// by index start end -func (d *DataBases) GetExtendMsgList(ID string, index int32, clientMsgID string) (extendMsg *ExtendMsg, err error) { - ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) - c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - err = c.FindOne(ctx, bson.M{"uid": GetExtendMsgSetID(ID, index), "extend_msgs": bson.M{}}).Decode(&extendMsg) - return extendMsg, err +func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) error { } From 6d45f0730c2da2f2cdc9df2793e14803c2dd9d0c Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 9 Dec 2022 19:54:49 +0800 Subject: [PATCH 10/33] mongo operation --- .../logic/online_msg_to_mongo_handler.go | 8 +- pkg/common/db/extend_msg_mongo_model.go | 116 ++++++++++++++---- pkg/common/db/rocks_cache/rocks_cache.go | 36 +----- 3 files changed, 101 insertions(+), 59 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index a18186714..9659c759f 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -100,12 +100,10 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con } } else if v.MsgData.ContentType == 2301 { var req pbMsg.OperateMessageListReactionExtensionsReq - var clientMsgIDList []string for _, v := range req.MessageReactionKeyList { - clientMsgIDList = append(clientMsgIDList, v.ClientMsgID) - } - if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, clientMsgIDList, req.OpUserID); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { + log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } } } } diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 1c5e3d10b..29ab12c20 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -2,12 +2,15 @@ package db import ( "Open_IM/pkg/common/config" + server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" + "errors" "fmt" "go.mongodb.org/mongo-driver/bson/primitive" "go.mongodb.org/mongo-driver/mongo/options" "strconv" + "strings" "time" "go.mongodb.org/mongo-driver/bson" @@ -17,12 +20,12 @@ const cExtendMsgSet = "extend_msgs" const MaxNum = 100 type ExtendMsgSet struct { - SourceID string `bson:"source_id" json:"ID"` + SourceID string `bson:"source_id" json:"sourceID"` SessionType int32 `bson:"session_type" json:"sessionType"` ExtendMsgs map[string]ExtendMsg `bson:"extend_msgs" json:"extendMsgs"` ExtendMsgNum int32 `bson:"extend_msg_num" json:"extendMsgNum"` - CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time - MaxMsgUpdateTime int64 `bson:"max_msg_update_time"` // index find msg + CreateTime int64 `bson:"create_time" json:"createTime"` // this block's create time + MaxMsgUpdateTime int64 `bson:"max_msg_update_time" json:"maxMsgUpdateTime"` // index find msg } type KeyValue struct { @@ -39,10 +42,20 @@ type ExtendMsg struct { Ex string `bson:"ex" json:"ex"` } -func GetExtendMsgSetID(ID string, index int32) string { +func GetExtendMsgMaxNum() int32 { + return MaxNum +} + +func GetExtendMsgSourceID(ID string, index int32) string { return ID + ":" + strconv.Itoa(int(index)) } +func SplitSourceIDAndGetIndex(sourceID string) int32 { + l := strings.Split(sourceID, ":") + index, _ := strconv.Atoi(l[len(l)-1]) + return int32(index) +} + func (d *DataBases) CreateExtendMsgSet(set *ExtendMsgSet) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) @@ -84,49 +97,108 @@ type GetExtendMsgSetOpts struct { func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - result, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + regex := fmt.Sprintf("^%s", sourceID) + var err error + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + // update newest + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType}, findOpts) if err != nil { return utils.Wrap(err, "") } - if result.UpsertedCount == 0 { - if err := d.CreateExtendMsgSet(&ExtendMsgSet{ - SourceID: sourceID, + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 || setList[0].ExtendMsgNum >= GetExtendMsgMaxNum() { + var index int32 + if len(setList) > 0 { + index = SplitSourceIDAndGetIndex(setList[0].SourceID) + } + err = d.CreateExtendMsgSet(&ExtendMsgSet{ + SourceID: GetExtendMsgSourceID(sourceID, index), SessionType: sessionType, ExtendMsgs: map[string]ExtendMsg{msg.ClientMsgID: *msg}, ExtendMsgNum: 1, CreateTime: msg.MsgFirstModifyTime, MaxMsgUpdateTime: msg.MsgFirstModifyTime, - }); err != nil { - return err - } + }) + } else { + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) } - return nil + return utils.Wrap(err, "") } // insert or update -func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID, typeKey, value string) error { +func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - reactionExtendMsgSet := KeyValue{ - TypeKey: typeKey, - Value: value, - LatestUpdateTime: utils.GetCurrentTimestampBySecond(), + var updateBson = bson.M{} + for _, v := range reactionExtensionList { + updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = v } upsert := true opt := &options.UpdateOptions{ Upsert: &upsert, } - _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$set": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, typeKey): reactionExtendMsgSet}}, opt) - return err + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + if err != nil { + return utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 { + return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + } + + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) + return utils.Wrap(err, "") } // delete TypeKey -func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID []string, userID string) error { +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList []*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - _, err := c.UpdateOne(ctx, bson.M{"source_id": sourceID, "session_type": sessionType}, bson.M{"$unset": bson.M{fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, userID): ""}}) + var updateBson = bson.M{} + for _, v := range reactionExtensionList { + updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = "" + } + + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + if err != nil { + return utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return utils.Wrap(err, "") + } + if len(setList) == 0 { + return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") + } + _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) return err } -func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) error { +func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (extendMsg *ExtendMsg, err error) { + ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) + c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{fmt.Sprintf("extend_msgs.%s", clientMsgID): 1}) + regex := fmt.Sprintf("^%s", sourceID) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "msgFirstModifyTime": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) + if err != nil { + return nil, utils.Wrap(err, "") + } + var extendMsgList []ExtendMsg + if err := result.All(ctx, &extendMsgList); err != nil { + return nil, utils.Wrap(err, "") + } + if len(extendMsgList) == 0 { + return nil, utils.Wrap(errors.New("GetExtendMsg failed, len(setList) == 0"), "") + } + return &extendMsgList[0], nil } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 3edb9f238..5ff836fd7 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -567,37 +567,9 @@ func DelConversationFromCache(ownerUserID, conversationID string) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } -func GetExtendMsgSetFromCache(ID string, index int32) (*db.ExtendMsgSet, error) { - getExtendMsgSet := func() (string, error) { - extendMsgSet, err := db.DB.GetExtendMsgSet(ID, index, &db.GetExtendMsgSetOpts{ExcludeExtendMsgs: false}) - if err != nil { - return "", utils.Wrap(err, "GetExtendMsgSet failed") - } - bytes, err := json.Marshal(extendMsgSet) - if err != nil { - return "", utils.Wrap(err, "Marshal failed") - } - return string(bytes), nil - } - extendMsgSetStr, err := db.DB.Rc.Fetch(extendMsgSetCache+db.GetExtendMsgSetID(ID, index), time.Second*30*60, getExtendMsgSet) - if err != nil { - return nil, utils.Wrap(err, "Fetch failed") - } - extendMsgSet := &db.ExtendMsgSet{} - err = json.Unmarshal([]byte(extendMsgSetStr), extendMsgSet) - if err != nil { - return nil, utils.Wrap(err, "Unmarshal failed") - } - return extendMsgSet, nil -} - -func DelExtendMsgSetFromCache(ID string, index int32) error { - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgSetCache+db.GetExtendMsgSetID(ID, index)), "DelExtendMsgSetFromCache err") -} - -func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, error) { +func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (*db.ExtendMsg, error) { getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsgList(ID, index, clientMsgID) + extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, maxMsgUpdateTime) if err != nil { return "", utils.Wrap(err, "GetExtendMsgList failed") } @@ -608,7 +580,7 @@ func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, er return string(bytes), nil } - extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID, time.Second*30*60, getExtendMsg) + extendMsgStr, err := db.DB.Rc.Fetch(extendMsgCache+clientMsgID, time.Second*30*60, getExtendMsg) if err != nil { return nil, utils.Wrap(err, "Fetch failed") } @@ -621,5 +593,5 @@ func GetExtendMsg(ID string, index int32, clientMsgID string) (*db.ExtendMsg, er } func DelExtendMsg(ID string, index int32, clientMsgID string) error { - return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+db.GetExtendMsgSetID(ID, index)+":"+clientMsgID), "DelExtendMsg err") + return utils.Wrap(db.DB.Rc.TagAsDeleted(extendMsgCache+clientMsgID), "DelExtendMsg err") } From 6f20cdd90504090b9dd77589d4adc129f17809cd Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 9 Dec 2022 20:53:13 +0800 Subject: [PATCH 11/33] reaction message --- internal/rpc/msg/extend_msg.go | 183 +++++++++++++++++++- internal/rpc/msg/extend_msg.notification.go | 13 ++ pkg/common/db/RedisModel.go | 44 +++++ 3 files changed, 239 insertions(+), 1 deletion(-) create mode 100644 internal/rpc/msg/extend_msg.notification.go diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 682485c50..29181ce5d 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1,16 +1,184 @@ package msg import ( + "Open_IM/pkg/common/db" "Open_IM/pkg/proto/msg" + "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "context" + go_redis "github.com/go-redis/redis/v8" + + "time" ) func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { - return + var rResp msg.ModifyMessageReactionExtensionsResp + var extendMsgResp msg.ExtendMsgResp + var failedExtendMsgResp msg.ExtendMsgResp + var oneExtendMsg msg.ExtendMsg + var failedExtendMsg msg.ExtendMsg + oneExtendMsg.ClientMsgID = req.ClientMsgID + oneExtendMsg.MsgFirstModifyTime = req.MsgFirstModifyTime + oneFailedReactionExtensionList := make(map[string]*msg.KeyValueResp) + oneSuccessReactionExtensionList := make(map[string]*msg.KeyValueResp) + isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) + if err != nil { + extendMsgResp.ErrCode = 100 + extendMsgResp.ErrMsg = err.Error() + for k, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + oneFailedReactionExtensionList[k] = temp + } + oneExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList + extendMsgResp.ExtendMsg = &oneExtendMsg + rResp.FailedList = append(rResp.FailedList, &extendMsgResp) + return &rResp, nil + } + + if !isExists { + if !req.IsReact { + oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + //redis处理 + for k, v := range req.ReactionExtensionList { + //抢占分布式锁 + err := lockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + + } + + } else { + //mongo处理 + } + + } else { + for k, v := range req.ReactionExtensionList { + //抢占分布式锁 + err := lockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + + } + } + oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList + extendMsgResp.ExtendMsg = &oneExtendMsg + failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList + failedExtendMsgResp.ExtendMsg = &failedExtendMsg + rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) + rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) + return &rResp, nil + +} +func setKeyResultInfo(m map[string]*msg.KeyValueResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { + temp := new(msg.KeyValueResp) + temp.KeyValue = keyValue + temp.ErrCode = errCode + temp.ErrMsg = errMsg + m[typeKey] = temp + _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { + //for _, messageValue := range req.MessageReactionKeyList { + // isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID,req.SessionType) + // if err != nil { + // + // } + // var failedList []*msg.ExtendMsgResp + // var successList []*msg.ExtendMsgResp + // var oneExtendMsg msg.ExtendMsg + // oneExtendMsg.ClientMsgID = req.ClientMsgID + // oneFailedReactionExtensionList:=make(map[string]*msg.KeyValueResp) + // oneSuccessReactionExtensionList:=make(map[string]*msg.KeyValueResp) + // if !isExists { + // if !req.IsReact { + // oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + // //redis处理 + // for k, v := range req.ReactionExtensionList { + // //抢占分布式锁 + // err:=lockMessageTypeKey(req.ClientMsgID,k) + // if err != nil { + // setKeyResultInfo(oneFailedReactionExtensionList,100,err.Error(),req.ClientMsgID,k,v) + // continue + // } + // redisValue,err:=db.DB.GetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k) + // if err != nil&&err!=go_redis.Nil { + // setKeyResultInfo(oneFailedReactionExtensionList,200,err.Error(),req.ClientMsgID,k,v) + // continue + // } + // temp:=new(server_api_params.KeyValue) + // utils.JsonStringToStruct(redisValue,temp) + // if v.LatestUpdateTime != temp.LatestUpdateTime { + // setKeyResultInfo(oneFailedReactionExtensionList,300,"message have update",req.ClientMsgID,k,temp) + // continue + // }else{ + // v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + // newerr:=db.DB.SetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k,utils.StructToJsonString(v)) + // if newerr != nil { + // setKeyResultInfo(oneFailedReactionExtensionList,201,newerr.Error(),req.ClientMsgID,k,temp) + // continue + // } + // setKeyResultInfo(oneSuccessReactionExtensionList,0,"",req.ClientMsgID,k,v) + // } + // + // } + // + // }else{ + // //mongo处理 + // } + // + // }else{ + // + // } + // return + //} return + } func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { @@ -20,3 +188,16 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { return } +func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + +} diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go new file mode 100644 index 000000000..34265fa47 --- /dev/null +++ b/internal/rpc/msg/extend_msg.notification.go @@ -0,0 +1,13 @@ +package msg + +import ( + "Open_IM/pkg/common/constant" + pbFriend "Open_IM/pkg/proto/friend" + open_im_sdk "Open_IM/pkg/proto/sdk_ws" +) + +func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { + selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} + commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} + friendNotification(&commID, constant.FriendInfoUpdatedNotification, &selfInfoUpdatedTips) +} diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index a0eab5c30..4e5fd6dab 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -38,6 +38,7 @@ const ( groupMinSeq = "GROUP_MIN_SEQ:" sendMsgFailedFlag = "SEND_MSG_FAILED_FLAG:" userBadgeUnreadCountSum = "USER_BADGE_UNREAD_COUNT_SUM:" + exTypeKeyLocker = "EX_LOCK:" ) func (d *DataBases) JudgeAccountEXISTS(account string) (bool, error) { @@ -437,3 +438,46 @@ func (d *DataBases) GetUserBadgeUnreadCountSum(uid string) (int, error) { seq, err := d.RDB.Get(context.Background(), key).Result() return utils.StringToInt(seq), err } +func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType int32) (bool, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + n, err := d.RDB.Exists(context.Background(), key).Result() + if n > 0 { + return true, err + } else { + return false, err + } +} +func (d *DataBases) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + result, err := d.RDB.HGet(context.Background(), key, typeKey).Result() + return result, err + +} +func (d *DataBases) SetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey, value string) error { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HSet(context.Background(), key, typeKey, value).Err() + +} +func (d *DataBases) LockMessageTypeKey(clientMsgID string, TypeKey string) error { + key := exTypeKeyLocker + clientMsgID + "_" + TypeKey + return d.RDB.SetNX(context.Background(), key, 1, time.Minute).Err() +} +func (d *DataBases) UnLockMessageTypeKey(clientMsgID string, TypeKey string) error { + key := exTypeKeyLocker + clientMsgID + "_" + TypeKey + return d.RDB.Del(context.Background(), key).Err() + +} + +func getMessageReactionExPrefix(clientMsgID string, sessionType int32) string { + switch sessionType { + case constant.SingleChatType: + return "EX_SINGLE_" + clientMsgID + case constant.GroupChatType: + return "EX_GROUP_" + clientMsgID + case constant.SuperGroupChatType: + return "EX_SUPER_GROUP_" + clientMsgID + case constant.NotificationChatType: + return "EX_NOTIFICATION" + clientMsgID + } + return "" +} From a0520ce5d80a06db84b2dee561f0bce1c3594da4 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sat, 10 Dec 2022 20:12:13 +0800 Subject: [PATCH 12/33] log --- internal/rpc/msg/extend_msg.go | 4 ++++ internal/rpc/msg/extend_msg.notification.go | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 29181ce5d..5f9f03cdb 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -2,6 +2,7 @@ package msg import ( "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "Open_IM/pkg/proto/msg" "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -40,6 +41,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M if !isExists { if !req.IsReact { + log.Debug(req.OperationID, "redis handle firstly", req.String()) oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() //redis处理 for k, v := range req.ReactionExtensionList { @@ -76,6 +78,8 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M } } else { + log.Debug(req.OperationID, "redis handle secondly", req.String()) + for k, v := range req.ReactionExtensionList { //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 34265fa47..be498e244 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -9,5 +9,5 @@ import ( func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} - friendNotification(&commID, constant.FriendInfoUpdatedNotification, &selfInfoUpdatedTips) + friendNotification(&commID, constant.ReactionMessageModifierNotification, &selfInfoUpdatedTips) } From ac55951c747ab7e4d87e52d25cca242461d085a5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Sun, 11 Dec 2022 13:16:24 +0800 Subject: [PATCH 13/33] message reaction --- .../logic/online_msg_to_mongo_handler.go | 4 +- internal/rpc/msg/extend_msg.go | 7 +++ internal/rpc/msg/extend_msg.notification.go | 63 +++++++++++++++++-- pkg/common/constant/constant.go | 11 ++-- 4 files changed, 73 insertions(+), 12 deletions(-) diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 9659c759f..cadc0669d 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,7 +61,7 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - } else if v.MsgData.ContentType == constant.ReactionMessageModifierNotification { + } else if v.MsgData.ContentType == constant.ReactionMessageModifier { var req pbMsg.ModifyMessageReactionExtensionsReq if req.IsExternalExtensions { log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") @@ -98,7 +98,7 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") } } - } else if v.MsgData.ContentType == 2301 { + } else if v.MsgData.ContentType == constant.ReactionMessageDeleter { var req pbMsg.OperateMessageListReactionExtensionsReq for _, v := range req.MessageReactionKeyList { if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 5f9f03cdb..f4269cabf 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -109,12 +109,19 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M } } + oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList extendMsgResp.ExtendMsg = &oneExtendMsg failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList failedExtendMsgResp.ExtendMsg = &failedExtendMsg rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) + if !isExists && !req.IsReact { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) + } else { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + + } return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index be498e244..957e50e40 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -1,13 +1,66 @@ package msg import ( + "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" - pbFriend "Open_IM/pkg/proto/friend" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + "Open_IM/pkg/proto/msg" open_im_sdk "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "strings" ) -func ExtendMessageUpdatedNotification(operationID, changedUserID string, needNotifiedUserID string, opUserID string) { - selfInfoUpdatedTips := open_im_sdk.UserInfoUpdatedTips{UserID: changedUserID} - commID := pbFriend.CommID{FromUserID: opUserID, ToUserID: needNotifiedUserID, OpUserID: opUserID, OperationID: operationID} - friendNotification(&commID, constant.ReactionMessageModifierNotification, &selfInfoUpdatedTips) +func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, + req *msg.ModifyMessageReactionExtensionsReq, resp *msg.ModifyMessageReactionExtensionsResp, isHistory bool) { + m := make(map[string]interface{}) + m["rep"] = req + m["resp"] = resp + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) +} +func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { + options := make(map[string]bool, 5) + utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) + utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsSenderConversationUpdate, false) + utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) + if !isHistory { + utils.SetSwitchFromOptions(options, constant.IsHistory, false) + utils.SetSwitchFromOptions(options, constant.IsPersistent, false) + } + pbData := msg.SendMsgReq{ + OperationID: operationID, + MsgData: &open_im_sdk.MsgData{ + SendID: sendID, + ClientMsgID: utils.GetMsgID(sendID), + SessionType: sessionType, + MsgFrom: constant.SysMsgType, + ContentType: contentType, + Content: []byte(content), + // ForceList: params.ForceList, + CreateTime: utils.GetCurrentTimestampByMill(), + Options: options, + }, + } + switch sessionType { + case constant.SingleChatType, constant.NotificationChatType: + pbData.MsgData.RecvID = sourceID + case constant.GroupChatType, constant.SuperGroupChatType: + pbData.MsgData.GroupID = sourceID + } + etcdConn := getcdv3.GetDefaultConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImMsgName, operationID) + if etcdConn == nil { + errMsg := operationID + "getcdv3.GetDefaultConn == nil" + log.NewError(operationID, errMsg) + return + } + client := msg.NewMsgClient(etcdConn) + reply, err := client.SendMsg(context.Background(), &pbData) + if err != nil { + log.NewError(operationID, "SendMsg rpc failed, ", pbData.String(), err.Error()) + } else if reply.ErrCode != 0 { + log.NewError(operationID, "SendMsg rpc failed, ", pbData.String(), reply.ErrCode, reply.ErrMsg) + } + } diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 76b285c24..522b942a7 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -48,6 +48,8 @@ const ( AdvancedRevoke = 118 //影响前者消息 CustomNotTriggerConversation = 119 CustomOnlineOnly = 120 + ReactionMessageModifier = 121 + ReactionMessageDeleter = 122 Common = 200 GroupMsg = 201 @@ -99,11 +101,10 @@ const ( SignalingNotification = 1601 SignalingNotificationEnd = 1649 - SuperGroupNotificationBegin = 1650 - SuperGroupUpdateNotification = 1651 - MsgDeleteNotification = 1652 - ReactionMessageModifierNotification = 1653 - SuperGroupNotificationEnd = 1699 + SuperGroupNotificationBegin = 1650 + SuperGroupUpdateNotification = 1651 + MsgDeleteNotification = 1652 + SuperGroupNotificationEnd = 1699 ConversationPrivateChatNotification = 1701 ConversationUnreadNotification = 1702 From ad814b6cbb8711f84f42aa8b909736271c858d7a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 11:16:55 +0800 Subject: [PATCH 14/33] add web push --- internal/push/push_interface.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/push/push_interface.go b/internal/push/push_interface.go index 187c2d296..4cd8bae9a 100644 --- a/internal/push/push_interface.go +++ b/internal/push/push_interface.go @@ -2,7 +2,7 @@ package push import "Open_IM/pkg/common/constant" -var PushTerminal = []int{constant.IOSPlatformID, constant.AndroidPlatformID} +var PushTerminal = []int{constant.IOSPlatformID, constant.AndroidPlatformID, constant.WebPlatformID} type OfflinePusher interface { Push(userIDList []string, title, detailContent, operationID string, opts PushOpts) (resp string, err error) From b3f5c2f18537184fb3bbfd66961ccb3c388eb3dc Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 12:12:53 +0800 Subject: [PATCH 15/33] reaction message add expiration --- internal/rpc/msg/extend_msg.go | 28 +++++++++------------------- pkg/common/db/RedisModel.go | 4 ++++ 2 files changed, 13 insertions(+), 19 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index f4269cabf..baf48bc78 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -51,28 +51,18 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) continue } - redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) - if err != nil && err != go_redis.Nil { - setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, v) continue } - temp := new(server_api_params.KeyValue) - utils.JsonStringToStruct(redisValue, temp) - if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) - continue - } else { - v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) - if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) - continue - } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) - } - + setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + } + _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) + if err != nil { + log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } - } else { //mongo处理 } diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 4e5fd6dab..6a2286b15 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -447,6 +447,10 @@ func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType i return false, err } } +func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.Expire(context.Background(), key, expiration).Result() +} func (d *DataBases) GetMessageTypeKeyValue(clientMsgID string, sessionType int32, typeKey string) (string, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) result, err := d.RDB.HGet(context.Background(), key, typeKey).Result() From acee47e86136237439cdcde5474ca50ca9c5a3b8 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:34:49 +0800 Subject: [PATCH 16/33] reaction message add expiration --- .../logic/online_history_msg_handler.go | 2 +- internal/rpc/msg/extend_msg.go | 55 +++++++------------ internal/rpc/msg/extend_msg.notification.go | 2 +- pkg/base_info/msg.go | 4 +- pkg/proto/msg/msg.proto | 22 +++++++- 5 files changed, 45 insertions(+), 40 deletions(-) diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index 35a388e8e..d50f451ee 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -83,7 +83,6 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { if !(!isSenderSync && msgChannelValue.aggregationID == v.MsgData.SendID) { notStoragePushMsgList = append(notStoragePushMsgList, v) } - } } @@ -107,6 +106,7 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { singleMsgSuccessCount += uint64(len(storageMsgList)) singleMsgSuccessCountMutex.Unlock() och.SendMessageToMongoCH(msgChannelValue.aggregationID, triggerID, storageMsgList, lastSeq) + for _, v := range storageMsgList { sendMessageToPushMQ(v, msgChannelValue.aggregationID) } diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index baf48bc78..b0d83959f 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -12,52 +12,43 @@ import ( "time" ) -func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.ModifyMessageReactionExtensionsReq) (resp *msg.ModifyMessageReactionExtensionsResp, err error) { - var rResp msg.ModifyMessageReactionExtensionsResp - var extendMsgResp msg.ExtendMsgResp - var failedExtendMsgResp msg.ExtendMsgResp - var oneExtendMsg msg.ExtendMsg - var failedExtendMsg msg.ExtendMsg - oneExtendMsg.ClientMsgID = req.ClientMsgID - oneExtendMsg.MsgFirstModifyTime = req.MsgFirstModifyTime - oneFailedReactionExtensionList := make(map[string]*msg.KeyValueResp) - oneSuccessReactionExtensionList := make(map[string]*msg.KeyValueResp) +func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.SetMessageReactionExtensionsReq) (resp *msg.SetMessageReactionExtensionsResp, err error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) + var rResp msg.SetMessageReactionExtensionsResp + rResp.ClientMsgID = req.ClientMsgID isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { - extendMsgResp.ErrCode = 100 - extendMsgResp.ErrMsg = err.Error() - for k, value := range req.ReactionExtensionList { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { temp := new(msg.KeyValueResp) temp.KeyValue = value temp.ErrMsg = err.Error() temp.ErrCode = 100 - oneFailedReactionExtensionList[k] = temp + rResp.Result = append(rResp.Result, temp) } - oneExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList - extendMsgResp.ExtendMsg = &oneExtendMsg - rResp.FailedList = append(rResp.FailedList, &extendMsgResp) return &rResp, nil } if !isExists { if !req.IsReact { log.Debug(req.OperationID, "redis handle firstly", req.String()) - oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() + rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() //redis处理 for k, v := range req.ReactionExtensionList { //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue } v.LatestUpdateTime = utils.GetCurrentTimestampByMill() newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, v) continue } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) if err != nil { @@ -74,53 +65,47 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.M //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 100, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue } redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) if err != nil && err != go_redis.Nil { - setKeyResultInfo(oneFailedReactionExtensionList, 200, err.Error(), req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) continue } temp := new(server_api_params.KeyValue) utils.JsonStringToStruct(redisValue, temp) if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(oneFailedReactionExtensionList, 300, "message have update", req.ClientMsgID, k, temp) + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) continue } else { v.LatestUpdateTime = utils.GetCurrentTimestampByMill() newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) if newerr != nil { - setKeyResultInfo(oneFailedReactionExtensionList, 201, newerr.Error(), req.ClientMsgID, k, temp) + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) continue } - setKeyResultInfo(oneSuccessReactionExtensionList, 0, "", req.ClientMsgID, k, v) + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } } } - - oneExtendMsg.ReactionExtensionList = oneSuccessReactionExtensionList - extendMsgResp.ExtendMsg = &oneExtendMsg - failedExtendMsg.ReactionExtensionList = oneFailedReactionExtensionList - failedExtendMsgResp.ExtendMsg = &failedExtendMsg - rResp.FailedList = append(rResp.FailedList, &failedExtendMsgResp) - rResp.SuccessList = append(rResp.FailedList, &extendMsgResp) if !isExists && !req.IsReact { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) } else { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) } + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } -func setKeyResultInfo(m map[string]*msg.KeyValueResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { +func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { temp := new(msg.KeyValueResp) temp.KeyValue = keyValue temp.ErrCode = errCode temp.ErrMsg = errMsg - m[typeKey] = temp + r.Result = append(r.Result, temp) _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 957e50e40..cf91463cd 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -13,7 +13,7 @@ import ( ) func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.ModifyMessageReactionExtensionsReq, resp *msg.ModifyMessageReactionExtensionsResp, isHistory bool) { + req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { m := make(map[string]interface{}) m["rep"] = req m["resp"] = resp diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 193ea40ab..4e6f0cbd6 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -69,8 +69,8 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp Data struct { - SuccessList []*msg.ExtendMsgResp `json:"successList"` - FailedList []*msg.ExtendMsgResp `json:"failedList"` + SuccessList []*msg.ExtendMsgResp `json:"successList,omitempty"` + FailedList []*msg.ExtendMsgResp `json:"failedList,omitempty"` } `json:"data"` } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 48292ae06..3dd7391f8 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -167,6 +167,26 @@ message ModifyMessageReactionExtensionsReq { bool isExternalExtensions = 10; int64 msgFirstModifyTime = 11; } +message SetMessageReactionExtensionsReq { + string operationID = 1; + string sourceID = 2; + string opUserID = 3; + int32 sessionType = 4; + map reactionExtensionList = 5; + string clientMsgID = 6; + google.protobuf.StringValue ex = 7; + google.protobuf.StringValue attachedInfo = 8; + bool isReact = 9; + bool isExternalExtensions = 10; + int64 msgFirstModifyTime = 11; +} +message SetMessageReactionExtensionsResp { + int32 errCode = 1; + string errMsg = 2; + string clientMsgID = 3; + int64 msgFirstModifyTime = 4; + repeated KeyValueResp result = 5; +} message ModifyMessageReactionExtensionsResp { int32 errCode = 1; @@ -229,7 +249,7 @@ service msg { rpc GetWriteDiffMsg(GetWriteDiffMsgReq) returns(GetWriteDiffMsgResp); // modify msg - rpc SetMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); + rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); From 1acf21371b8036e35c4394847d3e1e7481fcd486 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:35:02 +0800 Subject: [PATCH 17/33] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 458 ++++++++++++++++++++++++++++------------ 1 file changed, 327 insertions(+), 131 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 399ddf4a8..c0dc9e5c2 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{0} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{1} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{2} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{3} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_6ec0bb4bc5c02b03, []int{4} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_6ec0bb4bc5c02b03, []int{5} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{6} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{7} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{8} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{9} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{10} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{11} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{12} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{13} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{14} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{15} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{16} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{17} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{18} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{19} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{20} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{21} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{22} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1327,6 +1327,194 @@ func (m *ModifyMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { return 0 } +type SetMessageReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + SourceID string `protobuf:"bytes,2,opt,name=sourceID" json:"sourceID,omitempty"` + OpUserID string `protobuf:"bytes,3,opt,name=opUserID" json:"opUserID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,5,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,6,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + Ex *wrapperspb.StringValue `protobuf:"bytes,7,opt,name=ex" json:"ex,omitempty"` + AttachedInfo *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=attachedInfo" json:"attachedInfo,omitempty"` + IsReact bool `protobuf:"varint,9,opt,name=isReact" json:"isReact,omitempty"` + IsExternalExtensions bool `protobuf:"varint,10,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,11,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReactionExtensionsReq{} } +func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*SetMessageReactionExtensionsReq) ProtoMessage() {} +func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_e249cc2dfcfd259f, []int{23} +} +func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) +} +func (m *SetMessageReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *SetMessageReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetMessageReactionExtensionsReq.Merge(dst, src) +} +func (m *SetMessageReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_SetMessageReactionExtensionsReq.Size(m) +} +func (m *SetMessageReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetMessageReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetMessageReactionExtensionsReq proto.InternalMessageInfo + +func (m *SetMessageReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *SetMessageReactionExtensionsReq) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *SetMessageReactionExtensionsReq) GetEx() *wrapperspb.StringValue { + if m != nil { + return m.Ex + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetAttachedInfo() *wrapperspb.StringValue { + if m != nil { + return m.AttachedInfo + } + return nil +} + +func (m *SetMessageReactionExtensionsReq) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + +func (m *SetMessageReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + +func (m *SetMessageReactionExtensionsReq) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type SetMessageReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,4,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,5,rep,name=result" json:"result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReactionExtensionsResp{} } +func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*SetMessageReactionExtensionsResp) ProtoMessage() {} +func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_e249cc2dfcfd259f, []int{24} +} +func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) +} +func (m *SetMessageReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *SetMessageReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetMessageReactionExtensionsResp.Merge(dst, src) +} +func (m *SetMessageReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_SetMessageReactionExtensionsResp.Size(m) +} +func (m *SetMessageReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetMessageReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetMessageReactionExtensionsResp proto.InternalMessageInfo + +func (m *SetMessageReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SetMessageReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *SetMessageReactionExtensionsResp) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *SetMessageReactionExtensionsResp) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { + if m != nil { + return m.Result + } + return nil +} + type ModifyMessageReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` @@ -1341,7 +1529,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{23} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1406,7 +1594,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1478,7 +1666,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{24, 0} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1535,7 +1723,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{25} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1596,7 +1784,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{26} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1652,7 +1840,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{27} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1720,7 +1908,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6ec0bb4bc5c02b03, []int{28} + return fileDescriptor_msg_e249cc2dfcfd259f, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1786,6 +1974,9 @@ func init() { proto.RegisterType((*GetWriteDiffMsgResp)(nil), "msg.GetWriteDiffMsgResp") proto.RegisterType((*ModifyMessageReactionExtensionsReq)(nil), "msg.ModifyMessageReactionExtensionsReq") proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.ModifyMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*SetMessageReactionExtensionsReq)(nil), "msg.SetMessageReactionExtensionsReq") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SetMessageReactionExtensionsReq.ReactionExtensionListEntry") + proto.RegisterType((*SetMessageReactionExtensionsResp)(nil), "msg.SetMessageReactionExtensionsResp") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") @@ -1819,7 +2010,7 @@ type MsgClient interface { GetSuperGroupMsg(ctx context.Context, in *GetSuperGroupMsgReq, opts ...grpc.CallOption) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) // modify msg - SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) + SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) @@ -1932,8 +2123,8 @@ func (c *msgClient) GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, return out, nil } -func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) { - out := new(ModifyMessageReactionExtensionsResp) +func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) { + out := new(SetMessageReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/SetMessageReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -1983,7 +2174,7 @@ type MsgServer interface { GetSuperGroupMsg(context.Context, *GetSuperGroupMsgReq) (*GetSuperGroupMsgResp, error) GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) // modify msg - SetMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) + SetMessageReactionExtensions(context.Context, *SetMessageReactionExtensionsReq) (*SetMessageReactionExtensionsResp, error) GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) @@ -2192,7 +2383,7 @@ func _Msg_GetWriteDiffMsg_Handler(srv interface{}, ctx context.Context, dec func } func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ModifyMessageReactionExtensionsReq) + in := new(SetMessageReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2204,7 +2395,7 @@ func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont FullMethod: "/msg.msg/SetMessageReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*ModifyMessageReactionExtensionsReq)) + return srv.(MsgServer).SetMessageReactionExtensions(ctx, req.(*SetMessageReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2332,100 +2523,105 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6ec0bb4bc5c02b03) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_e249cc2dfcfd259f) } -var fileDescriptor_msg_6ec0bb4bc5c02b03 = []byte{ - // 1467 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc5, - 0x13, 0xaf, 0xd5, 0x5a, 0x7e, 0xb4, 0xec, 0xd8, 0x99, 0x38, 0xfe, 0x2b, 0x9b, 0x54, 0xfd, 0xc5, - 0xf2, 0x88, 0x80, 0x44, 0x2e, 0x0c, 0x55, 0xa1, 0xc8, 0x81, 0xc4, 0x91, 0x51, 0x5c, 0x61, 0x71, - 0xbc, 0x32, 0x50, 0x05, 0x07, 0x67, 0x23, 0xb5, 0x37, 0x5b, 0xd6, 0x3e, 0xbc, 0xb3, 0x8a, 0x2d, - 0x28, 0xc2, 0x89, 0x23, 0x07, 0x6e, 0x70, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0x3e, - 0x0d, 0x35, 0x33, 0x2b, 0x69, 0xf6, 0x15, 0xc9, 0x0a, 0xe5, 0xe2, 0xa6, 0xee, 0xe9, 0xed, 0xe9, - 0x5f, 0xf7, 0x6f, 0x66, 0xba, 0x05, 0x2b, 0x2e, 0xb5, 0x37, 0x5d, 0x6a, 0x37, 0x82, 0xd0, 0x8f, - 0x7c, 0xa2, 0xba, 0xd4, 0xd6, 0xea, 0x7b, 0x01, 0x7a, 0xb7, 0x77, 0x8d, 0xdb, 0x6d, 0x0c, 0x9f, - 0x63, 0xb8, 0x19, 0x1c, 0xdb, 0x9b, 0x7c, 0x79, 0x93, 0x76, 0x8f, 0x0f, 0x4f, 0xe9, 0xe6, 0x29, - 0x15, 0xe6, 0x5a, 0x63, 0xa2, 0x65, 0x68, 0x05, 0x01, 0x86, 0xb1, 0xbd, 0xfe, 0x2d, 0x54, 0x0c, - 0x6a, 0x37, 0xad, 0xc8, 0x3a, 0xf0, 0x8d, 0x7d, 0xb2, 0x0e, 0xe5, 0xc8, 0x3f, 0x46, 0xaf, 0xaa, - 0xd4, 0x94, 0xfa, 0x92, 0x29, 0x04, 0x52, 0x83, 0x8a, 0x1f, 0x60, 0x68, 0x45, 0x8e, 0xef, 0xed, - 0x36, 0xab, 0x25, 0xbe, 0x26, 0xab, 0xc8, 0x07, 0xb0, 0xe0, 0x0a, 0x37, 0x55, 0xb5, 0xa6, 0xd4, - 0x2b, 0x5b, 0x5a, 0x83, 0xf2, 0x00, 0x0e, 0xad, 0xc0, 0x39, 0x0c, 0xac, 0xd0, 0x72, 0x69, 0x23, - 0xde, 0xc8, 0x1c, 0x9a, 0xea, 0x28, 0x6d, 0xde, 0xdc, 0x96, 0x9d, 0x28, 0x53, 0x3b, 0x99, 0x1c, - 0x9c, 0xfe, 0xa3, 0x02, 0xab, 0x8f, 0xfb, 0xf4, 0x99, 0x0c, 0xb4, 0x06, 0x95, 0x3d, 0xe9, 0x2b, - 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x94, 0xa6, 0x8f, 0x46, 0x87, 0xe5, 0xa0, 0x4f, 0x9f, 0x1d, 0xf8, - 0x9f, 0x53, 0x0c, 0x77, 0x9b, 0x3c, 0x1b, 0x4b, 0x66, 0x42, 0xa7, 0xff, 0xa6, 0x00, 0x19, 0xc7, - 0xe2, 0x7b, 0xb6, 0xbf, 0x3d, 0x30, 0xf6, 0x49, 0x15, 0x16, 0x7a, 0x16, 0x8d, 0xda, 0x78, 0xc2, - 0xc3, 0x99, 0x33, 0x87, 0x22, 0x79, 0x03, 0x56, 0x2c, 0xdb, 0x0e, 0xd1, 0x4e, 0x82, 0x4c, 0x2a, - 0xc9, 0x16, 0x54, 0x5c, 0xa4, 0xd4, 0xb2, 0xf1, 0x53, 0x87, 0x46, 0x55, 0xb5, 0xa6, 0xd6, 0x2b, - 0x5b, 0x6b, 0x0d, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, 0x91, 0x1b, 0xb0, 0x14, 0x85, 0x8e, 0x6d, - 0xf3, 0x58, 0xe7, 0xb8, 0xd7, 0xb1, 0x42, 0xff, 0x0c, 0x48, 0x0b, 0x23, 0xc3, 0x3a, 0xbb, 0xef, - 0x75, 0x0d, 0xc7, 0x6b, 0xe3, 0x89, 0x89, 0x27, 0x64, 0x03, 0xe6, 0x63, 0x70, 0x22, 0x6b, 0xb1, - 0x94, 0x4e, 0x69, 0x29, 0x93, 0x52, 0xfd, 0x14, 0xae, 0x64, 0xfc, 0xd1, 0x80, 0x01, 0xdf, 0x09, - 0xc3, 0x07, 0x7e, 0x17, 0xb9, 0xc7, 0xb2, 0x39, 0x14, 0xd9, 0x56, 0x3b, 0x61, 0x68, 0x50, 0x3b, - 0xf6, 0x16, 0x4b, 0x4c, 0x6f, 0x58, 0x67, 0x2c, 0x53, 0x2c, 0xbf, 0x2b, 0x66, 0x2c, 0x71, 0x3d, - 0xf7, 0xcb, 0xb1, 0x30, 0x3d, 0x97, 0xf4, 0x6f, 0x00, 0xda, 0xe8, 0x75, 0x0d, 0x6a, 0x33, 0x00, - 0x17, 0x4b, 0xf2, 0x5f, 0x15, 0xa8, 0x8c, 0x36, 0x17, 0x68, 0x31, 0x89, 0x16, 0xc7, 0x68, 0x31, - 0x81, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8f, 0x41, 0xed, 0x51, 0x99, 0x64, 0x15, 0xb3, 0xe8, 0xf4, - 0x1c, 0xf4, 0x22, 0x61, 0x51, 0x16, 0x16, 0x92, 0x8a, 0x68, 0xb0, 0x48, 0xd1, 0xeb, 0x1e, 0x38, - 0x2e, 0x56, 0xe7, 0x6b, 0x4a, 0x5d, 0x35, 0x47, 0xb2, 0xde, 0x81, 0xca, 0x83, 0x1e, 0x5a, 0x61, - 0x9c, 0x9e, 0x0d, 0x98, 0xef, 0x27, 0xea, 0x2b, 0x24, 0xe6, 0xc2, 0x0f, 0xe2, 0xca, 0x8b, 0x00, - 0x47, 0x72, 0x3a, 0x79, 0x6a, 0xf6, 0x10, 0xde, 0x83, 0xe5, 0xf1, 0x26, 0xb3, 0xa4, 0x41, 0xff, - 0x45, 0x81, 0xd5, 0x36, 0x32, 0x3c, 0x09, 0x2e, 0xe6, 0xc6, 0x5a, 0x85, 0x05, 0x3b, 0xf4, 0xfb, - 0xc1, 0x28, 0xd4, 0xa1, 0xc8, 0xbe, 0x70, 0x05, 0x45, 0x62, 0xea, 0x08, 0x29, 0x8d, 0x60, 0x2e, - 0x5b, 0x7e, 0x19, 0x7f, 0x39, 0x89, 0x5f, 0x6f, 0xc2, 0x5a, 0x32, 0xb4, 0x99, 0x10, 0xee, 0xc1, - 0x95, 0x36, 0x46, 0x31, 0x59, 0xda, 0x91, 0x15, 0xf5, 0xa9, 0x99, 0x0d, 0x4d, 0xc9, 0x86, 0xb6, - 0x01, 0xf3, 0x94, 0x9b, 0x73, 0x87, 0x65, 0x33, 0x96, 0xf4, 0x87, 0xb0, 0x9e, 0x75, 0x38, 0x53, - 0x68, 0x77, 0xf8, 0xd1, 0x3d, 0x7f, 0x68, 0xfa, 0x13, 0x58, 0x6f, 0xfd, 0x2b, 0x21, 0x48, 0x20, - 0xd5, 0x04, 0xc8, 0x1f, 0x14, 0xb8, 0xd2, 0xc4, 0x5e, 0xbb, 0x1f, 0x60, 0xd8, 0x62, 0x55, 0x8e, - 0x79, 0x2c, 0xd7, 0x4b, 0x49, 0xf1, 0x75, 0xcc, 0x9b, 0x52, 0x11, 0x6f, 0xd4, 0x24, 0x6f, 0x26, - 0xf2, 0x83, 0x25, 0x3b, 0x1b, 0xc6, 0x4c, 0xc9, 0xee, 0x88, 0x64, 0xa7, 0x01, 0x4d, 0xe6, 0xc1, - 0x1a, 0xa8, 0x8c, 0xd9, 0x25, 0xce, 0x6c, 0xf6, 0xb3, 0x18, 0x90, 0xfe, 0x42, 0x14, 0xe6, 0xd5, - 0xc3, 0x9d, 0xf1, 0x5e, 0x7c, 0xc8, 0x1f, 0x97, 0x2f, 0x43, 0x27, 0xc2, 0xa6, 0x73, 0x74, 0x34, - 0x3b, 0x46, 0xfd, 0x3b, 0x9e, 0xae, 0xa4, 0xa7, 0x0b, 0x04, 0xf2, 0x53, 0x19, 0x74, 0xc3, 0xef, - 0x3a, 0x47, 0x03, 0x43, 0xbc, 0xac, 0x26, 0x5a, 0x1d, 0x16, 0xec, 0xce, 0x59, 0x84, 0x1e, 0x75, - 0x7c, 0x6f, 0xca, 0x53, 0xcc, 0xee, 0x68, 0xbf, 0x1f, 0x76, 0x70, 0x7c, 0xc1, 0x0e, 0xe5, 0x04, - 0x99, 0xd5, 0xec, 0xe5, 0x4b, 0x91, 0xb2, 0x8d, 0x0e, 0x06, 0x01, 0x72, 0x6a, 0x96, 0x4d, 0x59, - 0x45, 0xce, 0xe0, 0x6a, 0x98, 0x0e, 0x8a, 0x37, 0x09, 0x65, 0xde, 0x24, 0x6c, 0x8b, 0x26, 0x61, - 0x22, 0x86, 0x86, 0x99, 0xe7, 0x64, 0xc7, 0x8b, 0xc2, 0x81, 0x99, 0xbf, 0x41, 0xfa, 0x65, 0x9a, - 0xcf, 0xbe, 0x4c, 0xb7, 0xa0, 0x84, 0x67, 0xd5, 0x05, 0x9e, 0xef, 0x1b, 0x0d, 0xdb, 0xf7, 0xed, - 0x1e, 0x8a, 0xe6, 0xf4, 0x69, 0xff, 0xa8, 0xd1, 0x8e, 0x42, 0xc7, 0xb3, 0xbf, 0xb0, 0x7a, 0x7d, - 0x34, 0x4b, 0x78, 0x46, 0xee, 0xc1, 0xb2, 0x15, 0x45, 0x56, 0xe7, 0x19, 0x76, 0x77, 0xbd, 0x23, - 0xbf, 0xba, 0x38, 0xc5, 0x77, 0x89, 0x2f, 0x18, 0x2d, 0x1c, 0xca, 0x81, 0x54, 0x97, 0x6a, 0x4a, - 0x7d, 0xd1, 0x1c, 0x8a, 0x64, 0x0b, 0xd6, 0x1d, 0xca, 0xc2, 0x0f, 0x3d, 0xab, 0x37, 0x06, 0x5e, - 0x05, 0x6e, 0x96, 0xbb, 0x46, 0x1a, 0x40, 0x5c, 0x6a, 0x7f, 0xe2, 0x84, 0x34, 0x12, 0xf9, 0xe3, - 0x2f, 0x6c, 0x85, 0xbf, 0xb0, 0x39, 0x2b, 0x1a, 0x82, 0x56, 0x9c, 0x44, 0xc6, 0xed, 0x63, 0x1c, - 0xc4, 0xdc, 0x60, 0x3f, 0xc9, 0x7b, 0x50, 0x7e, 0xce, 0x40, 0xc4, 0x3d, 0xe8, 0xf5, 0x1c, 0x42, - 0x3e, 0xc2, 0x81, 0xc0, 0x29, 0x2c, 0x3f, 0x2a, 0x7d, 0xa8, 0xe8, 0x7f, 0x28, 0xf0, 0xfa, 0xc4, - 0x7a, 0xce, 0x78, 0x46, 0x2a, 0xb4, 0xdf, 0xe9, 0x20, 0xa5, 0x52, 0x97, 0x49, 0x38, 0x81, 0xb8, - 0xef, 0x61, 0x9f, 0x63, 0xca, 0x66, 0x64, 0x0b, 0xe0, 0xc8, 0x72, 0x7a, 0xd8, 0xe5, 0x1f, 0xcd, - 0x15, 0x7e, 0x24, 0x59, 0xe9, 0x7f, 0xab, 0x70, 0x53, 0x74, 0x8f, 0x68, 0x8c, 0x5b, 0xd6, 0x57, - 0x38, 0x5c, 0x85, 0xdd, 0x8b, 0x7c, 0xf0, 0xd4, 0xd4, 0xc1, 0x9b, 0x7c, 0xb8, 0x4e, 0x61, 0xc3, - 0x4d, 0x26, 0xf9, 0x11, 0x0e, 0xa4, 0xd3, 0xf5, 0x31, 0xc7, 0x39, 0x25, 0x92, 0x86, 0x91, 0x71, - 0x65, 0x16, 0xb8, 0xd7, 0x7e, 0x67, 0x73, 0x44, 0x66, 0x29, 0x7d, 0xe4, 0x94, 0xec, 0x91, 0xcb, - 0x27, 0x6d, 0xa9, 0x88, 0xb4, 0x64, 0xbf, 0xe8, 0xfa, 0x10, 0xd5, 0x7f, 0x29, 0x29, 0xf3, 0xbf, - 0xd4, 0xff, 0x54, 0xa0, 0x3e, 0x5d, 0x4a, 0xfe, 0xe3, 0x2c, 0xf5, 0x61, 0x25, 0xb1, 0x48, 0x6e, - 0xc1, 0x12, 0x0e, 0x15, 0xf1, 0x1c, 0x7b, 0x29, 0xe5, 0x63, 0x6c, 0x20, 0x43, 0x2b, 0x15, 0x41, - 0x53, 0x13, 0xcd, 0xc1, 0x5f, 0x25, 0x58, 0x1a, 0xb9, 0x22, 0x87, 0x45, 0xa5, 0x51, 0x78, 0xf4, - 0x6f, 0x27, 0x77, 0x7e, 0xf5, 0x0b, 0xbc, 0x34, 0x2d, 0x9b, 0xd4, 0x42, 0x36, 0xe9, 0xa9, 0x2b, - 0x5c, 0xb4, 0x52, 0xc9, 0x4b, 0xfa, 0x12, 0x7f, 0x14, 0x44, 0x97, 0x5d, 0xc2, 0x33, 0xed, 0xeb, - 0x73, 0x5e, 0x9b, 0x37, 0x93, 0xd7, 0xe6, 0x65, 0x9e, 0x86, 0x11, 0x27, 0x59, 0x0d, 0xa5, 0xcb, - 0x72, 0x00, 0xcb, 0xf2, 0x12, 0xb9, 0x03, 0x8b, 0xc7, 0xb1, 0x1c, 0x17, 0xf0, 0xa5, 0x0c, 0x1f, - 0x19, 0x9f, 0xbf, 0x98, 0x5b, 0x3f, 0x03, 0xa8, 0x2e, 0xb5, 0xc9, 0x13, 0x58, 0x4d, 0x4d, 0xc6, - 0xe4, 0xcd, 0x9c, 0x3d, 0xb3, 0xd3, 0xb8, 0xf6, 0xd6, 0x34, 0x66, 0x34, 0x20, 0x3e, 0xac, 0x3f, - 0xee, 0xf7, 0x7a, 0xf1, 0x61, 0xdb, 0x1e, 0xb4, 0xf1, 0x84, 0xd7, 0xf7, 0x9d, 0x9c, 0xef, 0xf3, - 0x0c, 0xd9, 0x5e, 0xef, 0x4e, 0x6d, 0xcb, 0xcf, 0xc1, 0x42, 0xdc, 0xf5, 0x93, 0x55, 0x9e, 0xfe, - 0xf1, 0x04, 0xae, 0xad, 0x25, 0x15, 0x34, 0x20, 0xfb, 0x00, 0x4d, 0xec, 0x19, 0xd4, 0x16, 0xa4, - 0xcb, 0xd9, 0x68, 0xbc, 0xcc, 0x3c, 0xbc, 0x36, 0xc1, 0x82, 0x06, 0xa4, 0x05, 0x6b, 0xe9, 0x7e, - 0x9c, 0x54, 0xf9, 0xc6, 0x39, 0xd3, 0x82, 0x76, 0xad, 0x60, 0x85, 0x06, 0x64, 0x13, 0x16, 0x87, - 0xa3, 0x2b, 0x11, 0x91, 0x4b, 0xe3, 0xb2, 0x76, 0x39, 0xa5, 0xa1, 0x01, 0xb9, 0x0b, 0xcb, 0xf2, - 0x34, 0x48, 0xd6, 0x63, 0xb8, 0x89, 0xd9, 0x55, 0xbb, 0x9a, 0xa3, 0x15, 0x61, 0xa7, 0x67, 0xb6, - 0x38, 0xec, 0x9c, 0xd9, 0x30, 0x0e, 0x3b, 0x77, 0xc8, 0x6b, 0xc1, 0x5a, 0x2b, 0xdf, 0x51, 0xab, - 0xd0, 0x51, 0xeb, 0x25, 0x8e, 0x72, 0x12, 0x99, 0x33, 0xa5, 0x48, 0x8e, 0x32, 0x89, 0x6c, 0x72, - 0x96, 0xcb, 0x8d, 0x3a, 0xf9, 0xdf, 0xd0, 0x3a, 0x35, 0x08, 0x68, 0xd5, 0xfc, 0x05, 0x1a, 0x90, - 0x13, 0xb8, 0xc1, 0x92, 0x56, 0xd4, 0xd7, 0x90, 0x9b, 0x53, 0x76, 0xb3, 0x5a, 0x7d, 0x3a, 0x43, - 0x1a, 0x90, 0xef, 0xa1, 0xd6, 0x1a, 0x6d, 0x99, 0xff, 0x50, 0x91, 0x5b, 0xe7, 0x79, 0xe6, 0xb5, - 0xdb, 0xe7, 0xb0, 0x16, 0x98, 0xef, 0x77, 0xbb, 0x17, 0x8a, 0xf9, 0x05, 0xfc, 0xbf, 0x89, 0x3d, - 0x1c, 0x45, 0x77, 0xc1, 0x90, 0xb7, 0xaf, 0x7f, 0x75, 0x6d, 0x2f, 0x40, 0xef, 0x70, 0xd7, 0x90, - 0xfe, 0xc4, 0x76, 0xa9, 0x7d, 0xd7, 0xa5, 0xf6, 0xd3, 0x79, 0x2e, 0xbe, 0xff, 0x4f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x59, 0x25, 0xe0, 0x09, 0x2d, 0x17, 0x00, 0x00, +var fileDescriptor_msg_e249cc2dfcfd259f = []byte{ + // 1544 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, + 0x12, 0x07, 0x45, 0xcb, 0x7f, 0x46, 0x76, 0xec, 0x6c, 0x1c, 0x3f, 0x85, 0x31, 0x10, 0x3d, 0xbe, + 0xe4, 0x45, 0x79, 0x2f, 0x91, 0xf1, 0xfc, 0x0a, 0xa4, 0x68, 0x0e, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, + 0xb2, 0x8e, 0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x63, 0x86, 0xb0, 0x44, 0xd2, 0x5c, 0x2a, + 0xb6, 0x5a, 0x34, 0x3d, 0xf5, 0x54, 0xf4, 0xd0, 0xde, 0x7a, 0xea, 0xad, 0xdf, 0xa1, 0xc7, 0x5e, + 0x7a, 0x2d, 0x7a, 0xed, 0xa7, 0x29, 0x76, 0x97, 0x92, 0x96, 0xff, 0x2c, 0x59, 0x29, 0x82, 0x14, + 0xe8, 0x4d, 0x33, 0x3b, 0x3b, 0x3b, 0xbf, 0x99, 0x1f, 0x77, 0x76, 0x57, 0xb0, 0xd4, 0xa5, 0xf6, + 0x46, 0x97, 0xda, 0x35, 0x3f, 0xf0, 0x42, 0x8f, 0xa8, 0x5d, 0x6a, 0x6b, 0xd5, 0x5d, 0x1f, 0xdd, + 0x3b, 0x3b, 0xc6, 0x9d, 0x26, 0x06, 0x2f, 0x30, 0xd8, 0xf0, 0x8f, 0xec, 0x0d, 0x3e, 0xbc, 0x41, + 0xdb, 0x47, 0x07, 0x27, 0x74, 0xe3, 0x84, 0x0a, 0x73, 0xad, 0x36, 0xd6, 0x32, 0xb0, 0x7c, 0x1f, + 0x83, 0xc8, 0x5e, 0xff, 0x1c, 0x4a, 0x06, 0xb5, 0xeb, 0x56, 0x68, 0xed, 0x7b, 0xc6, 0x1e, 0x59, + 0x85, 0x62, 0xe8, 0x1d, 0xa1, 0x5b, 0x56, 0x2a, 0x4a, 0x75, 0xc1, 0x14, 0x02, 0xa9, 0x40, 0xc9, + 0xf3, 0x31, 0xb0, 0x42, 0xc7, 0x73, 0x77, 0xea, 0xe5, 0x02, 0x1f, 0x93, 0x55, 0xe4, 0x2d, 0x98, + 0xeb, 0x0a, 0x37, 0x65, 0xb5, 0xa2, 0x54, 0x4b, 0x9b, 0x5a, 0x8d, 0xf2, 0x00, 0x0e, 0x2c, 0xdf, + 0x39, 0xf0, 0xad, 0xc0, 0xea, 0xd2, 0x5a, 0xb4, 0x90, 0x39, 0x30, 0xd5, 0x51, 0x5a, 0xbc, 0xbe, + 0x25, 0x3b, 0x51, 0x26, 0x76, 0x32, 0x3e, 0x38, 0xfd, 0x1b, 0x05, 0x96, 0x9f, 0xf4, 0xe8, 0x73, + 0x19, 0x68, 0x05, 0x4a, 0xbb, 0xd2, 0x2c, 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x14, 0x26, 0x8f, 0x46, + 0x87, 0x45, 0xbf, 0x47, 0x9f, 0xef, 0x7b, 0x1f, 0x52, 0x0c, 0x76, 0xea, 0x3c, 0x1b, 0x0b, 0x66, + 0x4c, 0xa7, 0xff, 0xa8, 0x00, 0x19, 0xc5, 0xe2, 0xb9, 0xb6, 0xb7, 0xd5, 0x37, 0xf6, 0x48, 0x19, + 0xe6, 0x3a, 0x16, 0x0d, 0x9b, 0x78, 0xcc, 0xc3, 0x99, 0x31, 0x07, 0x22, 0xb9, 0x0e, 0x4b, 0x96, + 0x6d, 0x07, 0x68, 0xc7, 0x41, 0xc6, 0x95, 0x64, 0x13, 0x4a, 0x5d, 0xa4, 0xd4, 0xb2, 0xf1, 0x7d, + 0x87, 0x86, 0x65, 0xb5, 0xa2, 0x56, 0x4b, 0x9b, 0x2b, 0x35, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, + 0x91, 0x75, 0x58, 0x08, 0x03, 0xc7, 0xb6, 0x79, 0xac, 0x33, 0xdc, 0xeb, 0x48, 0xa1, 0x7f, 0x00, + 0xa4, 0x81, 0xa1, 0x61, 0x9d, 0x3e, 0x70, 0xdb, 0x86, 0xe3, 0x36, 0xf1, 0xd8, 0xc4, 0x63, 0xb2, + 0x06, 0xb3, 0x11, 0x38, 0x91, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x90, 0x4a, 0xa9, 0x7e, 0x02, 0x97, + 0x52, 0xfe, 0xa8, 0xcf, 0x80, 0x6f, 0x07, 0xc1, 0x43, 0xaf, 0x8d, 0xdc, 0x63, 0xd1, 0x1c, 0x88, + 0x6c, 0xa9, 0xed, 0x20, 0x30, 0xa8, 0x1d, 0x79, 0x8b, 0x24, 0xa6, 0x37, 0xac, 0x53, 0x96, 0x29, + 0x96, 0xdf, 0x25, 0x33, 0x92, 0xb8, 0x9e, 0xfb, 0xe5, 0x58, 0x98, 0x9e, 0x4b, 0xfa, 0x67, 0x00, + 0x4d, 0x74, 0xdb, 0x06, 0xb5, 0x19, 0x80, 0xd7, 0x4b, 0xf2, 0x1f, 0x14, 0x28, 0x0d, 0x17, 0x17, + 0x68, 0x31, 0x8e, 0x16, 0x47, 0x68, 0x31, 0x86, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8e, 0x41, 0xed, + 0x61, 0x99, 0x64, 0x15, 0xb3, 0x68, 0x75, 0x1c, 0x74, 0x43, 0x61, 0x51, 0x14, 0x16, 0x92, 0x8a, + 0x68, 0x30, 0x4f, 0xd1, 0x6d, 0xef, 0x3b, 0x5d, 0x2c, 0xcf, 0x56, 0x94, 0xaa, 0x6a, 0x0e, 0x65, + 0xbd, 0x05, 0xa5, 0x87, 0x1d, 0xb4, 0x82, 0x28, 0x3d, 0x6b, 0x30, 0xdb, 0x8b, 0xd5, 0x57, 0x48, + 0xcc, 0x85, 0xe7, 0x47, 0x95, 0x17, 0x01, 0x0e, 0xe5, 0x64, 0xf2, 0xd4, 0xf4, 0x47, 0x78, 0x1f, + 0x16, 0x47, 0x8b, 0x4c, 0x93, 0x06, 0xfd, 0x7b, 0x05, 0x96, 0x9b, 0xc8, 0xf0, 0xc4, 0xb8, 0x98, + 0x19, 0x6b, 0x19, 0xe6, 0xec, 0xc0, 0xeb, 0xf9, 0xc3, 0x50, 0x07, 0x22, 0x9b, 0xd1, 0x15, 0x14, + 0x89, 0xa8, 0x23, 0xa4, 0x24, 0x82, 0x99, 0x74, 0xf9, 0x65, 0xfc, 0xc5, 0x38, 0x7e, 0xbd, 0x0e, + 0x2b, 0xf1, 0xd0, 0xa6, 0x42, 0xb8, 0x0b, 0x97, 0x9a, 0x18, 0x46, 0x64, 0x69, 0x86, 0x56, 0xd8, + 0xa3, 0x66, 0x3a, 0x34, 0x25, 0x1d, 0xda, 0x1a, 0xcc, 0x52, 0x6e, 0xce, 0x1d, 0x16, 0xcd, 0x48, + 0xd2, 0x1f, 0xc1, 0x6a, 0xda, 0xe1, 0x54, 0xa1, 0xdd, 0xe5, 0x9f, 0xee, 0xf9, 0x43, 0xd3, 0x9f, + 0xc2, 0x6a, 0xe3, 0x4f, 0x09, 0x41, 0x02, 0xa9, 0xc6, 0x40, 0x7e, 0xa5, 0xc0, 0xa5, 0x3a, 0x76, + 0x9a, 0x3d, 0x1f, 0x83, 0x06, 0xab, 0x72, 0xc4, 0x63, 0xb9, 0x5e, 0x4a, 0x82, 0xaf, 0x23, 0xde, + 0x14, 0xf2, 0x78, 0xa3, 0xc6, 0x79, 0x33, 0x96, 0x1f, 0x2c, 0xd9, 0xe9, 0x30, 0xa6, 0x4a, 0x76, + 0x4b, 0x24, 0x3b, 0x09, 0x68, 0x3c, 0x0f, 0x56, 0x40, 0x65, 0xcc, 0x2e, 0x70, 0x66, 0xb3, 0x9f, + 0xf9, 0x80, 0xf4, 0x97, 0xa2, 0x30, 0xaf, 0x1e, 0xee, 0x94, 0xfb, 0xe2, 0x23, 0xde, 0x5c, 0x3e, + 0x0e, 0x9c, 0x10, 0xeb, 0xce, 0xe1, 0xe1, 0xf4, 0x18, 0xf5, 0x2f, 0x78, 0xba, 0xe2, 0x9e, 0x5e, + 0x23, 0x90, 0x6f, 0x8b, 0xa0, 0x1b, 0x5e, 0xdb, 0x39, 0xec, 0x1b, 0xa2, 0xb3, 0x9a, 0x68, 0xb5, + 0x58, 0xb0, 0xdb, 0xa7, 0x21, 0xba, 0xd4, 0xf1, 0xdc, 0x09, 0xbf, 0x62, 0xb6, 0x47, 0x7b, 0xbd, + 0xa0, 0x85, 0xa3, 0x0d, 0x76, 0x20, 0xc7, 0xc8, 0xac, 0xa6, 0x37, 0x5f, 0x8a, 0x94, 0x2d, 0xb4, + 0xdf, 0xf7, 0x91, 0x53, 0xb3, 0x68, 0xca, 0x2a, 0x72, 0x0a, 0x97, 0x83, 0x64, 0x50, 0xfc, 0x90, + 0x50, 0xe4, 0x87, 0x84, 0x2d, 0x71, 0x48, 0x18, 0x8b, 0xa1, 0x66, 0x66, 0x39, 0xd9, 0x76, 0xc3, + 0xa0, 0x6f, 0x66, 0x2f, 0x90, 0xec, 0x4c, 0xb3, 0xe9, 0xce, 0x74, 0x1b, 0x0a, 0x78, 0x5a, 0x9e, + 0xe3, 0xf9, 0x5e, 0xaf, 0xd9, 0x9e, 0x67, 0x77, 0x50, 0x1c, 0x4e, 0x9f, 0xf5, 0x0e, 0x6b, 0xcd, + 0x30, 0x70, 0x5c, 0xfb, 0x23, 0xab, 0xd3, 0x43, 0xb3, 0x80, 0xa7, 0xe4, 0x3e, 0x2c, 0x5a, 0x61, + 0x68, 0xb5, 0x9e, 0x63, 0x7b, 0xc7, 0x3d, 0xf4, 0xca, 0xf3, 0x13, 0xcc, 0x8b, 0xcd, 0x60, 0xb4, + 0x70, 0x28, 0x07, 0x52, 0x5e, 0xa8, 0x28, 0xd5, 0x79, 0x73, 0x20, 0x92, 0x4d, 0x58, 0x75, 0x28, + 0x0b, 0x3f, 0x70, 0xad, 0xce, 0x08, 0x78, 0x19, 0xb8, 0x59, 0xe6, 0x18, 0xa9, 0x01, 0xe9, 0x52, + 0xfb, 0x3d, 0x27, 0xa0, 0xa1, 0xc8, 0x1f, 0xef, 0xb0, 0x25, 0xde, 0x61, 0x33, 0x46, 0x34, 0x04, + 0x2d, 0x3f, 0x89, 0x8c, 0xdb, 0x47, 0xd8, 0x8f, 0xb8, 0xc1, 0x7e, 0x92, 0xff, 0x41, 0xf1, 0x05, + 0x03, 0x11, 0x9d, 0x41, 0xaf, 0x66, 0x10, 0xf2, 0x31, 0xf6, 0x05, 0x4e, 0x61, 0xf9, 0x4e, 0xe1, + 0x6d, 0x45, 0xff, 0xba, 0x08, 0xd7, 0x58, 0x43, 0x7a, 0x53, 0x09, 0xd9, 0x3b, 0x9b, 0x90, 0xef, + 0x72, 0x42, 0x8e, 0x01, 0xf0, 0x37, 0x1b, 0xff, 0x2a, 0x6c, 0xfc, 0x4d, 0x81, 0xca, 0xd9, 0xc5, + 0x9c, 0xf6, 0x5c, 0x2c, 0x57, 0x53, 0x4d, 0x57, 0x33, 0x3b, 0x1f, 0x33, 0x79, 0xf9, 0x20, 0xb7, + 0x60, 0x36, 0x40, 0xda, 0xeb, 0x0c, 0x78, 0x78, 0x91, 0xf3, 0x70, 0x08, 0x09, 0xa9, 0x6f, 0x46, + 0x06, 0xfa, 0xcf, 0x0a, 0xfc, 0x6b, 0xec, 0x8e, 0x39, 0x65, 0x17, 0x2a, 0xd1, 0x5e, 0xab, 0x85, + 0x94, 0x4a, 0xf7, 0x38, 0xc2, 0x23, 0xe1, 0xbe, 0x07, 0x37, 0x09, 0x53, 0x36, 0x23, 0x9b, 0x00, + 0x87, 0x96, 0xd3, 0xc1, 0x36, 0x9f, 0x34, 0x93, 0x3b, 0x49, 0xb2, 0xd2, 0x7f, 0x57, 0xe1, 0xa6, + 0xb8, 0x9f, 0xa1, 0x31, 0xba, 0x14, 0xbe, 0xc2, 0x6e, 0x91, 0x7b, 0x3f, 0x90, 0x77, 0x12, 0x35, + 0xb1, 0x93, 0x8c, 0xdf, 0x2d, 0x4e, 0x60, 0xad, 0x1b, 0x4f, 0xf2, 0x63, 0xec, 0xa7, 0xb6, 0x8b, + 0x09, 0x91, 0xd4, 0x8c, 0x94, 0x2b, 0x33, 0xc7, 0xbd, 0xf6, 0x13, 0xbb, 0xa9, 0xa7, 0x86, 0x92, + 0xc4, 0x53, 0x26, 0x25, 0x5e, 0x21, 0x97, 0x78, 0x7b, 0x79, 0xfb, 0xa1, 0xa8, 0xfe, 0x99, 0x1f, + 0x5a, 0xf6, 0x4c, 0xfd, 0x17, 0x05, 0xaa, 0x93, 0xa5, 0xe4, 0x0d, 0x67, 0xa9, 0x07, 0x4b, 0xb1, + 0x41, 0x72, 0x1b, 0x16, 0x70, 0xa0, 0x88, 0x5e, 0x8a, 0x2e, 0x24, 0x7c, 0x8c, 0x0c, 0x64, 0x68, + 0x85, 0x3c, 0x68, 0x6a, 0xec, 0xf8, 0xfd, 0x6b, 0x01, 0x16, 0x86, 0xae, 0xc8, 0x41, 0x5e, 0x69, + 0x14, 0x1e, 0xfd, 0xad, 0xf8, 0xca, 0xaf, 0xde, 0x94, 0x0a, 0x93, 0xb2, 0x49, 0xcd, 0x65, 0x93, + 0x9e, 0x68, 0x4b, 0xe2, 0xb2, 0x12, 0x6f, 0x3c, 0x17, 0x78, 0xa3, 0x13, 0xf7, 0xd8, 0x02, 0x9e, + 0x6a, 0x9f, 0x9e, 0xb3, 0x15, 0xdc, 0x8c, 0xb7, 0x82, 0x8c, 0x9d, 0x52, 0x6a, 0x00, 0x7d, 0x58, + 0x94, 0x87, 0xc8, 0x5d, 0x98, 0x3f, 0x8a, 0xe4, 0xa8, 0x80, 0x67, 0x32, 0x7c, 0x68, 0x7c, 0xfe, + 0x62, 0x6e, 0x7e, 0x07, 0xa0, 0x76, 0xa9, 0x4d, 0x9e, 0xc2, 0x72, 0xe2, 0xed, 0x89, 0xdc, 0xc8, + 0x58, 0x33, 0xfd, 0xde, 0xa5, 0xfd, 0x7b, 0x12, 0x33, 0xea, 0x13, 0x0f, 0x56, 0x9f, 0xf4, 0x3a, + 0x9d, 0xe8, 0x63, 0xdb, 0xea, 0x37, 0xf1, 0x98, 0xd7, 0xf7, 0x3f, 0x19, 0xf3, 0xb3, 0x0c, 0xd9, + 0x5a, 0xff, 0x9d, 0xd8, 0x96, 0x7f, 0x07, 0x73, 0xd1, 0xbd, 0x9a, 0x2c, 0x47, 0x07, 0xa6, 0xc1, + 0x1b, 0x97, 0xb6, 0x12, 0x57, 0x50, 0x9f, 0xec, 0x01, 0xd4, 0xb1, 0x63, 0x50, 0x5b, 0x90, 0x2e, + 0x63, 0xa1, 0xd1, 0x30, 0xf3, 0xf0, 0xcf, 0x31, 0x16, 0xd4, 0x27, 0x0d, 0x58, 0x49, 0xde, 0x78, + 0x49, 0x99, 0x2f, 0x9c, 0x71, 0x1f, 0xd7, 0xae, 0xe4, 0x8c, 0x50, 0x9f, 0x6c, 0xc0, 0xfc, 0xe0, + 0x71, 0x88, 0x88, 0xc8, 0xa5, 0x07, 0x29, 0xed, 0x62, 0x42, 0x43, 0x7d, 0x72, 0x0f, 0x16, 0xe5, + 0xf7, 0x16, 0xb2, 0x3a, 0x3c, 0x30, 0x4a, 0xaf, 0x43, 0xda, 0xe5, 0x0c, 0xad, 0x08, 0x3b, 0xf9, + 0x2a, 0x12, 0x85, 0x9d, 0xf1, 0xfa, 0x12, 0x85, 0x9d, 0xf9, 0x8c, 0xd2, 0x80, 0x95, 0x46, 0xb6, + 0xa3, 0x46, 0xae, 0xa3, 0xc6, 0x19, 0x8e, 0x32, 0x12, 0x99, 0xf1, 0x0e, 0x20, 0x39, 0x4a, 0x25, + 0xb2, 0xce, 0x59, 0x2e, 0x5f, 0x85, 0xc9, 0x3f, 0x06, 0xd6, 0x89, 0xab, 0xb6, 0x56, 0xce, 0x1e, + 0xa0, 0x3e, 0x39, 0x82, 0xf5, 0xb3, 0x8e, 0x6b, 0xe4, 0xfa, 0x24, 0xc7, 0x73, 0xed, 0xc6, 0x04, + 0x56, 0xd4, 0x27, 0x5f, 0x42, 0xa5, 0x31, 0xb4, 0xc9, 0x6e, 0x51, 0xe4, 0xf6, 0x79, 0x1a, 0xbc, + 0x76, 0xe7, 0x1c, 0xd6, 0xd4, 0x27, 0xc7, 0xb0, 0xfe, 0xa0, 0xdd, 0xce, 0x47, 0x7b, 0x73, 0xc2, + 0xdb, 0xb1, 0x56, 0x9d, 0xcc, 0x90, 0xfa, 0xe4, 0x25, 0x5c, 0xab, 0x63, 0x07, 0x87, 0xd1, 0xbd, + 0x66, 0xc8, 0x5b, 0x57, 0x3f, 0xb9, 0xb2, 0xeb, 0xa3, 0x7b, 0xb0, 0x63, 0x48, 0x7f, 0x10, 0x75, + 0xa9, 0x7d, 0xaf, 0x4b, 0xed, 0x67, 0xb3, 0x5c, 0xfc, 0xff, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, + 0xde, 0xa4, 0x14, 0xcd, 0x89, 0x1a, 0x00, 0x00, } From 84df956293fd00260a13c864982e381dce937025 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 15:39:40 +0800 Subject: [PATCH 18/33] reaction message add expiration --- internal/api/msg/extend_msg.go | 7 ++----- pkg/base_info/msg.go | 5 +---- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index c397e5110..f46160bdc 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -19,7 +19,7 @@ func SetMessageReactionExtensions(c *gin.Context) { var ( req api.SetMessageReactionExtensionsCallbackReq resp api.SetMessageReactionExtensionsCallbackResp - reqPb rpc.ModifyMessageReactionExtensionsReq + reqPb rpc.SetMessageReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { @@ -57,8 +57,7 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.Result log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) @@ -152,8 +151,6 @@ func AddMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 4e6f0cbd6..fbd4373c2 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,10 +68,7 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - Data struct { - SuccessList []*msg.ExtendMsgResp `json:"successList,omitempty"` - FailedList []*msg.ExtendMsgResp `json:"failedList,omitempty"` - } `json:"data"` + Data []*msg.KeyValueResp `json:"data"` } type OperateMessageListReactionExtensionsReq struct { From 2b0a997573209b42b93a723b1863dd999e7b4009 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 16:52:36 +0800 Subject: [PATCH 19/33] reaction message add expiration --- internal/api/msg/extend_msg.go | 4 +++- internal/rpc/msg/extend_msg.go | 1 + pkg/base_info/msg.go | 6 +++++- pkg/proto/msg/msg.proto | 3 ++- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index f46160bdc..d4e1daeb4 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -57,7 +57,9 @@ func SetMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data = respPb.Result + resp.Data.ResultKeyValue = respPb.Result + resp.Data.MsgFirstModifyTime = reqPb.MsgFirstModifyTime + resp.Data.IsReact = reqPb.IsReact log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index b0d83959f..ee8d8d93b 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -50,6 +50,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } + rResp.IsReact = true _, err := db.DB.SetMessageReactionExpire(req.ClientMsgID, req.SessionType, time.Duration(24*3)*time.Hour) if err != nil { log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index fbd4373c2..30d9adfce 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -68,7 +68,11 @@ type ModifyMessageReactionExtensionsReq struct { type ModifyMessageReactionExtensionsResp struct { CommResp - Data []*msg.KeyValueResp `json:"data"` + Data struct { + ResultKeyValue []*msg.KeyValueResp `json:"result"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` + IsReact bool `json:"isReact"` + } `json:"data"` } type OperateMessageListReactionExtensionsReq struct { diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 3dd7391f8..c02824c86 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -185,7 +185,8 @@ message SetMessageReactionExtensionsResp { string errMsg = 2; string clientMsgID = 3; int64 msgFirstModifyTime = 4; - repeated KeyValueResp result = 5; + bool isReact = 5; + repeated KeyValueResp result = 6; } message ModifyMessageReactionExtensionsResp { From 8e95e8c4f88f68299e79dab21408a5192e6e3260 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 16:52:52 +0800 Subject: [PATCH 20/33] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 274 +++++++++++++++++++++------------------- 1 file changed, 141 insertions(+), 133 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index c0dc9e5c2..89d14cb63 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{0} + return fileDescriptor_msg_489179134d252ef4, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{1} + return fileDescriptor_msg_489179134d252ef4, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{2} + return fileDescriptor_msg_489179134d252ef4, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{3} + return fileDescriptor_msg_489179134d252ef4, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_e249cc2dfcfd259f, []int{4} + return fileDescriptor_msg_489179134d252ef4, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_e249cc2dfcfd259f, []int{5} + return fileDescriptor_msg_489179134d252ef4, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{6} + return fileDescriptor_msg_489179134d252ef4, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{7} + return fileDescriptor_msg_489179134d252ef4, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{8} + return fileDescriptor_msg_489179134d252ef4, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{9} + return fileDescriptor_msg_489179134d252ef4, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{10} + return fileDescriptor_msg_489179134d252ef4, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{11} + return fileDescriptor_msg_489179134d252ef4, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{12} + return fileDescriptor_msg_489179134d252ef4, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{13} + return fileDescriptor_msg_489179134d252ef4, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{14} + return fileDescriptor_msg_489179134d252ef4, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{15} + return fileDescriptor_msg_489179134d252ef4, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{16} + return fileDescriptor_msg_489179134d252ef4, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{17} + return fileDescriptor_msg_489179134d252ef4, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{18} + return fileDescriptor_msg_489179134d252ef4, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{19} + return fileDescriptor_msg_489179134d252ef4, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{20} + return fileDescriptor_msg_489179134d252ef4, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{21} + return fileDescriptor_msg_489179134d252ef4, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{22} + return fileDescriptor_msg_489179134d252ef4, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{23} + return fileDescriptor_msg_489179134d252ef4, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1450,7 +1450,8 @@ type SetMessageReactionExtensionsResp struct { ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` ClientMsgID string `protobuf:"bytes,3,opt,name=clientMsgID" json:"clientMsgID,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,4,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - Result []*KeyValueResp `protobuf:"bytes,5,rep,name=result" json:"result,omitempty"` + IsReact bool `protobuf:"varint,5,opt,name=isReact" json:"isReact,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,6,rep,name=result" json:"result,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1460,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{24} + return fileDescriptor_msg_489179134d252ef4, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1508,6 +1509,13 @@ func (m *SetMessageReactionExtensionsResp) GetMsgFirstModifyTime() int64 { return 0 } +func (m *SetMessageReactionExtensionsResp) GetIsReact() bool { + if m != nil { + return m.IsReact + } + return false +} + func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { if m != nil { return m.Result @@ -1529,7 +1537,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{25} + return fileDescriptor_msg_489179134d252ef4, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1594,7 +1602,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{26} + return fileDescriptor_msg_489179134d252ef4, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1666,7 +1674,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{26, 0} + return fileDescriptor_msg_489179134d252ef4, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1723,7 +1731,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{27} + return fileDescriptor_msg_489179134d252ef4, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1784,7 +1792,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{28} + return fileDescriptor_msg_489179134d252ef4, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1840,7 +1848,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{29} + return fileDescriptor_msg_489179134d252ef4, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1908,7 +1916,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_e249cc2dfcfd259f, []int{30} + return fileDescriptor_msg_489179134d252ef4, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2523,105 +2531,105 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_e249cc2dfcfd259f) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } -var fileDescriptor_msg_e249cc2dfcfd259f = []byte{ - // 1544 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, - 0x12, 0x07, 0x45, 0xcb, 0x7f, 0x46, 0x76, 0xec, 0x6c, 0x1c, 0x3f, 0x85, 0x31, 0x10, 0x3d, 0xbe, - 0xe4, 0x45, 0x79, 0x2f, 0x91, 0xf1, 0xfc, 0x0a, 0xa4, 0x68, 0x0e, 0x4d, 0x1c, 0xb9, 0x8a, 0x91, - 0xb2, 0x8e, 0x29, 0xb7, 0x05, 0xda, 0x83, 0xc3, 0x48, 0x63, 0x86, 0xb0, 0x44, 0xd2, 0x5c, 0x2a, - 0xb6, 0x5a, 0x34, 0x3d, 0xf5, 0x54, 0xf4, 0xd0, 0xde, 0x7a, 0xea, 0xad, 0xdf, 0xa1, 0xc7, 0x5e, - 0x7a, 0x2d, 0x7a, 0xed, 0xa7, 0x29, 0x76, 0x97, 0x92, 0x96, 0xff, 0x2c, 0x59, 0x29, 0x82, 0x14, - 0xe8, 0x4d, 0x33, 0x3b, 0x3b, 0x3b, 0xbf, 0x99, 0x1f, 0x77, 0x76, 0x57, 0xb0, 0xd4, 0xa5, 0xf6, - 0x46, 0x97, 0xda, 0x35, 0x3f, 0xf0, 0x42, 0x8f, 0xa8, 0x5d, 0x6a, 0x6b, 0xd5, 0x5d, 0x1f, 0xdd, - 0x3b, 0x3b, 0xc6, 0x9d, 0x26, 0x06, 0x2f, 0x30, 0xd8, 0xf0, 0x8f, 0xec, 0x0d, 0x3e, 0xbc, 0x41, - 0xdb, 0x47, 0x07, 0x27, 0x74, 0xe3, 0x84, 0x0a, 0x73, 0xad, 0x36, 0xd6, 0x32, 0xb0, 0x7c, 0x1f, - 0x83, 0xc8, 0x5e, 0xff, 0x1c, 0x4a, 0x06, 0xb5, 0xeb, 0x56, 0x68, 0xed, 0x7b, 0xc6, 0x1e, 0x59, - 0x85, 0x62, 0xe8, 0x1d, 0xa1, 0x5b, 0x56, 0x2a, 0x4a, 0x75, 0xc1, 0x14, 0x02, 0xa9, 0x40, 0xc9, - 0xf3, 0x31, 0xb0, 0x42, 0xc7, 0x73, 0x77, 0xea, 0xe5, 0x02, 0x1f, 0x93, 0x55, 0xe4, 0x2d, 0x98, - 0xeb, 0x0a, 0x37, 0x65, 0xb5, 0xa2, 0x54, 0x4b, 0x9b, 0x5a, 0x8d, 0xf2, 0x00, 0x0e, 0x2c, 0xdf, - 0x39, 0xf0, 0xad, 0xc0, 0xea, 0xd2, 0x5a, 0xb4, 0x90, 0x39, 0x30, 0xd5, 0x51, 0x5a, 0xbc, 0xbe, - 0x25, 0x3b, 0x51, 0x26, 0x76, 0x32, 0x3e, 0x38, 0xfd, 0x1b, 0x05, 0x96, 0x9f, 0xf4, 0xe8, 0x73, - 0x19, 0x68, 0x05, 0x4a, 0xbb, 0xd2, 0x2c, 0x01, 0x57, 0x56, 0xc9, 0xd1, 0x14, 0x26, 0x8f, 0x46, - 0x87, 0x45, 0xbf, 0x47, 0x9f, 0xef, 0x7b, 0x1f, 0x52, 0x0c, 0x76, 0xea, 0x3c, 0x1b, 0x0b, 0x66, - 0x4c, 0xa7, 0xff, 0xa8, 0x00, 0x19, 0xc5, 0xe2, 0xb9, 0xb6, 0xb7, 0xd5, 0x37, 0xf6, 0x48, 0x19, - 0xe6, 0x3a, 0x16, 0x0d, 0x9b, 0x78, 0xcc, 0xc3, 0x99, 0x31, 0x07, 0x22, 0xb9, 0x0e, 0x4b, 0x96, - 0x6d, 0x07, 0x68, 0xc7, 0x41, 0xc6, 0x95, 0x64, 0x13, 0x4a, 0x5d, 0xa4, 0xd4, 0xb2, 0xf1, 0x7d, - 0x87, 0x86, 0x65, 0xb5, 0xa2, 0x56, 0x4b, 0x9b, 0x2b, 0x35, 0x46, 0x25, 0x09, 0xb9, 0x29, 0x1b, - 0x91, 0x75, 0x58, 0x08, 0x03, 0xc7, 0xb6, 0x79, 0xac, 0x33, 0xdc, 0xeb, 0x48, 0xa1, 0x7f, 0x00, - 0xa4, 0x81, 0xa1, 0x61, 0x9d, 0x3e, 0x70, 0xdb, 0x86, 0xe3, 0x36, 0xf1, 0xd8, 0xc4, 0x63, 0xb2, - 0x06, 0xb3, 0x11, 0x38, 0x91, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x90, 0x4a, 0xa9, 0x7e, 0x02, 0x97, - 0x52, 0xfe, 0xa8, 0xcf, 0x80, 0x6f, 0x07, 0xc1, 0x43, 0xaf, 0x8d, 0xdc, 0x63, 0xd1, 0x1c, 0x88, - 0x6c, 0xa9, 0xed, 0x20, 0x30, 0xa8, 0x1d, 0x79, 0x8b, 0x24, 0xa6, 0x37, 0xac, 0x53, 0x96, 0x29, - 0x96, 0xdf, 0x25, 0x33, 0x92, 0xb8, 0x9e, 0xfb, 0xe5, 0x58, 0x98, 0x9e, 0x4b, 0xfa, 0x67, 0x00, - 0x4d, 0x74, 0xdb, 0x06, 0xb5, 0x19, 0x80, 0xd7, 0x4b, 0xf2, 0x1f, 0x14, 0x28, 0x0d, 0x17, 0x17, - 0x68, 0x31, 0x8e, 0x16, 0x47, 0x68, 0x31, 0x86, 0x56, 0x48, 0x2c, 0x32, 0xb1, 0x8e, 0x41, 0xed, - 0x61, 0x99, 0x64, 0x15, 0xb3, 0x68, 0x75, 0x1c, 0x74, 0x43, 0x61, 0x51, 0x14, 0x16, 0x92, 0x8a, - 0x68, 0x30, 0x4f, 0xd1, 0x6d, 0xef, 0x3b, 0x5d, 0x2c, 0xcf, 0x56, 0x94, 0xaa, 0x6a, 0x0e, 0x65, - 0xbd, 0x05, 0xa5, 0x87, 0x1d, 0xb4, 0x82, 0x28, 0x3d, 0x6b, 0x30, 0xdb, 0x8b, 0xd5, 0x57, 0x48, - 0xcc, 0x85, 0xe7, 0x47, 0x95, 0x17, 0x01, 0x0e, 0xe5, 0x64, 0xf2, 0xd4, 0xf4, 0x47, 0x78, 0x1f, - 0x16, 0x47, 0x8b, 0x4c, 0x93, 0x06, 0xfd, 0x7b, 0x05, 0x96, 0x9b, 0xc8, 0xf0, 0xc4, 0xb8, 0x98, - 0x19, 0x6b, 0x19, 0xe6, 0xec, 0xc0, 0xeb, 0xf9, 0xc3, 0x50, 0x07, 0x22, 0x9b, 0xd1, 0x15, 0x14, - 0x89, 0xa8, 0x23, 0xa4, 0x24, 0x82, 0x99, 0x74, 0xf9, 0x65, 0xfc, 0xc5, 0x38, 0x7e, 0xbd, 0x0e, - 0x2b, 0xf1, 0xd0, 0xa6, 0x42, 0xb8, 0x0b, 0x97, 0x9a, 0x18, 0x46, 0x64, 0x69, 0x86, 0x56, 0xd8, - 0xa3, 0x66, 0x3a, 0x34, 0x25, 0x1d, 0xda, 0x1a, 0xcc, 0x52, 0x6e, 0xce, 0x1d, 0x16, 0xcd, 0x48, - 0xd2, 0x1f, 0xc1, 0x6a, 0xda, 0xe1, 0x54, 0xa1, 0xdd, 0xe5, 0x9f, 0xee, 0xf9, 0x43, 0xd3, 0x9f, - 0xc2, 0x6a, 0xe3, 0x4f, 0x09, 0x41, 0x02, 0xa9, 0xc6, 0x40, 0x7e, 0xa5, 0xc0, 0xa5, 0x3a, 0x76, - 0x9a, 0x3d, 0x1f, 0x83, 0x06, 0xab, 0x72, 0xc4, 0x63, 0xb9, 0x5e, 0x4a, 0x82, 0xaf, 0x23, 0xde, - 0x14, 0xf2, 0x78, 0xa3, 0xc6, 0x79, 0x33, 0x96, 0x1f, 0x2c, 0xd9, 0xe9, 0x30, 0xa6, 0x4a, 0x76, - 0x4b, 0x24, 0x3b, 0x09, 0x68, 0x3c, 0x0f, 0x56, 0x40, 0x65, 0xcc, 0x2e, 0x70, 0x66, 0xb3, 0x9f, - 0xf9, 0x80, 0xf4, 0x97, 0xa2, 0x30, 0xaf, 0x1e, 0xee, 0x94, 0xfb, 0xe2, 0x23, 0xde, 0x5c, 0x3e, - 0x0e, 0x9c, 0x10, 0xeb, 0xce, 0xe1, 0xe1, 0xf4, 0x18, 0xf5, 0x2f, 0x78, 0xba, 0xe2, 0x9e, 0x5e, - 0x23, 0x90, 0x6f, 0x8b, 0xa0, 0x1b, 0x5e, 0xdb, 0x39, 0xec, 0x1b, 0xa2, 0xb3, 0x9a, 0x68, 0xb5, - 0x58, 0xb0, 0xdb, 0xa7, 0x21, 0xba, 0xd4, 0xf1, 0xdc, 0x09, 0xbf, 0x62, 0xb6, 0x47, 0x7b, 0xbd, - 0xa0, 0x85, 0xa3, 0x0d, 0x76, 0x20, 0xc7, 0xc8, 0xac, 0xa6, 0x37, 0x5f, 0x8a, 0x94, 0x2d, 0xb4, - 0xdf, 0xf7, 0x91, 0x53, 0xb3, 0x68, 0xca, 0x2a, 0x72, 0x0a, 0x97, 0x83, 0x64, 0x50, 0xfc, 0x90, - 0x50, 0xe4, 0x87, 0x84, 0x2d, 0x71, 0x48, 0x18, 0x8b, 0xa1, 0x66, 0x66, 0x39, 0xd9, 0x76, 0xc3, - 0xa0, 0x6f, 0x66, 0x2f, 0x90, 0xec, 0x4c, 0xb3, 0xe9, 0xce, 0x74, 0x1b, 0x0a, 0x78, 0x5a, 0x9e, - 0xe3, 0xf9, 0x5e, 0xaf, 0xd9, 0x9e, 0x67, 0x77, 0x50, 0x1c, 0x4e, 0x9f, 0xf5, 0x0e, 0x6b, 0xcd, - 0x30, 0x70, 0x5c, 0xfb, 0x23, 0xab, 0xd3, 0x43, 0xb3, 0x80, 0xa7, 0xe4, 0x3e, 0x2c, 0x5a, 0x61, - 0x68, 0xb5, 0x9e, 0x63, 0x7b, 0xc7, 0x3d, 0xf4, 0xca, 0xf3, 0x13, 0xcc, 0x8b, 0xcd, 0x60, 0xb4, - 0x70, 0x28, 0x07, 0x52, 0x5e, 0xa8, 0x28, 0xd5, 0x79, 0x73, 0x20, 0x92, 0x4d, 0x58, 0x75, 0x28, - 0x0b, 0x3f, 0x70, 0xad, 0xce, 0x08, 0x78, 0x19, 0xb8, 0x59, 0xe6, 0x18, 0xa9, 0x01, 0xe9, 0x52, - 0xfb, 0x3d, 0x27, 0xa0, 0xa1, 0xc8, 0x1f, 0xef, 0xb0, 0x25, 0xde, 0x61, 0x33, 0x46, 0x34, 0x04, - 0x2d, 0x3f, 0x89, 0x8c, 0xdb, 0x47, 0xd8, 0x8f, 0xb8, 0xc1, 0x7e, 0x92, 0xff, 0x41, 0xf1, 0x05, - 0x03, 0x11, 0x9d, 0x41, 0xaf, 0x66, 0x10, 0xf2, 0x31, 0xf6, 0x05, 0x4e, 0x61, 0xf9, 0x4e, 0xe1, - 0x6d, 0x45, 0xff, 0xba, 0x08, 0xd7, 0x58, 0x43, 0x7a, 0x53, 0x09, 0xd9, 0x3b, 0x9b, 0x90, 0xef, - 0x72, 0x42, 0x8e, 0x01, 0xf0, 0x37, 0x1b, 0xff, 0x2a, 0x6c, 0xfc, 0x4d, 0x81, 0xca, 0xd9, 0xc5, - 0x9c, 0xf6, 0x5c, 0x2c, 0x57, 0x53, 0x4d, 0x57, 0x33, 0x3b, 0x1f, 0x33, 0x79, 0xf9, 0x20, 0xb7, - 0x60, 0x36, 0x40, 0xda, 0xeb, 0x0c, 0x78, 0x78, 0x91, 0xf3, 0x70, 0x08, 0x09, 0xa9, 0x6f, 0x46, - 0x06, 0xfa, 0xcf, 0x0a, 0xfc, 0x6b, 0xec, 0x8e, 0x39, 0x65, 0x17, 0x2a, 0xd1, 0x5e, 0xab, 0x85, - 0x94, 0x4a, 0xf7, 0x38, 0xc2, 0x23, 0xe1, 0xbe, 0x07, 0x37, 0x09, 0x53, 0x36, 0x23, 0x9b, 0x00, - 0x87, 0x96, 0xd3, 0xc1, 0x36, 0x9f, 0x34, 0x93, 0x3b, 0x49, 0xb2, 0xd2, 0x7f, 0x57, 0xe1, 0xa6, - 0xb8, 0x9f, 0xa1, 0x31, 0xba, 0x14, 0xbe, 0xc2, 0x6e, 0x91, 0x7b, 0x3f, 0x90, 0x77, 0x12, 0x35, - 0xb1, 0x93, 0x8c, 0xdf, 0x2d, 0x4e, 0x60, 0xad, 0x1b, 0x4f, 0xf2, 0x63, 0xec, 0xa7, 0xb6, 0x8b, - 0x09, 0x91, 0xd4, 0x8c, 0x94, 0x2b, 0x33, 0xc7, 0xbd, 0xf6, 0x13, 0xbb, 0xa9, 0xa7, 0x86, 0x92, - 0xc4, 0x53, 0x26, 0x25, 0x5e, 0x21, 0x97, 0x78, 0x7b, 0x79, 0xfb, 0xa1, 0xa8, 0xfe, 0x99, 0x1f, - 0x5a, 0xf6, 0x4c, 0xfd, 0x17, 0x05, 0xaa, 0x93, 0xa5, 0xe4, 0x0d, 0x67, 0xa9, 0x07, 0x4b, 0xb1, - 0x41, 0x72, 0x1b, 0x16, 0x70, 0xa0, 0x88, 0x5e, 0x8a, 0x2e, 0x24, 0x7c, 0x8c, 0x0c, 0x64, 0x68, - 0x85, 0x3c, 0x68, 0x6a, 0xec, 0xf8, 0xfd, 0x6b, 0x01, 0x16, 0x86, 0xae, 0xc8, 0x41, 0x5e, 0x69, - 0x14, 0x1e, 0xfd, 0xad, 0xf8, 0xca, 0xaf, 0xde, 0x94, 0x0a, 0x93, 0xb2, 0x49, 0xcd, 0x65, 0x93, - 0x9e, 0x68, 0x4b, 0xe2, 0xb2, 0x12, 0x6f, 0x3c, 0x17, 0x78, 0xa3, 0x13, 0xf7, 0xd8, 0x02, 0x9e, - 0x6a, 0x9f, 0x9e, 0xb3, 0x15, 0xdc, 0x8c, 0xb7, 0x82, 0x8c, 0x9d, 0x52, 0x6a, 0x00, 0x7d, 0x58, - 0x94, 0x87, 0xc8, 0x5d, 0x98, 0x3f, 0x8a, 0xe4, 0xa8, 0x80, 0x67, 0x32, 0x7c, 0x68, 0x7c, 0xfe, - 0x62, 0x6e, 0x7e, 0x07, 0xa0, 0x76, 0xa9, 0x4d, 0x9e, 0xc2, 0x72, 0xe2, 0xed, 0x89, 0xdc, 0xc8, - 0x58, 0x33, 0xfd, 0xde, 0xa5, 0xfd, 0x7b, 0x12, 0x33, 0xea, 0x13, 0x0f, 0x56, 0x9f, 0xf4, 0x3a, - 0x9d, 0xe8, 0x63, 0xdb, 0xea, 0x37, 0xf1, 0x98, 0xd7, 0xf7, 0x3f, 0x19, 0xf3, 0xb3, 0x0c, 0xd9, - 0x5a, 0xff, 0x9d, 0xd8, 0x96, 0x7f, 0x07, 0x73, 0xd1, 0xbd, 0x9a, 0x2c, 0x47, 0x07, 0xa6, 0xc1, - 0x1b, 0x97, 0xb6, 0x12, 0x57, 0x50, 0x9f, 0xec, 0x01, 0xd4, 0xb1, 0x63, 0x50, 0x5b, 0x90, 0x2e, - 0x63, 0xa1, 0xd1, 0x30, 0xf3, 0xf0, 0xcf, 0x31, 0x16, 0xd4, 0x27, 0x0d, 0x58, 0x49, 0xde, 0x78, - 0x49, 0x99, 0x2f, 0x9c, 0x71, 0x1f, 0xd7, 0xae, 0xe4, 0x8c, 0x50, 0x9f, 0x6c, 0xc0, 0xfc, 0xe0, - 0x71, 0x88, 0x88, 0xc8, 0xa5, 0x07, 0x29, 0xed, 0x62, 0x42, 0x43, 0x7d, 0x72, 0x0f, 0x16, 0xe5, - 0xf7, 0x16, 0xb2, 0x3a, 0x3c, 0x30, 0x4a, 0xaf, 0x43, 0xda, 0xe5, 0x0c, 0xad, 0x08, 0x3b, 0xf9, - 0x2a, 0x12, 0x85, 0x9d, 0xf1, 0xfa, 0x12, 0x85, 0x9d, 0xf9, 0x8c, 0xd2, 0x80, 0x95, 0x46, 0xb6, - 0xa3, 0x46, 0xae, 0xa3, 0xc6, 0x19, 0x8e, 0x32, 0x12, 0x99, 0xf1, 0x0e, 0x20, 0x39, 0x4a, 0x25, - 0xb2, 0xce, 0x59, 0x2e, 0x5f, 0x85, 0xc9, 0x3f, 0x06, 0xd6, 0x89, 0xab, 0xb6, 0x56, 0xce, 0x1e, - 0xa0, 0x3e, 0x39, 0x82, 0xf5, 0xb3, 0x8e, 0x6b, 0xe4, 0xfa, 0x24, 0xc7, 0x73, 0xed, 0xc6, 0x04, - 0x56, 0xd4, 0x27, 0x5f, 0x42, 0xa5, 0x31, 0xb4, 0xc9, 0x6e, 0x51, 0xe4, 0xf6, 0x79, 0x1a, 0xbc, - 0x76, 0xe7, 0x1c, 0xd6, 0xd4, 0x27, 0xc7, 0xb0, 0xfe, 0xa0, 0xdd, 0xce, 0x47, 0x7b, 0x73, 0xc2, - 0xdb, 0xb1, 0x56, 0x9d, 0xcc, 0x90, 0xfa, 0xe4, 0x25, 0x5c, 0xab, 0x63, 0x07, 0x87, 0xd1, 0xbd, - 0x66, 0xc8, 0x5b, 0x57, 0x3f, 0xb9, 0xb2, 0xeb, 0xa3, 0x7b, 0xb0, 0x63, 0x48, 0x7f, 0x10, 0x75, - 0xa9, 0x7d, 0xaf, 0x4b, 0xed, 0x67, 0xb3, 0x5c, 0xfc, 0xff, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, - 0xde, 0xa4, 0x14, 0xcd, 0x89, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_489179134d252ef4 = []byte{ + // 1548 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, + 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, + 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, + 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, + 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, + 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, + 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, + 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, + 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, + 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, + 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, + 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, + 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, + 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, + 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, + 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, + 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, + 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, + 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, + 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, + 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, + 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, + 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, + 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, + 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, + 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, + 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, + 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, + 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, + 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, + 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, + 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, + 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, + 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, + 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, + 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, + 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, + 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, + 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, + 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, + 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, + 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, + 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, + 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, + 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, + 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, + 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, + 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, + 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, + 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, + 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, + 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, + 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, + 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, + 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, + 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, + 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, + 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, + 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, + 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, + 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, + 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, + 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, + 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, + 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, + 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, + 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, + 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, + 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, + 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, + 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, + 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, + 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, + 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, + 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, + 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, + 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, + 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, + 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, + 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, + 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, + 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, + 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, + 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, + 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, + 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, + 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, + 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, + 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, + 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, + 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, + 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, + 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, + 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, + 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, + 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, + 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, } From 63d75bb68bf26ae057822745c247402267a57a6f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 17:36:12 +0800 Subject: [PATCH 21/33] reaction message add expiration --- internal/rpc/msg/extend_msg.notification.go | 19 ++++++++++++++++--- pkg/base_info/msg.go | 11 +++++++++++ pkg/proto/sdk_ws/ws.proto | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index cf91463cd..0c8b3b126 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/base_info" "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/log" @@ -14,9 +15,21 @@ import ( func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { - m := make(map[string]interface{}) - m["rep"] = req - m["resp"] = resp + var m base_info.ReactionMessageModifierNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.SessionType = req.SessionType + keyMap := make(map[string]*open_im_sdk.KeyValue) + for _, valueResp := range resp.Result { + if valueResp.ErrCode == 0 { + keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue + } + } + m.SuccessReactionExtensionList = keyMap + m.ClientMsgID = req.ClientMsgID + m.IsReact = resp.IsReact + m.IsExternalExtensions = req.IsExternalExtensions + m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) } func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 30d9adfce..bf02d311f 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -105,3 +105,14 @@ type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp + +type ReactionMessageModifierNotification struct { + SourceID string `json:"sourceID" binding:"required"` + OpUserID string `json:"opUserID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + SuccessReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/proto/sdk_ws/ws.proto b/pkg/proto/sdk_ws/ws.proto index b0b531f8f..3ead6360c 100644 --- a/pkg/proto/sdk_ws/ws.proto +++ b/pkg/proto/sdk_ws/ws.proto @@ -729,3 +729,5 @@ message KeyValue { int64 latestUpdateTime = 3; } + + From 25871aea49811784854587d1632c8ad4c11817c6 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 19:15:31 +0800 Subject: [PATCH 22/33] reaction message add expiration --- internal/api/msg/extend_msg.go | 7 ++- internal/rpc/msg/extend_msg.go | 93 +++++++++++++--------------------- pkg/base_info/msg.go | 13 +++-- pkg/common/db/RedisModel.go | 6 +++ pkg/proto/msg/msg.proto | 34 +++++++++++-- 5 files changed, 83 insertions(+), 70 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index d4e1daeb4..62282fca1 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -69,7 +69,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { var ( req api.GetMessageListReactionExtensionsReq resp api.GetMessageListReactionExtensionsResp - reqPb rpc.OperateMessageListReactionExtensionsReq + reqPb rpc.GetMessageListReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) @@ -106,8 +106,7 @@ func GetMessageListReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.SingleMessageResult log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } @@ -161,7 +160,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { var ( req api.DeleteMessageReactionExtensionsReq resp api.DeleteMessageReactionExtensionsResp - reqPb rpc.OperateMessageListReactionExtensionsReq + reqPb rpc.DeleteMessageListReactionExtensionsReq ) if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index ee8d8d93b..af4d042bc 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -95,7 +95,6 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) } else { ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) - } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -110,61 +109,41 @@ func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, er _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } -func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { - //for _, messageValue := range req.MessageReactionKeyList { - // isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID,req.SessionType) - // if err != nil { - // - // } - // var failedList []*msg.ExtendMsgResp - // var successList []*msg.ExtendMsgResp - // var oneExtendMsg msg.ExtendMsg - // oneExtendMsg.ClientMsgID = req.ClientMsgID - // oneFailedReactionExtensionList:=make(map[string]*msg.KeyValueResp) - // oneSuccessReactionExtensionList:=make(map[string]*msg.KeyValueResp) - // if !isExists { - // if !req.IsReact { - // oneExtendMsg.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() - // //redis处理 - // for k, v := range req.ReactionExtensionList { - // //抢占分布式锁 - // err:=lockMessageTypeKey(req.ClientMsgID,k) - // if err != nil { - // setKeyResultInfo(oneFailedReactionExtensionList,100,err.Error(),req.ClientMsgID,k,v) - // continue - // } - // redisValue,err:=db.DB.GetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k) - // if err != nil&&err!=go_redis.Nil { - // setKeyResultInfo(oneFailedReactionExtensionList,200,err.Error(),req.ClientMsgID,k,v) - // continue - // } - // temp:=new(server_api_params.KeyValue) - // utils.JsonStringToStruct(redisValue,temp) - // if v.LatestUpdateTime != temp.LatestUpdateTime { - // setKeyResultInfo(oneFailedReactionExtensionList,300,"message have update",req.ClientMsgID,k,temp) - // continue - // }else{ - // v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - // newerr:=db.DB.SetMessageTypeKeyValue(req.ClientMsgID,req.SessionType,k,utils.StructToJsonString(v)) - // if newerr != nil { - // setKeyResultInfo(oneFailedReactionExtensionList,201,newerr.Error(),req.ClientMsgID,k,temp) - // continue - // } - // setKeyResultInfo(oneSuccessReactionExtensionList,0,"",req.ClientMsgID,k,v) - // } - // - // } - // - // }else{ - // //mongo处理 - // } - // - // }else{ - // - // } - // return - //} - return +func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.GetMessageListReactionExtensionsReq) (resp *msg.GetMessageListReactionExtensionsResp, err error) { + var rResp msg.GetMessageListReactionExtensionsResp + for _, messageValue := range req.MessageReactionKeyList { + var oneMessage msg.SingleMessageExtensionResult + oneMessage.ClientMsgID = messageValue.ClientMsgID + + isExists, err := db.DB.JudgeMessageReactionEXISTS(messageValue.ClientMsgID, req.SessionType) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + return &rResp, nil + } + if isExists { + redisValue, err := db.DB.GetOneMessageAllReactionList(messageValue.ClientMsgID, req.SessionType) + if err != nil { + oneMessage.ErrCode = 100 + oneMessage.ErrMsg = err.Error() + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + continue + } + keyMap := make(map[string]*server_api_params.KeyValue) + + for k, v := range redisValue { + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(v, temp) + keyMap[k] = temp + } + oneMessage.ReactionExtensionList = keyMap + + } else { + + } + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + } + return &rResp, nil } @@ -172,7 +151,7 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M return } -func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.OperateMessageListReactionExtensionsReq) (resp *msg.OperateMessageListReactionExtensionsResp, err error) { +func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { return } func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index bf02d311f..d71b4b5be 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -76,10 +76,10 @@ type ModifyMessageReactionExtensionsResp struct { } type OperateMessageListReactionExtensionsReq struct { - OperationID string `json:"operationID" binding:"required"` - SourceID string `json:"sourceID" binding:"required"` - SessionType string `json:"sessionType" binding:"required"` - MessageReactionKeyList []*msg.OperateMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType string `json:"sessionType" binding:"required"` + MessageReactionKeyList []*msg.GetMessageListReactionExtensionsReq_MessageReactionKey `json:"messageReactionKeyList" binding:"required"` } type OperateMessageListReactionExtensionsResp struct { @@ -96,7 +96,10 @@ type SetMessageReactionExtensionsCallbackResp ModifyMessageReactionExtensionsRes type GetMessageListReactionExtensionsReq OperateMessageListReactionExtensionsReq -type GetMessageListReactionExtensionsResp OperateMessageListReactionExtensionsResp +type GetMessageListReactionExtensionsResp struct { + CommResp + Data []*msg.SingleMessageExtensionResult `json:"data"` +} type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 6a2286b15..b9692cf1d 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -447,6 +447,12 @@ func (d *DataBases) JudgeMessageReactionEXISTS(clientMsgID string, sessionType i return false, err } } + +func (d *DataBases) GetOneMessageAllReactionList(clientMsgID string, sessionType int32) (map[string]string, error) { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HGetAll(context.Background(), key).Result() + +} func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) return d.RDB.Expire(context.Background(), key, expiration).Result() diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index c02824c86..87fac4775 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -189,6 +189,32 @@ message SetMessageReactionExtensionsResp { repeated KeyValueResp result = 6; } + +message GetMessageListReactionExtensionsReq { + string operationID = 1; + string opUserID = 2; + string sourceID = 3; + int32 sessionType = 4; + message MessageReactionKey { + string clientMsgID = 1; + int64 msgFirstModifyTime = 2; + } + repeated MessageReactionKey messageReactionKeyList = 5; +} +message GetMessageListReactionExtensionsResp{ + int32 errCode = 1; + string errMsg = 2; + repeated SingleMessageExtensionResult singleMessageResult =3; + +} +message SingleMessageExtensionResult { + int32 errCode = 1; + string errMsg = 2; + map reactionExtensionList = 3; + string clientMsgID = 4; +} + + message ModifyMessageReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; @@ -196,7 +222,7 @@ message ModifyMessageReactionExtensionsResp { repeated ExtendMsgResp failedList = 4; } -message OperateMessageListReactionExtensionsReq { +message DeleteMessageListReactionExtensionsReq { string operationID = 1; string opUserID = 2; string sourceID = 3; @@ -209,7 +235,7 @@ message OperateMessageListReactionExtensionsReq { repeated MessageReactionKey messageReactionKeyList = 5; } -message OperateMessageListReactionExtensionsResp { +message DeleteMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; repeated ExtendMsgResp successList = 3; @@ -251,7 +277,7 @@ service msg { // modify msg rpc SetMessageReactionExtensions(SetMessageReactionExtensionsReq) returns(SetMessageReactionExtensionsResp); - rpc GetMessageListReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc GetMessageListReactionExtensions(GetMessageListReactionExtensionsReq) returns(GetMessageListReactionExtensionsResp); rpc AddMessageReactionExtensions(ModifyMessageReactionExtensionsReq) returns(ModifyMessageReactionExtensionsResp); - rpc DeleteMessageReactionExtensions(OperateMessageListReactionExtensionsReq) returns(OperateMessageListReactionExtensionsResp); + rpc DeleteMessageReactionExtensions(DeleteMessageListReactionExtensionsReq) returns(DeleteMessageListReactionExtensionsResp); } From 21dcb55c82c3c5e412ce3c2fbe0ab18cbb77584f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 19:15:42 +0800 Subject: [PATCH 23/33] reaction message add expiration --- pkg/proto/msg/msg.pb.go | 683 +++++++++++++++++++++++++++------------- 1 file changed, 465 insertions(+), 218 deletions(-) diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 89d14cb63..1aa56b4ac 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{0} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{1} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{2} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{3} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_489179134d252ef4, []int{4} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_489179134d252ef4, []int{5} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{6} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{7} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{8} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{9} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{10} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{11} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{12} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{13} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{14} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{15} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{16} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{17} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{18} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{19} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{20} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{21} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{22} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{23} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{24} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1523,6 +1523,242 @@ func (m *SetMessageReactionExtensionsResp) GetResult() []*KeyValueResp { return nil } +type GetMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*GetMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageListReactionExtensionsReq{} } +func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} +func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{25} +} +func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsReq.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsReq.Size(m) +} +func (m *GetMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsReq proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetSourceID() string { + if m != nil { + return m.SourceID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq) GetSessionType() int32 { + if m != nil { + return m.SessionType + } + return 0 +} + +func (m *GetMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*GetMessageListReactionExtensionsReq_MessageReactionKey { + if m != nil { + return m.MessageReactionKeyList + } + return nil +} + +type GetMessageListReactionExtensionsReq_MessageReactionKey struct { + ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = GetMessageListReactionExtensionsReq_MessageReactionKey{} +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string { + return proto.CompactTextString(m) +} +func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{25, 0} +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +} +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + +func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { + if m != nil { + return m.MsgFirstModifyTime + } + return 0 +} + +type GetMessageListReactionExtensionsResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + SingleMessageResult []*SingleMessageExtensionResult `protobuf:"bytes,3,rep,name=singleMessageResult" json:"singleMessageResult,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessageListReactionExtensionsResp{} } +func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} +func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{26} +} +func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) +} +func (m *GetMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +} +func (dst *GetMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetMessageListReactionExtensionsResp.Merge(dst, src) +} +func (m *GetMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_GetMessageListReactionExtensionsResp.Size(m) +} +func (m *GetMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetMessageListReactionExtensionsResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetMessageListReactionExtensionsResp proto.InternalMessageInfo + +func (m *GetMessageListReactionExtensionsResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *GetMessageListReactionExtensionsResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *GetMessageListReactionExtensionsResp) GetSingleMessageResult() []*SingleMessageExtensionResult { + if m != nil { + return m.SingleMessageResult + } + return nil +} + +type SingleMessageExtensionResult struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ClientMsgID string `protobuf:"bytes,4,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExtensionResult{} } +func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } +func (*SingleMessageExtensionResult) ProtoMessage() {} +func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{27} +} +func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) +} +func (m *SingleMessageExtensionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SingleMessageExtensionResult.Marshal(b, m, deterministic) +} +func (dst *SingleMessageExtensionResult) XXX_Merge(src proto.Message) { + xxx_messageInfo_SingleMessageExtensionResult.Merge(dst, src) +} +func (m *SingleMessageExtensionResult) XXX_Size() int { + return xxx_messageInfo_SingleMessageExtensionResult.Size(m) +} +func (m *SingleMessageExtensionResult) XXX_DiscardUnknown() { + xxx_messageInfo_SingleMessageExtensionResult.DiscardUnknown(m) +} + +var xxx_messageInfo_SingleMessageExtensionResult proto.InternalMessageInfo + +func (m *SingleMessageExtensionResult) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *SingleMessageExtensionResult) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + +func (m *SingleMessageExtensionResult) GetReactionExtensionList() map[string]*sdk_ws.KeyValue { + if m != nil { + return m.ReactionExtensionList + } + return nil +} + +func (m *SingleMessageExtensionResult) GetClientMsgID() string { + if m != nil { + return m.ClientMsgID + } + return "" +} + type ModifyMessageReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` @@ -1537,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{25} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1585,79 +1821,79 @@ func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { return nil } -type OperateMessageListReactionExtensionsReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` - SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - MessageReactionKeyList []*OperateMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` +type DeleteMessageListReactionExtensionsReq struct { + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + MessageReactionKeyList []*DeleteMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsReq) Reset() { - *m = OperateMessageListReactionExtensionsReq{} +func (m *DeleteMessageListReactionExtensionsReq) Reset() { + *m = DeleteMessageListReactionExtensionsReq{} } -func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26} +func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } +func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{29} } -func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsReq.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsReq) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Size(m) +func (m *DeleteMessageListReactionExtensionsReq) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Size(m) } -func (m *OperateMessageListReactionExtensionsReq) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsReq.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsReq proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsReq proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsReq) GetOperationID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetOperationID() string { if m != nil { return m.OperationID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetOpUserID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetOpUserID() string { if m != nil { return m.OpUserID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSourceID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetSourceID() string { if m != nil { return m.SourceID } return "" } -func (m *OperateMessageListReactionExtensionsReq) GetSessionType() int32 { +func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { if m != nil { return m.SessionType } return 0 } -func (m *OperateMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*OperateMessageListReactionExtensionsReq_MessageReactionKey { +func (m *DeleteMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*DeleteMessageListReactionExtensionsReq_MessageReactionKey { if m != nil { return m.MessageReactionKeyList } return nil } -type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { +type DeleteMessageListReactionExtensionsReq_MessageReactionKey struct { ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` @@ -1666,56 +1902,56 @@ type OperateMessageListReactionExtensionsReq_MessageReactionKey struct { XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) Reset() { - *m = OperateMessageListReactionExtensionsReq_MessageReactionKey{} +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) Reset() { + *m = DeleteMessageListReactionExtensionsReq_MessageReactionKey{} } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() string { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26, 0} +func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{29, 0} } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Size(m) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Size(m) } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { if m != nil { return m.ClientMsgID } return "" } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime } return 0 } -func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { +func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { if m != nil { return m.ReactionExtensionList } return nil } -type OperateMessageListReactionExtensionsResp struct { +type DeleteMessageListReactionExtensionsResp struct { ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` @@ -1725,54 +1961,54 @@ type OperateMessageListReactionExtensionsResp struct { XXX_sizecache int32 `json:"-"` } -func (m *OperateMessageListReactionExtensionsResp) Reset() { - *m = OperateMessageListReactionExtensionsResp{} +func (m *DeleteMessageListReactionExtensionsResp) Reset() { + *m = DeleteMessageListReactionExtensionsResp{} } -func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } -func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} -func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{27} +func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } +func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} +func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_32af573ca8e8e2bd, []int{30} } -func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) } -func (m *OperateMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Marshal(b, m, deterministic) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Marshal(b, m, deterministic) } -func (dst *OperateMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { - xxx_messageInfo_OperateMessageListReactionExtensionsResp.Merge(dst, src) +func (dst *DeleteMessageListReactionExtensionsResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Merge(dst, src) } -func (m *OperateMessageListReactionExtensionsResp) XXX_Size() int { - return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Size(m) +func (m *DeleteMessageListReactionExtensionsResp) XXX_Size() int { + return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Size(m) } -func (m *OperateMessageListReactionExtensionsResp) XXX_DiscardUnknown() { - xxx_messageInfo_OperateMessageListReactionExtensionsResp.DiscardUnknown(m) +func (m *DeleteMessageListReactionExtensionsResp) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteMessageListReactionExtensionsResp.DiscardUnknown(m) } -var xxx_messageInfo_OperateMessageListReactionExtensionsResp proto.InternalMessageInfo +var xxx_messageInfo_DeleteMessageListReactionExtensionsResp proto.InternalMessageInfo -func (m *OperateMessageListReactionExtensionsResp) GetErrCode() int32 { +func (m *DeleteMessageListReactionExtensionsResp) GetErrCode() int32 { if m != nil { return m.ErrCode } return 0 } -func (m *OperateMessageListReactionExtensionsResp) GetErrMsg() string { +func (m *DeleteMessageListReactionExtensionsResp) GetErrMsg() string { if m != nil { return m.ErrMsg } return "" } -func (m *OperateMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { if m != nil { return m.SuccessList } return nil } -func (m *OperateMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { if m != nil { return m.FailedList } @@ -1792,7 +2028,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{28} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1848,7 +2084,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{29} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1916,7 +2152,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{30} + return fileDescriptor_msg_32af573ca8e8e2bd, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1985,10 +2221,15 @@ func init() { proto.RegisterType((*SetMessageReactionExtensionsReq)(nil), "msg.SetMessageReactionExtensionsReq") proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SetMessageReactionExtensionsReq.ReactionExtensionListEntry") proto.RegisterType((*SetMessageReactionExtensionsResp)(nil), "msg.SetMessageReactionExtensionsResp") + proto.RegisterType((*GetMessageListReactionExtensionsReq)(nil), "msg.GetMessageListReactionExtensionsReq") + proto.RegisterType((*GetMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.GetMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*GetMessageListReactionExtensionsResp)(nil), "msg.GetMessageListReactionExtensionsResp") + proto.RegisterType((*SingleMessageExtensionResult)(nil), "msg.SingleMessageExtensionResult") + proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SingleMessageExtensionResult.ReactionExtensionListEntry") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") - proto.RegisterType((*OperateMessageListReactionExtensionsReq)(nil), "msg.OperateMessageListReactionExtensionsReq") - proto.RegisterType((*OperateMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.OperateMessageListReactionExtensionsReq.MessageReactionKey") - proto.RegisterType((*OperateMessageListReactionExtensionsResp)(nil), "msg.OperateMessageListReactionExtensionsResp") + proto.RegisterType((*DeleteMessageListReactionExtensionsReq)(nil), "msg.DeleteMessageListReactionExtensionsReq") + proto.RegisterType((*DeleteMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.DeleteMessageListReactionExtensionsReq.MessageReactionKey") + proto.RegisterType((*DeleteMessageListReactionExtensionsResp)(nil), "msg.DeleteMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") @@ -2019,9 +2260,9 @@ type MsgClient interface { GetWriteDiffMsg(ctx context.Context, in *GetWriteDiffMsgReq, opts ...grpc.CallOption) (*GetWriteDiffMsgResp, error) // modify msg SetMessageReactionExtensions(ctx context.Context, in *SetMessageReactionExtensionsReq, opts ...grpc.CallOption) (*SetMessageReactionExtensionsResp, error) - GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + GetMessageListReactionExtensions(ctx context.Context, in *GetMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*GetMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(ctx context.Context, in *ModifyMessageReactionExtensionsReq, opts ...grpc.CallOption) (*ModifyMessageReactionExtensionsResp, error) - DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) + DeleteMessageReactionExtensions(ctx context.Context, in *DeleteMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*DeleteMessageListReactionExtensionsResp, error) } type msgClient struct { @@ -2140,8 +2381,8 @@ func (c *msgClient) SetMessageReactionExtensions(ctx context.Context, in *SetMes return out, nil } -func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { - out := new(OperateMessageListReactionExtensionsResp) +func (c *msgClient) GetMessageListReactionExtensions(ctx context.Context, in *GetMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*GetMessageListReactionExtensionsResp, error) { + out := new(GetMessageListReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/GetMessageListReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2158,8 +2399,8 @@ func (c *msgClient) AddMessageReactionExtensions(ctx context.Context, in *Modify return out, nil } -func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *OperateMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*OperateMessageListReactionExtensionsResp, error) { - out := new(OperateMessageListReactionExtensionsResp) +func (c *msgClient) DeleteMessageReactionExtensions(ctx context.Context, in *DeleteMessageListReactionExtensionsReq, opts ...grpc.CallOption) (*DeleteMessageListReactionExtensionsResp, error) { + out := new(DeleteMessageListReactionExtensionsResp) err := grpc.Invoke(ctx, "/msg.msg/DeleteMessageReactionExtensions", in, out, c.cc, opts...) if err != nil { return nil, err @@ -2183,9 +2424,9 @@ type MsgServer interface { GetWriteDiffMsg(context.Context, *GetWriteDiffMsgReq) (*GetWriteDiffMsgResp, error) // modify msg SetMessageReactionExtensions(context.Context, *SetMessageReactionExtensionsReq) (*SetMessageReactionExtensionsResp, error) - GetMessageListReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + GetMessageListReactionExtensions(context.Context, *GetMessageListReactionExtensionsReq) (*GetMessageListReactionExtensionsResp, error) AddMessageReactionExtensions(context.Context, *ModifyMessageReactionExtensionsReq) (*ModifyMessageReactionExtensionsResp, error) - DeleteMessageReactionExtensions(context.Context, *OperateMessageListReactionExtensionsReq) (*OperateMessageListReactionExtensionsResp, error) + DeleteMessageReactionExtensions(context.Context, *DeleteMessageListReactionExtensionsReq) (*DeleteMessageListReactionExtensionsResp, error) } func RegisterMsgServer(s *grpc.Server, srv MsgServer) { @@ -2409,7 +2650,7 @@ func _Msg_SetMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont } func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateMessageListReactionExtensionsReq) + in := new(GetMessageListReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2421,7 +2662,7 @@ func _Msg_GetMessageListReactionExtensions_Handler(srv interface{}, ctx context. FullMethod: "/msg.msg/GetMessageListReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + return srv.(MsgServer).GetMessageListReactionExtensions(ctx, req.(*GetMessageListReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2445,7 +2686,7 @@ func _Msg_AddMessageReactionExtensions_Handler(srv interface{}, ctx context.Cont } func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OperateMessageListReactionExtensionsReq) + in := new(DeleteMessageListReactionExtensionsReq) if err := dec(in); err != nil { return nil, err } @@ -2457,7 +2698,7 @@ func _Msg_DeleteMessageReactionExtensions_Handler(srv interface{}, ctx context.C FullMethod: "/msg.msg/DeleteMessageReactionExtensions", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*OperateMessageListReactionExtensionsReq)) + return srv.(MsgServer).DeleteMessageReactionExtensions(ctx, req.(*DeleteMessageListReactionExtensionsReq)) } return interceptor(ctx, in, info, handler) } @@ -2531,105 +2772,111 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_32af573ca8e8e2bd) } -var fileDescriptor_msg_489179134d252ef4 = []byte{ - // 1548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, - 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, - 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, - 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, - 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, - 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, - 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, - 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, - 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, - 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, - 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, - 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, - 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, - 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, - 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, - 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, - 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, - 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, - 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, - 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, - 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, - 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, - 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, - 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, - 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, - 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, - 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, - 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, - 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, - 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, - 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, - 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, - 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, - 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, - 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, - 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, - 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, - 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, - 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, - 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, - 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, - 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, - 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, - 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, - 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, - 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, - 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, - 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, - 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, - 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, - 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, - 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, - 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, - 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, - 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, - 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, - 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, - 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, - 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, - 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, - 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, - 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, - 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, - 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, - 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, - 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, - 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, - 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, - 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, - 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, - 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, - 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, - 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, - 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, - 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, - 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, - 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, - 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, - 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, - 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, - 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, - 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, - 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, - 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, - 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, - 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, - 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, - 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, - 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, - 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, - 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, - 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, - 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, - 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, - 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_32af573ca8e8e2bd = []byte{ + // 1648 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4d, 0x6f, 0xdb, 0x46, + 0x13, 0x06, 0x45, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0xbf, 0x0a, 0x63, 0x20, 0x0a, 0xf3, + 0xa5, 0xbc, 0x49, 0x64, 0xbc, 0x7e, 0x0b, 0xa4, 0x68, 0x8a, 0x36, 0x71, 0xe4, 0x2a, 0x46, 0xca, + 0x3a, 0xa6, 0xdc, 0x16, 0x68, 0x0f, 0x0e, 0x23, 0xad, 0x19, 0xc2, 0x12, 0x49, 0x73, 0xa9, 0xd8, + 0xea, 0xd7, 0xad, 0x40, 0x81, 0xa2, 0x87, 0x1e, 0x7b, 0xea, 0xad, 0xb7, 0xfe, 0x80, 0x1e, 0x7b, + 0xe8, 0xb1, 0xe8, 0xb5, 0xff, 0xa1, 0xff, 0xa1, 0x28, 0x76, 0x97, 0x92, 0x96, 0x5f, 0x12, 0x2d, + 0x17, 0x46, 0x0a, 0xf4, 0xa6, 0xd9, 0x9d, 0x9d, 0x9d, 0x67, 0xe6, 0xd9, 0xe1, 0xee, 0x08, 0xe6, + 0x3b, 0xc4, 0x5c, 0xeb, 0x10, 0xb3, 0xea, 0x7a, 0x8e, 0xef, 0x20, 0xb9, 0x43, 0x4c, 0xa5, 0xb2, + 0xed, 0x62, 0xfb, 0xee, 0x96, 0x76, 0xb7, 0x81, 0xbd, 0x97, 0xd8, 0x5b, 0x73, 0x0f, 0xcc, 0x35, + 0x36, 0xbd, 0x46, 0x5a, 0x07, 0x7b, 0x47, 0x64, 0xed, 0x88, 0x70, 0x75, 0xa5, 0x3a, 0x56, 0xd3, + 0x33, 0x5c, 0x17, 0x7b, 0x81, 0xbe, 0xfa, 0x29, 0x14, 0x35, 0x62, 0xd6, 0x0c, 0xdf, 0xd8, 0x75, + 0xb4, 0x1d, 0xb4, 0x0c, 0x79, 0xdf, 0x39, 0xc0, 0x76, 0x49, 0x2a, 0x4b, 0x95, 0x59, 0x9d, 0x0b, + 0xa8, 0x0c, 0x45, 0xc7, 0xc5, 0x9e, 0xe1, 0x5b, 0x8e, 0xbd, 0x55, 0x2b, 0xe5, 0xd8, 0x9c, 0x38, + 0x84, 0x5e, 0x83, 0xe9, 0x0e, 0x37, 0x53, 0x92, 0xcb, 0x52, 0xa5, 0xb8, 0xae, 0x54, 0x09, 0x73, + 0x60, 0xcf, 0x70, 0xad, 0x3d, 0xd7, 0xf0, 0x8c, 0x0e, 0xa9, 0x06, 0x1b, 0xe9, 0x7d, 0x55, 0x15, + 0x0b, 0x9b, 0xd7, 0x36, 0x44, 0x23, 0x52, 0x66, 0x23, 0xe3, 0x9d, 0x53, 0xbf, 0x91, 0x60, 0xe1, + 0x69, 0x97, 0xbc, 0x10, 0x81, 0x96, 0xa1, 0xb8, 0x2d, 0xac, 0xe2, 0x70, 0xc5, 0x21, 0xd1, 0x9b, + 0x5c, 0x76, 0x6f, 0x54, 0x98, 0x73, 0xbb, 0xe4, 0xc5, 0xae, 0xf3, 0x3e, 0xc1, 0xde, 0x56, 0x8d, + 0x45, 0x63, 0x56, 0x0f, 0x8d, 0xa9, 0x3f, 0x48, 0x80, 0x86, 0xbe, 0x38, 0xb6, 0xe9, 0x6c, 0xf4, + 0xb4, 0x1d, 0x54, 0x82, 0xe9, 0xb6, 0x41, 0xfc, 0x06, 0x3e, 0x64, 0xee, 0x4c, 0xe9, 0x7d, 0x11, + 0x5d, 0x83, 0x79, 0xc3, 0x34, 0x3d, 0x6c, 0x86, 0x41, 0x86, 0x07, 0xd1, 0x3a, 0x14, 0x3b, 0x98, + 0x10, 0xc3, 0xc4, 0xef, 0x5a, 0xc4, 0x2f, 0xc9, 0x65, 0xb9, 0x52, 0x5c, 0x5f, 0xac, 0x52, 0x2a, + 0x09, 0xc8, 0x75, 0x51, 0x09, 0xad, 0xc2, 0xac, 0xef, 0x59, 0xa6, 0xc9, 0x7c, 0x9d, 0x62, 0x56, + 0x87, 0x03, 0xea, 0x7b, 0x80, 0xea, 0xd8, 0xd7, 0x8c, 0xe3, 0x87, 0x76, 0x4b, 0xb3, 0xec, 0x06, + 0x3e, 0xd4, 0xf1, 0x21, 0x5a, 0x81, 0x42, 0x00, 0x8e, 0x47, 0x2d, 0x90, 0xa2, 0x21, 0xcd, 0xc5, + 0x42, 0xaa, 0x1e, 0xc1, 0x52, 0xcc, 0x1e, 0x71, 0x29, 0xf0, 0x4d, 0xcf, 0x7b, 0xe4, 0xb4, 0x30, + 0xb3, 0x98, 0xd7, 0xfb, 0x22, 0xdd, 0x6a, 0xd3, 0xf3, 0x34, 0x62, 0x06, 0xd6, 0x02, 0x89, 0x8e, + 0x6b, 0xc6, 0x31, 0x8d, 0x14, 0x8d, 0xef, 0xbc, 0x1e, 0x48, 0x6c, 0x9c, 0xd9, 0x65, 0x58, 0xe8, + 0x38, 0x93, 0xd4, 0x4f, 0x00, 0x1a, 0xd8, 0x6e, 0x69, 0xc4, 0xa4, 0x00, 0xce, 0x96, 0xe4, 0xdf, + 0x4b, 0x50, 0x1c, 0x6c, 0xce, 0xd1, 0xe2, 0x30, 0x5a, 0x3c, 0x44, 0x8b, 0x43, 0x68, 0xb9, 0x44, + 0x3d, 0xe3, 0xfb, 0x68, 0xc4, 0x1c, 0xa4, 0x49, 0x1c, 0xa2, 0x1a, 0xcd, 0xb6, 0x85, 0x6d, 0x9f, + 0x6b, 0xe4, 0xb9, 0x86, 0x30, 0x84, 0x14, 0x98, 0x21, 0xd8, 0x6e, 0xed, 0x5a, 0x1d, 0x5c, 0x2a, + 0x94, 0xa5, 0x8a, 0xac, 0x0f, 0x64, 0xb5, 0x09, 0xc5, 0x47, 0x6d, 0x6c, 0x78, 0x41, 0x78, 0x56, + 0xa0, 0xd0, 0x0d, 0xe5, 0x97, 0x4b, 0xd4, 0x84, 0xe3, 0x06, 0x99, 0xe7, 0x0e, 0x0e, 0xe4, 0x68, + 0xf0, 0xe4, 0xf8, 0x21, 0x7c, 0x00, 0x73, 0xc3, 0x4d, 0x26, 0x09, 0x83, 0xfa, 0x9d, 0x04, 0x0b, + 0x0d, 0x4c, 0xf1, 0x84, 0xb8, 0x98, 0xe8, 0x6b, 0x09, 0xa6, 0x4d, 0xcf, 0xe9, 0xba, 0x03, 0x57, + 0xfb, 0x22, 0x5d, 0xd1, 0xe1, 0x14, 0x09, 0xa8, 0xc3, 0xa5, 0x28, 0x82, 0xa9, 0x78, 0xfa, 0x45, + 0xfc, 0xf9, 0x30, 0x7e, 0xb5, 0x06, 0x8b, 0x61, 0xd7, 0x26, 0x42, 0xb8, 0x0d, 0x4b, 0x0d, 0xec, + 0x07, 0x64, 0x69, 0xf8, 0x86, 0xdf, 0x25, 0x7a, 0xdc, 0x35, 0x29, 0xee, 0xda, 0x0a, 0x14, 0x08, + 0x53, 0x67, 0x06, 0xf3, 0x7a, 0x20, 0xa9, 0x8f, 0x61, 0x39, 0x6e, 0x70, 0x22, 0xd7, 0xee, 0xb1, + 0xa3, 0x7b, 0x72, 0xd7, 0xd4, 0x67, 0xb0, 0x5c, 0xff, 0x5b, 0x5c, 0x10, 0x40, 0xca, 0x21, 0x90, + 0x5f, 0x4a, 0xb0, 0x54, 0xc3, 0xed, 0x46, 0xd7, 0xc5, 0x5e, 0x9d, 0x66, 0x39, 0xe0, 0xb1, 0x98, + 0x2f, 0x29, 0xc2, 0xd7, 0x21, 0x6f, 0x72, 0x69, 0xbc, 0x91, 0xc3, 0xbc, 0x19, 0xcb, 0x0f, 0x1a, + 0xec, 0xb8, 0x1b, 0x13, 0x05, 0xbb, 0xc9, 0x83, 0x1d, 0x05, 0x34, 0x9e, 0x07, 0x8b, 0x20, 0x53, + 0x66, 0xe7, 0x18, 0xb3, 0xe9, 0xcf, 0x74, 0x40, 0xea, 0x17, 0x3c, 0x31, 0xa7, 0x77, 0x77, 0xc2, + 0xba, 0xf8, 0x98, 0x7d, 0x5c, 0x3e, 0xf4, 0x2c, 0x1f, 0xd7, 0xac, 0xfd, 0xfd, 0xc9, 0x31, 0xaa, + 0x9f, 0xb3, 0x70, 0x85, 0x2d, 0x9d, 0x21, 0x90, 0x6f, 0xf3, 0xa0, 0x6a, 0x4e, 0xcb, 0xda, 0xef, + 0x69, 0xfc, 0xcb, 0xaa, 0x63, 0xa3, 0x49, 0x9d, 0xdd, 0x3c, 0xf6, 0xb1, 0x4d, 0x2c, 0xc7, 0xce, + 0x78, 0x8a, 0x69, 0x8d, 0x76, 0xba, 0x5e, 0x13, 0x0f, 0x0b, 0x6c, 0x5f, 0x0e, 0x91, 0x59, 0x8e, + 0x17, 0x5f, 0x82, 0x09, 0xdd, 0x68, 0xb7, 0xe7, 0x62, 0x46, 0xcd, 0xbc, 0x2e, 0x0e, 0xa1, 0x63, + 0xb8, 0xe0, 0x45, 0x9d, 0x62, 0x97, 0x84, 0x3c, 0xbb, 0x24, 0x6c, 0xf0, 0x4b, 0xc2, 0x58, 0x0c, + 0x55, 0x3d, 0xc9, 0xc8, 0xa6, 0xed, 0x7b, 0x3d, 0x3d, 0x79, 0x83, 0xe8, 0x97, 0xa9, 0x10, 0xff, + 0x32, 0xdd, 0x81, 0x1c, 0x3e, 0x2e, 0x4d, 0xb3, 0x78, 0xaf, 0x56, 0x4d, 0xc7, 0x31, 0xdb, 0x98, + 0x5f, 0x4e, 0x9f, 0x77, 0xf7, 0xab, 0x0d, 0xdf, 0xb3, 0x6c, 0xf3, 0x03, 0xa3, 0xdd, 0xc5, 0x7a, + 0x0e, 0x1f, 0xa3, 0x07, 0x30, 0x67, 0xf8, 0xbe, 0xd1, 0x7c, 0x81, 0x5b, 0x5b, 0xf6, 0xbe, 0x53, + 0x9a, 0xc9, 0xb0, 0x2e, 0xb4, 0x82, 0xd2, 0xc2, 0x22, 0x0c, 0x48, 0x69, 0xb6, 0x2c, 0x55, 0x66, + 0xf4, 0xbe, 0x88, 0xd6, 0x61, 0xd9, 0x22, 0xd4, 0x7d, 0xcf, 0x36, 0xda, 0x43, 0xe0, 0x25, 0x60, + 0x6a, 0x89, 0x73, 0xa8, 0x0a, 0xa8, 0x43, 0xcc, 0x77, 0x2c, 0x8f, 0xf8, 0x3c, 0x7e, 0xec, 0x0b, + 0x5b, 0x64, 0x5f, 0xd8, 0x84, 0x19, 0x05, 0x83, 0x92, 0x1e, 0x44, 0xca, 0xed, 0x03, 0xdc, 0x0b, + 0xb8, 0x41, 0x7f, 0xa2, 0xff, 0x41, 0xfe, 0x25, 0x05, 0x11, 0xdc, 0x41, 0x2f, 0x25, 0x10, 0xf2, + 0x09, 0xee, 0x71, 0x9c, 0x5c, 0xf3, 0x8d, 0xdc, 0xeb, 0x92, 0xfa, 0x75, 0x1e, 0x2e, 0xd3, 0x0f, + 0xd2, 0xab, 0x4a, 0xc8, 0xee, 0x68, 0x42, 0xbe, 0xcd, 0x08, 0x39, 0x06, 0xc0, 0xbf, 0x6c, 0xfc, + 0xa7, 0xb0, 0xf1, 0x0f, 0x09, 0xca, 0xa3, 0x93, 0x39, 0xe9, 0xbd, 0x58, 0xcc, 0xa6, 0x1c, 0xcf, + 0x66, 0x72, 0x3c, 0xa6, 0xd2, 0xe2, 0x21, 0x66, 0x23, 0x1f, 0xce, 0xc6, 0x2d, 0x28, 0x78, 0x98, + 0x74, 0xdb, 0x7e, 0xa9, 0xc0, 0x18, 0x7a, 0x9e, 0x31, 0x74, 0x00, 0x16, 0x13, 0x57, 0x0f, 0x14, + 0xd4, 0x3f, 0x73, 0x70, 0xb5, 0x3e, 0x40, 0x4b, 0xc3, 0x79, 0x8a, 0xf3, 0x97, 0x7a, 0xe3, 0x16, + 0xcf, 0xa6, 0x1c, 0x39, 0x9b, 0xe3, 0xcf, 0x1f, 0x81, 0x95, 0x4e, 0x38, 0x1b, 0x4f, 0x70, 0x4f, + 0x38, 0x80, 0xf7, 0x19, 0xbc, 0x0c, 0x28, 0xaa, 0x5a, 0xcc, 0x8c, 0x9e, 0x62, 0x5a, 0xd9, 0x07, + 0x14, 0xd7, 0x8e, 0x66, 0x51, 0xca, 0x9a, 0xc5, 0x5c, 0x5a, 0x16, 0xd5, 0x1f, 0x25, 0xb8, 0x36, + 0xde, 0xf5, 0x89, 0x28, 0xd7, 0x80, 0x25, 0x62, 0xd9, 0x66, 0x1b, 0x0f, 0x80, 0x30, 0x4e, 0xf0, + 0xb7, 0xf6, 0x15, 0x5e, 0xb5, 0xc4, 0xf9, 0xc1, 0x86, 0x5c, 0x51, 0x4f, 0x5a, 0xad, 0xfe, 0x9a, + 0x83, 0xd5, 0x51, 0xab, 0x26, 0xf0, 0xd3, 0x4b, 0xab, 0xaf, 0xdc, 0xd3, 0x37, 0xc7, 0x7a, 0x7a, + 0xfa, 0xe2, 0x3a, 0x15, 0x4b, 0xe4, 0x59, 0x95, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, + 0xe1, 0x05, 0xb1, 0x48, 0xba, 0xcd, 0x26, 0x26, 0x44, 0x08, 0x26, 0x62, 0xc1, 0x64, 0xb6, 0xfb, + 0x8f, 0x7c, 0x5d, 0x54, 0x43, 0xeb, 0x00, 0xfb, 0x86, 0xd5, 0xc6, 0x2d, 0xb6, 0x68, 0x2a, 0x75, + 0x91, 0xa0, 0xa5, 0xfe, 0x2e, 0xc3, 0x8d, 0x1a, 0x6e, 0x63, 0x1f, 0xbf, 0xd2, 0x75, 0xe4, 0xe5, + 0x98, 0x3a, 0xf2, 0x16, 0x83, 0x99, 0x0d, 0xc8, 0x49, 0x4a, 0xc9, 0x4f, 0xd2, 0xd9, 0xd4, 0x12, + 0xb4, 0x33, 0xfa, 0x20, 0x8d, 0xa4, 0x64, 0xf2, 0x4a, 0xf5, 0x17, 0x09, 0x6e, 0x66, 0x8a, 0xc8, + 0x2b, 0x4e, 0x51, 0x07, 0xe6, 0x43, 0x93, 0xe8, 0x0e, 0xcc, 0xe2, 0xfe, 0x40, 0xd0, 0xc1, 0x3d, + 0x17, 0xb1, 0x31, 0x54, 0x10, 0xa1, 0xe5, 0xd2, 0xa0, 0xc9, 0xa1, 0x67, 0xf1, 0x6f, 0x39, 0x98, + 0x1d, 0x98, 0x42, 0x7b, 0x69, 0x99, 0x91, 0x98, 0xf7, 0xb7, 0xc2, 0x3b, 0x9f, 0xbe, 0x9e, 0xe5, + 0xb2, 0x92, 0x49, 0x4e, 0x25, 0x93, 0x1a, 0xb9, 0x2e, 0xf2, 0x12, 0x19, 0xbe, 0x10, 0x9e, 0x63, + 0x17, 0x50, 0xde, 0x5f, 0xca, 0xe1, 0x63, 0xe5, 0xe3, 0x13, 0xd6, 0xcc, 0x9b, 0xe1, 0x9a, 0x99, + 0x70, 0x4f, 0x11, 0x2a, 0x65, 0x0f, 0xe6, 0xc4, 0x29, 0x74, 0x0f, 0x66, 0x0e, 0x02, 0x39, 0x48, + 0xe0, 0x48, 0x82, 0x0f, 0x94, 0x4f, 0x9e, 0xcc, 0xf5, 0xaf, 0x00, 0xe4, 0x0e, 0x31, 0xd1, 0x33, + 0x58, 0x88, 0xf4, 0x84, 0xd1, 0xf5, 0x84, 0x3d, 0xe3, 0x7d, 0x68, 0xe5, 0x46, 0x16, 0x35, 0xe2, + 0x22, 0x07, 0x96, 0x9f, 0x76, 0xdb, 0xed, 0xe0, 0xb0, 0x6d, 0xf4, 0x1a, 0xf8, 0x90, 0xe5, 0xf7, + 0xbf, 0x09, 0xeb, 0x93, 0x14, 0xe9, 0x5e, 0xb7, 0x33, 0xeb, 0xb2, 0x73, 0x30, 0x1d, 0xf4, 0xbb, + 0xd0, 0x42, 0xf0, 0x90, 0xe9, 0xf7, 0x9e, 0x95, 0xc5, 0xf0, 0x00, 0x71, 0xd1, 0x0e, 0x40, 0x0d, + 0xb7, 0x35, 0x62, 0x72, 0xd2, 0x25, 0x6c, 0x34, 0x9c, 0xa6, 0x16, 0xae, 0x8c, 0xd1, 0x20, 0x2e, + 0xaa, 0xc3, 0x62, 0xb4, 0x13, 0x85, 0x4a, 0xfd, 0x4a, 0x1c, 0x6d, 0x2b, 0x29, 0x17, 0x53, 0x66, + 0x88, 0x8b, 0xd6, 0x60, 0xa6, 0xdf, 0xb4, 0x45, 0xdc, 0x73, 0xa1, 0x51, 0xac, 0x9c, 0x8f, 0x8c, + 0x10, 0x17, 0xdd, 0x87, 0x39, 0xb1, 0x0f, 0x8a, 0x96, 0x07, 0x0f, 0x39, 0xa1, 0x6b, 0xab, 0x5c, + 0x48, 0x18, 0xe5, 0x6e, 0x47, 0xbb, 0x95, 0x81, 0xdb, 0x09, 0x5d, 0xd1, 0xc0, 0xed, 0xc4, 0xf6, + 0x66, 0x1d, 0x16, 0xeb, 0xc9, 0x86, 0xea, 0xa9, 0x86, 0xea, 0x23, 0x0c, 0x25, 0x04, 0x32, 0xa1, + 0x3f, 0x27, 0x18, 0x8a, 0x05, 0xb2, 0xc6, 0x58, 0x2e, 0xb6, 0xa8, 0xd0, 0x7f, 0xfa, 0xda, 0x91, + 0x16, 0x98, 0x52, 0x4a, 0x9e, 0x20, 0x2e, 0x3a, 0x80, 0xd5, 0x51, 0xcf, 0x28, 0x74, 0x2d, 0xcb, + 0xb3, 0x59, 0xb9, 0x9e, 0x41, 0x8b, 0xb8, 0xe8, 0x08, 0xca, 0xe3, 0x2e, 0xd1, 0xa8, 0x92, 0xf5, + 0x99, 0xa0, 0xdc, 0xca, 0xa8, 0x49, 0x5c, 0x74, 0x08, 0xab, 0x0f, 0x5b, 0xad, 0x74, 0x94, 0x37, + 0x33, 0x76, 0xab, 0x94, 0x4a, 0x36, 0x45, 0xe2, 0xa2, 0xcf, 0xe0, 0x72, 0xe8, 0x8b, 0x9c, 0xb0, + 0xeb, 0xed, 0x13, 0xdc, 0x64, 0x94, 0x3b, 0xd9, 0x95, 0x89, 0xbb, 0x71, 0xe9, 0xa3, 0x8b, 0xdb, + 0x2e, 0xb6, 0xf7, 0xb6, 0x34, 0xe1, 0xef, 0xda, 0x0e, 0x31, 0xef, 0x77, 0x88, 0xf9, 0xbc, 0xc0, + 0xc4, 0xff, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x39, 0xdb, 0xfe, 0x17, 0x1e, 0x00, 0x00, } From 0f1208dba98ba6525bce7875bce6abbec0282d76 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 12 Dec 2022 19:22:50 +0800 Subject: [PATCH 24/33] mongo operation --- config/config.yaml | 5 +- internal/msg_transfer/logic/init.go | 5 + .../msg_transfer/logic/modify_msg_handler.go | 117 +++++++ .../logic/online_history_msg_handler.go | 19 +- .../logic/online_msg_to_mongo_handler.go | 44 --- pkg/base_info/msg.go | 9 + pkg/common/config/config.go | 13 +- pkg/common/db/extend_msg_mongo_model.go | 87 ++--- pkg/common/db/rocks_cache/rocks_cache.go | 4 +- pkg/proto/msg/msg.pb.go | 321 +++++++++++------- pkg/proto/msg/msg.proto | 7 + 11 files changed, 404 insertions(+), 227 deletions(-) create mode 100644 internal/msg_transfer/logic/modify_msg_handler.go diff --git a/config/config.yaml b/config/config.yaml index 9d452e0e1..a167d6b1b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -62,12 +62,15 @@ kafka: ms2pschat: addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可 topic: "ms2ps_chat" #消息push + msgtomodify: + addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可 + topic: "msg_to_modify" consumergroupid: msgToTransfer: mongo msgToMongo: mongo_ex msgToMySql: mysql msgToPush: push - + msgToModify: modify #---------------Internal service configuration---------------------# diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 201c6ee41..ebe0d1aa9 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -22,7 +22,9 @@ var ( persistentCH PersistentConsumerHandler historyCH OnlineHistoryRedisConsumerHandler historyMongoCH OnlineHistoryMongoConsumerHandler + modifyCH ModifyMsgConsumerHandler producer *kafka.Producer + producerToModify *kafka.Producer producerToMongo *kafka.Producer cmdCh chan Cmd2Value onlineTopicStatus int @@ -43,11 +45,13 @@ func Init() { persistentCH.Init() // ws2mschat save mysql historyCH.Init(cmdCh) // historyMongoCH.Init() + modifyCH.Init() onlineTopicStatus = OnlineTopicVacancy //offlineHistoryCH.Init(cmdCh) statistics.NewStatistics(&singleMsgSuccessCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second singleMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) statistics.NewStatistics(&groupMsgCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second groupMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) producer = kafka.NewKafkaProducer(config.Config.Kafka.Ms2pschat.Addr, config.Config.Kafka.Ms2pschat.Topic) + producerToModify = kafka.NewKafkaProducer(config.Config.Kafka.MsgToModify.Addr, config.Config.Kafka.MsgToModify.Topic) producerToMongo = kafka.NewKafkaProducer(config.Config.Kafka.MsgToMongo.Addr, config.Config.Kafka.MsgToMongo.Topic) } func Run(promethuesPort int) { @@ -59,6 +63,7 @@ func Run(promethuesPort int) { } go historyCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyCH) go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) + go modifyCH.modifyMsgConsumerGroup.RegisterHandleAndConsumer(&modifyCH) //go offlineHistoryCH.historyConsumerGroup.RegisterHandleAndConsumer(&offlineHistoryCH) go func() { err := promePkg.StartPromeSrv(promethuesPort) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go new file mode 100644 index 000000000..7b43e91aa --- /dev/null +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -0,0 +1,117 @@ +package logic + +import ( + "Open_IM/pkg/base_info" + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" + pbMsg "Open_IM/pkg/proto/msg" + server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "encoding/json" + "github.com/Shopify/sarama" + + "github.com/golang/protobuf/proto" +) + +type ModifyMsgConsumerHandler struct { + msgHandle map[string]fcb + modifyMsgConsumerGroup *kfk.MConsumerGroup +} + +func (mmc *ModifyMsgConsumerHandler) Init() { + mmc.msgHandle = make(map[string]fcb) + mmc.msgHandle[config.Config.Kafka.MsgToModify.Topic] = mmc.ModifyMsg + mmc.modifyMsgConsumerGroup = kfk.NewMConsumerGroup(&kfk.MConsumerGroupConfig{KafkaVersion: sarama.V2_0_0_0, + OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false}, []string{config.Config.Kafka.MsgToModify.Topic}, + config.Config.Kafka.MsgToModify.Addr, config.Config.Kafka.ConsumerGroupID.MsgToModify) +} + +func (ModifyMsgConsumerHandler) Setup(_ sarama.ConsumerGroupSession) error { return nil } +func (ModifyMsgConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error { return nil } +func (mmc *ModifyMsgConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, + claim sarama.ConsumerGroupClaim) error { + for msg := range claim.Messages() { + log.NewDebug("", "kafka get info to mysql", "ModifyMsgConsumerHandler", msg.Topic, "msgPartition", msg.Partition, "msg", string(msg.Value), "key", string(msg.Key)) + if len(msg.Value) != 0 { + mmc.msgHandle[msg.Topic](msg, string(msg.Key), sess) + } else { + log.Error("", "msg get from kafka but is nil", msg.Key) + } + sess.MarkMessage(msg, "") + } + return nil +} + +func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msgKey string, _ sarama.ConsumerGroupSession) { + log.NewInfo("msg come here ModifyMsg!!!", "", "msg", string(cMsg.Value), msgKey) + msgFromMQ := pbMsg.MsgDataToModifyByMQ{} + err := proto.Unmarshal(cMsg.Value, &msgFromMQ) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "msg_transfer Unmarshal msg err", "msg", string(cMsg.Value), "err", err.Error()) + return + } + log.Debug(msgFromMQ.TriggerID, "proto.Unmarshal MsgDataToMQ", msgFromMQ.String()) + for _, msgDataToMQ := range msgFromMQ.MessageList { + if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageModifier { + notification := &base_info.ReactionMessageModifierNotification{} + if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { + continue + } + if notification.IsExternalExtensions { + log.NewInfo(msgDataToMQ.OperationID, "msg:", notification, "this is external extensions") + continue + } + if !notification.IsReact { + // first time to modify + var reactionExtensionList = make(map[string]db.KeyValue) + extendMsg := db.ExtendMsg{ + ReactionExtensionList: reactionExtensionList, + ClientMsgID: notification.ClientMsgID, + MsgFirstModifyTime: notification.MsgFirstModifyTime, + } + for _, v := range notification.SuccessReactionExtensionList { + reactionExtensionList[v.TypeKey] = db.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + + if err := db.DB.InsertExtendMsg(notification.SourceID, notification.SessionType, &extendMsg); err != nil { + log.NewError(msgDataToMQ.OperationID, "MsgFirstModify InsertExtendMsg failed", notification.SourceID, notification.SessionType, extendMsg, err.Error()) + continue + } + } else { + var reactionExtensionList = make(map[string]*server_api_params.KeyValue) + for _, v := range notification.SuccessReactionExtensionList { + reactionExtensionList[v.TypeKey] = &server_api_params.KeyValue{ + TypeKey: v.TypeKey, + Value: v.Value, + LatestUpdateTime: v.LatestUpdateTime, + } + } + // is already modify + if err := db.DB.InsertOrUpdateReactionExtendMsgSet(notification.SourceID, notification.SessionType, notification.ClientMsgID, notification.MsgFirstModifyTime, reactionExtensionList); err != nil { + log.NewError(msgDataToMQ.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } else if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageDeleter { + notification := &base_info.ReactionMessageDeleteNotification{} + if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil { + continue + } + if err := db.DB.DeleteReactionExtendMsgSet(notification.SourceID, notification.SessionType, notification.ClientMsgID, notification.MsgFirstModifyTime, notification.SuccessReactionExtensionList); err != nil { + log.NewError(msgDataToMQ.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") + } + } + } + +} + +func UnMarshallSetReactionMsgContent(content []byte) (notification *base_info.ReactionMessageModifierNotification, err error) { + + return notification, nil +} diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index d50f451ee..af22e9259 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -72,6 +72,7 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { storageMsgList := make([]*pbMsg.MsgDataToMQ, 0, 80) notStoragePushMsgList := make([]*pbMsg.MsgDataToMQ, 0, 80) log.Debug(triggerID, "msg arrived channel", "channel id", channelID, msgList, msgChannelValue.aggregationID, len(msgList)) + var modifyMsgList []*pbMsg.MsgDataToMQ for _, v := range msgList { log.Debug(triggerID, "msg come to storage center", v.String()) isHistory := utils.GetSwitchFromOptions(v.MsgData.Options, constant.IsHistory) @@ -85,8 +86,13 @@ func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { } } + if v.MsgData.ContentType == constant.ReactionMessageModifier || v.MsgData.ContentType == constant.ReactionMessageDeleter { + modifyMsgList = append(modifyMsgList, v) + } + } + if len(modifyMsgList) > 0 { + sendMessageToModifyMQ(msgChannelValue.aggregationID, triggerID, modifyMsgList) } - //switch msgChannelValue.msg.MsgData.SessionType { //case constant.SingleChatType: //case constant.GroupChatType: @@ -552,6 +558,17 @@ func sendMessageToPushMQ(message *pbMsg.MsgDataToMQ, pushToUserID string) { return } +func sendMessageToModifyMQ(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ) { + if len(messages) > 0 { + pid, offset, err := producerToModify.SendMessage(&pbMsg.MsgDataToModifyByMQ{AggregationID: aggregationID, MessageList: messages, TriggerID: triggerID}, aggregationID, triggerID) + if err != nil { + log.Error(triggerID, "kafka send failed", "send data", len(messages), "pid", pid, "offset", offset, "err", err.Error(), "key", aggregationID) + } else { + // log.NewWarn(m.OperationID, "sendMsgToKafka client msgID ", m.MsgData.ClientMsgID) + } + } +} + // String hashes a string to a unique hashcode. // // crc32 returns a uint32, but for our use we need diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index cadc0669d..4a6362a05 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -61,50 +61,6 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) } - } else if v.MsgData.ContentType == constant.ReactionMessageModifier { - var req pbMsg.ModifyMessageReactionExtensionsReq - if req.IsExternalExtensions { - log.NewInfo(req.OperationID, "msg:", req.String(), "this is external extensions") - continue - } - if !req.IsReact { - // first time to modify - var reactionExtensionList = make(map[string]db.KeyValue) - for k, v := range req.ReactionExtensionList { - reactionExtensionList[k] = db.KeyValue{ - TypeKey: v.TypeKey, - Value: v.Value, - LatestUpdateTime: v.LatestUpdateTime, - } - } - extendMsg := db.ExtendMsg{ - ReactionExtensionList: reactionExtensionList, - ClientMsgID: req.ClientMsgID, - MsgFirstModifyTime: req.MsgFirstModifyTime, - } - if req.AttachedInfo != nil { - extendMsg.AttachedInfo = req.AttachedInfo.Value - } - if req.Ex != nil { - extendMsg.Ex = req.Ex.Value - } - if err := db.DB.InsertExtendMsg(req.SourceID, req.SessionType, &extendMsg); err != nil { - log.NewError(req.OperationID, "MsgFirstModify InsertExtendMsg failed", req.SourceID, req.SessionType, extendMsg, err.Error()) - continue - } - } else { - // is already modify - if err := db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, req.ReactionExtensionList); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") - } - } - } else if v.MsgData.ContentType == constant.ReactionMessageDeleter { - var req pbMsg.OperateMessageListReactionExtensionsReq - for _, v := range req.MessageReactionKeyList { - if err := db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, v.ClientMsgID, v.MsgFirstModifyTime, v.ReactionExtensionList); err != nil { - log.NewError(req.OperationID, "InsertOrUpdateReactionExtendMsgSet failed") - } - } } } } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index bf02d311f..dbd4d1223 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -116,3 +116,12 @@ type ReactionMessageModifierNotification struct { IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` } + +type ReactionMessageDeleteNotification struct { + SourceID string `json:"sourceID" binding:"required"` + OpUserID string `json:"opUserID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + SuccessReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList,omitempty" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index e1942a66d..20292251e 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -248,11 +248,16 @@ type config struct { Addr []string `yaml:"addr"` Topic string `yaml:"topic"` } + MsgToModify struct { + Addr []string `yaml:"addr"` + Topic string `yaml:"topic"` + } ConsumerGroupID struct { - MsgToRedis string `yaml:"msgToTransfer"` - MsgToMongo string `yaml:"msgToMongo"` - MsgToMySql string `yaml:"msgToMySql"` - MsgToPush string `yaml:"msgToPush"` + MsgToRedis string `yaml:"msgToTransfer"` + MsgToMongo string `yaml:"msgToMongo"` + MsgToMySql string `yaml:"msgToMySql"` + MsgToPush string `yaml:"msgToPush"` + MsgToModify string `yaml:"msgToModify"` } } Secret string `yaml:"secret"` diff --git a/pkg/common/db/extend_msg_mongo_model.go b/pkg/common/db/extend_msg_mongo_model.go index 29ab12c20..07d853418 100644 --- a/pkg/common/db/extend_msg_mongo_model.go +++ b/pkg/common/db/extend_msg_mongo_model.go @@ -8,6 +8,7 @@ import ( "errors" "fmt" "go.mongodb.org/mongo-driver/bson/primitive" + "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" "strconv" "strings" @@ -89,30 +90,41 @@ func (d *DataBases) GetAllExtendMsgSet(ID string, opts *GetAllExtendMsgSetOpts) return sets, nil } -type GetExtendMsgSetOpts struct { - ExcludeExtendMsgs bool +func (d *DataBases) GetExtendMsgSet(ctx context.Context, sourceID string, sessionType int32, maxMsgUpdateTime int64, c *mongo.Collection) (*ExtendMsgSet, error) { + regex := fmt.Sprintf("^%s", sourceID) + var err error + findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) + // update newest + find := bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType} + if maxMsgUpdateTime > 0 { + find["max_msg_update_time"] = maxMsgUpdateTime + } + result, err := c.Find(ctx, find, findOpts) + if err != nil { + return nil, utils.Wrap(err, "") + } + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { + return nil, utils.Wrap(err, "") + } + if len(setList) == 0 { + return nil, nil + } + return &setList[0], nil } // first modify msg func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *ExtendMsg) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) - regex := fmt.Sprintf("^%s", sourceID) - var err error - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - // update newest - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, 0, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") - } - if len(setList) == 0 || setList[0].ExtendMsgNum >= GetExtendMsgMaxNum() { + if set == nil || set.ExtendMsgNum >= GetExtendMsgMaxNum() { var index int32 - if len(setList) > 0 { - index = SplitSourceIDAndGetIndex(setList[0].SourceID) + if set != nil { + index = SplitSourceIDAndGetIndex(set.SourceID) } err = d.CreateExtendMsgSet(&ExtendMsgSet{ SourceID: GetExtendMsgSourceID(sourceID, index), @@ -123,7 +135,7 @@ func (d *DataBases) InsertExtendMsg(sourceID string, sessionType int32, msg *Ext MaxMsgUpdateTime: msg.MsgFirstModifyTime, }) } else { - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$set": bson.M{"max_msg_update_time": msg.MsgFirstModifyTime, "$inc": bson.M{"extend_msg_num": 1}, fmt.Sprintf("extend_msgs.%s", msg.ClientMsgID): msg}}) } return utils.Wrap(err, "") } @@ -140,47 +152,33 @@ func (d *DataBases) InsertOrUpdateReactionExtendMsgSet(sourceID string, sessionT opt := &options.UpdateOptions{ Upsert: &upsert, } - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, msgFirstModifyTime, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - if len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") - } - - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$set": updateBson}, opt) return utils.Wrap(err, "") } // delete TypeKey -func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList []*server_api_params.KeyValue) error { +func (d *DataBases) DeleteReactionExtendMsgSet(sourceID string, sessionType int32, clientMsgID string, msgFirstModifyTime int64, reactionExtensionList map[string]*server_api_params.KeyValue) error { ctx, _ := context.WithTimeout(context.Background(), time.Duration(config.Config.Mongo.DBTimeout)*time.Second) c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) var updateBson = bson.M{} for _, v := range reactionExtensionList { updateBson[fmt.Sprintf("extend_msgs.%s.%s", clientMsgID, v.TypeKey)] = "" } - - findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{"extend_msgs": 0}) - regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": msgFirstModifyTime}}, findOpts) + set, err := d.GetExtendMsgSet(ctx, sourceID, sessionType, msgFirstModifyTime, c) if err != nil { return utils.Wrap(err, "") } - var setList []ExtendMsgSet - if err := result.All(ctx, &setList); err != nil { - return utils.Wrap(err, "") + if set == nil { + return errors.New(fmt.Sprintf("sourceID %s has no set", sourceID)) } - if len(setList) == 0 { - return utils.Wrap(errors.New("InsertOrUpdateReactionExtendMsgSet failed, len(setList) == 0"), "") - } - _, err = c.UpdateOne(ctx, bson.M{"source_id": setList[0].SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) + _, err = c.UpdateOne(ctx, bson.M{"source_id": set.SourceID, "session_type": sessionType}, bson.M{"$unset": updateBson}) return err } @@ -189,16 +187,19 @@ func (d *DataBases) GetExtendMsg(sourceID string, sessionType int32, clientMsgID c := d.mongoClient.Database(config.Config.Mongo.DBDatabase).Collection(cExtendMsgSet) findOpts := options.Find().SetLimit(1).SetSkip(0).SetSort(bson.M{"source_id": -1}).SetProjection(bson.M{fmt.Sprintf("extend_msgs.%s", clientMsgID): 1}) regex := fmt.Sprintf("^%s", sourceID) - result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "msgFirstModifyTime": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) + result, err := c.Find(ctx, bson.M{"source_id": primitive.Regex{Pattern: regex}, "session_type": sessionType, "max_msg_update_time": bson.M{"$lte": maxMsgUpdateTime}}, findOpts) if err != nil { return nil, utils.Wrap(err, "") } - var extendMsgList []ExtendMsg - if err := result.All(ctx, &extendMsgList); err != nil { + var setList []ExtendMsgSet + if err := result.All(ctx, &setList); err != nil { return nil, utils.Wrap(err, "") } - if len(extendMsgList) == 0 { + if len(setList) == 0 { return nil, utils.Wrap(errors.New("GetExtendMsg failed, len(setList) == 0"), "") } - return &extendMsgList[0], nil + if v, ok := setList[0].ExtendMsgs[clientMsgID]; ok { + return &v, nil + } + return nil, errors.New(fmt.Sprintf("cant find client msg id: %s", clientMsgID)) } diff --git a/pkg/common/db/rocks_cache/rocks_cache.go b/pkg/common/db/rocks_cache/rocks_cache.go index 5ff836fd7..3b054d37f 100644 --- a/pkg/common/db/rocks_cache/rocks_cache.go +++ b/pkg/common/db/rocks_cache/rocks_cache.go @@ -567,9 +567,9 @@ func DelConversationFromCache(ownerUserID, conversationID string) error { return utils.Wrap(db.DB.Rc.TagAsDeleted(conversationCache+ownerUserID+":"+conversationID), "DelConversationFromCache err") } -func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, maxMsgUpdateTime int64) (*db.ExtendMsg, error) { +func GetExtendMsg(sourceID string, sessionType int32, clientMsgID string, firstModifyTime int64) (*db.ExtendMsg, error) { getExtendMsg := func() (string, error) { - extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, maxMsgUpdateTime) + extendMsg, err := db.DB.GetExtendMsg(sourceID, sessionType, clientMsgID, firstModifyTime) if err != nil { return "", utils.Wrap(err, "GetExtendMsgList failed") } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 89d14cb63..7541696f1 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{0} + return fileDescriptor_msg_a1760b784e1ce32d, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{1} + return fileDescriptor_msg_a1760b784e1ce32d, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{2} + return fileDescriptor_msg_a1760b784e1ce32d, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{3} + return fileDescriptor_msg_a1760b784e1ce32d, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_489179134d252ef4, []int{4} + return fileDescriptor_msg_a1760b784e1ce32d, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_489179134d252ef4, []int{5} + return fileDescriptor_msg_a1760b784e1ce32d, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{6} + return fileDescriptor_msg_a1760b784e1ce32d, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{7} + return fileDescriptor_msg_a1760b784e1ce32d, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{8} + return fileDescriptor_msg_a1760b784e1ce32d, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{9} + return fileDescriptor_msg_a1760b784e1ce32d, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{10} + return fileDescriptor_msg_a1760b784e1ce32d, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{11} + return fileDescriptor_msg_a1760b784e1ce32d, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{12} + return fileDescriptor_msg_a1760b784e1ce32d, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{13} + return fileDescriptor_msg_a1760b784e1ce32d, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{14} + return fileDescriptor_msg_a1760b784e1ce32d, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{15} + return fileDescriptor_msg_a1760b784e1ce32d, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{16} + return fileDescriptor_msg_a1760b784e1ce32d, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{17} + return fileDescriptor_msg_a1760b784e1ce32d, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{18} + return fileDescriptor_msg_a1760b784e1ce32d, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{19} + return fileDescriptor_msg_a1760b784e1ce32d, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{20} + return fileDescriptor_msg_a1760b784e1ce32d, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{21} + return fileDescriptor_msg_a1760b784e1ce32d, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{22} + return fileDescriptor_msg_a1760b784e1ce32d, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{23} + return fileDescriptor_msg_a1760b784e1ce32d, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{24} + return fileDescriptor_msg_a1760b784e1ce32d, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1537,7 +1537,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{25} + return fileDescriptor_msg_a1760b784e1ce32d, []int{25} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1602,7 +1602,7 @@ func (m *OperateMessageListReactionExtensionsReq) Reset() { func (m *OperateMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsReq) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26} + return fileDescriptor_msg_a1760b784e1ce32d, []int{26} } func (m *OperateMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1674,7 +1674,7 @@ func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) String() st } func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*OperateMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{26, 0} + return fileDescriptor_msg_a1760b784e1ce32d, []int{26, 0} } func (m *OperateMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1731,7 +1731,7 @@ func (m *OperateMessageListReactionExtensionsResp) Reset() { func (m *OperateMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*OperateMessageListReactionExtensionsResp) ProtoMessage() {} func (*OperateMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{27} + return fileDescriptor_msg_a1760b784e1ce32d, []int{27} } func (m *OperateMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OperateMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1792,7 +1792,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{28} + return fileDescriptor_msg_a1760b784e1ce32d, []int{28} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -1848,7 +1848,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{29} + return fileDescriptor_msg_a1760b784e1ce32d, []int{29} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -1916,7 +1916,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_489179134d252ef4, []int{30} + return fileDescriptor_msg_a1760b784e1ce32d, []int{30} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -1957,6 +1957,60 @@ func (m *KeyValueResp) GetErrMsg() string { return "" } +type MsgDataToModifyByMQ struct { + AggregationID string `protobuf:"bytes,1,opt,name=aggregationID" json:"aggregationID,omitempty"` + MessageList []*MsgDataToMQ `protobuf:"bytes,2,rep,name=messageList" json:"messageList,omitempty"` + TriggerID string `protobuf:"bytes,3,opt,name=triggerID" json:"triggerID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } +func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } +func (*MsgDataToModifyByMQ) ProtoMessage() {} +func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_a1760b784e1ce32d, []int{31} +} +func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) +} +func (m *MsgDataToModifyByMQ) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_MsgDataToModifyByMQ.Marshal(b, m, deterministic) +} +func (dst *MsgDataToModifyByMQ) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgDataToModifyByMQ.Merge(dst, src) +} +func (m *MsgDataToModifyByMQ) XXX_Size() int { + return xxx_messageInfo_MsgDataToModifyByMQ.Size(m) +} +func (m *MsgDataToModifyByMQ) XXX_DiscardUnknown() { + xxx_messageInfo_MsgDataToModifyByMQ.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgDataToModifyByMQ proto.InternalMessageInfo + +func (m *MsgDataToModifyByMQ) GetAggregationID() string { + if m != nil { + return m.AggregationID + } + return "" +} + +func (m *MsgDataToModifyByMQ) GetMessageList() []*MsgDataToMQ { + if m != nil { + return m.MessageList + } + return nil +} + +func (m *MsgDataToModifyByMQ) GetTriggerID() string { + if m != nil { + return m.TriggerID + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -1993,6 +2047,7 @@ func init() { proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") proto.RegisterMapType((map[string]*KeyValueResp)(nil), "msg.ExtendMsg.ReactionExtensionListEntry") proto.RegisterType((*KeyValueResp)(nil), "msg.KeyValueResp") + proto.RegisterType((*MsgDataToModifyByMQ)(nil), "msg.MsgDataToModifyByMQ") } // Reference imports to suppress errors if they are not otherwise used. @@ -2531,105 +2586,107 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_489179134d252ef4) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_a1760b784e1ce32d) } -var fileDescriptor_msg_489179134d252ef4 = []byte{ - // 1548 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x73, 0xdb, 0x44, - 0x14, 0x1f, 0x59, 0xb1, 0x93, 0x3c, 0x27, 0x4d, 0xba, 0x4d, 0x83, 0xaa, 0x66, 0xa6, 0x46, 0xb4, - 0xd4, 0x85, 0xd6, 0x19, 0x02, 0x33, 0x65, 0xe8, 0x81, 0x36, 0x75, 0x70, 0x33, 0x45, 0xa4, 0x91, - 0x03, 0xcc, 0xc0, 0x21, 0x55, 0xed, 0x8d, 0xaa, 0x89, 0x2d, 0x29, 0x5a, 0xa9, 0x89, 0x61, 0x28, - 0x27, 0x4e, 0x0c, 0x07, 0xb8, 0x71, 0xe2, 0xc6, 0x77, 0xe0, 0xc8, 0x85, 0x2b, 0x77, 0xbe, 0x02, - 0x5f, 0x82, 0xd9, 0x5d, 0xd9, 0x5e, 0xfd, 0x8b, 0x15, 0x97, 0xe9, 0x94, 0x19, 0x6e, 0x7e, 0x6f, - 0xdf, 0xbe, 0x7d, 0xbf, 0xf7, 0x7e, 0xda, 0xb7, 0xbb, 0x86, 0xc5, 0x3e, 0xb1, 0xd6, 0xfb, 0xc4, - 0x6a, 0x78, 0xbe, 0x1b, 0xb8, 0x48, 0xee, 0x13, 0x4b, 0xad, 0xef, 0x78, 0xd8, 0xb9, 0xb5, 0xad, - 0xdf, 0x6a, 0x63, 0xff, 0x19, 0xf6, 0xd7, 0xbd, 0x43, 0x6b, 0x9d, 0x0d, 0xaf, 0x93, 0xee, 0xe1, - 0xfe, 0x31, 0x59, 0x3f, 0x26, 0xdc, 0x5c, 0x6d, 0x4c, 0xb4, 0xf4, 0x4d, 0xcf, 0xc3, 0x7e, 0x64, - 0xaf, 0x7d, 0x0d, 0x55, 0x9d, 0x58, 0x4d, 0x33, 0x30, 0xf7, 0x5c, 0x7d, 0x17, 0xad, 0x40, 0x39, - 0x70, 0x0f, 0xb1, 0xa3, 0x48, 0x35, 0xa9, 0x3e, 0x6f, 0x70, 0x01, 0xd5, 0xa0, 0xea, 0x7a, 0xd8, - 0x37, 0x03, 0xdb, 0x75, 0xb6, 0x9b, 0x4a, 0x89, 0x8d, 0x89, 0x2a, 0xf4, 0x1e, 0xcc, 0xf6, 0xb9, - 0x1b, 0x45, 0xae, 0x49, 0xf5, 0xea, 0x86, 0xda, 0x20, 0x2c, 0x80, 0x7d, 0xd3, 0xb3, 0xf7, 0x3d, - 0xd3, 0x37, 0xfb, 0xa4, 0x11, 0x2d, 0x64, 0x0c, 0x4d, 0x35, 0x2c, 0x2c, 0xde, 0xdc, 0x14, 0x9d, - 0x48, 0x85, 0x9d, 0x4c, 0x0e, 0x4e, 0xfb, 0x41, 0x82, 0xa5, 0x47, 0x21, 0x79, 0x2a, 0x02, 0xad, - 0x41, 0x75, 0x47, 0x98, 0xc5, 0xe1, 0x8a, 0x2a, 0x31, 0x9a, 0x52, 0xf1, 0x68, 0x34, 0x58, 0xf0, - 0x42, 0xf2, 0x74, 0xcf, 0xfd, 0x94, 0x60, 0x7f, 0xbb, 0xc9, 0xb2, 0x31, 0x6f, 0xc4, 0x74, 0xda, - 0xaf, 0x12, 0xa0, 0x71, 0x2c, 0xae, 0x63, 0xb9, 0x9b, 0x03, 0x7d, 0x17, 0x29, 0x30, 0xdb, 0x33, - 0x49, 0xd0, 0xc6, 0x47, 0x2c, 0x9c, 0x19, 0x63, 0x28, 0xa2, 0xab, 0xb0, 0x68, 0x5a, 0x96, 0x8f, - 0xad, 0x38, 0xc8, 0xb8, 0x12, 0x6d, 0x40, 0xb5, 0x8f, 0x09, 0x31, 0x2d, 0xfc, 0xb1, 0x4d, 0x02, - 0x45, 0xae, 0xc9, 0xf5, 0xea, 0xc6, 0x72, 0x83, 0x52, 0x49, 0x40, 0x6e, 0x88, 0x46, 0x68, 0x0d, - 0xe6, 0x03, 0xdf, 0xb6, 0x2c, 0x16, 0xeb, 0x0c, 0xf3, 0x3a, 0x56, 0x68, 0x9f, 0x00, 0x6a, 0xe1, - 0x40, 0x37, 0x4f, 0xee, 0x39, 0x5d, 0xdd, 0x76, 0xda, 0xf8, 0xc8, 0xc0, 0x47, 0x68, 0x15, 0x2a, - 0x11, 0x38, 0x9e, 0xb5, 0x48, 0x4a, 0xa6, 0xb4, 0x94, 0x4a, 0xa9, 0x76, 0x0c, 0x17, 0x52, 0xfe, - 0x88, 0x47, 0x81, 0x6f, 0xf9, 0xfe, 0x7d, 0xb7, 0x8b, 0x99, 0xc7, 0xb2, 0x31, 0x14, 0xe9, 0x52, - 0x5b, 0xbe, 0xaf, 0x13, 0x2b, 0xf2, 0x16, 0x49, 0x54, 0xaf, 0x9b, 0x27, 0x34, 0x53, 0x34, 0xbf, - 0x8b, 0x46, 0x24, 0x31, 0x3d, 0xf3, 0xcb, 0xb0, 0x50, 0x3d, 0x93, 0xb4, 0xaf, 0x00, 0xda, 0xd8, - 0xe9, 0xea, 0xc4, 0xa2, 0x00, 0x5e, 0x2e, 0xc9, 0x7f, 0x91, 0xa0, 0x3a, 0x5a, 0x9c, 0xa3, 0xc5, - 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x46, 0xc6, 0xd7, 0xd1, 0x89, 0x35, 0x2a, - 0x93, 0xa8, 0xa2, 0x16, 0x9d, 0x9e, 0x8d, 0x9d, 0x80, 0x5b, 0x94, 0xb9, 0x85, 0xa0, 0x42, 0x2a, - 0xcc, 0x11, 0xec, 0x74, 0xf7, 0xec, 0x3e, 0x56, 0x2a, 0x35, 0xa9, 0x2e, 0x1b, 0x23, 0x59, 0xeb, - 0x40, 0xf5, 0x7e, 0x0f, 0x9b, 0x7e, 0x94, 0x9e, 0x55, 0xa8, 0x84, 0xb1, 0xfa, 0x72, 0x89, 0xba, - 0x70, 0xbd, 0xa8, 0xf2, 0x3c, 0xc0, 0x91, 0x9c, 0x4c, 0x9e, 0x9c, 0xfe, 0x08, 0xef, 0xc2, 0xc2, - 0x78, 0x91, 0x69, 0xd2, 0xa0, 0xfd, 0x2c, 0xc1, 0x52, 0x1b, 0x53, 0x3c, 0x31, 0x2e, 0x66, 0xc6, - 0xaa, 0xc0, 0xac, 0xe5, 0xbb, 0xa1, 0x37, 0x0a, 0x75, 0x28, 0xd2, 0x19, 0x7d, 0x4e, 0x91, 0x88, - 0x3a, 0x5c, 0x4a, 0x22, 0x98, 0x49, 0x97, 0x5f, 0xc4, 0x5f, 0x8e, 0xe3, 0xd7, 0x9a, 0xb0, 0x1c, - 0x0f, 0x6d, 0x2a, 0x84, 0x3b, 0x70, 0xa1, 0x8d, 0x83, 0x88, 0x2c, 0xed, 0xc0, 0x0c, 0x42, 0x62, - 0xa4, 0x43, 0x93, 0xd2, 0xa1, 0xad, 0x42, 0x85, 0x30, 0x73, 0xe6, 0xb0, 0x6c, 0x44, 0x92, 0xf6, - 0x00, 0x56, 0xd2, 0x0e, 0xa7, 0x0a, 0xed, 0x36, 0xfb, 0x74, 0xcf, 0x1e, 0x9a, 0xf6, 0x18, 0x56, - 0x5a, 0xff, 0x4a, 0x08, 0x02, 0x48, 0x39, 0x06, 0xf2, 0x3b, 0x09, 0x2e, 0x34, 0x71, 0xaf, 0x1d, - 0x7a, 0xd8, 0x6f, 0xd1, 0x2a, 0x47, 0x3c, 0x16, 0xeb, 0x25, 0x25, 0xf8, 0x3a, 0xe6, 0x4d, 0x29, - 0x8f, 0x37, 0x72, 0x9c, 0x37, 0x13, 0xf9, 0x41, 0x93, 0x9d, 0x0e, 0x63, 0xaa, 0x64, 0x77, 0x78, - 0xb2, 0x93, 0x80, 0x26, 0xf3, 0x60, 0x19, 0x64, 0xca, 0xec, 0x12, 0x63, 0x36, 0xfd, 0x99, 0x0f, - 0x48, 0x7b, 0xce, 0x0b, 0xf3, 0xe2, 0xe1, 0x4e, 0xb9, 0x2f, 0x3e, 0x60, 0xcd, 0xe5, 0x73, 0xdf, - 0x0e, 0x70, 0xd3, 0x3e, 0x38, 0x98, 0x1e, 0xa3, 0xf6, 0x0d, 0x4b, 0x57, 0xdc, 0xd3, 0x4b, 0x04, - 0xf2, 0x63, 0x19, 0x34, 0xdd, 0xed, 0xda, 0x07, 0x03, 0x9d, 0x77, 0x56, 0x03, 0x9b, 0x1d, 0x1a, - 0xec, 0xd6, 0x49, 0x80, 0x1d, 0x62, 0xbb, 0x4e, 0xc1, 0xaf, 0x98, 0xee, 0xd1, 0x6e, 0xe8, 0x77, - 0xf0, 0x78, 0x83, 0x1d, 0xca, 0x31, 0x32, 0xcb, 0xe9, 0xcd, 0x97, 0x60, 0x42, 0x17, 0xda, 0x1b, - 0x78, 0x98, 0x51, 0xb3, 0x6c, 0x88, 0x2a, 0x74, 0x02, 0x17, 0xfd, 0x64, 0x50, 0xec, 0x90, 0x50, - 0x66, 0x87, 0x84, 0x4d, 0x7e, 0x48, 0x98, 0x88, 0xa1, 0x61, 0x64, 0x39, 0xd9, 0x72, 0x02, 0x7f, - 0x60, 0x64, 0x2f, 0x90, 0xec, 0x4c, 0x95, 0x74, 0x67, 0xba, 0x09, 0x25, 0x7c, 0xa2, 0xcc, 0xb2, - 0x7c, 0xaf, 0x35, 0x2c, 0xd7, 0xb5, 0x7a, 0x98, 0x1f, 0x4e, 0x9f, 0x84, 0x07, 0x8d, 0x76, 0xe0, - 0xdb, 0x8e, 0xf5, 0x99, 0xd9, 0x0b, 0xb1, 0x51, 0xc2, 0x27, 0xe8, 0x2e, 0x2c, 0x98, 0x41, 0x60, - 0x76, 0x9e, 0xe2, 0xee, 0xb6, 0x73, 0xe0, 0x2a, 0x73, 0x05, 0xe6, 0xc5, 0x66, 0x50, 0x5a, 0xd8, - 0x84, 0x01, 0x51, 0xe6, 0x6b, 0x52, 0x7d, 0xce, 0x18, 0x8a, 0x68, 0x03, 0x56, 0x6c, 0x42, 0xc3, - 0xf7, 0x1d, 0xb3, 0x37, 0x06, 0xae, 0x00, 0x33, 0xcb, 0x1c, 0x43, 0x0d, 0x40, 0x7d, 0x62, 0x7d, - 0x64, 0xfb, 0x24, 0xe0, 0xf9, 0x63, 0x1d, 0xb6, 0xca, 0x3a, 0x6c, 0xc6, 0x88, 0x8a, 0x41, 0xcd, - 0x4f, 0x22, 0xe5, 0xf6, 0x21, 0x1e, 0x44, 0xdc, 0xa0, 0x3f, 0xd1, 0x3b, 0x50, 0x7e, 0x46, 0x41, - 0x44, 0x67, 0xd0, 0xcb, 0x19, 0x84, 0x7c, 0x88, 0x07, 0x1c, 0x27, 0xb7, 0xfc, 0xa0, 0xf4, 0xbe, - 0xa4, 0x7d, 0x5f, 0x86, 0x2b, 0xb4, 0x21, 0xbd, 0xaa, 0x84, 0x0c, 0x4f, 0x27, 0xe4, 0x87, 0x8c, - 0x90, 0x13, 0x00, 0xfc, 0xcf, 0xc6, 0xff, 0x0a, 0x1b, 0xff, 0x96, 0xa0, 0x76, 0x7a, 0x31, 0xa7, - 0x3d, 0x17, 0x8b, 0xd5, 0x94, 0xd3, 0xd5, 0xcc, 0xce, 0xc7, 0x4c, 0x5e, 0x3e, 0xc4, 0x6a, 0x94, - 0xe3, 0xd5, 0xb8, 0x01, 0x15, 0x1f, 0x93, 0xb0, 0x17, 0x28, 0x15, 0xc6, 0xd0, 0xf3, 0x8c, 0xa1, - 0x23, 0xb0, 0x98, 0x78, 0x46, 0x64, 0xa0, 0xfd, 0x2e, 0xc1, 0x1b, 0x13, 0xf7, 0xd2, 0x29, 0xfb, - 0x53, 0x95, 0x84, 0x9d, 0x0e, 0x26, 0x44, 0xb8, 0xe1, 0x21, 0x16, 0x09, 0xf3, 0x3d, 0xbc, 0x63, - 0x18, 0xa2, 0x19, 0xda, 0x00, 0x38, 0x30, 0xed, 0x1e, 0xee, 0xb2, 0x49, 0x33, 0xb9, 0x93, 0x04, - 0x2b, 0xed, 0x2f, 0x19, 0xae, 0xf3, 0x9b, 0x1b, 0xd6, 0xc7, 0xd7, 0xc5, 0x17, 0xd8, 0x47, 0x72, - 0x6f, 0x0e, 0xe2, 0x1e, 0x23, 0x27, 0xf6, 0x98, 0xc9, 0xfb, 0xc8, 0x31, 0xac, 0xf6, 0xe3, 0x49, - 0x7e, 0x88, 0x07, 0xa9, 0x8d, 0xa4, 0x20, 0x92, 0x86, 0x9e, 0x72, 0x65, 0xe4, 0xb8, 0x57, 0x7f, - 0xa3, 0x77, 0xf8, 0xd4, 0x50, 0x92, 0x92, 0x52, 0x51, 0x4a, 0x96, 0x72, 0x29, 0xb9, 0x9b, 0xb7, - 0x53, 0xf2, 0xea, 0x9f, 0xfa, 0x09, 0x66, 0xcf, 0xd4, 0xfe, 0x90, 0xa0, 0x5e, 0x2c, 0x25, 0xaf, - 0x38, 0x4b, 0x5d, 0x58, 0x8c, 0x0d, 0xa2, 0x9b, 0x30, 0x8f, 0x87, 0x8a, 0xe8, 0x0d, 0xe9, 0x5c, - 0xc2, 0xc7, 0xd8, 0x40, 0x84, 0x56, 0xca, 0x83, 0x26, 0xc7, 0x0e, 0xe6, 0x7f, 0x96, 0x60, 0x7e, - 0xe4, 0x0a, 0xed, 0xe7, 0x95, 0x46, 0x62, 0xd1, 0xdf, 0x88, 0xaf, 0xfc, 0xe2, 0xed, 0xaa, 0x54, - 0x94, 0x4d, 0x72, 0x2e, 0x9b, 0xb4, 0x44, 0xc3, 0xe2, 0xd7, 0x98, 0x78, 0x4b, 0x3a, 0xc7, 0x5a, - 0x20, 0xbf, 0xe1, 0x96, 0xf0, 0x89, 0xfa, 0xe5, 0x19, 0x9b, 0xc4, 0xf5, 0x78, 0x93, 0xc8, 0xd8, - 0x29, 0x85, 0xd6, 0x30, 0x80, 0x05, 0x71, 0x08, 0xdd, 0x86, 0xb9, 0xc3, 0x48, 0x8e, 0x0a, 0x78, - 0x2a, 0xc3, 0x47, 0xc6, 0x67, 0x2f, 0xe6, 0xc6, 0x4f, 0x00, 0x72, 0x9f, 0x58, 0xe8, 0x31, 0x2c, - 0x25, 0x5e, 0xa5, 0xd0, 0xb5, 0x8c, 0x35, 0xd3, 0x2f, 0x61, 0xea, 0x9b, 0x45, 0xcc, 0x88, 0x87, - 0x5c, 0x58, 0x79, 0x14, 0xf6, 0x7a, 0xd1, 0xc7, 0xb6, 0x39, 0x68, 0xe3, 0x23, 0x56, 0xdf, 0xb7, - 0x32, 0xe6, 0x67, 0x19, 0xd2, 0xb5, 0xde, 0x2e, 0x6c, 0xcb, 0xbe, 0x83, 0xd9, 0xe8, 0xc6, 0x8d, - 0x96, 0xa2, 0xa3, 0xd4, 0xf0, 0xf5, 0x4b, 0x5d, 0x8e, 0x2b, 0x88, 0x87, 0x76, 0x01, 0x9a, 0xb8, - 0xa7, 0x13, 0x8b, 0x93, 0x2e, 0x63, 0xa1, 0xf1, 0x30, 0xf5, 0xf0, 0xfa, 0x04, 0x0b, 0xe2, 0xa1, - 0x16, 0x2c, 0x27, 0xef, 0xc2, 0x48, 0x61, 0x0b, 0x67, 0xdc, 0xd4, 0xd5, 0x4b, 0x39, 0x23, 0xc4, - 0x43, 0xeb, 0x30, 0x37, 0x7c, 0x36, 0x42, 0x3c, 0x72, 0xe1, 0xa9, 0x4a, 0x3d, 0x9f, 0xd0, 0x10, - 0x0f, 0xdd, 0x81, 0x05, 0xf1, 0x25, 0x06, 0xad, 0x8c, 0x8e, 0x92, 0xc2, 0xbb, 0x91, 0x7a, 0x31, - 0x43, 0xcb, 0xc3, 0x4e, 0xbe, 0x97, 0x44, 0x61, 0x67, 0xbc, 0xcb, 0x44, 0x61, 0x67, 0x3e, 0xb0, - 0xb4, 0x60, 0xb9, 0x95, 0xed, 0xa8, 0x95, 0xeb, 0xa8, 0x75, 0x8a, 0xa3, 0x8c, 0x44, 0x66, 0xbc, - 0x10, 0x08, 0x8e, 0x52, 0x89, 0x6c, 0x32, 0x96, 0x8b, 0x97, 0x64, 0xf4, 0xda, 0xd0, 0x3a, 0x71, - 0x09, 0x57, 0x95, 0xec, 0x01, 0xe2, 0xa1, 0x43, 0x58, 0x3b, 0xed, 0x20, 0x87, 0xae, 0x16, 0x39, - 0xb8, 0xab, 0xd7, 0x0a, 0x58, 0x11, 0x0f, 0x7d, 0x0b, 0xb5, 0xd6, 0xc8, 0x26, 0xbb, 0x45, 0xa1, - 0x9b, 0x67, 0x69, 0xf0, 0xea, 0xad, 0x33, 0x58, 0x13, 0x0f, 0x1d, 0xc1, 0xda, 0xbd, 0x6e, 0x37, - 0x1f, 0xed, 0xf5, 0x82, 0xf7, 0x66, 0xb5, 0x5e, 0xcc, 0x90, 0x78, 0xe8, 0x39, 0x5c, 0x69, 0xe2, - 0x1e, 0x1e, 0x45, 0xf7, 0x92, 0x21, 0x6f, 0x5e, 0xfe, 0xe2, 0xd2, 0x8e, 0x87, 0x9d, 0xfd, 0x6d, - 0x5d, 0xf8, 0xeb, 0xa8, 0x4f, 0xac, 0x3b, 0x7d, 0x62, 0x3d, 0xa9, 0x30, 0xf1, 0xdd, 0x7f, 0x02, - 0x00, 0x00, 0xff, 0xff, 0xa6, 0x82, 0xfe, 0x0e, 0xa3, 0x1a, 0x00, 0x00, +var fileDescriptor_msg_a1760b784e1ce32d = []byte{ + // 1577 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, + 0x12, 0x07, 0x49, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0x3f, 0x86, 0x31, 0x10, 0x3d, 0xbe, + 0xe4, 0x45, 0x79, 0x2f, 0x91, 0x51, 0xb7, 0x40, 0x8a, 0xe6, 0xd0, 0xc4, 0x91, 0xab, 0x18, 0x29, + 0xeb, 0x98, 0x72, 0x5b, 0xa0, 0x3d, 0x38, 0x8c, 0xb4, 0x66, 0x08, 0x4b, 0x24, 0xcd, 0xa5, 0x62, + 0xab, 0x45, 0xd3, 0x53, 0x4f, 0x45, 0x0e, 0xed, 0xad, 0xa7, 0xde, 0xfa, 0x1d, 0x7a, 0xec, 0xa5, + 0xd7, 0xde, 0xfb, 0x15, 0xfa, 0x25, 0x8a, 0xdd, 0xa5, 0xa4, 0xe5, 0x3f, 0x8b, 0x56, 0x8a, 0x20, + 0x05, 0x7a, 0xd3, 0xec, 0xce, 0xce, 0xce, 0x6f, 0xe6, 0xc7, 0x9d, 0xdd, 0x11, 0x2c, 0xf6, 0x88, + 0xbd, 0xd1, 0x23, 0x76, 0xdd, 0x0f, 0xbc, 0xd0, 0x43, 0x4a, 0x8f, 0xd8, 0x5a, 0x6d, 0xd7, 0xc7, + 0xee, 0xed, 0x1d, 0xe3, 0x76, 0x0b, 0x07, 0xcf, 0x71, 0xb0, 0xe1, 0x1f, 0xd9, 0x1b, 0x6c, 0x7a, + 0x83, 0x74, 0x8e, 0x0e, 0x4e, 0xc8, 0xc6, 0x09, 0xe1, 0xea, 0x5a, 0x7d, 0xa2, 0x66, 0x60, 0xf9, + 0x3e, 0x0e, 0x22, 0x7d, 0xfd, 0x4b, 0xa8, 0x18, 0xc4, 0x6e, 0x58, 0xa1, 0xb5, 0xef, 0x19, 0x7b, + 0x68, 0x15, 0x4a, 0xa1, 0x77, 0x84, 0x5d, 0x55, 0xaa, 0x4a, 0xb5, 0x79, 0x93, 0x0b, 0xa8, 0x0a, + 0x15, 0xcf, 0xc7, 0x81, 0x15, 0x3a, 0x9e, 0xbb, 0xd3, 0x50, 0x65, 0x36, 0x27, 0x0e, 0xa1, 0x77, + 0x60, 0xb6, 0xc7, 0xcd, 0xa8, 0x4a, 0x55, 0xaa, 0x55, 0x36, 0xb5, 0x3a, 0x61, 0x0e, 0x1c, 0x58, + 0xbe, 0x73, 0xe0, 0x5b, 0x81, 0xd5, 0x23, 0xf5, 0x68, 0x23, 0x73, 0xa8, 0xaa, 0x63, 0x61, 0xf3, + 0xc6, 0x96, 0x68, 0x44, 0x2a, 0x6c, 0x64, 0xb2, 0x73, 0xfa, 0x4b, 0x09, 0x96, 0x1e, 0xf7, 0xc9, + 0x33, 0x11, 0x68, 0x15, 0x2a, 0xbb, 0xc2, 0x2a, 0x0e, 0x57, 0x1c, 0x12, 0xbd, 0x91, 0x8b, 0x7b, + 0xa3, 0xc3, 0x82, 0xdf, 0x27, 0xcf, 0xf6, 0xbd, 0x8f, 0x09, 0x0e, 0x76, 0x1a, 0x2c, 0x1a, 0xf3, + 0x66, 0x6c, 0x4c, 0xff, 0x49, 0x02, 0x34, 0xf6, 0xc5, 0x73, 0x6d, 0x6f, 0x6b, 0x60, 0xec, 0x21, + 0x15, 0x66, 0xbb, 0x16, 0x09, 0x5b, 0xf8, 0x98, 0xb9, 0x33, 0x63, 0x0e, 0x45, 0x74, 0x0d, 0x16, + 0x2d, 0xdb, 0x0e, 0xb0, 0x1d, 0x07, 0x19, 0x1f, 0x44, 0x9b, 0x50, 0xe9, 0x61, 0x42, 0x2c, 0x1b, + 0x7f, 0xe8, 0x90, 0x50, 0x55, 0xaa, 0x4a, 0xad, 0xb2, 0xb9, 0x5c, 0xa7, 0x54, 0x12, 0x90, 0x9b, + 0xa2, 0x12, 0x5a, 0x87, 0xf9, 0x30, 0x70, 0x6c, 0x9b, 0xf9, 0x3a, 0xc3, 0xac, 0x8e, 0x07, 0xf4, + 0x8f, 0x00, 0x35, 0x71, 0x68, 0x58, 0xa7, 0xf7, 0xdd, 0x8e, 0xe1, 0xb8, 0x2d, 0x7c, 0x6c, 0xe2, + 0x63, 0xb4, 0x06, 0xe5, 0x08, 0x1c, 0x8f, 0x5a, 0x24, 0x25, 0x43, 0x2a, 0xa7, 0x42, 0xaa, 0x9f, + 0xc0, 0x4a, 0xca, 0x1e, 0xf1, 0x29, 0xf0, 0xed, 0x20, 0x78, 0xe0, 0x75, 0x30, 0xb3, 0x58, 0x32, + 0x87, 0x22, 0xdd, 0x6a, 0x3b, 0x08, 0x0c, 0x62, 0x47, 0xd6, 0x22, 0x89, 0x8e, 0x1b, 0xd6, 0x29, + 0x8d, 0x14, 0x8d, 0xef, 0xa2, 0x19, 0x49, 0x6c, 0x9c, 0xd9, 0x65, 0x58, 0xe8, 0x38, 0x93, 0xf4, + 0x2f, 0x00, 0x5a, 0xd8, 0xed, 0x18, 0xc4, 0xa6, 0x00, 0x5e, 0x2f, 0xc9, 0x7f, 0x94, 0xa0, 0x32, + 0xda, 0x9c, 0xa3, 0xc5, 0x71, 0xb4, 0x78, 0x8c, 0x16, 0xc7, 0xd0, 0x72, 0x89, 0x7a, 0xc6, 0xf7, + 0x31, 0x88, 0x3d, 0x4a, 0x93, 0x38, 0x44, 0x35, 0xda, 0x5d, 0x07, 0xbb, 0x21, 0xd7, 0x28, 0x71, + 0x0d, 0x61, 0x08, 0x69, 0x30, 0x47, 0xb0, 0xdb, 0xd9, 0x77, 0x7a, 0x58, 0x2d, 0x57, 0xa5, 0x9a, + 0x62, 0x8e, 0x64, 0xbd, 0x0d, 0x95, 0x07, 0x5d, 0x6c, 0x05, 0x51, 0x78, 0xd6, 0xa0, 0xdc, 0x8f, + 0xe5, 0x97, 0x4b, 0xd4, 0x84, 0xe7, 0x47, 0x99, 0xe7, 0x0e, 0x8e, 0xe4, 0x64, 0xf0, 0x94, 0xf4, + 0x47, 0x78, 0x0f, 0x16, 0xc6, 0x9b, 0x4c, 0x13, 0x06, 0xfd, 0x07, 0x09, 0x96, 0x5a, 0x98, 0xe2, + 0x89, 0x71, 0x31, 0xd3, 0x57, 0x15, 0x66, 0xed, 0xc0, 0xeb, 0xfb, 0x23, 0x57, 0x87, 0x22, 0x5d, + 0xd1, 0xe3, 0x14, 0x89, 0xa8, 0xc3, 0xa5, 0x24, 0x82, 0x99, 0x74, 0xfa, 0x45, 0xfc, 0xa5, 0x38, + 0x7e, 0xbd, 0x01, 0xcb, 0x71, 0xd7, 0xa6, 0x42, 0xb8, 0x0b, 0x2b, 0x2d, 0x1c, 0x46, 0x64, 0x69, + 0x85, 0x56, 0xd8, 0x27, 0x66, 0xda, 0x35, 0x29, 0xed, 0xda, 0x1a, 0x94, 0x09, 0x53, 0x67, 0x06, + 0x4b, 0x66, 0x24, 0xe9, 0x0f, 0x61, 0x35, 0x6d, 0x70, 0x2a, 0xd7, 0xee, 0xb0, 0x4f, 0xf7, 0xfc, + 0xae, 0xe9, 0x4f, 0x60, 0xb5, 0xf9, 0x97, 0xb8, 0x20, 0x80, 0x54, 0x62, 0x20, 0xbf, 0x91, 0x60, + 0xa5, 0x81, 0xbb, 0xad, 0xbe, 0x8f, 0x83, 0x26, 0xcd, 0x72, 0xc4, 0x63, 0x31, 0x5f, 0x52, 0x82, + 0xaf, 0x63, 0xde, 0xc8, 0x79, 0xbc, 0x51, 0xe2, 0xbc, 0x99, 0xc8, 0x0f, 0x1a, 0xec, 0xb4, 0x1b, + 0x53, 0x05, 0xbb, 0xcd, 0x83, 0x9d, 0x04, 0x34, 0x99, 0x07, 0xcb, 0xa0, 0x50, 0x66, 0xcb, 0x8c, + 0xd9, 0xf4, 0x67, 0x3e, 0x20, 0xfd, 0x05, 0x4f, 0xcc, 0xab, 0xbb, 0x3b, 0xe5, 0xb9, 0xf8, 0x90, + 0x15, 0x97, 0x4f, 0x03, 0x27, 0xc4, 0x0d, 0xe7, 0xf0, 0x70, 0x7a, 0x8c, 0xfa, 0x57, 0x2c, 0x5c, + 0x71, 0x4b, 0xaf, 0x11, 0xc8, 0x77, 0x25, 0xd0, 0x0d, 0xaf, 0xe3, 0x1c, 0x0e, 0x0c, 0x5e, 0x59, + 0x4d, 0x6c, 0xb5, 0xa9, 0xb3, 0xdb, 0xa7, 0x21, 0x76, 0x89, 0xe3, 0xb9, 0x05, 0xbf, 0x62, 0x7a, + 0x46, 0x7b, 0xfd, 0xa0, 0x8d, 0xc7, 0x07, 0xec, 0x50, 0x8e, 0x91, 0x59, 0x49, 0x1f, 0xbe, 0x04, + 0x13, 0xba, 0xd1, 0xfe, 0xc0, 0xc7, 0x8c, 0x9a, 0x25, 0x53, 0x1c, 0x42, 0xa7, 0x70, 0x29, 0x48, + 0x3a, 0xc5, 0x2e, 0x09, 0x25, 0x76, 0x49, 0xd8, 0xe2, 0x97, 0x84, 0x89, 0x18, 0xea, 0x66, 0x96, + 0x91, 0x6d, 0x37, 0x0c, 0x06, 0x66, 0xf6, 0x06, 0xc9, 0xca, 0x54, 0x4e, 0x57, 0xa6, 0x5b, 0x20, + 0xe3, 0x53, 0x75, 0x96, 0xc5, 0x7b, 0xbd, 0x6e, 0x7b, 0x9e, 0xdd, 0xc5, 0xfc, 0x72, 0xfa, 0xb4, + 0x7f, 0x58, 0x6f, 0x85, 0x81, 0xe3, 0xda, 0x9f, 0x58, 0xdd, 0x3e, 0x36, 0x65, 0x7c, 0x8a, 0xee, + 0xc1, 0x82, 0x15, 0x86, 0x56, 0xfb, 0x19, 0xee, 0xec, 0xb8, 0x87, 0x9e, 0x3a, 0x57, 0x60, 0x5d, + 0x6c, 0x05, 0xa5, 0x85, 0x43, 0x18, 0x10, 0x75, 0xbe, 0x2a, 0xd5, 0xe6, 0xcc, 0xa1, 0x88, 0x36, + 0x61, 0xd5, 0x21, 0xd4, 0xfd, 0xc0, 0xb5, 0xba, 0x63, 0xe0, 0x2a, 0x30, 0xb5, 0xcc, 0x39, 0x54, + 0x07, 0xd4, 0x23, 0xf6, 0x07, 0x4e, 0x40, 0x42, 0x1e, 0x3f, 0x56, 0x61, 0x2b, 0xac, 0xc2, 0x66, + 0xcc, 0x68, 0x18, 0xb4, 0xfc, 0x20, 0x52, 0x6e, 0x1f, 0xe1, 0x41, 0xc4, 0x0d, 0xfa, 0x13, 0xbd, + 0x05, 0xa5, 0xe7, 0x14, 0x44, 0x74, 0x07, 0xbd, 0x92, 0x41, 0xc8, 0x47, 0x78, 0xc0, 0x71, 0x72, + 0xcd, 0xf7, 0xe4, 0x77, 0x25, 0xfd, 0xdb, 0x12, 0x5c, 0xa5, 0x05, 0xe9, 0x4d, 0x25, 0x64, 0xff, + 0x6c, 0x42, 0xbe, 0xcf, 0x08, 0x39, 0x01, 0xc0, 0x3f, 0x6c, 0xfc, 0xbb, 0xb0, 0xf1, 0x0f, 0x09, + 0xaa, 0x67, 0x27, 0x73, 0xda, 0x7b, 0xb1, 0x98, 0x4d, 0x25, 0x9d, 0xcd, 0xec, 0x78, 0xcc, 0xe4, + 0xc5, 0x43, 0xcc, 0x46, 0x29, 0x9e, 0x8d, 0x9b, 0x50, 0x0e, 0x30, 0xe9, 0x77, 0x43, 0xb5, 0xcc, + 0x18, 0x7a, 0x91, 0x31, 0x74, 0x04, 0x16, 0x13, 0xdf, 0x8c, 0x14, 0xf4, 0x5f, 0x24, 0xf8, 0xcf, + 0xc4, 0xb3, 0x74, 0xca, 0xfa, 0x54, 0x21, 0xfd, 0x76, 0x1b, 0x13, 0x22, 0xbc, 0xf0, 0x10, 0xf3, + 0x84, 0xd9, 0x1e, 0xbe, 0x31, 0x4c, 0x51, 0x0d, 0x6d, 0x02, 0x1c, 0x5a, 0x4e, 0x17, 0x77, 0xd8, + 0xa2, 0x99, 0xdc, 0x45, 0x82, 0x96, 0xfe, 0xbb, 0x02, 0x37, 0xf8, 0xcb, 0x0d, 0x1b, 0xe3, 0xe7, + 0xe2, 0x2b, 0x9c, 0x23, 0xb9, 0x2f, 0x07, 0xf1, 0x8c, 0x51, 0x12, 0x67, 0xcc, 0xe4, 0x73, 0xe4, + 0x04, 0xd6, 0x7a, 0xf1, 0x20, 0x3f, 0xc2, 0x83, 0xd4, 0x41, 0x52, 0x10, 0x49, 0xdd, 0x48, 0x99, + 0x32, 0x73, 0xcc, 0x6b, 0x3f, 0xd3, 0x37, 0x7c, 0x6a, 0x2a, 0x49, 0x49, 0xa9, 0x28, 0x25, 0xe5, + 0x5c, 0x4a, 0xee, 0xe5, 0x9d, 0x94, 0x3c, 0xfb, 0x67, 0x7e, 0x82, 0xd9, 0x2b, 0xf5, 0x5f, 0x25, + 0xa8, 0x15, 0x0b, 0xc9, 0x1b, 0xce, 0x52, 0x0f, 0x16, 0x63, 0x93, 0xe8, 0x16, 0xcc, 0xe3, 0xe1, + 0x40, 0xd4, 0x43, 0xba, 0x90, 0xb0, 0x31, 0x56, 0x10, 0xa1, 0xc9, 0x79, 0xd0, 0x94, 0xd8, 0xc5, + 0xfc, 0x37, 0x19, 0xe6, 0x47, 0xa6, 0xd0, 0x41, 0x5e, 0x6a, 0x24, 0xe6, 0xfd, 0xcd, 0xf8, 0xce, + 0xaf, 0x5e, 0xae, 0xe4, 0xa2, 0x6c, 0x52, 0x72, 0xd9, 0xa4, 0x27, 0x0a, 0x16, 0x7f, 0xc6, 0xc4, + 0x4b, 0xd2, 0x05, 0x56, 0x02, 0xf9, 0x0b, 0x57, 0xc6, 0xa7, 0xda, 0xe7, 0xe7, 0x2c, 0x12, 0x37, + 0xe2, 0x45, 0x22, 0xe3, 0xa4, 0x14, 0x4a, 0xc3, 0x00, 0x16, 0xc4, 0x29, 0x74, 0x07, 0xe6, 0x8e, + 0x22, 0x39, 0x4a, 0xe0, 0x99, 0x0c, 0x1f, 0x29, 0x4f, 0x91, 0xcc, 0x97, 0x12, 0xac, 0x08, 0x6d, + 0x38, 0x1a, 0x23, 0xd6, 0x87, 0x4b, 0x75, 0xdb, 0xa4, 0x02, 0xdd, 0x36, 0xf9, 0xdc, 0xdd, 0x36, + 0x25, 0xd1, 0x6d, 0xdb, 0xfc, 0x1e, 0x40, 0xe9, 0x11, 0x1b, 0x3d, 0x81, 0xa5, 0x44, 0x97, 0x0c, + 0x5d, 0xcf, 0x88, 0x41, 0xba, 0x33, 0xa7, 0xfd, 0xb7, 0x88, 0x1a, 0xf1, 0x91, 0x07, 0xab, 0x8f, + 0xfb, 0xdd, 0x6e, 0xf4, 0xf1, 0x6f, 0x0d, 0x5a, 0xf8, 0x98, 0xf9, 0xf7, 0xbf, 0x8c, 0xf5, 0x59, + 0x8a, 0x74, 0xaf, 0xff, 0x17, 0xd6, 0x65, 0xdf, 0xe5, 0x6c, 0xd4, 0x01, 0x40, 0x4b, 0xd1, 0xd5, + 0x6e, 0xd8, 0x8d, 0xd3, 0x96, 0xe3, 0x03, 0xc4, 0x47, 0x7b, 0x00, 0x0d, 0xdc, 0x35, 0x88, 0xcd, + 0x3f, 0x82, 0x8c, 0x8d, 0xc6, 0xd3, 0xd4, 0xc2, 0xbf, 0x27, 0x68, 0x10, 0x1f, 0x35, 0x61, 0x39, + 0xf9, 0x36, 0x47, 0x2a, 0xdb, 0x38, 0xa3, 0x73, 0xa0, 0x5d, 0xce, 0x99, 0x21, 0x3e, 0xda, 0x80, + 0xb9, 0x61, 0x1b, 0x0b, 0x71, 0xcf, 0x85, 0xd6, 0x99, 0x76, 0x31, 0x31, 0x42, 0x7c, 0x74, 0x17, + 0x16, 0xc4, 0xce, 0x10, 0x5a, 0x1d, 0x5d, 0x6d, 0x85, 0x3e, 0x96, 0x76, 0x29, 0x63, 0x94, 0xbb, + 0x9d, 0xec, 0xdf, 0x44, 0x6e, 0x67, 0xf4, 0x89, 0x22, 0xb7, 0x33, 0x1b, 0x3e, 0x4d, 0x58, 0x6e, + 0x66, 0x1b, 0x6a, 0xe6, 0x1a, 0x6a, 0x9e, 0x61, 0x28, 0x23, 0x90, 0x19, 0x1d, 0x0b, 0xc1, 0x50, + 0x2a, 0x90, 0x0d, 0xc6, 0x72, 0xf1, 0xd1, 0x8e, 0xfe, 0x35, 0xd4, 0x4e, 0x34, 0x05, 0x34, 0x35, + 0x7b, 0x82, 0xf8, 0xe8, 0x08, 0xd6, 0xcf, 0xba, 0x58, 0xa2, 0x6b, 0x45, 0x1e, 0x12, 0xda, 0xf5, + 0x02, 0x5a, 0xc4, 0x47, 0x5f, 0x43, 0xb5, 0x39, 0xd2, 0xc9, 0x2e, 0x99, 0xe8, 0xd6, 0x79, 0x2e, + 0x1c, 0xda, 0xed, 0x73, 0x68, 0x13, 0x1f, 0x1d, 0xc3, 0xfa, 0xfd, 0x4e, 0x27, 0x1f, 0xed, 0x8d, + 0x82, 0xef, 0x78, 0xad, 0x56, 0x4c, 0x91, 0xf8, 0xe8, 0x05, 0x5c, 0x6d, 0xe0, 0x2e, 0x1e, 0x79, + 0xf7, 0x9a, 0x21, 0x6f, 0x5d, 0xf9, 0xec, 0xf2, 0xae, 0x8f, 0xdd, 0x83, 0x1d, 0x43, 0xf8, 0x2b, + 0xab, 0x47, 0xec, 0xbb, 0x3d, 0x62, 0x3f, 0x2d, 0x33, 0xf1, 0xed, 0x3f, 0x03, 0x00, 0x00, 0xff, + 0xff, 0x57, 0xed, 0x19, 0x89, 0x33, 0x1b, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index c02824c86..e9f75b039 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -236,6 +236,13 @@ message KeyValueResp { string errMsg = 3; } +message MsgDataToModifyByMQ{ + string aggregationID = 1; + repeated MsgDataToMQ messageList = 2; + string triggerID = 3; +} + + service msg { rpc GetMaxAndMinSeq(server_api_params.GetMaxAndMinSeqReq) returns(server_api_params.GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); From a662414b7f384964590e80b1de001f24bb11c7cd Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 12 Dec 2022 19:53:04 +0800 Subject: [PATCH 25/33] Merge branch 'modify' of github.com:OpenIMSDK/Open-IM-Server into modify # Conflicts: # pkg/proto/msg/msg.pb.go --- internal/api/msg/extend_msg.go | 3 +- pkg/base_info/msg.go | 14 +- pkg/proto/msg/msg.pb.go | 381 ++++++++++++++------------------- pkg/proto/msg/msg.proto | 12 +- 4 files changed, 182 insertions(+), 228 deletions(-) diff --git a/internal/api/msg/extend_msg.go b/internal/api/msg/extend_msg.go index 62282fca1..b6920825d 100644 --- a/internal/api/msg/extend_msg.go +++ b/internal/api/msg/extend_msg.go @@ -197,8 +197,7 @@ func DeleteMessageReactionExtensions(c *gin.Context) { } resp.ErrCode = respPb.ErrCode resp.ErrMsg = respPb.ErrMsg - resp.Data.FailedList = respPb.FailedList - resp.Data.SuccessList = respPb.SuccessList + resp.Data = respPb.Result log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) c.JSON(http.StatusOK, resp) } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index f59eaee87..61a94ef72 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -105,9 +105,19 @@ type AddMessageReactionExtensionsReq ModifyMessageReactionExtensionsReq type AddMessageReactionExtensionsResp ModifyMessageReactionExtensionsResp -type DeleteMessageReactionExtensionsReq OperateMessageListReactionExtensionsReq +type DeleteMessageReactionExtensionsReq struct { + OperationID string `json:"operationID" binding:"required"` + SourceID string `json:"sourceID" binding:"required"` + SessionType int32 `json:"sessionType" binding:"required"` + ClientMsgID string `json:"clientMsgID" binding:"required"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime" binding:"required"` + ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList" binding:"required"` +} -type DeleteMessageReactionExtensionsResp OperateMessageListReactionExtensionsResp +type DeleteMessageReactionExtensionsResp struct { + CommResp + Data []*msg.KeyValueResp +} type ReactionMessageModifierNotification struct { SourceID string `json:"sourceID" binding:"required"` diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index 3ddb10943..fa4b87ab9 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{0} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{1} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{2} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{3} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_2947cd0e9b1e0723, []int{4} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_2947cd0e9b1e0723, []int{5} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{6} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{7} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{8} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{9} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{10} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{11} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{12} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{13} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{14} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{15} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{16} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{17} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{18} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{19} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{20} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{21} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{22} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{23} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{24} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{25} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{25, 0} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{26} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{27} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{28} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1822,14 +1822,16 @@ func (m *ModifyMessageReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { } type DeleteMessageListReactionExtensionsReq struct { - OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` - SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` - SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` - MessageReactionKeyList []*DeleteMessageListReactionExtensionsReq_MessageReactionKey `protobuf:"bytes,5,rep,name=messageReactionKeyList" json:"messageReactionKeyList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + OperationID string `protobuf:"bytes,1,opt,name=operationID" json:"operationID,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=opUserID" json:"opUserID,omitempty"` + SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` + SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` + ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,7,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeleteMessageListReactionExtensionsReq) Reset() { @@ -1838,7 +1840,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{29} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1886,65 +1888,21 @@ func (m *DeleteMessageListReactionExtensionsReq) GetSessionType() int32 { return 0 } -func (m *DeleteMessageListReactionExtensionsReq) GetMessageReactionKeyList() []*DeleteMessageListReactionExtensionsReq_MessageReactionKey { - if m != nil { - return m.MessageReactionKeyList - } - return nil -} - -type DeleteMessageListReactionExtensionsReq_MessageReactionKey struct { - ClientMsgID string `protobuf:"bytes,1,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,2,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,3,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) Reset() { - *m = DeleteMessageListReactionExtensionsReq_MessageReactionKey{} -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) String() string { - return proto.CompactTextString(m) -} -func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} -func (*DeleteMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{29, 0} -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Marshal(b, m, deterministic) -} -func (dst *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Merge(src proto.Message) { - xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Merge(dst, src) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_Size() int { - return xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.Size(m) -} -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) XXX_DiscardUnknown() { - xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey.DiscardUnknown(m) -} - -var xxx_messageInfo_DeleteMessageListReactionExtensionsReq_MessageReactionKey proto.InternalMessageInfo - -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetClientMsgID() string { +func (m *DeleteMessageListReactionExtensionsReq) GetClientMsgID() string { if m != nil { return m.ClientMsgID } return "" } -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetMsgFirstModifyTime() int64 { +func (m *DeleteMessageListReactionExtensionsReq) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime } return 0 } -func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionExtensionList() []*sdk_ws.KeyValue { +func (m *DeleteMessageListReactionExtensionsReq) GetReactionExtensionList() []*sdk_ws.KeyValue { if m != nil { return m.ReactionExtensionList } @@ -1952,13 +1910,12 @@ func (m *DeleteMessageListReactionExtensionsReq_MessageReactionKey) GetReactionE } type DeleteMessageListReactionExtensionsResp struct { - ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` - ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` - SuccessList []*ExtendMsgResp `protobuf:"bytes,3,rep,name=successList" json:"successList,omitempty"` - FailedList []*ExtendMsgResp `protobuf:"bytes,4,rep,name=failedList" json:"failedList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + Result []*KeyValueResp `protobuf:"bytes,6,rep,name=result" json:"result,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *DeleteMessageListReactionExtensionsResp) Reset() { @@ -1967,7 +1924,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{30} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -2001,16 +1958,9 @@ func (m *DeleteMessageListReactionExtensionsResp) GetErrMsg() string { return "" } -func (m *DeleteMessageListReactionExtensionsResp) GetSuccessList() []*ExtendMsgResp { +func (m *DeleteMessageListReactionExtensionsResp) GetResult() []*KeyValueResp { if m != nil { - return m.SuccessList - } - return nil -} - -func (m *DeleteMessageListReactionExtensionsResp) GetFailedList() []*ExtendMsgResp { - if m != nil { - return m.FailedList + return m.Result } return nil } @@ -2028,7 +1978,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{31} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2084,7 +2034,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{32} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2152,7 +2102,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{33} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2206,7 +2156,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_2947cd0e9b1e0723, []int{34} + return fileDescriptor_msg_c38567e4d3a35fd0, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2282,7 +2232,6 @@ func init() { proto.RegisterMapType((map[string]*sdk_ws.KeyValue)(nil), "msg.SingleMessageExtensionResult.ReactionExtensionListEntry") proto.RegisterType((*ModifyMessageReactionExtensionsResp)(nil), "msg.ModifyMessageReactionExtensionsResp") proto.RegisterType((*DeleteMessageListReactionExtensionsReq)(nil), "msg.DeleteMessageListReactionExtensionsReq") - proto.RegisterType((*DeleteMessageListReactionExtensionsReq_MessageReactionKey)(nil), "msg.DeleteMessageListReactionExtensionsReq.MessageReactionKey") proto.RegisterType((*DeleteMessageListReactionExtensionsResp)(nil), "msg.DeleteMessageListReactionExtensionsResp") proto.RegisterType((*ExtendMsgResp)(nil), "msg.ExtendMsgResp") proto.RegisterType((*ExtendMsg)(nil), "msg.ExtendMsg") @@ -2827,113 +2776,113 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_2947cd0e9b1e0723) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c38567e4d3a35fd0) } -var fileDescriptor_msg_2947cd0e9b1e0723 = []byte{ - // 1674 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0x4f, 0x6f, 0xdb, 0xc6, - 0x12, 0x07, 0x49, 0x4b, 0xb6, 0x47, 0x76, 0xec, 0xac, 0x1d, 0x3f, 0x85, 0x31, 0x10, 0x85, 0xf9, - 0xa7, 0xbc, 0x24, 0x32, 0x9e, 0xdf, 0x03, 0xf2, 0xd0, 0x14, 0x6d, 0xe2, 0xc8, 0x55, 0x8c, 0x54, - 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x1e, 0x1c, 0x46, 0x5a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x52, 0xb1, - 0xd5, 0x7f, 0xb7, 0x02, 0x05, 0x8a, 0x1c, 0x7a, 0xec, 0xa9, 0xb7, 0xde, 0xfa, 0x01, 0x7a, 0xec, - 0xa1, 0xc7, 0xa2, 0xd7, 0x7e, 0x87, 0x7e, 0x87, 0xa2, 0xd8, 0x5d, 0x4a, 0x5a, 0xfe, 0x93, 0x68, - 0xb9, 0x30, 0x52, 0xa0, 0x37, 0xcd, 0xee, 0xec, 0xec, 0xfc, 0x66, 0x7e, 0x3b, 0xdc, 0x1d, 0xc1, - 0x7c, 0x87, 0x98, 0x6b, 0x1d, 0x62, 0x56, 0x5c, 0xcf, 0xf1, 0x1d, 0xa4, 0x74, 0x88, 0xa9, 0x96, - 0xb7, 0x5d, 0x6c, 0xdf, 0xdd, 0xaa, 0xdf, 0x6d, 0x60, 0xef, 0x25, 0xf6, 0xd6, 0xdc, 0x03, 0x73, - 0x8d, 0x4d, 0xaf, 0x91, 0xd6, 0xc1, 0xde, 0x11, 0x59, 0x3b, 0x22, 0x5c, 0x5d, 0xad, 0x8c, 0xd5, - 0xf4, 0x0c, 0xd7, 0xc5, 0x5e, 0xa0, 0xaf, 0x7d, 0x0a, 0x85, 0x3a, 0x31, 0xab, 0x86, 0x6f, 0xec, - 0x3a, 0xf5, 0x1d, 0xb4, 0x0c, 0x39, 0xdf, 0x39, 0xc0, 0x76, 0x51, 0x2a, 0x49, 0xe5, 0x59, 0x9d, - 0x0b, 0xa8, 0x04, 0x05, 0xc7, 0xc5, 0x9e, 0xe1, 0x5b, 0x8e, 0xbd, 0x55, 0x2d, 0xca, 0x6c, 0x4e, - 0x1c, 0x42, 0xff, 0x83, 0xe9, 0x0e, 0x37, 0x53, 0x54, 0x4a, 0x52, 0xb9, 0xb0, 0xae, 0x56, 0x08, - 0x73, 0x60, 0xcf, 0x70, 0xad, 0x3d, 0xd7, 0xf0, 0x8c, 0x0e, 0xa9, 0x04, 0x1b, 0xe9, 0x7d, 0x55, - 0x0d, 0x0b, 0x9b, 0x57, 0x37, 0x44, 0x23, 0x52, 0x66, 0x23, 0xe3, 0x9d, 0xd3, 0x5e, 0x49, 0xb0, - 0xf0, 0xb4, 0x4b, 0x5e, 0x88, 0x40, 0x4b, 0x50, 0xd8, 0x16, 0x56, 0x71, 0xb8, 0xe2, 0x90, 0xe8, - 0x8d, 0x9c, 0xdd, 0x1b, 0x0d, 0xe6, 0xdc, 0x2e, 0x79, 0xb1, 0xeb, 0xbc, 0x4f, 0xb0, 0xb7, 0x55, - 0x65, 0xd1, 0x98, 0xd5, 0x43, 0x63, 0xda, 0xf7, 0x12, 0xa0, 0xa1, 0x2f, 0x8e, 0x6d, 0x3a, 0x1b, - 0xbd, 0xfa, 0x0e, 0x2a, 0xc2, 0x74, 0xdb, 0x20, 0x7e, 0x03, 0x1f, 0x32, 0x77, 0xa6, 0xf4, 0xbe, - 0x88, 0xae, 0xc1, 0xbc, 0x61, 0x9a, 0x1e, 0x36, 0xc3, 0x20, 0xc3, 0x83, 0x68, 0x1d, 0x0a, 0x1d, - 0x4c, 0x88, 0x61, 0xe2, 0x77, 0x2d, 0xe2, 0x17, 0x95, 0x92, 0x52, 0x2e, 0xac, 0x2f, 0x56, 0x28, - 0x95, 0x04, 0xe4, 0xba, 0xa8, 0x84, 0x56, 0x61, 0xd6, 0xf7, 0x2c, 0xd3, 0x64, 0xbe, 0x4e, 0x31, - 0xab, 0xc3, 0x01, 0xed, 0x3d, 0x40, 0x35, 0xec, 0xd7, 0x8d, 0xe3, 0x87, 0x76, 0xab, 0x6e, 0xd9, - 0x0d, 0x7c, 0xa8, 0xe3, 0x43, 0xb4, 0x02, 0xf9, 0x00, 0x1c, 0x8f, 0x5a, 0x20, 0x45, 0x43, 0x2a, - 0xc7, 0x42, 0xaa, 0x1d, 0xc1, 0x52, 0xcc, 0x1e, 0x71, 0x29, 0xf0, 0x4d, 0xcf, 0x7b, 0xe4, 0xb4, - 0x30, 0xb3, 0x98, 0xd3, 0xfb, 0x22, 0xdd, 0x6a, 0xd3, 0xf3, 0xea, 0xc4, 0x0c, 0xac, 0x05, 0x12, - 0x1d, 0xaf, 0x1b, 0xc7, 0x34, 0x52, 0x34, 0xbe, 0xf3, 0x7a, 0x20, 0xb1, 0x71, 0x66, 0x97, 0x61, - 0xa1, 0xe3, 0x4c, 0xd2, 0x3e, 0x01, 0x68, 0x60, 0xbb, 0x55, 0x27, 0x26, 0x05, 0x70, 0xb6, 0x24, - 0xff, 0x4e, 0x82, 0xc2, 0x60, 0x73, 0x8e, 0x16, 0x87, 0xd1, 0xe2, 0x21, 0x5a, 0x1c, 0x42, 0xcb, - 0x25, 0xea, 0x19, 0xdf, 0xa7, 0x4e, 0xcc, 0x41, 0x9a, 0xc4, 0x21, 0xaa, 0xd1, 0x6c, 0x5b, 0xd8, - 0xf6, 0xb9, 0x46, 0x8e, 0x6b, 0x08, 0x43, 0x48, 0x85, 0x19, 0x82, 0xed, 0xd6, 0xae, 0xd5, 0xc1, - 0xc5, 0x7c, 0x49, 0x2a, 0x2b, 0xfa, 0x40, 0xd6, 0x9a, 0x50, 0x78, 0xd4, 0xc6, 0x86, 0x17, 0x84, - 0x67, 0x05, 0xf2, 0xdd, 0x50, 0x7e, 0xb9, 0x44, 0x4d, 0x38, 0x6e, 0x90, 0x79, 0xee, 0xe0, 0x40, - 0x8e, 0x06, 0x4f, 0x89, 0x1f, 0xc2, 0x07, 0x30, 0x37, 0xdc, 0x64, 0x92, 0x30, 0x68, 0xdf, 0x4a, - 0xb0, 0xd0, 0xc0, 0x14, 0x4f, 0x88, 0x8b, 0x89, 0xbe, 0x16, 0x61, 0xda, 0xf4, 0x9c, 0xae, 0x3b, - 0x70, 0xb5, 0x2f, 0xd2, 0x15, 0x1d, 0x4e, 0x91, 0x80, 0x3a, 0x5c, 0x8a, 0x22, 0x98, 0x8a, 0xa7, - 0x5f, 0xc4, 0x9f, 0x0b, 0xe3, 0xd7, 0xaa, 0xb0, 0x18, 0x76, 0x6d, 0x22, 0x84, 0xdb, 0xb0, 0xd4, - 0xc0, 0x7e, 0x40, 0x96, 0x86, 0x6f, 0xf8, 0x5d, 0xa2, 0xc7, 0x5d, 0x93, 0xe2, 0xae, 0xad, 0x40, - 0x9e, 0x30, 0x75, 0x66, 0x30, 0xa7, 0x07, 0x92, 0xf6, 0x18, 0x96, 0xe3, 0x06, 0x27, 0x72, 0xed, - 0x1e, 0x3b, 0xba, 0x27, 0x77, 0x4d, 0x7b, 0x06, 0xcb, 0xb5, 0xbf, 0xc4, 0x05, 0x01, 0xa4, 0x12, - 0x02, 0xf9, 0xa5, 0x04, 0x4b, 0x55, 0xdc, 0x6e, 0x74, 0x5d, 0xec, 0xd5, 0x68, 0x96, 0x03, 0x1e, - 0x8b, 0xf9, 0x92, 0x22, 0x7c, 0x1d, 0xf2, 0x46, 0x4e, 0xe3, 0x8d, 0x12, 0xe6, 0xcd, 0x58, 0x7e, - 0xd0, 0x60, 0xc7, 0xdd, 0x98, 0x28, 0xd8, 0x4d, 0x1e, 0xec, 0x28, 0xa0, 0xf1, 0x3c, 0x58, 0x04, - 0x85, 0x32, 0x5b, 0x66, 0xcc, 0xa6, 0x3f, 0xd3, 0x01, 0x69, 0x5f, 0xf0, 0xc4, 0x9c, 0xde, 0xdd, - 0x09, 0xeb, 0xe2, 0x63, 0xf6, 0x71, 0xf9, 0xd0, 0xb3, 0x7c, 0x5c, 0xb5, 0xf6, 0xf7, 0x27, 0xc7, - 0xa8, 0x7d, 0xce, 0xc2, 0x15, 0xb6, 0x74, 0x86, 0x40, 0xbe, 0xc9, 0x81, 0x56, 0x77, 0x5a, 0xd6, - 0x7e, 0xaf, 0xce, 0xbf, 0xac, 0x3a, 0x36, 0x9a, 0xd4, 0xd9, 0xcd, 0x63, 0x1f, 0xdb, 0xc4, 0x72, - 0xec, 0x8c, 0xa7, 0x98, 0xd6, 0x68, 0xa7, 0xeb, 0x35, 0xf1, 0xb0, 0xc0, 0xf6, 0xe5, 0x10, 0x99, - 0x95, 0x78, 0xf1, 0x25, 0x98, 0xd0, 0x8d, 0x76, 0x7b, 0x2e, 0x66, 0xd4, 0xcc, 0xe9, 0xe2, 0x10, - 0x3a, 0x86, 0x0b, 0x5e, 0xd4, 0x29, 0x76, 0x49, 0xc8, 0xb1, 0x4b, 0xc2, 0x06, 0xbf, 0x24, 0x8c, - 0xc5, 0x50, 0xd1, 0x93, 0x8c, 0x6c, 0xda, 0xbe, 0xd7, 0xd3, 0x93, 0x37, 0x88, 0x7e, 0x99, 0xf2, - 0xf1, 0x2f, 0xd3, 0x1d, 0x90, 0xf1, 0x71, 0x71, 0x9a, 0xc5, 0x7b, 0xb5, 0x62, 0x3a, 0x8e, 0xd9, - 0xc6, 0xfc, 0x72, 0xfa, 0xbc, 0xbb, 0x5f, 0x69, 0xf8, 0x9e, 0x65, 0x9b, 0x1f, 0x18, 0xed, 0x2e, - 0xd6, 0x65, 0x7c, 0x8c, 0x1e, 0xc0, 0x9c, 0xe1, 0xfb, 0x46, 0xf3, 0x05, 0x6e, 0x6d, 0xd9, 0xfb, - 0x4e, 0x71, 0x26, 0xc3, 0xba, 0xd0, 0x0a, 0x4a, 0x0b, 0x8b, 0x30, 0x20, 0xc5, 0xd9, 0x92, 0x54, - 0x9e, 0xd1, 0xfb, 0x22, 0x5a, 0x87, 0x65, 0x8b, 0x50, 0xf7, 0x3d, 0xdb, 0x68, 0x0f, 0x81, 0x17, - 0x81, 0xa9, 0x25, 0xce, 0xa1, 0x0a, 0xa0, 0x0e, 0x31, 0xdf, 0xb1, 0x3c, 0xe2, 0xf3, 0xf8, 0xb1, - 0x2f, 0x6c, 0x81, 0x7d, 0x61, 0x13, 0x66, 0x54, 0x0c, 0x6a, 0x7a, 0x10, 0x29, 0xb7, 0x0f, 0x70, - 0x2f, 0xe0, 0x06, 0xfd, 0x89, 0xfe, 0x03, 0xb9, 0x97, 0x14, 0x44, 0x70, 0x07, 0xbd, 0x94, 0x40, - 0xc8, 0x27, 0xb8, 0xc7, 0x71, 0x72, 0xcd, 0x37, 0xe4, 0xff, 0x4b, 0xda, 0xd7, 0x39, 0xb8, 0x4c, - 0x3f, 0x48, 0xaf, 0x2b, 0x21, 0xbb, 0xa3, 0x09, 0xf9, 0x36, 0x23, 0xe4, 0x18, 0x00, 0xff, 0xb0, - 0xf1, 0xef, 0xc2, 0xc6, 0xdf, 0x25, 0x28, 0x8d, 0x4e, 0xe6, 0xa4, 0xf7, 0x62, 0x31, 0x9b, 0x4a, - 0x3c, 0x9b, 0xc9, 0xf1, 0x98, 0x4a, 0x8b, 0x87, 0x98, 0x8d, 0x5c, 0x38, 0x1b, 0xb7, 0x20, 0xef, - 0x61, 0xd2, 0x6d, 0xfb, 0xc5, 0x3c, 0x63, 0xe8, 0x79, 0xc6, 0xd0, 0x01, 0x58, 0x4c, 0x5c, 0x3d, - 0x50, 0xd0, 0xfe, 0x90, 0xe1, 0x6a, 0x6d, 0x80, 0x96, 0x86, 0xf3, 0x14, 0xe7, 0x2f, 0xf5, 0xc6, - 0x2d, 0x9e, 0x4d, 0x25, 0x72, 0x36, 0xc7, 0x9f, 0x3f, 0x02, 0x2b, 0x9d, 0x70, 0x36, 0x9e, 0xe0, - 0x9e, 0x70, 0x00, 0xef, 0x33, 0x78, 0x19, 0x50, 0x54, 0xea, 0x31, 0x33, 0x7a, 0x8a, 0x69, 0x75, - 0x1f, 0x50, 0x5c, 0x3b, 0x9a, 0x45, 0x29, 0x6b, 0x16, 0xe5, 0xb4, 0x2c, 0x6a, 0x3f, 0x48, 0x70, - 0x6d, 0xbc, 0xeb, 0x13, 0x51, 0xae, 0x01, 0x4b, 0xc4, 0xb2, 0xcd, 0x36, 0x1e, 0x00, 0x61, 0x9c, - 0xe0, 0x6f, 0xed, 0x2b, 0xbc, 0x6a, 0x89, 0xf3, 0x83, 0x0d, 0xb9, 0xa2, 0x9e, 0xb4, 0x5a, 0xfb, - 0x45, 0x86, 0xd5, 0x51, 0xab, 0x26, 0xf0, 0xd3, 0x4b, 0xab, 0xaf, 0xdc, 0xd3, 0x37, 0xc7, 0x7a, - 0x7a, 0xfa, 0xe2, 0x3a, 0x15, 0x4b, 0xe4, 0x59, 0x95, 0x9b, 0x9f, 0x24, 0xb8, 0x3a, 0xf6, 0x32, - 0x33, 0xe1, 0x05, 0xb1, 0x40, 0xba, 0xcd, 0x26, 0x26, 0x44, 0x08, 0x26, 0x62, 0xc1, 0x64, 0xb6, - 0xfb, 0x8f, 0x7c, 0x5d, 0x54, 0x43, 0xeb, 0x00, 0xfb, 0x86, 0xd5, 0xc6, 0x2d, 0xb6, 0x68, 0x2a, - 0x75, 0x91, 0xa0, 0xa5, 0xfd, 0xa6, 0xc0, 0x8d, 0x2a, 0x6e, 0x63, 0x1f, 0xbf, 0xd6, 0x75, 0xe4, - 0xe5, 0x98, 0x3a, 0xf2, 0x16, 0x83, 0x99, 0x0d, 0xc8, 0x49, 0x4a, 0xc9, 0x8f, 0xd2, 0xd9, 0xd4, - 0x12, 0xb4, 0x33, 0xfa, 0x20, 0x8d, 0xa4, 0x64, 0xf2, 0x4a, 0xed, 0x67, 0x09, 0x6e, 0x66, 0x8a, - 0xc8, 0x6b, 0x4e, 0x51, 0x07, 0xe6, 0x43, 0x93, 0xe8, 0x0e, 0xcc, 0xe2, 0xfe, 0x40, 0xd0, 0xc1, - 0x3d, 0x17, 0xb1, 0x31, 0x54, 0x10, 0xa1, 0xc9, 0x69, 0xd0, 0x94, 0xd0, 0xb3, 0xf8, 0x57, 0x19, - 0x66, 0x07, 0xa6, 0xd0, 0x5e, 0x5a, 0x66, 0x24, 0xe6, 0xfd, 0xad, 0xf0, 0xce, 0xa7, 0xaf, 0x67, - 0x72, 0x56, 0x32, 0x29, 0xa9, 0x64, 0xd2, 0x22, 0xd7, 0x45, 0x5e, 0x22, 0xc3, 0x17, 0xc2, 0x73, - 0xec, 0x02, 0xca, 0xfb, 0x4b, 0x32, 0x3e, 0x56, 0x3f, 0x3e, 0x61, 0xcd, 0xbc, 0x19, 0xae, 0x99, - 0x09, 0xf7, 0x14, 0xa1, 0x52, 0xf6, 0x60, 0x4e, 0x9c, 0x42, 0xf7, 0x60, 0xe6, 0x20, 0x90, 0x83, - 0x04, 0x8e, 0x24, 0xf8, 0x40, 0x79, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x68, 0x82, 0xd3, 0x18, - 0xb1, 0x2e, 0x78, 0xac, 0xd7, 0x2d, 0x65, 0xe8, 0x75, 0xcb, 0x27, 0xee, 0x75, 0x2b, 0x91, 0x5e, - 0xf7, 0xfa, 0x57, 0x00, 0x4a, 0x87, 0x98, 0xe8, 0x19, 0x2c, 0x44, 0x7a, 0xd4, 0xe8, 0x7a, 0x42, - 0x0c, 0xe2, 0x7d, 0x71, 0xf5, 0x46, 0x16, 0x35, 0xe2, 0x22, 0x07, 0x96, 0x9f, 0x76, 0xdb, 0xed, - 0xe0, 0xf0, 0x6f, 0xf4, 0x1a, 0xf8, 0x90, 0xf9, 0xf7, 0xef, 0x84, 0xf5, 0x49, 0x8a, 0x74, 0xaf, - 0xdb, 0x99, 0x75, 0xd9, 0xb9, 0x9c, 0x0e, 0xfa, 0x6f, 0x68, 0x21, 0x78, 0x58, 0xf5, 0x7b, 0xe1, - 0xea, 0x62, 0x78, 0x80, 0xb8, 0x68, 0x07, 0xa0, 0x8a, 0xdb, 0x75, 0x62, 0xf2, 0x43, 0x90, 0xb0, - 0xd1, 0x70, 0x9a, 0x5a, 0xb8, 0x32, 0x46, 0x83, 0xb8, 0xa8, 0x06, 0x8b, 0xd1, 0xce, 0x18, 0x2a, - 0xf6, 0xbf, 0x0c, 0xd1, 0x36, 0x97, 0x7a, 0x31, 0x65, 0x86, 0xb8, 0x68, 0x0d, 0x66, 0xfa, 0x4d, - 0x64, 0xc4, 0x3d, 0x17, 0x1a, 0xd7, 0xea, 0xf9, 0xc8, 0x08, 0x71, 0xd1, 0x7d, 0x98, 0x13, 0xfb, - 0xb2, 0x68, 0x79, 0xf0, 0xb0, 0x14, 0xba, 0xc8, 0xea, 0x85, 0x84, 0x51, 0xee, 0x76, 0xb4, 0x7b, - 0x1a, 0xb8, 0x9d, 0xd0, 0xa5, 0x0d, 0xdc, 0x4e, 0x6c, 0xb7, 0xd6, 0x60, 0xb1, 0x96, 0x6c, 0xa8, - 0x96, 0x6a, 0xa8, 0x36, 0xc2, 0x50, 0x42, 0x20, 0x13, 0xfa, 0x85, 0x82, 0xa1, 0x58, 0x20, 0xab, - 0x8c, 0xe5, 0x62, 0xcb, 0x0c, 0xfd, 0xab, 0xaf, 0x1d, 0x69, 0xc9, 0xa9, 0xc5, 0xe4, 0x09, 0xe2, - 0xa2, 0x03, 0x58, 0x1d, 0xf5, 0xac, 0x43, 0xd7, 0xb2, 0x3c, 0xe3, 0xd5, 0xeb, 0x19, 0xb4, 0x88, - 0x8b, 0x8e, 0xa0, 0x34, 0xee, 0x52, 0x8f, 0xca, 0x59, 0x9f, 0x2d, 0xea, 0xad, 0x8c, 0x9a, 0xc4, - 0x45, 0x87, 0xb0, 0xfa, 0xb0, 0xd5, 0x4a, 0x47, 0x79, 0x33, 0x63, 0xf7, 0x4c, 0x2d, 0x67, 0x53, - 0x24, 0x2e, 0xfa, 0x0c, 0x2e, 0x87, 0x6e, 0x08, 0x09, 0xbb, 0xde, 0x3e, 0xc1, 0xcd, 0x4a, 0xbd, - 0x93, 0x5d, 0x99, 0xb8, 0x1b, 0x97, 0x3e, 0xba, 0xb8, 0xed, 0x62, 0x7b, 0x6f, 0xab, 0x2e, 0xfc, - 0x7d, 0xdc, 0x21, 0xe6, 0xfd, 0x0e, 0x31, 0x9f, 0xe7, 0x99, 0xf8, 0xdf, 0x3f, 0x03, 0x00, 0x00, - 0xff, 0xff, 0x66, 0x90, 0x0b, 0x33, 0xa7, 0x1e, 0x00, 0x00, +var fileDescriptor_msg_c38567e4d3a35fd0 = []byte{ + // 1668 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, + 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, + 0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94, + 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1, + 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x2e, 0xbb, + 0x28, 0xfa, 0x20, 0x7d, 0x87, 0xa2, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x59, 0xb4, 0x5c, 0x04, 0x29, + 0xd0, 0x9d, 0xce, 0xf0, 0xcc, 0x99, 0xef, 0x3b, 0xe7, 0x9b, 0xe1, 0xf0, 0x08, 0xe6, 0xbb, 0xc4, + 0x5a, 0xeb, 0x12, 0xab, 0xe6, 0xf9, 0x6e, 0xe0, 0x22, 0xa5, 0x4b, 0x2c, 0xb5, 0xba, 0xed, 0x61, + 0xe7, 0xee, 0x96, 0x7e, 0xb7, 0x89, 0xfd, 0x97, 0xd8, 0x5f, 0xf3, 0x0e, 0xac, 0x35, 0xf6, 0x78, + 0x8d, 0xb4, 0x0f, 0xf6, 0x8e, 0xc8, 0xda, 0x11, 0xe1, 0xee, 0x6a, 0x6d, 0xac, 0xa7, 0x6f, 0x7a, + 0x1e, 0xf6, 0x43, 0x7f, 0xed, 0x33, 0x28, 0xe9, 0xc4, 0xaa, 0x9b, 0x81, 0xb9, 0xeb, 0xea, 0x3b, + 0x68, 0x19, 0x0a, 0x81, 0x7b, 0x80, 0x9d, 0xb2, 0x54, 0x91, 0xaa, 0xb3, 0x06, 0x37, 0x50, 0x05, + 0x4a, 0xae, 0x87, 0x7d, 0x33, 0xb0, 0x5d, 0x67, 0xab, 0x5e, 0x96, 0xd9, 0x33, 0x71, 0x08, 0xfd, + 0x0f, 0xa6, 0xbb, 0x3c, 0x4c, 0x59, 0xa9, 0x48, 0xd5, 0xd2, 0xba, 0x5a, 0x23, 0x0c, 0xc0, 0x9e, + 0xe9, 0xd9, 0x7b, 0x9e, 0xe9, 0x9b, 0x5d, 0x52, 0x0b, 0x17, 0x32, 0x06, 0xae, 0x1a, 0x16, 0x16, + 0xaf, 0x6f, 0x88, 0x41, 0xa4, 0xdc, 0x41, 0xc6, 0x83, 0xd3, 0x5e, 0x49, 0xb0, 0xf0, 0xb4, 0x47, + 0x5e, 0x88, 0x44, 0x2b, 0x50, 0xda, 0x16, 0x66, 0x71, 0xba, 0xe2, 0x90, 0x88, 0x46, 0xce, 0x8f, + 0x46, 0x83, 0x39, 0xaf, 0x47, 0x5e, 0xec, 0xba, 0x1f, 0x10, 0xec, 0x6f, 0xd5, 0x59, 0x36, 0x66, + 0x8d, 0xc8, 0x98, 0xf6, 0xa3, 0x04, 0x68, 0x84, 0xc5, 0x75, 0x2c, 0x77, 0xa3, 0xaf, 0xef, 0xa0, + 0x32, 0x4c, 0x77, 0x4c, 0x12, 0x34, 0xf1, 0x21, 0x83, 0x33, 0x65, 0x0c, 0x4c, 0x74, 0x0d, 0xe6, + 0x4d, 0xcb, 0xf2, 0xb1, 0x15, 0x25, 0x19, 0x1d, 0x44, 0xeb, 0x50, 0xea, 0x62, 0x42, 0x4c, 0x0b, + 0xbf, 0x67, 0x93, 0xa0, 0xac, 0x54, 0x94, 0x6a, 0x69, 0x7d, 0xb1, 0x46, 0xa5, 0x24, 0x30, 0x37, + 0x44, 0x27, 0xb4, 0x0a, 0xb3, 0x81, 0x6f, 0x5b, 0x16, 0xc3, 0x3a, 0xc5, 0xa2, 0x8e, 0x06, 0xb4, + 0xf7, 0x01, 0x35, 0x70, 0xa0, 0x9b, 0xc7, 0x0f, 0x9d, 0xb6, 0x6e, 0x3b, 0x4d, 0x7c, 0x68, 0xe0, + 0x43, 0xb4, 0x02, 0xc5, 0x90, 0x1c, 0xcf, 0x5a, 0x68, 0xc5, 0x53, 0x2a, 0x27, 0x52, 0xaa, 0x1d, + 0xc1, 0x52, 0x22, 0x1e, 0xf1, 0x28, 0xf1, 0x4d, 0xdf, 0x7f, 0xe4, 0xb6, 0x31, 0x8b, 0x58, 0x30, + 0x06, 0x26, 0x5d, 0x6a, 0xd3, 0xf7, 0x75, 0x62, 0x85, 0xd1, 0x42, 0x8b, 0x8e, 0xeb, 0xe6, 0x31, + 0xcd, 0x14, 0xcd, 0xef, 0xbc, 0x11, 0x5a, 0x6c, 0x9c, 0xc5, 0x65, 0x5c, 0xe8, 0x38, 0xb3, 0xb4, + 0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34, + 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0x72, 0x8b, 0x22, 0xe3, 0xeb, + 0xe8, 0xc4, 0x1a, 0x96, 0x49, 0x1c, 0xa2, 0x1e, 0xad, 0x8e, 0x8d, 0x9d, 0x80, 0x7b, 0x14, 0xb8, + 0x87, 0x30, 0x84, 0x54, 0x98, 0x21, 0xd8, 0x69, 0xef, 0xda, 0x5d, 0x5c, 0x2e, 0x56, 0xa4, 0xaa, + 0x62, 0x0c, 0x6d, 0xad, 0x05, 0xa5, 0x47, 0x1d, 0x6c, 0xfa, 0x61, 0x7a, 0x56, 0xa0, 0xd8, 0x8b, + 0xd4, 0x97, 0x5b, 0x34, 0x84, 0xeb, 0x85, 0x95, 0xe7, 0x00, 0x87, 0x76, 0x3c, 0x79, 0x4a, 0x72, + 0x13, 0x3e, 0x80, 0xb9, 0xd1, 0x22, 0x93, 0xa4, 0x41, 0xfb, 0x5e, 0x82, 0x85, 0x26, 0xa6, 0x7c, + 0x22, 0x5a, 0x4c, 0xc5, 0x5a, 0x86, 0x69, 0xcb, 0x77, 0x7b, 0xde, 0x10, 0xea, 0xc0, 0xa4, 0x33, + 0xba, 0x5c, 0x22, 0xa1, 0x74, 0xb8, 0x15, 0x67, 0x30, 0x95, 0x2c, 0xbf, 0xc8, 0xbf, 0x10, 0xe5, + 0xaf, 0xd5, 0x61, 0x31, 0x0a, 0x6d, 0x22, 0x86, 0xdb, 0xb0, 0xd4, 0xc4, 0x41, 0x28, 0x96, 0x66, + 0x60, 0x06, 0x3d, 0x62, 0x24, 0xa1, 0x49, 0x49, 0x68, 0x2b, 0x50, 0x24, 0xcc, 0x9d, 0x05, 0x2c, + 0x18, 0xa1, 0xa5, 0x3d, 0x86, 0xe5, 0x64, 0xc0, 0x89, 0xa0, 0xdd, 0x63, 0x5b, 0xf7, 0xf4, 0xd0, + 0xb4, 0x67, 0xb0, 0xdc, 0xf8, 0x4b, 0x20, 0x08, 0x24, 0x95, 0x08, 0xc9, 0xaf, 0x24, 0x58, 0xaa, + 0xe3, 0x4e, 0xb3, 0xe7, 0x61, 0xbf, 0x41, 0xab, 0x1c, 0xea, 0x58, 0xac, 0x97, 0x14, 0xd3, 0xeb, + 0x48, 0x37, 0x72, 0x96, 0x6e, 0x94, 0xa8, 0x6e, 0xc6, 0xea, 0x83, 0x26, 0x3b, 0x09, 0x63, 0xa2, + 0x64, 0xb7, 0x78, 0xb2, 0xe3, 0x84, 0xc6, 0xeb, 0x60, 0x11, 0x14, 0xaa, 0x6c, 0x99, 0x29, 0x9b, + 0xfe, 0xcc, 0x26, 0xa4, 0x7d, 0xc9, 0x0b, 0x73, 0x76, 0xb8, 0x13, 0x9e, 0x8b, 0x8f, 0xd9, 0xcb, + 0xe5, 0x23, 0xdf, 0x0e, 0x70, 0xdd, 0xde, 0xdf, 0x9f, 0x9c, 0xa3, 0xf6, 0x05, 0x4b, 0x57, 0x34, + 0xd2, 0x6b, 0x24, 0xf2, 0x5d, 0x01, 0x34, 0xdd, 0x6d, 0xdb, 0xfb, 0x7d, 0x9d, 0xbf, 0x59, 0x0d, + 0x6c, 0xb6, 0x28, 0xd8, 0xcd, 0xe3, 0x00, 0x3b, 0xc4, 0x76, 0x9d, 0x9c, 0xbb, 0x98, 0x9e, 0xd1, + 0x6e, 0xcf, 0x6f, 0xe1, 0xd1, 0x01, 0x3b, 0xb0, 0x23, 0x62, 0x56, 0x92, 0x87, 0x2f, 0xc1, 0x84, + 0x2e, 0xb4, 0xdb, 0xf7, 0x30, 0x93, 0x66, 0xc1, 0x10, 0x87, 0xd0, 0x31, 0x5c, 0xf0, 0xe3, 0xa0, + 0xd8, 0x25, 0xa1, 0xc0, 0x2e, 0x09, 0x1b, 0xfc, 0x92, 0x30, 0x96, 0x43, 0xcd, 0x48, 0x0b, 0xb2, + 0xe9, 0x04, 0x7e, 0xdf, 0x48, 0x5f, 0x20, 0xfe, 0x66, 0x2a, 0x26, 0xdf, 0x4c, 0x77, 0x40, 0xc6, + 0xc7, 0xe5, 0x69, 0x96, 0xef, 0xd5, 0x9a, 0xe5, 0xba, 0x56, 0x07, 0xf3, 0xcb, 0xe9, 0xf3, 0xde, + 0x7e, 0xad, 0x19, 0xf8, 0xb6, 0x63, 0x7d, 0x68, 0x76, 0x7a, 0xd8, 0x90, 0xf1, 0x31, 0x7a, 0x00, + 0x73, 0x66, 0x10, 0x98, 0xad, 0x17, 0xb8, 0xbd, 0xe5, 0xec, 0xbb, 0xe5, 0x99, 0x1c, 0xf3, 0x22, + 0x33, 0xa8, 0x2c, 0x6c, 0xc2, 0x88, 0x94, 0x67, 0x2b, 0x52, 0x75, 0xc6, 0x18, 0x98, 0x68, 0x1d, + 0x96, 0x6d, 0x42, 0xe1, 0xfb, 0x8e, 0xd9, 0x19, 0x11, 0x2f, 0x03, 0x73, 0x4b, 0x7d, 0x86, 0x6a, + 0x80, 0xba, 0xc4, 0x7a, 0xd7, 0xf6, 0x49, 0xc0, 0xf3, 0xc7, 0xde, 0xb0, 0x25, 0xf6, 0x86, 0x4d, + 0x79, 0xa2, 0x62, 0x50, 0xb3, 0x93, 0x48, 0xb5, 0x7d, 0x80, 0xfb, 0xa1, 0x36, 0xe8, 0x4f, 0xf4, + 0x1f, 0x28, 0xbc, 0xa4, 0x24, 0xc2, 0x3b, 0xe8, 0xa5, 0x14, 0x41, 0x3e, 0xc1, 0x7d, 0xce, 0x93, + 0x7b, 0xbe, 0x25, 0xff, 0x5f, 0xd2, 0xbe, 0x2d, 0xc0, 0x65, 0xfa, 0x42, 0x7a, 0x53, 0x05, 0xd9, + 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x5d, + 0x82, 0xca, 0xc9, 0xc5, 0x9c, 0xf4, 0x5e, 0x2c, 0x56, 0x53, 0x49, 0x56, 0x33, 0x3d, 0x1f, 0x53, + 0x59, 0xf9, 0x10, 0xab, 0x51, 0x88, 0x56, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, + 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x0e, 0xda, 0x1f, 0x32, 0x5c, + 0x6d, 0x0c, 0xd9, 0xd2, 0x74, 0x9e, 0x61, 0xff, 0x65, 0xde, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, + 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xad, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, + 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x08, 0x63, 0x64, 0x84, 0x56, 0xf7, 0x01, 0x25, 0xbd, 0xe3, 0x55, + 0x94, 0xf2, 0x56, 0x51, 0xce, 0xaa, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, + 0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f, + 0x2d, 0xf1, 0xf9, 0x70, 0x41, 0xee, 0x68, 0xa4, 0xcd, 0xd6, 0x7e, 0x95, 0x61, 0xf5, 0xa4, 0x59, + 0x13, 0xe0, 0xf4, 0xb3, 0xce, 0x57, 0x8e, 0xf4, 0xed, 0xb1, 0x48, 0xcf, 0x7e, 0xb8, 0x4e, 0x25, + 0x0a, 0xf9, 0xba, 0x8e, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, 0xe1, 0x05, 0xb1, 0x44, + 0x7a, 0xad, 0x16, 0x26, 0x44, 0x48, 0x26, 0x62, 0xc9, 0x64, 0xb1, 0x07, 0x1f, 0xf9, 0x86, 0xe8, + 0x86, 0xd6, 0x01, 0xf6, 0x4d, 0xbb, 0x83, 0xdb, 0x6c, 0xd2, 0x54, 0xe6, 0x24, 0xc1, 0x4b, 0xfb, + 0x45, 0x86, 0x1b, 0x75, 0xdc, 0xc1, 0x01, 0x7e, 0xa3, 0xcf, 0x91, 0xf1, 0x8d, 0x87, 0xf4, 0xcd, + 0x5b, 0xcc, 0x3c, 0x82, 0x77, 0xb2, 0x94, 0x3b, 0xcd, 0xf2, 0x76, 0xa2, 0x06, 0xd2, 0x67, 0x6a, + 0x5f, 0x4b, 0x70, 0x33, 0x57, 0x2e, 0x27, 0xd2, 0xc4, 0x29, 0xde, 0x0c, 0x2e, 0xcc, 0x47, 0x2a, + 0x8e, 0xee, 0xc0, 0x2c, 0x1e, 0x0c, 0x84, 0x3d, 0xcf, 0x73, 0x31, 0x61, 0x8c, 0x1c, 0x44, 0x6c, + 0x72, 0x16, 0x36, 0x25, 0xf2, 0x21, 0xf9, 0x9b, 0x0c, 0xb3, 0xc3, 0x50, 0x68, 0x2f, 0x2b, 0xb5, + 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x00, 0x39, 0xaf, 0x1a, 0x94, 0x4c, 0x35, 0x68, + 0xb1, 0x0b, 0x16, 0x3f, 0x54, 0xa2, 0x57, 0xa8, 0x73, 0xec, 0xca, 0xc6, 0xa5, 0x27, 0xe3, 0x63, + 0xf5, 0x93, 0x53, 0x9e, 0x32, 0x37, 0xa3, 0xa7, 0x4c, 0x4a, 0xfd, 0x84, 0xb3, 0xa5, 0x0f, 0x73, + 0xe2, 0x23, 0x74, 0x0f, 0x66, 0x0e, 0x42, 0x3b, 0x2c, 0xe0, 0x89, 0x0a, 0x1d, 0x3a, 0x4f, 0x50, + 0xcc, 0x57, 0x12, 0x2c, 0x09, 0x6d, 0x63, 0x9a, 0x23, 0xd6, 0x37, 0x4e, 0x74, 0x87, 0xa5, 0x1c, + 0xdd, 0x61, 0xf9, 0xd4, 0xdd, 0x61, 0x25, 0xd6, 0x1d, 0x5e, 0xff, 0x06, 0x40, 0xe9, 0x12, 0x0b, + 0x3d, 0x83, 0x85, 0x58, 0x57, 0x17, 0x5d, 0x4f, 0xc9, 0x41, 0xb2, 0x93, 0xac, 0xde, 0xc8, 0xe3, + 0x46, 0x3c, 0xe4, 0xc2, 0xf2, 0xd3, 0x5e, 0xa7, 0x13, 0xee, 0xde, 0x8d, 0x7e, 0x13, 0x1f, 0x32, + 0x7c, 0xff, 0x4e, 0x99, 0x9f, 0xe6, 0x48, 0xd7, 0xba, 0x9d, 0xdb, 0x97, 0xed, 0xcb, 0xe9, 0xb0, + 0x63, 0x85, 0x16, 0xc2, 0x4f, 0x91, 0x41, 0xf7, 0x58, 0x5d, 0x8c, 0x0e, 0x10, 0x0f, 0xed, 0x00, + 0xd4, 0x71, 0x47, 0x27, 0x16, 0xdf, 0x04, 0x29, 0x0b, 0x8d, 0x1e, 0xd3, 0x08, 0x57, 0xc6, 0x78, + 0x10, 0x0f, 0x35, 0x60, 0x31, 0xde, 0x4b, 0x42, 0x65, 0xb6, 0x70, 0x4a, 0xa7, 0x4b, 0xbd, 0x98, + 0xf1, 0x84, 0x78, 0x68, 0x0d, 0x66, 0x06, 0x6d, 0x57, 0xc4, 0x91, 0x0b, 0xad, 0x5e, 0xf5, 0x7c, + 0x6c, 0x84, 0x78, 0xe8, 0x3e, 0xcc, 0x89, 0x9d, 0x4c, 0xb4, 0x3c, 0xfc, 0x14, 0x13, 0xfa, 0xae, + 0xea, 0x85, 0x94, 0x51, 0x0e, 0x3b, 0xde, 0x6f, 0x0c, 0x61, 0xa7, 0xf4, 0x35, 0x43, 0xd8, 0xa9, + 0x0d, 0xca, 0x06, 0x2c, 0x36, 0xd2, 0x03, 0x35, 0x32, 0x03, 0x35, 0x4e, 0x08, 0x94, 0x92, 0xc8, + 0x94, 0x0e, 0x9b, 0x10, 0x28, 0x91, 0xc8, 0x3a, 0x53, 0xb9, 0xd8, 0x64, 0x42, 0xff, 0x1a, 0x78, + 0xc7, 0x9a, 0x58, 0x6a, 0x39, 0xfd, 0x01, 0xf1, 0xd0, 0x01, 0xac, 0x9e, 0xf4, 0x21, 0x84, 0xae, + 0xe5, 0xf9, 0xf0, 0x55, 0xaf, 0xe7, 0xf0, 0x22, 0x1e, 0x3a, 0x82, 0xca, 0xb8, 0x6b, 0x30, 0xaa, + 0xe6, 0xbd, 0xe8, 0xab, 0xb7, 0x72, 0x7a, 0x12, 0x0f, 0x1d, 0xc2, 0xea, 0xc3, 0x76, 0x3b, 0x9b, + 0xe5, 0xcd, 0x9c, 0xfd, 0x26, 0xb5, 0x9a, 0xcf, 0x91, 0x78, 0xe8, 0x73, 0xb8, 0x1c, 0x79, 0xc5, + 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x5c, 0xaa, 0xd4, 0x3b, 0xf9, 0x9d, 0x89, 0xb7, 0x71, + 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x0f, 0xd7, 0x2e, 0xb1, 0xee, 0x77, + 0x89, 0xf5, 0xbc, 0xc8, 0xcc, 0xff, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x17, 0x83, 0x0e, + 0xd9, 0x1d, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index d878f30a9..cb29be40e 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -227,19 +227,15 @@ message DeleteMessageListReactionExtensionsReq { string opUserID = 2; string sourceID = 3; int32 sessionType = 4; - message MessageReactionKey { - string clientMsgID = 1; - int64 msgFirstModifyTime = 2; - repeated server_api_params.KeyValue reactionExtensionList = 3; - } - repeated MessageReactionKey messageReactionKeyList = 5; + string clientMsgID = 5; + int64 msgFirstModifyTime = 6; + repeated server_api_params.KeyValue reactionExtensionList = 7; } message DeleteMessageListReactionExtensionsResp { int32 errCode = 1; string errMsg = 2; - repeated ExtendMsgResp successList = 3; - repeated ExtendMsgResp failedList = 4; + repeated KeyValueResp result = 6; } message ExtendMsgResp { From 915118140fa08af41547b8f24aeaf5a4d9183bd3 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 12 Dec 2022 20:41:40 +0800 Subject: [PATCH 26/33] reaction message add expiration --- internal/rpc/msg/extend_msg.go | 64 +++++++++++++++++++-- internal/rpc/msg/extend_msg.notification.go | 18 ++++++ pkg/common/db/RedisModel.go | 5 ++ 3 files changed, 83 insertions(+), 4 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index af4d042bc..ea0f02088 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -34,9 +34,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S if !req.IsReact { log.Debug(req.OperationID, "redis handle firstly", req.String()) rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() - //redis处理 for k, v := range req.ReactionExtensionList { - //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) @@ -63,7 +61,6 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, "redis handle secondly", req.String()) for k, v := range req.ReactionExtensionList { - //抢占分布式锁 err := lockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) @@ -108,8 +105,17 @@ func setKeyResultInfo(r *msg.SetMessageReactionExtensionsResp, errCode int32, er r.Result = append(r.Result, temp) _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } +func setDeleteKeyResultInfo(r *msg.DeleteMessageListReactionExtensionsResp, errCode int32, errMsg, clientMsgID, typeKey string, keyValue *server_api_params.KeyValue) { + temp := new(msg.KeyValueResp) + temp.KeyValue = keyValue + temp.ErrCode = errCode + temp.ErrMsg = errMsg + r.Result = append(r.Result, temp) + _ = db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) +} func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *msg.GetMessageListReactionExtensionsReq) (resp *msg.GetMessageListReactionExtensionsResp, err error) { + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.GetMessageListReactionExtensionsResp for _, messageValue := range req.MessageReactionKeyList { var oneMessage msg.SingleMessageExtensionResult @@ -143,6 +149,7 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m } rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) } + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } @@ -152,7 +159,56 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M } func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { - return + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) + var rResp msg.DeleteMessageListReactionExtensionsResp + isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + + if isExists { + log.Debug(req.OperationID, "redis handle this delete", req.String()) + for _, v := range req.ReactionExtensionList { + err := lockMessageTypeKey(req.ClientMsgID, v.TypeKey) + if err != nil { + setDeleteKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, v.TypeKey, v) + continue + } + + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, v.TypeKey) + if err != nil && err != go_redis.Nil { + setDeleteKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, v.TypeKey, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setDeleteKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, v.TypeKey, temp) + continue + } else { + newErr := db.DB.DeleteOneMessageKey(req.ClientMsgID, req.SessionType, v.TypeKey) + if newErr != nil { + setDeleteKeyResultInfo(&rResp, 201, newErr.Error(), req.ClientMsgID, v.TypeKey, temp) + continue + } + setDeleteKeyResultInfo(&rResp, 0, "", req.ClientMsgID, v.TypeKey, v) + } + } + } else { + + } + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) + return &rResp, nil } func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { for i := 0; i < 3; i++ { diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 0c8b3b126..f4f8bd88b 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -32,6 +32,24 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin m.MsgFirstModifyTime = resp.MsgFirstModifyTime messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) } +func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, + req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool) { + var m base_info.ReactionMessageDeleteNotification + m.SourceID = req.SourceID + m.OpUserID = req.OpUserID + m.SessionType = req.SessionType + keyMap := make(map[string]*open_im_sdk.KeyValue) + for _, valueResp := range resp.Result { + if valueResp.ErrCode == 0 { + keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue + } + } + m.SuccessReactionExtensionList = keyMap + m.ClientMsgID = req.ClientMsgID + m.MsgFirstModifyTime = req.MsgFirstModifyTime + + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory) +} func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { options := make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index b9692cf1d..ab9f54118 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -452,6 +452,11 @@ func (d *DataBases) GetOneMessageAllReactionList(clientMsgID string, sessionType key := getMessageReactionExPrefix(clientMsgID, sessionType) return d.RDB.HGetAll(context.Background(), key).Result() +} +func (d *DataBases) DeleteOneMessageKey(clientMsgID string, sessionType int32, subKey string) error { + key := getMessageReactionExPrefix(clientMsgID, sessionType) + return d.RDB.HDel(context.Background(), key, subKey).Err() + } func (d *DataBases) SetMessageReactionExpire(clientMsgID string, sessionType int32, expiration time.Duration) (bool, error) { key := getMessageReactionExPrefix(clientMsgID, sessionType) From e4964b050b3275725606b01c6e4847babac5a149 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 13 Dec 2022 15:19:33 +0800 Subject: [PATCH 27/33] reaction message add expiration --- internal/rpc/msg/extend_msg_callback.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 2654ee528..5c1fd6e49 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -6,6 +6,6 @@ func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensio } -func callbackDeleteMessageReactionExtensions(req *msg.OperateMessageListReactionExtensionsReq) { +func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { } From f87eed1336e9b5b7fb1d51401b3cf5006f510087 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Tue, 13 Dec 2022 15:21:27 +0800 Subject: [PATCH 28/33] reaction message add expiration --- internal/msg_transfer/logic/modify_msg_handler.go | 1 - 1 file changed, 1 deletion(-) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 7b43e91aa..27764095c 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -9,7 +9,6 @@ import ( "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" - "Open_IM/pkg/utils" "encoding/json" "github.com/Shopify/sarama" From 25aa6a4345bf017f64f15056c78fca5cc7150a84 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 16 Dec 2022 15:52:30 +0800 Subject: [PATCH 29/33] message reaction --- internal/rpc/msg/extend_msg.go | 47 ++++++++++++++++++++++------------ internal/rpc/msg/lock.go | 32 +++++++++++++++++++++++ internal/rpc/msg/rpcChat.go | 4 ++- 3 files changed, 65 insertions(+), 18 deletions(-) create mode 100644 internal/rpc/msg/lock.go diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index ea0f02088..47afbbdaa 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -35,7 +35,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, "redis handle firstly", req.String()) rResp.MsgFirstModifyTime = utils.GetCurrentTimestampByMill() for k, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, k) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue @@ -54,14 +54,40 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } } else { - //mongo处理 + for k, v := range req.ReactionExtensionList { + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) + if err != nil { + setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) + continue + } + redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) + if err != nil && err != go_redis.Nil { + setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) + continue + } + temp := new(server_api_params.KeyValue) + utils.JsonStringToStruct(redisValue, temp) + if v.LatestUpdateTime != temp.LatestUpdateTime { + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) + continue + } else { + v.LatestUpdateTime = utils.GetCurrentTimestampByMill() + newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) + if newerr != nil { + setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) + continue + } + setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) + } + + } } } else { log.Debug(req.OperationID, "redis handle secondly", req.String()) for k, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, k) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) if err != nil { setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) continue @@ -178,7 +204,7 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms if isExists { log.Debug(req.OperationID, "redis handle this delete", req.String()) for _, v := range req.ReactionExtensionList { - err := lockMessageTypeKey(req.ClientMsgID, v.TypeKey) + err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, v.TypeKey) if err != nil { setDeleteKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, v.TypeKey, v) continue @@ -210,16 +236,3 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } -func lockMessageTypeKey(clientMsgID, typeKey string) (err error) { - for i := 0; i < 3; i++ { - err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) - if err != nil { - time.Sleep(time.Millisecond * 100) - continue - } else { - break - } - } - return err - -} diff --git a/internal/rpc/msg/lock.go b/internal/rpc/msg/lock.go new file mode 100644 index 000000000..4f40b62a0 --- /dev/null +++ b/internal/rpc/msg/lock.go @@ -0,0 +1,32 @@ +package msg + +import ( + "Open_IM/pkg/common/db" + "time" +) + +type MessageLocker interface { + LockMessageTypeKey(clientMsgID, typeKey string) (err error) + UnLockMessageTypeKey(clientMsgID string, typeKey string) error +} +type LockerMessage struct{} + +func NewLockerMessage() *LockerMessage { + return &LockerMessage{} +} +func (l *LockerMessage) LockMessageTypeKey(clientMsgID, typeKey string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, typeKey) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + +} +func (l *LockerMessage) UnLockMessageTypeKey(clientMsgID string, typeKey string) error { + return db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) +} diff --git a/internal/rpc/msg/rpcChat.go b/internal/rpc/msg/rpcChat.go index f1329d47a..470325deb 100644 --- a/internal/rpc/msg/rpcChat.go +++ b/internal/rpc/msg/rpcChat.go @@ -31,7 +31,8 @@ type rpcChat struct { etcdAddr []string messageWriter MessageWriter //offlineProducer *kafka.Producer - delMsgCh chan deleteMsg + delMsgCh chan deleteMsg + dMessageLocker MessageLocker } type deleteMsg struct { @@ -48,6 +49,7 @@ func NewRpcChatServer(port int) *rpcChat { rpcRegisterName: config.Config.RpcRegisterName.OpenImMsgName, etcdSchema: config.Config.Etcd.EtcdSchema, etcdAddr: config.Config.Etcd.EtcdAddr, + dMessageLocker: NewLockerMessage(), } rc.messageWriter = kafka.NewKafkaProducer(config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.Ws2mschat.Topic) //rc.offlineProducer = kafka.NewKafkaProducer(config.Config.Kafka.Ws2mschatOffline.Addr, config.Config.Kafka.Ws2mschatOffline.Topic) From 20a2cb3d3c075f1ec56d5618933f9b9da28a60ad Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Mon, 19 Dec 2022 11:18:23 +0800 Subject: [PATCH 30/33] reaction message update --- internal/rpc/msg/extend_msg.go | 169 +++++++++++++++++--- internal/rpc/msg/extend_msg.notification.go | 11 +- internal/rpc/msg/lock.go | 20 +++ pkg/common/constant/constant.go | 1 + 4 files changed, 171 insertions(+), 30 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 47afbbdaa..6be933548 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -16,6 +16,7 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.SetMessageReactionExtensionsResp rResp.ClientMsgID = req.ClientMsgID + rResp.MsgFirstModifyTime = req.MsgFirstModifyTime isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 @@ -54,32 +55,67 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S log.Error(req.OperationID, "SetMessageReactionExpire err:", err.Error(), req.String()) } } else { + err := rpc.dMessageLocker.LockGlobalMessage(req.ClientMsgID) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime) + if err != nil { + rResp.ErrCode = 200 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + setValue := make(map[string]*server_api_params.KeyValue) for k, v := range req.ReactionExtensionList { - err := rpc.dMessageLocker.LockMessageTypeKey(req.ClientMsgID, k) - if err != nil { - setKeyResultInfo(&rResp, 100, err.Error(), req.ClientMsgID, k, v) - continue - } - redisValue, err := db.DB.GetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k) - if err != nil && err != go_redis.Nil { - setKeyResultInfo(&rResp, 200, err.Error(), req.ClientMsgID, k, v) - continue - } + temp := new(server_api_params.KeyValue) - utils.JsonStringToStruct(redisValue, temp) - if v.LatestUpdateTime != temp.LatestUpdateTime { - setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) - continue - } else { - v.LatestUpdateTime = utils.GetCurrentTimestampByMill() - newerr := db.DB.SetMessageTypeKeyValue(req.ClientMsgID, req.SessionType, k, utils.StructToJsonString(v)) - if newerr != nil { - setKeyResultInfo(&rResp, 201, newerr.Error(), req.ClientMsgID, k, temp) + if vv, ok := mongoValue.ReactionExtensionList[k]; ok { + utils.CopyStructFields(temp, &vv) + if v.LatestUpdateTime != vv.LatestUpdateTime { + setKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, k, temp) continue } - setKeyResultInfo(&rResp, 0, "", req.ClientMsgID, k, v) } - + temp.TypeKey = k + temp.Value = v.Value + temp.LatestUpdateTime = utils.GetCurrentTimestampByMill() + setValue[k] = temp + } + err = db.DB.InsertOrUpdateReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, setValue) + if err != nil { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + } else { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + rResp.Result = append(rResp.Result, temp) + } + } + lockErr := rpc.dMessageLocker.UnLockGlobalMessage(req.ClientMsgID) + if lockErr != nil { + log.Error(req.OperationID, "UnLockGlobalMessage err:", lockErr.Error()) } } @@ -114,10 +150,14 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S } } - if !isExists && !req.IsReact { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true) + if !isExists { + if !req.IsReact { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, true, true) + } else { + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + } } else { - ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, true) } log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil @@ -171,7 +211,23 @@ func (rpc *rpcChat) GetMessageListReactionExtensions(ctx context.Context, req *m oneMessage.ReactionExtensionList = keyMap } else { + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, messageValue.ClientMsgID, messageValue.MsgFirstModifyTime) + if err != nil { + oneMessage.ErrCode = 100 + oneMessage.ErrMsg = err.Error() + rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) + continue + } + keyMap := make(map[string]*server_api_params.KeyValue) + for k, v := range mongoValue.ReactionExtensionList { + temp := new(server_api_params.KeyValue) + temp.TypeKey = v.TypeKey + temp.Value = v.Value + temp.LatestUpdateTime = v.LatestUpdateTime + keyMap[k] = temp + } + oneMessage.ReactionExtensionList = keyMap } rResp.SingleMessageResult = append(rResp.SingleMessageResult, &oneMessage) } @@ -230,9 +286,72 @@ func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *ms } } } else { + err := rpc.dMessageLocker.LockGlobalMessage(req.ClientMsgID) + if err != nil { + rResp.ErrCode = 100 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + mongoValue, err := db.DB.GetExtendMsg(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime) + if err != nil { + rResp.ErrCode = 200 + rResp.ErrMsg = err.Error() + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + setValue := make(map[string]*server_api_params.KeyValue) + for _, v := range req.ReactionExtensionList { + + temp := new(server_api_params.KeyValue) + if vv, ok := mongoValue.ReactionExtensionList[v.TypeKey]; ok { + utils.CopyStructFields(temp, &vv) + if v.LatestUpdateTime != vv.LatestUpdateTime { + setDeleteKeyResultInfo(&rResp, 300, "message have update", req.ClientMsgID, v.TypeKey, temp) + continue + } + } else { + setDeleteKeyResultInfo(&rResp, 400, "key not in", req.ClientMsgID, v.TypeKey, v) + continue + } + temp.TypeKey = v.TypeKey + setValue[v.TypeKey] = temp + } + err = db.DB.DeleteReactionExtendMsgSet(req.SourceID, req.SessionType, req.ClientMsgID, req.MsgFirstModifyTime, setValue) + if err != nil { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = err.Error() + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + } else { + for _, value := range setValue { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + rResp.Result = append(rResp.Result, temp) + } + } + lockErr := rpc.dMessageLocker.UnLockGlobalMessage(req.ClientMsgID) + if lockErr != nil { + log.Error(req.OperationID, "UnLockGlobalMessage err:", lockErr.Error()) + } } - ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false) + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, isExists) log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc return is:", rResp.String()) return &rResp, nil } diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index f4f8bd88b..6867de511 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -14,7 +14,7 @@ import ( ) func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool) { + req *msg.SetMessageReactionExtensionsReq, resp *msg.SetMessageReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageModifierNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID @@ -30,10 +30,10 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin m.IsReact = resp.IsReact m.IsExternalExtensions = req.IsExternalExtensions m.MsgFirstModifyTime = resp.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory) + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageModifier, utils.StructToJsonString(m), isHistory, isReactionFromCache) } func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string, sessionType int32, - req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool) { + req *msg.DeleteMessageListReactionExtensionsReq, resp *msg.DeleteMessageListReactionExtensionsResp, isHistory bool, isReactionFromCache bool) { var m base_info.ReactionMessageDeleteNotification m.SourceID = req.SourceID m.OpUserID = req.OpUserID @@ -48,14 +48,15 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string m.ClientMsgID = req.ClientMsgID m.MsgFirstModifyTime = req.MsgFirstModifyTime - messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory) + messageReactionSender(operationID, sendID, sourceID, sessionType, constant.ReactionMessageDeleter, utils.StructToJsonString(m), isHistory, isReactionFromCache) } -func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool) { +func messageReactionSender(operationID, sendID string, sourceID string, sessionType, contentType int32, content string, isHistory bool, isReactionFromCache bool) { options := make(map[string]bool, 5) utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsSenderConversationUpdate, false) utils.SetSwitchFromOptions(options, constant.IsUnreadCount, false) + utils.SetSwitchFromOptions(options, constant.IsReactionFromCache, isReactionFromCache) if !isHistory { utils.SetSwitchFromOptions(options, constant.IsHistory, false) utils.SetSwitchFromOptions(options, constant.IsPersistent, false) diff --git a/internal/rpc/msg/lock.go b/internal/rpc/msg/lock.go index 4f40b62a0..cef59cb1a 100644 --- a/internal/rpc/msg/lock.go +++ b/internal/rpc/msg/lock.go @@ -5,9 +5,13 @@ import ( "time" ) +const GlOBLLOCK = "GLOBAL_LOCK" + type MessageLocker interface { LockMessageTypeKey(clientMsgID, typeKey string) (err error) UnLockMessageTypeKey(clientMsgID string, typeKey string) error + LockGlobalMessage(clientMsgID string) (err error) + UnLockGlobalMessage(clientMsgID string) (err error) } type LockerMessage struct{} @@ -26,7 +30,23 @@ func (l *LockerMessage) LockMessageTypeKey(clientMsgID, typeKey string) (err err } return err +} +func (l *LockerMessage) LockGlobalMessage(clientMsgID string) (err error) { + for i := 0; i < 3; i++ { + err = db.DB.LockMessageTypeKey(clientMsgID, GlOBLLOCK) + if err != nil { + time.Sleep(time.Millisecond * 100) + continue + } else { + break + } + } + return err + } func (l *LockerMessage) UnLockMessageTypeKey(clientMsgID string, typeKey string) error { return db.DB.UnLockMessageTypeKey(clientMsgID, typeKey) } +func (l *LockerMessage) UnLockGlobalMessage(clientMsgID string) error { + return db.DB.UnLockMessageTypeKey(clientMsgID, GlOBLLOCK) +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 522b942a7..9ca71ea19 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -171,6 +171,7 @@ const ( IsNotPrivate = "notPrivate" IsSenderConversationUpdate = "senderConversationUpdate" IsSenderNotificationPush = "senderNotificationPush" + IsReactionFromCache = "reactionFromCache" //GroupStatus GroupOk = 0 From 86fc0e41015f82dda4d3ad36ed2663aee8b4842b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 22 Dec 2022 17:23:14 +0800 Subject: [PATCH 31/33] reaction message update --- internal/rpc/msg/extend_msg_callback.go | 60 ++++++++++++++++++- pkg/call_back_struct/message.go | 38 ++++++++++++- pkg/common/constant/constant.go | 30 +++++----- pkg/proto/msg/msg.pb.go | 76 ++++++++++++------------- 4 files changed, 149 insertions(+), 55 deletions(-) diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 5c1fd6e49..6e7b1a991 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -1,11 +1,67 @@ package msg -import "Open_IM/pkg/proto/msg" +import ( + cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/http" + "Open_IM/pkg/common/log" + "Open_IM/pkg/proto/msg" + "Open_IM/pkg/utils" + http2 "net/http" +) -func callbackSetMessageReactionExtensions(req *msg.ModifyMessageReactionExtensionsReq) { +func callbackSetMessageReactionExtensions(req *msg.SetMessageReactionExtensionsReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) } func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { } +func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} + if !config.Config.Callback.CallbackAfterSendGroupMsg.Enable { + return callbackResp + } + log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) + commonCallbackReq := copyCallbackCommonReqStruct(msg) + commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand + req := cbApi.CallbackAfterSendGroupMsgReq{ + CommonCallbackReq: commonCallbackReq, + GroupID: msg.MsgData.GroupID, + } + resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + return callbackResp + } + return callbackResp +} +func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + + commonCallbackReq.CallbackCommand = constant.CallbackBeforeSendSingleMsgCommand + req := cbApi.CallbackBeforeSendSingleMsgReq{ + CommonCallbackReq: commonCallbackReq, + RecvID: msg.MsgData.RecvID, + } + resp := &cbApi.CallbackBeforeSendSingleMsgResp{ + CommonCallbackResp: &callbackResp, + } + //utils.CopyStructFields(req, msg.MsgData) + defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackTimeOut); err != nil { + callbackResp.ErrCode = http2.StatusInternalServerError + callbackResp.ErrMsg = err.Error() + if !config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackFailedContinue { + callbackResp.ActionCode = constant.ActionForbidden + return callbackResp + } else { + callbackResp.ActionCode = constant.ActionAllow + return callbackResp + } + } + return callbackResp +} diff --git a/pkg/call_back_struct/message.go b/pkg/call_back_struct/message.go index b28615030..00e142878 100644 --- a/pkg/call_back_struct/message.go +++ b/pkg/call_back_struct/message.go @@ -1,6 +1,9 @@ package call_back_struct -import sdk_ws "Open_IM/pkg/proto/sdk_ws" +import ( + "Open_IM/pkg/proto/msg" + sdk_ws "Open_IM/pkg/proto/sdk_ws" +) type CallbackBeforeSendSingleMsgReq struct { CommonCallbackReq @@ -63,3 +66,36 @@ type CallbackMsgModifyCommandResp struct { AttachedInfo *string `json:"attachedInfo"` Ex *string `json:"ex"` } +type CallbackBeforeSetMessageReactionExtReq struct { + OperationID string `json:"operationID"` + CallbackCommand string `json:"callbackCommand"` + SourceID string `json:"sourceID"` + OpUserID string `json:"opUserID"` + SessionType int32 `json:"sessionType"` + ReactionExtensionList map[string]*sdk_ws.KeyValue `json:"reactionExtensionList"` + ClientMsgID string `json:"clientMsgID"` + IsReact bool `json:"isReact"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackBeforeSetMessageReactionExtResp struct { + *CommonCallbackResp + ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackDeleteMessageReactionExtReq struct { + OperationID string `json:"operationID"` + CallbackCommand string `json:"callbackCommand"` + SourceID string `json:"sourceID"` + OpUserID string `json:"opUserID"` + SessionType int32 `json:"sessionType"` + ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList"` + ClientMsgID string `json:"clientMsgID"` + IsExternalExtensions bool `json:"isExternalExtensions"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} +type CallbackDeleteMessageReactionExtResp struct { + *CommonCallbackResp + ResultReactionExtensionList []*msg.KeyValueResp `json:"resultReactionExtensionList"` + MsgFirstModifyTime int64 `json:"msgFirstModifyTime"` +} diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index 9ca71ea19..d586760bf 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -205,20 +205,22 @@ const ( VerificationCodeForResetSuffix = "_forReset" //callbackCommand - CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" - CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" - CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" - CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" - CallbackMsgModifyCommand = "callbackMsgModifyCommand" - CallbackUserOnlineCommand = "callbackUserOnlineCommand" - CallbackUserOfflineCommand = "callbackUserOfflineCommand" - CallbackUserKickOffCommand = "callbackUserKickOffCommand" - CallbackOfflinePushCommand = "callbackOfflinePushCommand" - CallbackOnlinePushCommand = "callbackOnlinePushCommand" - CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" - CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" - CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" - CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand" + CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand" + CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand" + CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand" + CallbackMsgModifyCommand = "callbackMsgModifyCommand" + CallbackUserOnlineCommand = "callbackUserOnlineCommand" + CallbackUserOfflineCommand = "callbackUserOfflineCommand" + CallbackUserKickOffCommand = "callbackUserKickOffCommand" + CallbackOfflinePushCommand = "callbackOfflinePushCommand" + CallbackOnlinePushCommand = "callbackOnlinePushCommand" + CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand" + CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand" + CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand" + CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand" + CallbackBeforeSetMessageReactionExtensionCommand = "callbackBeforeSetMessageReactionExtensionCommand" + CallbackBeforeDeleteMessageReactionExtensionsCommand = "callbackBeforeDeleteMessageReactionExtensionsCommand" //callback actionCode ActionAllow = 0 diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index fa4b87ab9..a71fff6d8 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{0} + return fileDescriptor_msg_6246423db34ea762, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{1} + return fileDescriptor_msg_6246423db34ea762, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{2} + return fileDescriptor_msg_6246423db34ea762, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{3} + return fileDescriptor_msg_6246423db34ea762, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_c38567e4d3a35fd0, []int{4} + return fileDescriptor_msg_6246423db34ea762, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_c38567e4d3a35fd0, []int{5} + return fileDescriptor_msg_6246423db34ea762, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{6} + return fileDescriptor_msg_6246423db34ea762, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{7} + return fileDescriptor_msg_6246423db34ea762, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{8} + return fileDescriptor_msg_6246423db34ea762, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{9} + return fileDescriptor_msg_6246423db34ea762, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{10} + return fileDescriptor_msg_6246423db34ea762, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{11} + return fileDescriptor_msg_6246423db34ea762, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{12} + return fileDescriptor_msg_6246423db34ea762, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{13} + return fileDescriptor_msg_6246423db34ea762, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{14} + return fileDescriptor_msg_6246423db34ea762, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{15} + return fileDescriptor_msg_6246423db34ea762, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{16} + return fileDescriptor_msg_6246423db34ea762, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{17} + return fileDescriptor_msg_6246423db34ea762, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{18} + return fileDescriptor_msg_6246423db34ea762, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{19} + return fileDescriptor_msg_6246423db34ea762, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{20} + return fileDescriptor_msg_6246423db34ea762, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{21} + return fileDescriptor_msg_6246423db34ea762, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{22} + return fileDescriptor_msg_6246423db34ea762, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{23} + return fileDescriptor_msg_6246423db34ea762, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{24} + return fileDescriptor_msg_6246423db34ea762, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{25} + return fileDescriptor_msg_6246423db34ea762, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{25, 0} + return fileDescriptor_msg_6246423db34ea762, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{26} + return fileDescriptor_msg_6246423db34ea762, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{27} + return fileDescriptor_msg_6246423db34ea762, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{28} + return fileDescriptor_msg_6246423db34ea762, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1840,7 +1840,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{29} + return fileDescriptor_msg_6246423db34ea762, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1924,7 +1924,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{30} + return fileDescriptor_msg_6246423db34ea762, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1978,7 +1978,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{31} + return fileDescriptor_msg_6246423db34ea762, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2034,7 +2034,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{32} + return fileDescriptor_msg_6246423db34ea762, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2102,7 +2102,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{33} + return fileDescriptor_msg_6246423db34ea762, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2156,7 +2156,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_c38567e4d3a35fd0, []int{34} + return fileDescriptor_msg_6246423db34ea762, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2776,9 +2776,9 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_c38567e4d3a35fd0) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6246423db34ea762) } -var fileDescriptor_msg_c38567e4d3a35fd0 = []byte{ +var fileDescriptor_msg_6246423db34ea762 = []byte{ // 1668 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, From a7f44b6ce7ce15e0d247595fa7b8aa4e9d594af5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 23 Dec 2022 16:05:51 +0800 Subject: [PATCH 32/33] callback update --- internal/rpc/msg/extend_msg.go | 67 +++++ internal/rpc/msg/extend_msg.notification.go | 8 + internal/rpc/msg/extend_msg_callback.go | 83 +++--- pkg/base_info/msg.go | 1 + pkg/proto/msg/msg.pb.go | 288 ++++++++++---------- pkg/proto/msg/msg.proto | 5 +- 6 files changed, 265 insertions(+), 187 deletions(-) diff --git a/internal/rpc/msg/extend_msg.go b/internal/rpc/msg/extend_msg.go index 6be933548..a7ba9ddd1 100644 --- a/internal/rpc/msg/extend_msg.go +++ b/internal/rpc/msg/extend_msg.go @@ -1,6 +1,7 @@ package msg import ( + "Open_IM/pkg/common/constant" "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" "Open_IM/pkg/proto/msg" @@ -17,6 +18,40 @@ func (rpc *rpcChat) SetMessageReactionExtensions(ctx context.Context, req *msg.S var rResp msg.SetMessageReactionExtensionsResp rResp.ClientMsgID = req.ClientMsgID rResp.MsgFirstModifyTime = req.MsgFirstModifyTime + callbackResp := callbackSetMessageReactionExtensions(req) + if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { + rResp.ErrCode = int32(callbackResp.ErrCode) + rResp.ErrMsg = callbackResp.ErrMsg + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = callbackResp.ErrMsg + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + //if ExternalExtension + if req.IsExternalExtensions { + var isHistory bool + if req.IsReact { + isHistory = false + } else { + isHistory = true + } + rResp.MsgFirstModifyTime = callbackResp.MsgFirstModifyTime + rResp.Result = callbackResp.ResultReactionExtensionList + ExtendMessageUpdatedNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, isHistory, false) + return &rResp, nil + } + for _, v := range callbackResp.ResultReactionExtensionList { + if v.ErrCode == 0 { + req.ReactionExtensionList[v.KeyValue.TypeKey] = v.KeyValue + } else { + delete(req.ReactionExtensionList, v.KeyValue.TypeKey) + rResp.Result = append(rResp.Result, v) + } + } isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 @@ -243,6 +278,38 @@ func (rpc *rpcChat) AddMessageReactionExtensions(ctx context.Context, req *msg.M func (rpc *rpcChat) DeleteMessageReactionExtensions(ctx context.Context, req *msg.DeleteMessageListReactionExtensionsReq) (resp *msg.DeleteMessageListReactionExtensionsResp, err error) { log.Debug(req.OperationID, utils.GetSelfFuncName(), "rpc args is:", req.String()) var rResp msg.DeleteMessageListReactionExtensionsResp + callbackResp := callbackDeleteMessageReactionExtensions(req) + if callbackResp.ActionCode != constant.ActionAllow || callbackResp.ErrCode != 0 { + rResp.ErrCode = int32(callbackResp.ErrCode) + rResp.ErrMsg = callbackResp.ErrMsg + for _, value := range req.ReactionExtensionList { + temp := new(msg.KeyValueResp) + temp.KeyValue = value + temp.ErrMsg = callbackResp.ErrMsg + temp.ErrCode = 100 + rResp.Result = append(rResp.Result, temp) + } + return &rResp, nil + } + //if ExternalExtension + if req.IsExternalExtensions { + rResp.Result = callbackResp.ResultReactionExtensionList + ExtendMessageDeleteNotification(req.OperationID, req.OpUserID, req.SourceID, req.SessionType, req, &rResp, false, false) + return &rResp, nil + + } + for _, v := range callbackResp.ResultReactionExtensionList { + if v.ErrCode != 0 { + func(req *[]*server_api_params.KeyValue, typeKey string) { + for i := 0; i < len(*req); i++ { + if (*req)[i].TypeKey == typeKey { + *req = append((*req)[:i], (*req)[i+1:]...) + } + } + }(&req.ReactionExtensionList, v.KeyValue.TypeKey) + rResp.Result = append(rResp.Result, v) + } + } isExists, err := db.DB.JudgeMessageReactionEXISTS(req.ClientMsgID, req.SessionType) if err != nil { rResp.ErrCode = 100 diff --git a/internal/rpc/msg/extend_msg.notification.go b/internal/rpc/msg/extend_msg.notification.go index 6867de511..971f2f797 100644 --- a/internal/rpc/msg/extend_msg.notification.go +++ b/internal/rpc/msg/extend_msg.notification.go @@ -25,6 +25,10 @@ func ExtendMessageUpdatedNotification(operationID, sendID string, sourceID strin keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue } } + if len(keyMap) == 0 { + log.NewWarn(operationID, "all key set failed can not send notification", *req) + return + } m.SuccessReactionExtensionList = keyMap m.ClientMsgID = req.ClientMsgID m.IsReact = resp.IsReact @@ -44,6 +48,10 @@ func ExtendMessageDeleteNotification(operationID, sendID string, sourceID string keyMap[valueResp.KeyValue.TypeKey] = valueResp.KeyValue } } + if len(keyMap) == 0 { + log.NewWarn(operationID, "all key set failed can not send notification", *req) + return + } m.SuccessReactionExtensionList = keyMap m.ClientMsgID = req.ClientMsgID m.MsgFirstModifyTime = req.MsgFirstModifyTime diff --git a/internal/rpc/msg/extend_msg_callback.go b/internal/rpc/msg/extend_msg_callback.go index 6e7b1a991..65ae8d7b3 100644 --- a/internal/rpc/msg/extend_msg_callback.go +++ b/internal/rpc/msg/extend_msg_callback.go @@ -2,6 +2,7 @@ package msg import ( cbApi "Open_IM/pkg/call_back_struct" + "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/http" "Open_IM/pkg/common/log" @@ -10,58 +11,50 @@ import ( http2 "net/http" ) -func callbackSetMessageReactionExtensions(req *msg.SetMessageReactionExtensionsReq) cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: req.OperationID} - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.String()) - -} - -func callbackDeleteMessageReactionExtensions(req *msg.DeleteMessageListReactionExtensionsReq) { - -} -func callbackAfterSendGroupMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { - callbackResp := cbApi.CommonCallbackResp{OperationID: msg.OperationID} - if !config.Config.Callback.CallbackAfterSendGroupMsg.Enable { - return callbackResp +func callbackSetMessageReactionExtensions(setReq *msg.SetMessageReactionExtensionsReq) *cbApi.CallbackBeforeSetMessageReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackBeforeSetMessageReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackBeforeSetMessageReactionExtensionCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + ReactionExtensionList: setReq.ReactionExtensionList, + ClientMsgID: setReq.ClientMsgID, + IsReact: setReq.IsReact, + IsExternalExtensions: setReq.IsExternalExtensions, + MsgFirstModifyTime: setReq.MsgFirstModifyTime, } - log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), msg) - commonCallbackReq := copyCallbackCommonReqStruct(msg) - commonCallbackReq.CallbackCommand = constant.CallbackAfterSendGroupMsgCommand - req := cbApi.CallbackAfterSendGroupMsgReq{ - CommonCallbackReq: commonCallbackReq, - GroupID: msg.MsgData.GroupID, - } - resp := &cbApi.CallbackAfterSendGroupMsgResp{CommonCallbackResp: &callbackResp} - defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) - if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackAfterSendGroupMsgCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { + resp := &cbApi.CallbackBeforeSetMessageReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSetMessageReactionExtensionCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() - return callbackResp } - return callbackResp -} -func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) cbApi.CommonCallbackResp { + return resp - commonCallbackReq.CallbackCommand = constant.CallbackBeforeSendSingleMsgCommand - req := cbApi.CallbackBeforeSendSingleMsgReq{ - CommonCallbackReq: commonCallbackReq, - RecvID: msg.MsgData.RecvID, +} + +func callbackDeleteMessageReactionExtensions(setReq *msg.DeleteMessageListReactionExtensionsReq) *cbApi.CallbackDeleteMessageReactionExtResp { + callbackResp := cbApi.CommonCallbackResp{OperationID: setReq.OperationID} + log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), setReq.String()) + req := cbApi.CallbackDeleteMessageReactionExtReq{ + OperationID: setReq.OperationID, + CallbackCommand: constant.CallbackBeforeDeleteMessageReactionExtensionsCommand, + SourceID: setReq.SourceID, + OpUserID: setReq.OpUserID, + SessionType: setReq.SessionType, + ReactionExtensionList: setReq.ReactionExtensionList, + ClientMsgID: setReq.ClientMsgID, + IsExternalExtensions: setReq.IsExternalExtensions, + MsgFirstModifyTime: setReq.MsgFirstModifyTime, } - resp := &cbApi.CallbackBeforeSendSingleMsgResp{ - CommonCallbackResp: &callbackResp, - } - //utils.CopyStructFields(req, msg.MsgData) - defer log.NewDebug(msg.OperationID, utils.GetSelfFuncName(), req, *resp) - if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeSendSingleMsgCommand, req, resp, config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackTimeOut); err != nil { + resp := &cbApi.CallbackDeleteMessageReactionExtResp{CommonCallbackResp: &callbackResp} + defer log.NewDebug(setReq.OperationID, utils.GetSelfFuncName(), req, *resp) + if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackBeforeDeleteMessageReactionExtensionsCommand, req, resp, config.Config.Callback.CallbackAfterSendGroupMsg.CallbackTimeOut); err != nil { callbackResp.ErrCode = http2.StatusInternalServerError callbackResp.ErrMsg = err.Error() - if !config.Config.Callback.CallbackBeforeSendSingleMsg.CallbackFailedContinue { - callbackResp.ActionCode = constant.ActionForbidden - return callbackResp - } else { - callbackResp.ActionCode = constant.ActionAllow - return callbackResp - } } - return callbackResp + return resp } diff --git a/pkg/base_info/msg.go b/pkg/base_info/msg.go index 61a94ef72..5a7c7f538 100644 --- a/pkg/base_info/msg.go +++ b/pkg/base_info/msg.go @@ -110,6 +110,7 @@ type DeleteMessageReactionExtensionsReq struct { SourceID string `json:"sourceID" binding:"required"` SessionType int32 `json:"sessionType" binding:"required"` ClientMsgID string `json:"clientMsgID" binding:"required"` + IsExternalExtensions bool `json:"isExternalExtensions"` MsgFirstModifyTime int64 `json:"msgFirstModifyTime" binding:"required"` ReactionExtensionList []*sdk_ws.KeyValue `json:"reactionExtensionList" binding:"required"` } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index a71fff6d8..bdb1e3464 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -38,7 +38,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{0} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -91,7 +91,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{1} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -138,7 +138,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{2} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -193,7 +193,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{3} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -273,7 +273,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_msg_6246423db34ea762, []int{4} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -321,7 +321,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_msg_6246423db34ea762, []int{5} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -382,7 +382,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{6} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -438,7 +438,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{7} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -506,7 +506,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{8} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -559,7 +559,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{9} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -608,7 +608,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{10} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -675,7 +675,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{11} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -721,7 +721,7 @@ func (m *SetSendMsgStatusReq) Reset() { *m = SetSendMsgStatusReq{} } func (m *SetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusReq) ProtoMessage() {} func (*SetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{12} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{12} } func (m *SetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusReq.Unmarshal(m, b) @@ -767,7 +767,7 @@ func (m *SetSendMsgStatusResp) Reset() { *m = SetSendMsgStatusResp{} } func (m *SetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgStatusResp) ProtoMessage() {} func (*SetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{13} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{13} } func (m *SetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgStatusResp.Unmarshal(m, b) @@ -812,7 +812,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{14} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -852,7 +852,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{15} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -907,7 +907,7 @@ func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgReq) ProtoMessage() {} func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{16} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{16} } func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) @@ -967,7 +967,7 @@ func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*DelSuperGroupMsgResp) ProtoMessage() {} func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{17} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{17} } func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) @@ -1014,7 +1014,7 @@ func (m *GetSuperGroupMsgReq) Reset() { *m = GetSuperGroupMsgReq{} } func (m *GetSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgReq) ProtoMessage() {} func (*GetSuperGroupMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{18} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{18} } func (m *GetSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgReq.Unmarshal(m, b) @@ -1068,7 +1068,7 @@ func (m *GetSuperGroupMsgResp) Reset() { *m = GetSuperGroupMsgResp{} } func (m *GetSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } func (*GetSuperGroupMsgResp) ProtoMessage() {} func (*GetSuperGroupMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{19} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{19} } func (m *GetSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSuperGroupMsgResp.Unmarshal(m, b) @@ -1121,7 +1121,7 @@ func (m *GetWriteDiffMsgReq) Reset() { *m = GetWriteDiffMsgReq{} } func (m *GetWriteDiffMsgReq) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgReq) ProtoMessage() {} func (*GetWriteDiffMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{20} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{20} } func (m *GetWriteDiffMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgReq.Unmarshal(m, b) @@ -1168,7 +1168,7 @@ func (m *GetWriteDiffMsgResp) Reset() { *m = GetWriteDiffMsgResp{} } func (m *GetWriteDiffMsgResp) String() string { return proto.CompactTextString(m) } func (*GetWriteDiffMsgResp) ProtoMessage() {} func (*GetWriteDiffMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{21} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{21} } func (m *GetWriteDiffMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetWriteDiffMsgResp.Unmarshal(m, b) @@ -1230,7 +1230,7 @@ func (m *ModifyMessageReactionExtensionsReq) Reset() { *m = ModifyMessag func (m *ModifyMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsReq) ProtoMessage() {} func (*ModifyMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{22} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{22} } func (m *ModifyMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1348,7 +1348,7 @@ func (m *SetMessageReactionExtensionsReq) Reset() { *m = SetMessageReact func (m *SetMessageReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsReq) ProtoMessage() {} func (*SetMessageReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{23} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{23} } func (m *SetMessageReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsReq.Unmarshal(m, b) @@ -1461,7 +1461,7 @@ func (m *SetMessageReactionExtensionsResp) Reset() { *m = SetMessageReac func (m *SetMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*SetMessageReactionExtensionsResp) ProtoMessage() {} func (*SetMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{24} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{24} } func (m *SetMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetMessageListReactionExtensionsReq) Reset() { *m = GetMessageL func (m *GetMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsReq) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{25} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{25} } func (m *GetMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1609,7 +1609,7 @@ func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) String() string } func (*GetMessageListReactionExtensionsReq_MessageReactionKey) ProtoMessage() {} func (*GetMessageListReactionExtensionsReq_MessageReactionKey) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{25, 0} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{25, 0} } func (m *GetMessageListReactionExtensionsReq_MessageReactionKey) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsReq_MessageReactionKey.Unmarshal(m, b) @@ -1656,7 +1656,7 @@ func (m *GetMessageListReactionExtensionsResp) Reset() { *m = GetMessage func (m *GetMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*GetMessageListReactionExtensionsResp) ProtoMessage() {} func (*GetMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{26} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{26} } func (m *GetMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1711,7 +1711,7 @@ func (m *SingleMessageExtensionResult) Reset() { *m = SingleMessageExten func (m *SingleMessageExtensionResult) String() string { return proto.CompactTextString(m) } func (*SingleMessageExtensionResult) ProtoMessage() {} func (*SingleMessageExtensionResult) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{27} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{27} } func (m *SingleMessageExtensionResult) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SingleMessageExtensionResult.Unmarshal(m, b) @@ -1773,7 +1773,7 @@ func (m *ModifyMessageReactionExtensionsResp) Reset() { *m = ModifyMessa func (m *ModifyMessageReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*ModifyMessageReactionExtensionsResp) ProtoMessage() {} func (*ModifyMessageReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{28} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{28} } func (m *ModifyMessageReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ModifyMessageReactionExtensionsResp.Unmarshal(m, b) @@ -1827,8 +1827,9 @@ type DeleteMessageListReactionExtensionsReq struct { SourceID string `protobuf:"bytes,3,opt,name=sourceID" json:"sourceID,omitempty"` SessionType int32 `protobuf:"varint,4,opt,name=sessionType" json:"sessionType,omitempty"` ClientMsgID string `protobuf:"bytes,5,opt,name=clientMsgID" json:"clientMsgID,omitempty"` - MsgFirstModifyTime int64 `protobuf:"varint,6,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` - ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,7,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` + IsExternalExtensions bool `protobuf:"varint,6,opt,name=isExternalExtensions" json:"isExternalExtensions,omitempty"` + MsgFirstModifyTime int64 `protobuf:"varint,7,opt,name=msgFirstModifyTime" json:"msgFirstModifyTime,omitempty"` + ReactionExtensionList []*sdk_ws.KeyValue `protobuf:"bytes,8,rep,name=reactionExtensionList" json:"reactionExtensionList,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -1840,7 +1841,7 @@ func (m *DeleteMessageListReactionExtensionsReq) Reset() { func (m *DeleteMessageListReactionExtensionsReq) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsReq) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{29} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{29} } func (m *DeleteMessageListReactionExtensionsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsReq.Unmarshal(m, b) @@ -1895,6 +1896,13 @@ func (m *DeleteMessageListReactionExtensionsReq) GetClientMsgID() string { return "" } +func (m *DeleteMessageListReactionExtensionsReq) GetIsExternalExtensions() bool { + if m != nil { + return m.IsExternalExtensions + } + return false +} + func (m *DeleteMessageListReactionExtensionsReq) GetMsgFirstModifyTime() int64 { if m != nil { return m.MsgFirstModifyTime @@ -1924,7 +1932,7 @@ func (m *DeleteMessageListReactionExtensionsResp) Reset() { func (m *DeleteMessageListReactionExtensionsResp) String() string { return proto.CompactTextString(m) } func (*DeleteMessageListReactionExtensionsResp) ProtoMessage() {} func (*DeleteMessageListReactionExtensionsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{30} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{30} } func (m *DeleteMessageListReactionExtensionsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteMessageListReactionExtensionsResp.Unmarshal(m, b) @@ -1978,7 +1986,7 @@ func (m *ExtendMsgResp) Reset() { *m = ExtendMsgResp{} } func (m *ExtendMsgResp) String() string { return proto.CompactTextString(m) } func (*ExtendMsgResp) ProtoMessage() {} func (*ExtendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{31} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{31} } func (m *ExtendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsgResp.Unmarshal(m, b) @@ -2034,7 +2042,7 @@ func (m *ExtendMsg) Reset() { *m = ExtendMsg{} } func (m *ExtendMsg) String() string { return proto.CompactTextString(m) } func (*ExtendMsg) ProtoMessage() {} func (*ExtendMsg) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{32} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{32} } func (m *ExtendMsg) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ExtendMsg.Unmarshal(m, b) @@ -2102,7 +2110,7 @@ func (m *KeyValueResp) Reset() { *m = KeyValueResp{} } func (m *KeyValueResp) String() string { return proto.CompactTextString(m) } func (*KeyValueResp) ProtoMessage() {} func (*KeyValueResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{33} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{33} } func (m *KeyValueResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_KeyValueResp.Unmarshal(m, b) @@ -2156,7 +2164,7 @@ func (m *MsgDataToModifyByMQ) Reset() { *m = MsgDataToModifyByMQ{} } func (m *MsgDataToModifyByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToModifyByMQ) ProtoMessage() {} func (*MsgDataToModifyByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_6246423db34ea762, []int{34} + return fileDescriptor_msg_4f5a59ae8be91efc, []int{34} } func (m *MsgDataToModifyByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToModifyByMQ.Unmarshal(m, b) @@ -2776,113 +2784,113 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_6246423db34ea762) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_4f5a59ae8be91efc) } -var fileDescriptor_msg_6246423db34ea762 = []byte{ - // 1668 bytes of a gzipped FileDescriptorProto +var fileDescriptor_msg_4f5a59ae8be91efc = []byte{ + // 1672 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x59, 0xcd, 0x6e, 0xdb, 0xc6, 0x16, 0x06, 0x49, 0x4b, 0xb6, 0x8f, 0xec, 0xd8, 0x19, 0x3b, 0xbe, 0x0a, 0x63, 0x20, 0x0a, 0xf3, 0xa7, 0xdc, 0x24, 0x32, 0xae, 0xef, 0x05, 0x72, 0xd1, 0x14, 0x68, 0xe2, 0xc8, 0x55, 0x8c, 0x94, 0x75, 0x4c, 0xb9, 0x2d, 0xd0, 0x2e, 0x1c, 0x46, 0x1a, 0x33, 0x84, 0x25, 0x92, 0xe6, 0x50, 0xb1, - 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x2e, 0xbb, - 0x28, 0xfa, 0x20, 0x7d, 0x87, 0xa2, 0x98, 0x19, 0x4a, 0x1a, 0xfe, 0x59, 0xb4, 0x5c, 0x04, 0x29, - 0xd0, 0x9d, 0xce, 0xf0, 0xcc, 0x99, 0xef, 0x3b, 0xe7, 0x9b, 0xe1, 0xf0, 0x08, 0xe6, 0xbb, 0xc4, - 0x5a, 0xeb, 0x12, 0xab, 0xe6, 0xf9, 0x6e, 0xe0, 0x22, 0xa5, 0x4b, 0x2c, 0xb5, 0xba, 0xed, 0x61, - 0xe7, 0xee, 0x96, 0x7e, 0xb7, 0x89, 0xfd, 0x97, 0xd8, 0x5f, 0xf3, 0x0e, 0xac, 0x35, 0xf6, 0x78, - 0x8d, 0xb4, 0x0f, 0xf6, 0x8e, 0xc8, 0xda, 0x11, 0xe1, 0xee, 0x6a, 0x6d, 0xac, 0xa7, 0x6f, 0x7a, - 0x1e, 0xf6, 0x43, 0x7f, 0xed, 0x33, 0x28, 0xe9, 0xc4, 0xaa, 0x9b, 0x81, 0xb9, 0xeb, 0xea, 0x3b, - 0x68, 0x19, 0x0a, 0x81, 0x7b, 0x80, 0x9d, 0xb2, 0x54, 0x91, 0xaa, 0xb3, 0x06, 0x37, 0x50, 0x05, - 0x4a, 0xae, 0x87, 0x7d, 0x33, 0xb0, 0x5d, 0x67, 0xab, 0x5e, 0x96, 0xd9, 0x33, 0x71, 0x08, 0xfd, - 0x0f, 0xa6, 0xbb, 0x3c, 0x4c, 0x59, 0xa9, 0x48, 0xd5, 0xd2, 0xba, 0x5a, 0x23, 0x0c, 0xc0, 0x9e, - 0xe9, 0xd9, 0x7b, 0x9e, 0xe9, 0x9b, 0x5d, 0x52, 0x0b, 0x17, 0x32, 0x06, 0xae, 0x1a, 0x16, 0x16, - 0xaf, 0x6f, 0x88, 0x41, 0xa4, 0xdc, 0x41, 0xc6, 0x83, 0xd3, 0x5e, 0x49, 0xb0, 0xf0, 0xb4, 0x47, - 0x5e, 0x88, 0x44, 0x2b, 0x50, 0xda, 0x16, 0x66, 0x71, 0xba, 0xe2, 0x90, 0x88, 0x46, 0xce, 0x8f, - 0x46, 0x83, 0x39, 0xaf, 0x47, 0x5e, 0xec, 0xba, 0x1f, 0x10, 0xec, 0x6f, 0xd5, 0x59, 0x36, 0x66, - 0x8d, 0xc8, 0x98, 0xf6, 0xa3, 0x04, 0x68, 0x84, 0xc5, 0x75, 0x2c, 0x77, 0xa3, 0xaf, 0xef, 0xa0, - 0x32, 0x4c, 0x77, 0x4c, 0x12, 0x34, 0xf1, 0x21, 0x83, 0x33, 0x65, 0x0c, 0x4c, 0x74, 0x0d, 0xe6, - 0x4d, 0xcb, 0xf2, 0xb1, 0x15, 0x25, 0x19, 0x1d, 0x44, 0xeb, 0x50, 0xea, 0x62, 0x42, 0x4c, 0x0b, - 0xbf, 0x67, 0x93, 0xa0, 0xac, 0x54, 0x94, 0x6a, 0x69, 0x7d, 0xb1, 0x46, 0xa5, 0x24, 0x30, 0x37, - 0x44, 0x27, 0xb4, 0x0a, 0xb3, 0x81, 0x6f, 0x5b, 0x16, 0xc3, 0x3a, 0xc5, 0xa2, 0x8e, 0x06, 0xb4, - 0xf7, 0x01, 0x35, 0x70, 0xa0, 0x9b, 0xc7, 0x0f, 0x9d, 0xb6, 0x6e, 0x3b, 0x4d, 0x7c, 0x68, 0xe0, - 0x43, 0xb4, 0x02, 0xc5, 0x90, 0x1c, 0xcf, 0x5a, 0x68, 0xc5, 0x53, 0x2a, 0x27, 0x52, 0xaa, 0x1d, - 0xc1, 0x52, 0x22, 0x1e, 0xf1, 0x28, 0xf1, 0x4d, 0xdf, 0x7f, 0xe4, 0xb6, 0x31, 0x8b, 0x58, 0x30, - 0x06, 0x26, 0x5d, 0x6a, 0xd3, 0xf7, 0x75, 0x62, 0x85, 0xd1, 0x42, 0x8b, 0x8e, 0xeb, 0xe6, 0x31, - 0xcd, 0x14, 0xcd, 0xef, 0xbc, 0x11, 0x5a, 0x6c, 0x9c, 0xc5, 0x65, 0x5c, 0xe8, 0x38, 0xb3, 0xb4, + 0xd5, 0xbf, 0x5d, 0x8b, 0x02, 0x45, 0x16, 0x5d, 0x76, 0xd5, 0x5d, 0x77, 0x7d, 0x88, 0x3e, 0x40, + 0xd1, 0x07, 0xe9, 0x33, 0xb4, 0x28, 0x66, 0x86, 0x92, 0x86, 0x7f, 0x16, 0x2d, 0x17, 0x41, 0x0a, + 0x74, 0xa7, 0x99, 0x39, 0x73, 0xe6, 0xfb, 0xce, 0xf9, 0xe6, 0x87, 0x47, 0x30, 0xdf, 0x25, 0xd6, + 0x5a, 0x97, 0x58, 0x35, 0xcf, 0x77, 0x03, 0x17, 0x29, 0x5d, 0x62, 0xa9, 0xd5, 0x6d, 0x0f, 0x3b, + 0x77, 0xb7, 0xf4, 0xbb, 0x4d, 0xec, 0xbf, 0xc4, 0xfe, 0x9a, 0x77, 0x60, 0xad, 0xb1, 0xe1, 0x35, + 0xd2, 0x3e, 0xd8, 0x3b, 0x22, 0x6b, 0x47, 0x84, 0x9b, 0xab, 0xb5, 0xb1, 0x96, 0xbe, 0xe9, 0x79, + 0xd8, 0x0f, 0xed, 0xb5, 0xcf, 0xa0, 0xa4, 0x13, 0xab, 0x6e, 0x06, 0xe6, 0xae, 0xab, 0xef, 0xa0, + 0x65, 0x28, 0x04, 0xee, 0x01, 0x76, 0xca, 0x52, 0x45, 0xaa, 0xce, 0x1a, 0xbc, 0x81, 0x2a, 0x50, + 0x72, 0x3d, 0xec, 0x9b, 0x81, 0xed, 0x3a, 0x5b, 0xf5, 0xb2, 0xcc, 0xc6, 0xc4, 0x2e, 0xf4, 0x3f, + 0x98, 0xee, 0x72, 0x37, 0x65, 0xa5, 0x22, 0x55, 0x4b, 0xeb, 0x6a, 0x8d, 0x30, 0x00, 0x7b, 0xa6, + 0x67, 0xef, 0x79, 0xa6, 0x6f, 0x76, 0x49, 0x2d, 0x5c, 0xc8, 0x18, 0x98, 0x6a, 0x58, 0x58, 0xbc, + 0xbe, 0x21, 0x3a, 0x91, 0x72, 0x3b, 0x19, 0x0f, 0x4e, 0x7b, 0x25, 0xc1, 0xc2, 0xd3, 0x1e, 0x79, + 0x21, 0x12, 0xad, 0x40, 0x69, 0x5b, 0x98, 0xc5, 0xe9, 0x8a, 0x5d, 0x22, 0x1a, 0x39, 0x3f, 0x1a, + 0x0d, 0xe6, 0xbc, 0x1e, 0x79, 0xb1, 0xeb, 0x7e, 0x40, 0xb0, 0xbf, 0x55, 0x67, 0xd1, 0x98, 0x35, + 0x22, 0x7d, 0xda, 0x8f, 0x12, 0xa0, 0x11, 0x16, 0xd7, 0xb1, 0xdc, 0x8d, 0xbe, 0xbe, 0x83, 0xca, + 0x30, 0xdd, 0x31, 0x49, 0xd0, 0xc4, 0x87, 0x0c, 0xce, 0x94, 0x31, 0x68, 0xa2, 0x6b, 0x30, 0x6f, + 0x5a, 0x96, 0x8f, 0xad, 0x28, 0xc9, 0x68, 0x27, 0x5a, 0x87, 0x52, 0x17, 0x13, 0x62, 0x5a, 0xf8, + 0x3d, 0x9b, 0x04, 0x65, 0xa5, 0xa2, 0x54, 0x4b, 0xeb, 0x8b, 0x35, 0x2a, 0x25, 0x81, 0xb9, 0x21, + 0x1a, 0xa1, 0x55, 0x98, 0x0d, 0x7c, 0xdb, 0xb2, 0x18, 0xd6, 0x29, 0xe6, 0x75, 0xd4, 0xa1, 0xbd, + 0x0f, 0xa8, 0x81, 0x03, 0xdd, 0x3c, 0x7e, 0xe8, 0xb4, 0x75, 0xdb, 0x69, 0xe2, 0x43, 0x03, 0x1f, + 0xa2, 0x15, 0x28, 0x86, 0xe4, 0x78, 0xd4, 0xc2, 0x56, 0x3c, 0xa4, 0x72, 0x22, 0xa4, 0xda, 0x11, + 0x2c, 0x25, 0xfc, 0x11, 0x8f, 0x12, 0xdf, 0xf4, 0xfd, 0x47, 0x6e, 0x1b, 0x33, 0x8f, 0x05, 0x63, + 0xd0, 0xa4, 0x4b, 0x6d, 0xfa, 0xbe, 0x4e, 0xac, 0xd0, 0x5b, 0xd8, 0xa2, 0xfd, 0xba, 0x79, 0x4c, + 0x23, 0x45, 0xe3, 0x3b, 0x6f, 0x84, 0x2d, 0xd6, 0xcf, 0xfc, 0x32, 0x2e, 0xb4, 0x9f, 0xb5, 0xb4, 0x4f, 0x01, 0x9a, 0xd8, 0x69, 0xeb, 0xc4, 0xa2, 0x04, 0x5e, 0xaf, 0xc8, 0x7f, 0x90, 0xa0, 0x34, - 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0x72, 0x8b, 0x22, 0xe3, 0xeb, - 0xe8, 0xc4, 0x1a, 0x96, 0x49, 0x1c, 0xa2, 0x1e, 0xad, 0x8e, 0x8d, 0x9d, 0x80, 0x7b, 0x14, 0xb8, - 0x87, 0x30, 0x84, 0x54, 0x98, 0x21, 0xd8, 0x69, 0xef, 0xda, 0x5d, 0x5c, 0x2e, 0x56, 0xa4, 0xaa, - 0x62, 0x0c, 0x6d, 0xad, 0x05, 0xa5, 0x47, 0x1d, 0x6c, 0xfa, 0x61, 0x7a, 0x56, 0xa0, 0xd8, 0x8b, - 0xd4, 0x97, 0x5b, 0x34, 0x84, 0xeb, 0x85, 0x95, 0xe7, 0x00, 0x87, 0x76, 0x3c, 0x79, 0x4a, 0x72, - 0x13, 0x3e, 0x80, 0xb9, 0xd1, 0x22, 0x93, 0xa4, 0x41, 0xfb, 0x5e, 0x82, 0x85, 0x26, 0xa6, 0x7c, - 0x22, 0x5a, 0x4c, 0xc5, 0x5a, 0x86, 0x69, 0xcb, 0x77, 0x7b, 0xde, 0x10, 0xea, 0xc0, 0xa4, 0x33, - 0xba, 0x5c, 0x22, 0xa1, 0x74, 0xb8, 0x15, 0x67, 0x30, 0x95, 0x2c, 0xbf, 0xc8, 0xbf, 0x10, 0xe5, - 0xaf, 0xd5, 0x61, 0x31, 0x0a, 0x6d, 0x22, 0x86, 0xdb, 0xb0, 0xd4, 0xc4, 0x41, 0x28, 0x96, 0x66, - 0x60, 0x06, 0x3d, 0x62, 0x24, 0xa1, 0x49, 0x49, 0x68, 0x2b, 0x50, 0x24, 0xcc, 0x9d, 0x05, 0x2c, - 0x18, 0xa1, 0xa5, 0x3d, 0x86, 0xe5, 0x64, 0xc0, 0x89, 0xa0, 0xdd, 0x63, 0x5b, 0xf7, 0xf4, 0xd0, - 0xb4, 0x67, 0xb0, 0xdc, 0xf8, 0x4b, 0x20, 0x08, 0x24, 0x95, 0x08, 0xc9, 0xaf, 0x24, 0x58, 0xaa, - 0xe3, 0x4e, 0xb3, 0xe7, 0x61, 0xbf, 0x41, 0xab, 0x1c, 0xea, 0x58, 0xac, 0x97, 0x14, 0xd3, 0xeb, - 0x48, 0x37, 0x72, 0x96, 0x6e, 0x94, 0xa8, 0x6e, 0xc6, 0xea, 0x83, 0x26, 0x3b, 0x09, 0x63, 0xa2, - 0x64, 0xb7, 0x78, 0xb2, 0xe3, 0x84, 0xc6, 0xeb, 0x60, 0x11, 0x14, 0xaa, 0x6c, 0x99, 0x29, 0x9b, - 0xfe, 0xcc, 0x26, 0xa4, 0x7d, 0xc9, 0x0b, 0x73, 0x76, 0xb8, 0x13, 0x9e, 0x8b, 0x8f, 0xd9, 0xcb, - 0xe5, 0x23, 0xdf, 0x0e, 0x70, 0xdd, 0xde, 0xdf, 0x9f, 0x9c, 0xa3, 0xf6, 0x05, 0x4b, 0x57, 0x34, - 0xd2, 0x6b, 0x24, 0xf2, 0x5d, 0x01, 0x34, 0xdd, 0x6d, 0xdb, 0xfb, 0x7d, 0x9d, 0xbf, 0x59, 0x0d, - 0x6c, 0xb6, 0x28, 0xd8, 0xcd, 0xe3, 0x00, 0x3b, 0xc4, 0x76, 0x9d, 0x9c, 0xbb, 0x98, 0x9e, 0xd1, - 0x6e, 0xcf, 0x6f, 0xe1, 0xd1, 0x01, 0x3b, 0xb0, 0x23, 0x62, 0x56, 0x92, 0x87, 0x2f, 0xc1, 0x84, - 0x2e, 0xb4, 0xdb, 0xf7, 0x30, 0x93, 0x66, 0xc1, 0x10, 0x87, 0xd0, 0x31, 0x5c, 0xf0, 0xe3, 0xa0, - 0xd8, 0x25, 0xa1, 0xc0, 0x2e, 0x09, 0x1b, 0xfc, 0x92, 0x30, 0x96, 0x43, 0xcd, 0x48, 0x0b, 0xb2, - 0xe9, 0x04, 0x7e, 0xdf, 0x48, 0x5f, 0x20, 0xfe, 0x66, 0x2a, 0x26, 0xdf, 0x4c, 0x77, 0x40, 0xc6, - 0xc7, 0xe5, 0x69, 0x96, 0xef, 0xd5, 0x9a, 0xe5, 0xba, 0x56, 0x07, 0xf3, 0xcb, 0xe9, 0xf3, 0xde, - 0x7e, 0xad, 0x19, 0xf8, 0xb6, 0x63, 0x7d, 0x68, 0x76, 0x7a, 0xd8, 0x90, 0xf1, 0x31, 0x7a, 0x00, - 0x73, 0x66, 0x10, 0x98, 0xad, 0x17, 0xb8, 0xbd, 0xe5, 0xec, 0xbb, 0xe5, 0x99, 0x1c, 0xf3, 0x22, - 0x33, 0xa8, 0x2c, 0x6c, 0xc2, 0x88, 0x94, 0x67, 0x2b, 0x52, 0x75, 0xc6, 0x18, 0x98, 0x68, 0x1d, - 0x96, 0x6d, 0x42, 0xe1, 0xfb, 0x8e, 0xd9, 0x19, 0x11, 0x2f, 0x03, 0x73, 0x4b, 0x7d, 0x86, 0x6a, - 0x80, 0xba, 0xc4, 0x7a, 0xd7, 0xf6, 0x49, 0xc0, 0xf3, 0xc7, 0xde, 0xb0, 0x25, 0xf6, 0x86, 0x4d, - 0x79, 0xa2, 0x62, 0x50, 0xb3, 0x93, 0x48, 0xb5, 0x7d, 0x80, 0xfb, 0xa1, 0x36, 0xe8, 0x4f, 0xf4, - 0x1f, 0x28, 0xbc, 0xa4, 0x24, 0xc2, 0x3b, 0xe8, 0xa5, 0x14, 0x41, 0x3e, 0xc1, 0x7d, 0xce, 0x93, - 0x7b, 0xbe, 0x25, 0xff, 0x5f, 0xd2, 0xbe, 0x2d, 0xc0, 0x65, 0xfa, 0x42, 0x7a, 0x53, 0x05, 0xd9, - 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x5d, - 0x82, 0xca, 0xc9, 0xc5, 0x9c, 0xf4, 0x5e, 0x2c, 0x56, 0x53, 0x49, 0x56, 0x33, 0x3d, 0x1f, 0x53, - 0x59, 0xf9, 0x10, 0xab, 0x51, 0x88, 0x56, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, - 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x0e, 0xda, 0x1f, 0x32, 0x5c, - 0x6d, 0x0c, 0xd9, 0xd2, 0x74, 0x9e, 0x61, 0xff, 0x65, 0xde, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, - 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xad, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, - 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x08, 0x63, 0x64, 0x84, 0x56, 0xf7, 0x01, 0x25, 0xbd, 0xe3, 0x55, - 0x94, 0xf2, 0x56, 0x51, 0xce, 0xaa, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, + 0x5c, 0x9c, 0xb3, 0xc5, 0x51, 0xb6, 0x78, 0xc4, 0x16, 0x47, 0xd8, 0xf2, 0x16, 0x45, 0xc6, 0xd7, + 0xd1, 0x89, 0x35, 0x4c, 0x93, 0xd8, 0x45, 0x2d, 0x5a, 0x1d, 0x1b, 0x3b, 0x01, 0xb7, 0x28, 0x70, + 0x0b, 0xa1, 0x0b, 0xa9, 0x30, 0x43, 0xb0, 0xd3, 0xde, 0xb5, 0xbb, 0xb8, 0x5c, 0xac, 0x48, 0x55, + 0xc5, 0x18, 0xb6, 0xb5, 0x16, 0x94, 0x1e, 0x75, 0xb0, 0xe9, 0x87, 0xe1, 0x59, 0x81, 0x62, 0x2f, + 0x92, 0x5f, 0xde, 0xa2, 0x2e, 0x5c, 0x2f, 0xcc, 0x3c, 0x07, 0x38, 0x6c, 0xc7, 0x83, 0xa7, 0x24, + 0x37, 0xe1, 0x03, 0x98, 0x1b, 0x2d, 0x32, 0x49, 0x18, 0xb4, 0xef, 0x25, 0x58, 0x68, 0x62, 0xca, + 0x27, 0xa2, 0xc5, 0x54, 0xac, 0x65, 0x98, 0xb6, 0x7c, 0xb7, 0xe7, 0x0d, 0xa1, 0x0e, 0x9a, 0x74, + 0x46, 0x97, 0x4b, 0x24, 0x94, 0x0e, 0x6f, 0xc5, 0x19, 0x4c, 0x25, 0xd3, 0x2f, 0xf2, 0x2f, 0x44, + 0xf9, 0x6b, 0x75, 0x58, 0x8c, 0x42, 0x9b, 0x88, 0xe1, 0x36, 0x2c, 0x35, 0x71, 0x10, 0x8a, 0xa5, + 0x19, 0x98, 0x41, 0x8f, 0x18, 0x49, 0x68, 0x52, 0x12, 0xda, 0x0a, 0x14, 0x09, 0x33, 0x67, 0x0e, + 0x0b, 0x46, 0xd8, 0xd2, 0x1e, 0xc3, 0x72, 0xd2, 0xe1, 0x44, 0xd0, 0xee, 0xb1, 0xad, 0x7b, 0x7a, + 0x68, 0xda, 0x33, 0x58, 0x6e, 0xfc, 0x25, 0x10, 0x04, 0x92, 0x4a, 0x84, 0xe4, 0x57, 0x12, 0x2c, + 0xd5, 0x71, 0xa7, 0xd9, 0xf3, 0xb0, 0xdf, 0xa0, 0x59, 0x0e, 0x75, 0x2c, 0xe6, 0x4b, 0x8a, 0xe9, + 0x75, 0xa4, 0x1b, 0x39, 0x4b, 0x37, 0x4a, 0x54, 0x37, 0x63, 0xf5, 0x41, 0x83, 0x9d, 0x84, 0x31, + 0x51, 0xb0, 0x5b, 0x3c, 0xd8, 0x71, 0x42, 0xe3, 0x75, 0xb0, 0x08, 0x0a, 0x55, 0xb6, 0xcc, 0x94, + 0x4d, 0x7f, 0x66, 0x13, 0xd2, 0xbe, 0xe4, 0x89, 0x39, 0x3b, 0xdc, 0x09, 0xcf, 0xc5, 0xc7, 0xec, + 0x72, 0xf9, 0xc8, 0xb7, 0x03, 0x5c, 0xb7, 0xf7, 0xf7, 0x27, 0xe7, 0xa8, 0x7d, 0xc1, 0xc2, 0x15, + 0xf5, 0xf4, 0x1a, 0x89, 0x7c, 0x57, 0x00, 0x4d, 0x77, 0xdb, 0xf6, 0x7e, 0x5f, 0xe7, 0x37, 0xab, + 0x81, 0xcd, 0x16, 0x05, 0xbb, 0x79, 0x1c, 0x60, 0x87, 0xd8, 0xae, 0x93, 0x73, 0x17, 0xd3, 0x33, + 0xda, 0xed, 0xf9, 0x2d, 0x3c, 0x3a, 0x60, 0x07, 0xed, 0x88, 0x98, 0x95, 0xe4, 0xe1, 0x4b, 0x30, + 0xa1, 0x0b, 0xed, 0xf6, 0x3d, 0xcc, 0xa4, 0x59, 0x30, 0xc4, 0x2e, 0x74, 0x0c, 0x17, 0xfc, 0x38, + 0x28, 0xf6, 0x48, 0x28, 0xb0, 0x47, 0xc2, 0x06, 0x7f, 0x24, 0x8c, 0xe5, 0x50, 0x33, 0xd2, 0x9c, + 0x6c, 0x3a, 0x81, 0xdf, 0x37, 0xd2, 0x17, 0x88, 0xdf, 0x4c, 0xc5, 0xe4, 0xcd, 0x74, 0x07, 0x64, + 0x7c, 0x5c, 0x9e, 0x66, 0xf1, 0x5e, 0xad, 0x59, 0xae, 0x6b, 0x75, 0x30, 0x7f, 0x9c, 0x3e, 0xef, + 0xed, 0xd7, 0x9a, 0x81, 0x6f, 0x3b, 0xd6, 0x87, 0x66, 0xa7, 0x87, 0x0d, 0x19, 0x1f, 0xa3, 0x07, + 0x30, 0x67, 0x06, 0x81, 0xd9, 0x7a, 0x81, 0xdb, 0x5b, 0xce, 0xbe, 0x5b, 0x9e, 0xc9, 0x31, 0x2f, + 0x32, 0x83, 0xca, 0xc2, 0x26, 0x8c, 0x48, 0x79, 0xb6, 0x22, 0x55, 0x67, 0x8c, 0x41, 0x13, 0xad, + 0xc3, 0xb2, 0x4d, 0x28, 0x7c, 0xdf, 0x31, 0x3b, 0x23, 0xe2, 0x65, 0x60, 0x66, 0xa9, 0x63, 0xa8, + 0x06, 0xa8, 0x4b, 0xac, 0x77, 0x6d, 0x9f, 0x04, 0x3c, 0x7e, 0xec, 0x86, 0x2d, 0xb1, 0x1b, 0x36, + 0x65, 0x44, 0xc5, 0xa0, 0x66, 0x07, 0x91, 0x6a, 0xfb, 0x00, 0xf7, 0x43, 0x6d, 0xd0, 0x9f, 0xe8, + 0x3f, 0x50, 0x78, 0x49, 0x49, 0x84, 0x6f, 0xd0, 0x4b, 0x29, 0x82, 0x7c, 0x82, 0xfb, 0x9c, 0x27, + 0xb7, 0x7c, 0x4b, 0xfe, 0xbf, 0xa4, 0x7d, 0x5b, 0x80, 0xcb, 0xf4, 0x42, 0x7a, 0x53, 0x05, 0xd9, + 0x3b, 0x59, 0x90, 0xef, 0x30, 0x41, 0x8e, 0x21, 0xf0, 0x8f, 0x1a, 0xff, 0x2e, 0x6a, 0xfc, 0x4d, + 0x82, 0xca, 0xc9, 0xc9, 0x9c, 0xf4, 0x5d, 0x2c, 0x66, 0x53, 0x49, 0x66, 0x33, 0x3d, 0x1e, 0x53, + 0x59, 0xf1, 0x10, 0xb3, 0x51, 0x88, 0x66, 0xe3, 0x16, 0x14, 0x7d, 0x4c, 0x7a, 0x9d, 0xa0, 0x5c, + 0x64, 0x0a, 0x3d, 0xcf, 0x14, 0x3a, 0x24, 0x8b, 0x89, 0x67, 0x84, 0x06, 0xda, 0x1f, 0x32, 0x5c, + 0x6d, 0x0c, 0xd9, 0xd2, 0x70, 0x9e, 0x61, 0xff, 0x65, 0xbe, 0xb8, 0xc5, 0xbd, 0xa9, 0xc4, 0xf6, + 0xe6, 0xf8, 0xfd, 0x47, 0x60, 0xa5, 0x1b, 0xcd, 0xc6, 0x13, 0xdc, 0x17, 0x36, 0xe0, 0x7d, 0x46, + 0x2f, 0x07, 0x8b, 0x9a, 0x9e, 0x70, 0x63, 0x64, 0xb8, 0x56, 0xf7, 0x01, 0x25, 0xad, 0xe3, 0x59, + 0x94, 0xf2, 0x66, 0x51, 0xce, 0xca, 0xa2, 0xf6, 0x93, 0x04, 0xd7, 0xc6, 0x43, 0x9f, 0x48, 0x72, 0x4d, 0x58, 0x22, 0xb6, 0x63, 0x75, 0xf0, 0x90, 0x08, 0xd3, 0x04, 0xff, 0xd6, 0xbe, 0xc2, 0x4f, - 0x2d, 0xf1, 0xf9, 0x70, 0x41, 0xee, 0x68, 0xa4, 0xcd, 0xd6, 0x7e, 0x95, 0x61, 0xf5, 0xa4, 0x59, - 0x13, 0xe0, 0xf4, 0xb3, 0xce, 0x57, 0x8e, 0xf4, 0xed, 0xb1, 0x48, 0xcf, 0x7e, 0xb8, 0x4e, 0x25, - 0x0a, 0xf9, 0xba, 0x8e, 0x9b, 0x9f, 0x25, 0xb8, 0x3a, 0xf6, 0x32, 0x33, 0xe1, 0x05, 0xb1, 0x44, - 0x7a, 0xad, 0x16, 0x26, 0x44, 0x48, 0x26, 0x62, 0xc9, 0x64, 0xb1, 0x07, 0x1f, 0xf9, 0x86, 0xe8, - 0x86, 0xd6, 0x01, 0xf6, 0x4d, 0xbb, 0x83, 0xdb, 0x6c, 0xd2, 0x54, 0xe6, 0x24, 0xc1, 0x4b, 0xfb, - 0x45, 0x86, 0x1b, 0x75, 0xdc, 0xc1, 0x01, 0x7e, 0xa3, 0xcf, 0x91, 0xf1, 0x8d, 0x87, 0xf4, 0xcd, - 0x5b, 0xcc, 0x3c, 0x82, 0x77, 0xb2, 0x94, 0x3b, 0xcd, 0xf2, 0x76, 0xa2, 0x06, 0xd2, 0x67, 0x6a, - 0x5f, 0x4b, 0x70, 0x33, 0x57, 0x2e, 0x27, 0xd2, 0xc4, 0x29, 0xde, 0x0c, 0x2e, 0xcc, 0x47, 0x2a, - 0x8e, 0xee, 0xc0, 0x2c, 0x1e, 0x0c, 0x84, 0x3d, 0xcf, 0x73, 0x31, 0x61, 0x8c, 0x1c, 0x44, 0x6c, - 0x72, 0x16, 0x36, 0x25, 0xf2, 0x21, 0xf9, 0x9b, 0x0c, 0xb3, 0xc3, 0x50, 0x68, 0x2f, 0x2b, 0xb5, - 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x00, 0x39, 0xaf, 0x1a, 0x94, 0x4c, 0x35, 0x68, - 0xb1, 0x0b, 0x16, 0x3f, 0x54, 0xa2, 0x57, 0xa8, 0x73, 0xec, 0xca, 0xc6, 0xa5, 0x27, 0xe3, 0x63, - 0xf5, 0x93, 0x53, 0x9e, 0x32, 0x37, 0xa3, 0xa7, 0x4c, 0x4a, 0xfd, 0x84, 0xb3, 0xa5, 0x0f, 0x73, - 0xe2, 0x23, 0x74, 0x0f, 0x66, 0x0e, 0x42, 0x3b, 0x2c, 0xe0, 0x89, 0x0a, 0x1d, 0x3a, 0x4f, 0x50, - 0xcc, 0x57, 0x12, 0x2c, 0x09, 0x6d, 0x63, 0x9a, 0x23, 0xd6, 0x37, 0x4e, 0x74, 0x87, 0xa5, 0x1c, - 0xdd, 0x61, 0xf9, 0xd4, 0xdd, 0x61, 0x25, 0xd6, 0x1d, 0x5e, 0xff, 0x06, 0x40, 0xe9, 0x12, 0x0b, - 0x3d, 0x83, 0x85, 0x58, 0x57, 0x17, 0x5d, 0x4f, 0xc9, 0x41, 0xb2, 0x93, 0xac, 0xde, 0xc8, 0xe3, - 0x46, 0x3c, 0xe4, 0xc2, 0xf2, 0xd3, 0x5e, 0xa7, 0x13, 0xee, 0xde, 0x8d, 0x7e, 0x13, 0x1f, 0x32, - 0x7c, 0xff, 0x4e, 0x99, 0x9f, 0xe6, 0x48, 0xd7, 0xba, 0x9d, 0xdb, 0x97, 0xed, 0xcb, 0xe9, 0xb0, - 0x63, 0x85, 0x16, 0xc2, 0x4f, 0x91, 0x41, 0xf7, 0x58, 0x5d, 0x8c, 0x0e, 0x10, 0x0f, 0xed, 0x00, - 0xd4, 0x71, 0x47, 0x27, 0x16, 0xdf, 0x04, 0x29, 0x0b, 0x8d, 0x1e, 0xd3, 0x08, 0x57, 0xc6, 0x78, - 0x10, 0x0f, 0x35, 0x60, 0x31, 0xde, 0x4b, 0x42, 0x65, 0xb6, 0x70, 0x4a, 0xa7, 0x4b, 0xbd, 0x98, - 0xf1, 0x84, 0x78, 0x68, 0x0d, 0x66, 0x06, 0x6d, 0x57, 0xc4, 0x91, 0x0b, 0xad, 0x5e, 0xf5, 0x7c, - 0x6c, 0x84, 0x78, 0xe8, 0x3e, 0xcc, 0x89, 0x9d, 0x4c, 0xb4, 0x3c, 0xfc, 0x14, 0x13, 0xfa, 0xae, - 0xea, 0x85, 0x94, 0x51, 0x0e, 0x3b, 0xde, 0x6f, 0x0c, 0x61, 0xa7, 0xf4, 0x35, 0x43, 0xd8, 0xa9, - 0x0d, 0xca, 0x06, 0x2c, 0x36, 0xd2, 0x03, 0x35, 0x32, 0x03, 0x35, 0x4e, 0x08, 0x94, 0x92, 0xc8, - 0x94, 0x0e, 0x9b, 0x10, 0x28, 0x91, 0xc8, 0x3a, 0x53, 0xb9, 0xd8, 0x64, 0x42, 0xff, 0x1a, 0x78, - 0xc7, 0x9a, 0x58, 0x6a, 0x39, 0xfd, 0x01, 0xf1, 0xd0, 0x01, 0xac, 0x9e, 0xf4, 0x21, 0x84, 0xae, - 0xe5, 0xf9, 0xf0, 0x55, 0xaf, 0xe7, 0xf0, 0x22, 0x1e, 0x3a, 0x82, 0xca, 0xb8, 0x6b, 0x30, 0xaa, - 0xe6, 0xbd, 0xe8, 0xab, 0xb7, 0x72, 0x7a, 0x12, 0x0f, 0x1d, 0xc2, 0xea, 0xc3, 0x76, 0x3b, 0x9b, - 0xe5, 0xcd, 0x9c, 0xfd, 0x26, 0xb5, 0x9a, 0xcf, 0x91, 0x78, 0xe8, 0x73, 0xb8, 0x1c, 0x79, 0xc5, - 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x5c, 0xaa, 0xd4, 0x3b, 0xf9, 0x9d, 0x89, 0xb7, 0x71, - 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x0f, 0xd7, 0x2e, 0xb1, 0xee, 0x77, - 0x89, 0xf5, 0xbc, 0xc8, 0xcc, 0xff, 0xfe, 0x19, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x17, 0x83, 0x0e, - 0xd9, 0x1d, 0x00, 0x00, + 0x2d, 0x71, 0x7c, 0xb8, 0x20, 0x37, 0x34, 0xd2, 0x66, 0x6b, 0xbf, 0xc8, 0xb0, 0x7a, 0xd2, 0xac, + 0x09, 0x70, 0xfa, 0x59, 0xe7, 0x2b, 0x47, 0xfa, 0xf6, 0x58, 0xa4, 0x67, 0x3f, 0x5c, 0xa7, 0x12, + 0x89, 0x7c, 0x5d, 0xc7, 0xcd, 0xcf, 0x12, 0x5c, 0x1d, 0xfb, 0x98, 0x99, 0xf0, 0x81, 0x58, 0x22, + 0xbd, 0x56, 0x0b, 0x13, 0x22, 0x04, 0x13, 0xb1, 0x60, 0x32, 0xdf, 0x83, 0x8f, 0x7c, 0x43, 0x34, + 0x43, 0xeb, 0x00, 0xfb, 0xa6, 0xdd, 0xc1, 0x6d, 0x36, 0x69, 0x2a, 0x73, 0x92, 0x60, 0xa5, 0xfd, + 0x2e, 0xc3, 0x8d, 0x3a, 0xee, 0xe0, 0x00, 0xbf, 0xd1, 0xe7, 0xc8, 0xf8, 0xc2, 0x43, 0xd6, 0x35, + 0x56, 0x3c, 0xf5, 0x35, 0x36, 0x9d, 0x79, 0x6c, 0xef, 0x64, 0xa9, 0x7d, 0x86, 0xc5, 0xfa, 0x44, + 0xdd, 0xa4, 0xcf, 0xd4, 0xbe, 0x96, 0xe0, 0x66, 0xae, 0xf8, 0x4f, 0xa4, 0xa3, 0x53, 0xdc, 0x26, + 0x2e, 0xcc, 0x47, 0x54, 0x82, 0xee, 0xc0, 0x2c, 0x1e, 0x74, 0x84, 0x75, 0xd2, 0x73, 0x31, 0x31, + 0x8d, 0x0c, 0x44, 0x6c, 0x72, 0x16, 0x36, 0x25, 0xf2, 0xf1, 0xf9, 0xab, 0x0c, 0xb3, 0x43, 0x57, + 0x68, 0x2f, 0x2b, 0xb4, 0x12, 0x03, 0x7e, 0x2b, 0xba, 0xf2, 0xd9, 0x4f, 0x0d, 0x39, 0xef, 0xf1, + 0xaf, 0x64, 0xaa, 0x41, 0x8b, 0x3d, 0xca, 0xf8, 0x41, 0x14, 0x7d, 0x76, 0x9d, 0x63, 0xcf, 0x3c, + 0x2e, 0x57, 0x19, 0x1f, 0xab, 0x9f, 0x9c, 0xf2, 0x64, 0xba, 0x19, 0x3d, 0x99, 0x52, 0xf2, 0x27, + 0x9c, 0x47, 0x7d, 0x98, 0x13, 0x87, 0xd0, 0x3d, 0x98, 0x39, 0x08, 0xdb, 0x61, 0x02, 0x4f, 0x54, + 0xe8, 0xd0, 0x78, 0x82, 0x64, 0xbe, 0x92, 0x60, 0x49, 0x28, 0x35, 0xd3, 0x18, 0xb1, 0x5a, 0x73, + 0xa2, 0xa2, 0x2c, 0xe5, 0xa8, 0x28, 0xcb, 0xa7, 0xae, 0x28, 0x2b, 0xb1, 0x8a, 0xf2, 0xfa, 0x37, + 0x00, 0x4a, 0x97, 0x58, 0xe8, 0x19, 0x2c, 0xc4, 0x2a, 0xc1, 0xe8, 0x7a, 0x4a, 0x0c, 0x92, 0xd5, + 0x67, 0xf5, 0x46, 0x1e, 0x33, 0xe2, 0x21, 0x17, 0x96, 0x9f, 0xf6, 0x3a, 0x9d, 0x70, 0xf7, 0x6e, + 0xf4, 0x9b, 0xf8, 0x90, 0xe1, 0xfb, 0x77, 0xca, 0xfc, 0x34, 0x43, 0xba, 0xd6, 0xed, 0xdc, 0xb6, + 0x6c, 0x5f, 0x4e, 0x87, 0x55, 0x2e, 0xb4, 0x10, 0x7e, 0xbe, 0x0c, 0x2a, 0xce, 0xea, 0x62, 0xb4, + 0x83, 0x78, 0x68, 0x07, 0xa0, 0x8e, 0x3b, 0x3a, 0xb1, 0xf8, 0x26, 0x48, 0x59, 0x68, 0x34, 0x4c, + 0x3d, 0x5c, 0x19, 0x63, 0x41, 0x3c, 0xd4, 0x80, 0xc5, 0x78, 0xfd, 0x09, 0x95, 0xd9, 0xc2, 0x29, + 0xd5, 0x31, 0xf5, 0x62, 0xc6, 0x08, 0xf1, 0xd0, 0x1a, 0xcc, 0x0c, 0x4a, 0xb5, 0x88, 0x23, 0x17, + 0xca, 0xc3, 0xea, 0xf9, 0x58, 0x0f, 0xf1, 0xd0, 0x7d, 0x98, 0x13, 0xab, 0x9f, 0x68, 0x79, 0xf8, + 0xf9, 0x26, 0xd4, 0x6a, 0xd5, 0x0b, 0x29, 0xbd, 0x1c, 0x76, 0xbc, 0x46, 0x19, 0xc2, 0x4e, 0xa9, + 0x85, 0x86, 0xb0, 0x53, 0x8b, 0x9a, 0x0d, 0x58, 0x6c, 0xa4, 0x3b, 0x6a, 0x64, 0x3a, 0x6a, 0x9c, + 0xe0, 0x28, 0x25, 0x90, 0x29, 0x55, 0x39, 0xc1, 0x51, 0x22, 0x90, 0x75, 0xa6, 0x72, 0xb1, 0x30, + 0x85, 0xfe, 0x35, 0xb0, 0x8e, 0x15, 0xbe, 0xd4, 0x72, 0xfa, 0x00, 0xf1, 0xd0, 0x01, 0xac, 0x9e, + 0xf4, 0xf1, 0x84, 0xae, 0xe5, 0xf9, 0x58, 0x56, 0xaf, 0xe7, 0xb0, 0x22, 0x1e, 0x3a, 0x82, 0xca, + 0xb8, 0xa7, 0x33, 0xaa, 0xe6, 0xfd, 0x38, 0x50, 0x6f, 0xe5, 0xb4, 0x24, 0x1e, 0x3a, 0x84, 0xd5, + 0x87, 0xed, 0x76, 0x36, 0xcb, 0x9b, 0x39, 0x6b, 0x54, 0x6a, 0x35, 0x9f, 0x21, 0xf1, 0xd0, 0xe7, + 0x70, 0x39, 0x72, 0xc5, 0xa7, 0xac, 0x7a, 0x7b, 0xb0, 0x4b, 0x72, 0x3c, 0xc4, 0xd4, 0x3b, 0xf9, + 0x8d, 0x89, 0xb7, 0x71, 0xe9, 0xe3, 0x8b, 0xdb, 0x1e, 0x76, 0xf6, 0xb6, 0x74, 0xe1, 0x4f, 0xda, + 0x2e, 0xb1, 0xee, 0x77, 0x89, 0xf5, 0xbc, 0xc8, 0x9a, 0xff, 0xfd, 0x33, 0x00, 0x00, 0xff, 0xff, + 0xd4, 0xae, 0xa9, 0xee, 0x0d, 0x1e, 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index cb29be40e..287340517 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -228,8 +228,9 @@ message DeleteMessageListReactionExtensionsReq { string sourceID = 3; int32 sessionType = 4; string clientMsgID = 5; - int64 msgFirstModifyTime = 6; - repeated server_api_params.KeyValue reactionExtensionList = 7; + bool isExternalExtensions = 6; + int64 msgFirstModifyTime = 7; + repeated server_api_params.KeyValue reactionExtensionList = 8; } message DeleteMessageListReactionExtensionsResp { From f5ed0be023a9df7d6e9eaa25b2056aa6cd9a471b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 23 Dec 2022 16:09:59 +0800 Subject: [PATCH 33/33] callback update --- internal/msg_transfer/logic/modify_msg_handler.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/msg_transfer/logic/modify_msg_handler.go b/internal/msg_transfer/logic/modify_msg_handler.go index 27764095c..782c6fcc0 100644 --- a/internal/msg_transfer/logic/modify_msg_handler.go +++ b/internal/msg_transfer/logic/modify_msg_handler.go @@ -9,6 +9,7 @@ import ( "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/msg" server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" "encoding/json" "github.com/Shopify/sarama" @@ -54,6 +55,10 @@ func (mmc *ModifyMsgConsumerHandler) ModifyMsg(cMsg *sarama.ConsumerMessage, msg } log.Debug(msgFromMQ.TriggerID, "proto.Unmarshal MsgDataToMQ", msgFromMQ.String()) for _, msgDataToMQ := range msgFromMQ.MessageList { + isReactionFromCache := utils.GetSwitchFromOptions(msgDataToMQ.MsgData.Options, constant.IsReactionFromCache) + if !isReactionFromCache { + continue + } if msgDataToMQ.MsgData.ContentType == constant.ReactionMessageModifier { notification := &base_info.ReactionMessageModifierNotification{} if err := json.Unmarshal(msgDataToMQ.MsgData.Content, notification); err != nil {