diff --git a/pkg/rpc/pb/service_node_grant.pb.go b/pkg/rpc/pb/service_node_grant.pb.go index ffe8ea6..accdcd9 100644 --- a/pkg/rpc/pb/service_node_grant.pb.go +++ b/pkg/rpc/pb/service_node_grant.pb.go @@ -130,7 +130,7 @@ type CreateNodeGrantResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"` + NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` } func (x *CreateNodeGrantResponse) Reset() { @@ -165,9 +165,9 @@ func (*CreateNodeGrantResponse) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{1} } -func (x *CreateNodeGrantResponse) GetGrantId() int64 { +func (x *CreateNodeGrantResponse) GetNodeGrantId() int64 { if x != nil { - return x.GrantId + return x.NodeGrantId } return 0 } @@ -178,7 +178,7 @@ type UpdateNodeGrantRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GrantId int64 `protobuf:"varint,8,opt,name=grantId,proto3" json:"grantId,omitempty"` + NodeGrantId int64 `protobuf:"varint,8,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` Username string `protobuf:"bytes,3,opt,name=username,proto3" json:"username,omitempty"` @@ -220,9 +220,9 @@ func (*UpdateNodeGrantRequest) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{2} } -func (x *UpdateNodeGrantRequest) GetGrantId() int64 { +func (x *UpdateNodeGrantRequest) GetNodeGrantId() int64 { if x != nil { - return x.GrantId + return x.NodeGrantId } return 0 } @@ -282,7 +282,7 @@ type DisableNodeGrantRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"` + NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` } func (x *DisableNodeGrantRequest) Reset() { @@ -317,9 +317,9 @@ func (*DisableNodeGrantRequest) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{3} } -func (x *DisableNodeGrantRequest) GetGrantId() int64 { +func (x *DisableNodeGrantRequest) GetNodeGrantId() int64 { if x != nil { - return x.GrantId + return x.NodeGrantId } return 0 } @@ -462,7 +462,7 @@ type ListEnabledNodeGrantsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Grants []*NodeGrant `protobuf:"bytes,1,rep,name=grants,proto3" json:"grants,omitempty"` + NodeGrants []*NodeGrant `protobuf:"bytes,1,rep,name=nodeGrants,proto3" json:"nodeGrants,omitempty"` } func (x *ListEnabledNodeGrantsResponse) Reset() { @@ -497,9 +497,9 @@ func (*ListEnabledNodeGrantsResponse) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{7} } -func (x *ListEnabledNodeGrantsResponse) GetGrants() []*NodeGrant { +func (x *ListEnabledNodeGrantsResponse) GetNodeGrants() []*NodeGrant { if x != nil { - return x.Grants + return x.NodeGrants } return nil } @@ -548,7 +548,7 @@ type FindAllEnabledNodeGrantsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Grants []*NodeGrant `protobuf:"bytes,1,rep,name=grants,proto3" json:"grants,omitempty"` + NodeGrants []*NodeGrant `protobuf:"bytes,1,rep,name=nodeGrants,proto3" json:"nodeGrants,omitempty"` } func (x *FindAllEnabledNodeGrantsResponse) Reset() { @@ -583,24 +583,24 @@ func (*FindAllEnabledNodeGrantsResponse) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{9} } -func (x *FindAllEnabledNodeGrantsResponse) GetGrants() []*NodeGrant { +func (x *FindAllEnabledNodeGrantsResponse) GetNodeGrants() []*NodeGrant { if x != nil { - return x.Grants + return x.NodeGrants } return nil } // 获取认证信息 -type FindEnabledGrantRequest struct { +type FindEnabledNodeGrantRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - GrantId int64 `protobuf:"varint,1,opt,name=grantId,proto3" json:"grantId,omitempty"` + NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` } -func (x *FindEnabledGrantRequest) Reset() { - *x = FindEnabledGrantRequest{} +func (x *FindEnabledNodeGrantRequest) Reset() { + *x = FindEnabledNodeGrantRequest{} if protoimpl.UnsafeEnabled { mi := &file_service_node_grant_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -608,13 +608,13 @@ func (x *FindEnabledGrantRequest) Reset() { } } -func (x *FindEnabledGrantRequest) String() string { +func (x *FindEnabledNodeGrantRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FindEnabledGrantRequest) ProtoMessage() {} +func (*FindEnabledNodeGrantRequest) ProtoMessage() {} -func (x *FindEnabledGrantRequest) ProtoReflect() protoreflect.Message { +func (x *FindEnabledNodeGrantRequest) ProtoReflect() protoreflect.Message { mi := &file_service_node_grant_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -626,28 +626,28 @@ func (x *FindEnabledGrantRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FindEnabledGrantRequest.ProtoReflect.Descriptor instead. -func (*FindEnabledGrantRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use FindEnabledNodeGrantRequest.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeGrantRequest) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{10} } -func (x *FindEnabledGrantRequest) GetGrantId() int64 { +func (x *FindEnabledNodeGrantRequest) GetNodeGrantId() int64 { if x != nil { - return x.GrantId + return x.NodeGrantId } return 0 } -type FindEnabledGrantResponse struct { +type FindEnabledNodeGrantResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Grant *NodeGrant `protobuf:"bytes,1,opt,name=grant,proto3" json:"grant,omitempty"` + NodeGrant *NodeGrant `protobuf:"bytes,1,opt,name=nodeGrant,proto3" json:"nodeGrant,omitempty"` } -func (x *FindEnabledGrantResponse) Reset() { - *x = FindEnabledGrantResponse{} +func (x *FindEnabledNodeGrantResponse) Reset() { + *x = FindEnabledNodeGrantResponse{} if protoimpl.UnsafeEnabled { mi := &file_service_node_grant_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -655,13 +655,13 @@ func (x *FindEnabledGrantResponse) Reset() { } } -func (x *FindEnabledGrantResponse) String() string { +func (x *FindEnabledNodeGrantResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*FindEnabledGrantResponse) ProtoMessage() {} +func (*FindEnabledNodeGrantResponse) ProtoMessage() {} -func (x *FindEnabledGrantResponse) ProtoReflect() protoreflect.Message { +func (x *FindEnabledNodeGrantResponse) ProtoReflect() protoreflect.Message { mi := &file_service_node_grant_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -673,18 +673,137 @@ func (x *FindEnabledGrantResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use FindEnabledGrantResponse.ProtoReflect.Descriptor instead. -func (*FindEnabledGrantResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use FindEnabledNodeGrantResponse.ProtoReflect.Descriptor instead. +func (*FindEnabledNodeGrantResponse) Descriptor() ([]byte, []int) { return file_service_node_grant_proto_rawDescGZIP(), []int{11} } -func (x *FindEnabledGrantResponse) GetGrant() *NodeGrant { +func (x *FindEnabledNodeGrantResponse) GetNodeGrant() *NodeGrant { if x != nil { - return x.Grant + return x.NodeGrant } return nil } +// 测试连接 +type TestNodeGrantRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NodeGrantId int64 `protobuf:"varint,1,opt,name=nodeGrantId,proto3" json:"nodeGrantId,omitempty"` + Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` + Port int32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"` +} + +func (x *TestNodeGrantRequest) Reset() { + *x = TestNodeGrantRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestNodeGrantRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNodeGrantRequest) ProtoMessage() {} + +func (x *TestNodeGrantRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNodeGrantRequest.ProtoReflect.Descriptor instead. +func (*TestNodeGrantRequest) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{12} +} + +func (x *TestNodeGrantRequest) GetNodeGrantId() int64 { + if x != nil { + return x.NodeGrantId + } + return 0 +} + +func (x *TestNodeGrantRequest) GetHost() string { + if x != nil { + return x.Host + } + return "" +} + +func (x *TestNodeGrantRequest) GetPort() int32 { + if x != nil { + return x.Port + } + return 0 +} + +type TestNodeGrantResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IsOk bool `protobuf:"varint,1,opt,name=isOk,proto3" json:"isOk,omitempty"` + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *TestNodeGrantResponse) Reset() { + *x = TestNodeGrantResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_service_node_grant_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestNodeGrantResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNodeGrantResponse) ProtoMessage() {} + +func (x *TestNodeGrantResponse) ProtoReflect() protoreflect.Message { + mi := &file_service_node_grant_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNodeGrantResponse.ProtoReflect.Descriptor instead. +func (*TestNodeGrantResponse) Descriptor() ([]byte, []int) { + return file_service_node_grant_proto_rawDescGZIP(), []int{13} +} + +func (x *TestNodeGrantResponse) GetIsOk() bool { + if x != nil { + return x.IsOk + } + return false +} + +func (x *TestNodeGrantResponse) GetError() string { + if x != nil { + return x.Error + } + return "" +} + var File_service_node_grant_proto protoreflect.FileDescriptor var file_service_node_grant_proto_rawDesc = []byte{ @@ -707,13 +826,14 @@ var file_service_node_grant_proto_rawDesc = []byte{ 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, - 0x64, 0x22, 0x33, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x64, 0x22, 0x3b, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0xf8, + 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, @@ -725,77 +845,95 @@ var file_service_node_grant_proto_rawDesc = []byte{ 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x17, 0x44, 0x69, 0x73, + 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x3b, 0x0a, 0x17, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1a, - 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4a, - 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x46, 0x0a, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x22, 0x0a, 0x20, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4a, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x22, 0x4e, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x21, 0x0a, 0x1f, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x51, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x67, 0x72, 0x61, - 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, - 0x22, 0x33, 0x0a, 0x17, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x67, 0x72, - 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x3f, 0x0a, 0x18, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x23, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x05, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x32, 0xd9, 0x04, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1a, - 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x70, 0x62, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, - 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, - 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x6e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, + 0x70, 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x0a, 0x6e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x1b, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, - 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, - 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x62, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, - 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x18, - 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, - 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, - 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x4b, 0x0a, 0x1c, 0x46, 0x69, 0x6e, + 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x70, + 0x62, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x09, 0x6e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x22, 0x60, 0x0a, 0x14, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x41, 0x0a, 0x15, 0x54, 0x65, 0x73, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x04, 0x69, 0x73, 0x4f, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x32, 0xab, 0x05, 0x0a, 0x10, + 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x4a, 0x0a, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, + 0x61, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, + 0x1a, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, + 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x10, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, + 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x19, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, + 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x15, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x2e, 0x70, + 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, + 0x2e, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, + 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x65, 0x0a, 0x18, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, - 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x14, 0x66, 0x69, 0x6e, 0x64, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, + 0x12, 0x1f, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x74, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, + 0x72, 0x61, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, + 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x70, 0x62, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x61, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x2f, 0x70, + 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -810,7 +948,7 @@ func file_service_node_grant_proto_rawDescGZIP() []byte { return file_service_node_grant_proto_rawDescData } -var file_service_node_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_service_node_grant_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_service_node_grant_proto_goTypes = []interface{}{ (*CreateNodeGrantRequest)(nil), // 0: pb.CreateNodeGrantRequest (*CreateNodeGrantResponse)(nil), // 1: pb.CreateNodeGrantResponse @@ -822,32 +960,36 @@ var file_service_node_grant_proto_goTypes = []interface{}{ (*ListEnabledNodeGrantsResponse)(nil), // 7: pb.ListEnabledNodeGrantsResponse (*FindAllEnabledNodeGrantsRequest)(nil), // 8: pb.FindAllEnabledNodeGrantsRequest (*FindAllEnabledNodeGrantsResponse)(nil), // 9: pb.FindAllEnabledNodeGrantsResponse - (*FindEnabledGrantRequest)(nil), // 10: pb.FindEnabledGrantRequest - (*FindEnabledGrantResponse)(nil), // 11: pb.FindEnabledGrantResponse - (*NodeGrant)(nil), // 12: pb.NodeGrant - (*RPCSuccess)(nil), // 13: pb.RPCSuccess - (*RPCCountResponse)(nil), // 14: pb.RPCCountResponse + (*FindEnabledNodeGrantRequest)(nil), // 10: pb.FindEnabledNodeGrantRequest + (*FindEnabledNodeGrantResponse)(nil), // 11: pb.FindEnabledNodeGrantResponse + (*TestNodeGrantRequest)(nil), // 12: pb.TestNodeGrantRequest + (*TestNodeGrantResponse)(nil), // 13: pb.TestNodeGrantResponse + (*NodeGrant)(nil), // 14: pb.NodeGrant + (*RPCSuccess)(nil), // 15: pb.RPCSuccess + (*RPCCountResponse)(nil), // 16: pb.RPCCountResponse } var file_service_node_grant_proto_depIdxs = []int32{ - 12, // 0: pb.ListEnabledNodeGrantsResponse.grants:type_name -> pb.NodeGrant - 12, // 1: pb.FindAllEnabledNodeGrantsResponse.grants:type_name -> pb.NodeGrant - 12, // 2: pb.FindEnabledGrantResponse.grant:type_name -> pb.NodeGrant + 14, // 0: pb.ListEnabledNodeGrantsResponse.nodeGrants:type_name -> pb.NodeGrant + 14, // 1: pb.FindAllEnabledNodeGrantsResponse.nodeGrants:type_name -> pb.NodeGrant + 14, // 2: pb.FindEnabledNodeGrantResponse.nodeGrant:type_name -> pb.NodeGrant 0, // 3: pb.NodeGrantService.createNodeGrant:input_type -> pb.CreateNodeGrantRequest 2, // 4: pb.NodeGrantService.updateNodeGrant:input_type -> pb.UpdateNodeGrantRequest 3, // 5: pb.NodeGrantService.disableNodeGrant:input_type -> pb.DisableNodeGrantRequest 5, // 6: pb.NodeGrantService.countAllEnabledNodeGrants:input_type -> pb.CountAllEnabledNodeGrantsRequest - 6, // 7: pb.NodeGrantService.ListEnabledNodeGrants:input_type -> pb.ListEnabledNodeGrantsRequest - 8, // 8: pb.NodeGrantService.FindAllEnabledNodeGrants:input_type -> pb.FindAllEnabledNodeGrantsRequest - 10, // 9: pb.NodeGrantService.FindEnabledGrant:input_type -> pb.FindEnabledGrantRequest - 1, // 10: pb.NodeGrantService.createNodeGrant:output_type -> pb.CreateNodeGrantResponse - 13, // 11: pb.NodeGrantService.updateNodeGrant:output_type -> pb.RPCSuccess - 4, // 12: pb.NodeGrantService.disableNodeGrant:output_type -> pb.DisableNodeGrantResponse - 14, // 13: pb.NodeGrantService.countAllEnabledNodeGrants:output_type -> pb.RPCCountResponse - 7, // 14: pb.NodeGrantService.ListEnabledNodeGrants:output_type -> pb.ListEnabledNodeGrantsResponse - 9, // 15: pb.NodeGrantService.FindAllEnabledNodeGrants:output_type -> pb.FindAllEnabledNodeGrantsResponse - 11, // 16: pb.NodeGrantService.FindEnabledGrant:output_type -> pb.FindEnabledGrantResponse - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] is the sub-list for method input_type + 6, // 7: pb.NodeGrantService.listEnabledNodeGrants:input_type -> pb.ListEnabledNodeGrantsRequest + 8, // 8: pb.NodeGrantService.findAllEnabledNodeGrants:input_type -> pb.FindAllEnabledNodeGrantsRequest + 10, // 9: pb.NodeGrantService.findEnabledNodeGrant:input_type -> pb.FindEnabledNodeGrantRequest + 12, // 10: pb.NodeGrantService.testNodeGrant:input_type -> pb.TestNodeGrantRequest + 1, // 11: pb.NodeGrantService.createNodeGrant:output_type -> pb.CreateNodeGrantResponse + 15, // 12: pb.NodeGrantService.updateNodeGrant:output_type -> pb.RPCSuccess + 4, // 13: pb.NodeGrantService.disableNodeGrant:output_type -> pb.DisableNodeGrantResponse + 16, // 14: pb.NodeGrantService.countAllEnabledNodeGrants:output_type -> pb.RPCCountResponse + 7, // 15: pb.NodeGrantService.listEnabledNodeGrants:output_type -> pb.ListEnabledNodeGrantsResponse + 9, // 16: pb.NodeGrantService.findAllEnabledNodeGrants:output_type -> pb.FindAllEnabledNodeGrantsResponse + 11, // 17: pb.NodeGrantService.findEnabledNodeGrant:output_type -> pb.FindEnabledNodeGrantResponse + 13, // 18: pb.NodeGrantService.testNodeGrant:output_type -> pb.TestNodeGrantResponse + 11, // [11:19] is the sub-list for method output_type + 3, // [3:11] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name 3, // [3:3] is the sub-list for extension extendee 0, // [0:3] is the sub-list for field type_name @@ -982,7 +1124,7 @@ func file_service_node_grant_proto_init() { } } file_service_node_grant_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledGrantRequest); i { + switch v := v.(*FindEnabledNodeGrantRequest); i { case 0: return &v.state case 1: @@ -994,7 +1136,31 @@ func file_service_node_grant_proto_init() { } } file_service_node_grant_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledGrantResponse); i { + switch v := v.(*FindEnabledNodeGrantResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestNodeGrantRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_node_grant_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestNodeGrantResponse); i { case 0: return &v.state case 1: @@ -1012,7 +1178,7 @@ func file_service_node_grant_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_node_grant_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, @@ -1051,7 +1217,9 @@ type NodeGrantServiceClient interface { // 列出所有认证 FindAllEnabledNodeGrants(ctx context.Context, in *FindAllEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeGrantsResponse, error) // 获取单个认证信息 - FindEnabledGrant(ctx context.Context, in *FindEnabledGrantRequest, opts ...grpc.CallOption) (*FindEnabledGrantResponse, error) + FindEnabledNodeGrant(ctx context.Context, in *FindEnabledNodeGrantRequest, opts ...grpc.CallOption) (*FindEnabledNodeGrantResponse, error) + // 测试连接 + TestNodeGrant(ctx context.Context, in *TestNodeGrantRequest, opts ...grpc.CallOption) (*TestNodeGrantResponse, error) } type nodeGrantServiceClient struct { @@ -1100,7 +1268,7 @@ func (c *nodeGrantServiceClient) CountAllEnabledNodeGrants(ctx context.Context, func (c *nodeGrantServiceClient) ListEnabledNodeGrants(ctx context.Context, in *ListEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*ListEnabledNodeGrantsResponse, error) { out := new(ListEnabledNodeGrantsResponse) - err := c.cc.Invoke(ctx, "/pb.NodeGrantService/ListEnabledNodeGrants", in, out, opts...) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/listEnabledNodeGrants", in, out, opts...) if err != nil { return nil, err } @@ -1109,16 +1277,25 @@ func (c *nodeGrantServiceClient) ListEnabledNodeGrants(ctx context.Context, in * func (c *nodeGrantServiceClient) FindAllEnabledNodeGrants(ctx context.Context, in *FindAllEnabledNodeGrantsRequest, opts ...grpc.CallOption) (*FindAllEnabledNodeGrantsResponse, error) { out := new(FindAllEnabledNodeGrantsResponse) - err := c.cc.Invoke(ctx, "/pb.NodeGrantService/FindAllEnabledNodeGrants", in, out, opts...) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/findAllEnabledNodeGrants", in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *nodeGrantServiceClient) FindEnabledGrant(ctx context.Context, in *FindEnabledGrantRequest, opts ...grpc.CallOption) (*FindEnabledGrantResponse, error) { - out := new(FindEnabledGrantResponse) - err := c.cc.Invoke(ctx, "/pb.NodeGrantService/FindEnabledGrant", in, out, opts...) +func (c *nodeGrantServiceClient) FindEnabledNodeGrant(ctx context.Context, in *FindEnabledNodeGrantRequest, opts ...grpc.CallOption) (*FindEnabledNodeGrantResponse, error) { + out := new(FindEnabledNodeGrantResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/findEnabledNodeGrant", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *nodeGrantServiceClient) TestNodeGrant(ctx context.Context, in *TestNodeGrantRequest, opts ...grpc.CallOption) (*TestNodeGrantResponse, error) { + out := new(TestNodeGrantResponse) + err := c.cc.Invoke(ctx, "/pb.NodeGrantService/testNodeGrant", in, out, opts...) if err != nil { return nil, err } @@ -1140,7 +1317,9 @@ type NodeGrantServiceServer interface { // 列出所有认证 FindAllEnabledNodeGrants(context.Context, *FindAllEnabledNodeGrantsRequest) (*FindAllEnabledNodeGrantsResponse, error) // 获取单个认证信息 - FindEnabledGrant(context.Context, *FindEnabledGrantRequest) (*FindEnabledGrantResponse, error) + FindEnabledNodeGrant(context.Context, *FindEnabledNodeGrantRequest) (*FindEnabledNodeGrantResponse, error) + // 测试连接 + TestNodeGrant(context.Context, *TestNodeGrantRequest) (*TestNodeGrantResponse, error) } // UnimplementedNodeGrantServiceServer can be embedded to have forward compatible implementations. @@ -1165,8 +1344,11 @@ func (*UnimplementedNodeGrantServiceServer) ListEnabledNodeGrants(context.Contex func (*UnimplementedNodeGrantServiceServer) FindAllEnabledNodeGrants(context.Context, *FindAllEnabledNodeGrantsRequest) (*FindAllEnabledNodeGrantsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method FindAllEnabledNodeGrants not implemented") } -func (*UnimplementedNodeGrantServiceServer) FindEnabledGrant(context.Context, *FindEnabledGrantRequest) (*FindEnabledGrantResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FindEnabledGrant not implemented") +func (*UnimplementedNodeGrantServiceServer) FindEnabledNodeGrant(context.Context, *FindEnabledNodeGrantRequest) (*FindEnabledNodeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method FindEnabledNodeGrant not implemented") +} +func (*UnimplementedNodeGrantServiceServer) TestNodeGrant(context.Context, *TestNodeGrantRequest) (*TestNodeGrantResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method TestNodeGrant not implemented") } func RegisterNodeGrantServiceServer(s *grpc.Server, srv NodeGrantServiceServer) { @@ -1281,20 +1463,38 @@ func _NodeGrantService_FindAllEnabledNodeGrants_Handler(srv interface{}, ctx con return interceptor(ctx, in, info, handler) } -func _NodeGrantService_FindEnabledGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(FindEnabledGrantRequest) +func _NodeGrantService_FindEnabledNodeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FindEnabledNodeGrantRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(NodeGrantServiceServer).FindEnabledGrant(ctx, in) + return srv.(NodeGrantServiceServer).FindEnabledNodeGrant(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/pb.NodeGrantService/FindEnabledGrant", + FullMethod: "/pb.NodeGrantService/FindEnabledNodeGrant", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(NodeGrantServiceServer).FindEnabledGrant(ctx, req.(*FindEnabledGrantRequest)) + return srv.(NodeGrantServiceServer).FindEnabledNodeGrant(ctx, req.(*FindEnabledNodeGrantRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _NodeGrantService_TestNodeGrant_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TestNodeGrantRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(NodeGrantServiceServer).TestNodeGrant(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.NodeGrantService/TestNodeGrant", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(NodeGrantServiceServer).TestNodeGrant(ctx, req.(*TestNodeGrantRequest)) } return interceptor(ctx, in, info, handler) } @@ -1320,16 +1520,20 @@ var _NodeGrantService_serviceDesc = grpc.ServiceDesc{ Handler: _NodeGrantService_CountAllEnabledNodeGrants_Handler, }, { - MethodName: "ListEnabledNodeGrants", + MethodName: "listEnabledNodeGrants", Handler: _NodeGrantService_ListEnabledNodeGrants_Handler, }, { - MethodName: "FindAllEnabledNodeGrants", + MethodName: "findAllEnabledNodeGrants", Handler: _NodeGrantService_FindAllEnabledNodeGrants_Handler, }, { - MethodName: "FindEnabledGrant", - Handler: _NodeGrantService_FindEnabledGrant_Handler, + MethodName: "findEnabledNodeGrant", + Handler: _NodeGrantService_FindEnabledNodeGrant_Handler, + }, + { + MethodName: "testNodeGrant", + Handler: _NodeGrantService_TestNodeGrant_Handler, }, }, Streams: []grpc.StreamDesc{}, diff --git a/pkg/rpc/protos/service_node_grant.proto b/pkg/rpc/protos/service_node_grant.proto index 5ff8133..8c7af0d 100644 --- a/pkg/rpc/protos/service_node_grant.proto +++ b/pkg/rpc/protos/service_node_grant.proto @@ -19,13 +19,16 @@ service NodeGrantService { rpc countAllEnabledNodeGrants (CountAllEnabledNodeGrantsRequest) returns (RPCCountResponse); // 列出单页认证 - rpc ListEnabledNodeGrants (ListEnabledNodeGrantsRequest) returns (ListEnabledNodeGrantsResponse); + rpc listEnabledNodeGrants (ListEnabledNodeGrantsRequest) returns (ListEnabledNodeGrantsResponse); // 列出所有认证 - rpc FindAllEnabledNodeGrants (FindAllEnabledNodeGrantsRequest) returns (FindAllEnabledNodeGrantsResponse); + rpc findAllEnabledNodeGrants (FindAllEnabledNodeGrantsRequest) returns (FindAllEnabledNodeGrantsResponse); // 获取单个认证信息 - rpc FindEnabledGrant (FindEnabledGrantRequest) returns (FindEnabledGrantResponse); + rpc findEnabledNodeGrant (FindEnabledNodeGrantRequest) returns (FindEnabledNodeGrantResponse); + + // 测试连接 + rpc testNodeGrant (TestNodeGrantRequest) returns (TestNodeGrantResponse); } // 创建节点认证 @@ -40,12 +43,12 @@ message CreateNodeGrantRequest { } message CreateNodeGrantResponse { - int64 grantId = 1; + int64 nodeGrantId = 1; } // 修改节点认证 message UpdateNodeGrantRequest { - int64 grantId = 8; + int64 nodeGrantId = 8; string name = 1; string method = 2; string username = 3; @@ -57,7 +60,7 @@ message UpdateNodeGrantRequest { // 禁用节点认证 message DisableNodeGrantRequest { - int64 grantId = 1; + int64 nodeGrantId = 1; } message DisableNodeGrantResponse { @@ -76,7 +79,7 @@ message ListEnabledNodeGrantsRequest { } message ListEnabledNodeGrantsResponse { - repeated NodeGrant grants = 1; + repeated NodeGrant nodeGrants = 1; } // 获取所有认证信息 @@ -85,14 +88,26 @@ message FindAllEnabledNodeGrantsRequest { } message FindAllEnabledNodeGrantsResponse { - repeated NodeGrant grants = 1; + repeated NodeGrant nodeGrants = 1; } // 获取认证信息 -message FindEnabledGrantRequest { - int64 grantId = 1; +message FindEnabledNodeGrantRequest { + int64 nodeGrantId = 1; } -message FindEnabledGrantResponse { - NodeGrant grant = 1; +message FindEnabledNodeGrantResponse { + NodeGrant nodeGrant = 1; +} + +// 测试连接 +message TestNodeGrantRequest { + int64 nodeGrantId = 1; + string host = 2; + int32 port = 3; +} + +message TestNodeGrantResponse { + bool isOk = 1; + string error = 2; } \ No newline at end of file