diff --git a/pkg/rpc/pb/service_api_node.pb.go b/pkg/rpc/pb/service_api_node.pb.go index 1927baf..7d32e21 100644 --- a/pkg/rpc/pb/service_api_node.pb.go +++ b/pkg/rpc/pb/service_api_node.pb.go @@ -146,7 +146,7 @@ type CreateAPINodeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + ApiNodeId int64 `protobuf:"varint,1,opt,name=apiNodeId,proto3" json:"apiNodeId,omitempty"` } func (x *CreateAPINodeResponse) Reset() { @@ -181,9 +181,9 @@ func (*CreateAPINodeResponse) Descriptor() ([]byte, []int) { return file_service_api_node_proto_rawDescGZIP(), []int{1} } -func (x *CreateAPINodeResponse) GetNodeId() int64 { +func (x *CreateAPINodeResponse) GetApiNodeId() int64 { if x != nil { - return x.NodeId + return x.ApiNodeId } return 0 } @@ -194,7 +194,7 @@ type UpdateAPINodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + ApiNodeId int64 `protobuf:"varint,1,opt,name=apiNodeId,proto3" json:"apiNodeId,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` HttpJSON []byte `protobuf:"bytes,4,opt,name=httpJSON,proto3" json:"httpJSON,omitempty"` @@ -238,9 +238,9 @@ func (*UpdateAPINodeRequest) Descriptor() ([]byte, []int) { return file_service_api_node_proto_rawDescGZIP(), []int{2} } -func (x *UpdateAPINodeRequest) GetNodeId() int64 { +func (x *UpdateAPINodeRequest) GetApiNodeId() int64 { if x != nil { - return x.NodeId + return x.ApiNodeId } return 0 } @@ -314,7 +314,7 @@ type DeleteAPINodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + ApiNodeId int64 `protobuf:"varint,1,opt,name=apiNodeId,proto3" json:"apiNodeId,omitempty"` } func (x *DeleteAPINodeRequest) Reset() { @@ -349,9 +349,9 @@ func (*DeleteAPINodeRequest) Descriptor() ([]byte, []int) { return file_service_api_node_proto_rawDescGZIP(), []int{3} } -func (x *DeleteAPINodeRequest) GetNodeId() int64 { +func (x *DeleteAPINodeRequest) GetApiNodeId() int64 { if x != nil { - return x.NodeId + return x.ApiNodeId } return 0 } @@ -400,7 +400,7 @@ type FindAllEnabledAPINodesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Nodes []*APINode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + ApiNodes []*APINode `protobuf:"bytes,1,rep,name=apiNodes,proto3" json:"apiNodes,omitempty"` } func (x *FindAllEnabledAPINodesResponse) Reset() { @@ -435,9 +435,9 @@ func (*FindAllEnabledAPINodesResponse) Descriptor() ([]byte, []int) { return file_service_api_node_proto_rawDescGZIP(), []int{5} } -func (x *FindAllEnabledAPINodesResponse) GetNodes() []*APINode { +func (x *FindAllEnabledAPINodesResponse) GetApiNodes() []*APINode { if x != nil { - return x.Nodes + return x.ApiNodes } return nil } @@ -481,6 +481,45 @@ func (*CountAllEnabledAPINodesRequest) Descriptor() ([]byte, []int) { return file_service_api_node_proto_rawDescGZIP(), []int{6} } +// 计算启用的API节点数量 +type CountAllEnabledAndOnAPINodesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CountAllEnabledAndOnAPINodesRequest) Reset() { + *x = CountAllEnabledAndOnAPINodesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_service_api_node_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CountAllEnabledAndOnAPINodesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountAllEnabledAndOnAPINodesRequest) ProtoMessage() {} + +func (x *CountAllEnabledAndOnAPINodesRequest) ProtoReflect() protoreflect.Message { + mi := &file_service_api_node_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountAllEnabledAndOnAPINodesRequest.ProtoReflect.Descriptor instead. +func (*CountAllEnabledAndOnAPINodesRequest) Descriptor() ([]byte, []int) { + return file_service_api_node_proto_rawDescGZIP(), []int{7} +} + // 列出单页的API节点 type ListEnabledAPINodesRequest struct { state protoimpl.MessageState @@ -494,7 +533,7 @@ type ListEnabledAPINodesRequest struct { func (x *ListEnabledAPINodesRequest) Reset() { *x = ListEnabledAPINodesRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[7] + mi := &file_service_api_node_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -507,7 +546,7 @@ func (x *ListEnabledAPINodesRequest) String() string { func (*ListEnabledAPINodesRequest) ProtoMessage() {} func (x *ListEnabledAPINodesRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[7] + mi := &file_service_api_node_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -520,7 +559,7 @@ func (x *ListEnabledAPINodesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledAPINodesRequest.ProtoReflect.Descriptor instead. func (*ListEnabledAPINodesRequest) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{7} + return file_service_api_node_proto_rawDescGZIP(), []int{8} } func (x *ListEnabledAPINodesRequest) GetOffset() int64 { @@ -542,13 +581,13 @@ type ListEnabledAPINodesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Nodes []*APINode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` + ApiNodes []*APINode `protobuf:"bytes,1,rep,name=apiNodes,proto3" json:"apiNodes,omitempty"` } func (x *ListEnabledAPINodesResponse) Reset() { *x = ListEnabledAPINodesResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[8] + mi := &file_service_api_node_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -561,7 +600,7 @@ func (x *ListEnabledAPINodesResponse) String() string { func (*ListEnabledAPINodesResponse) ProtoMessage() {} func (x *ListEnabledAPINodesResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[8] + mi := &file_service_api_node_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -574,12 +613,12 @@ func (x *ListEnabledAPINodesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListEnabledAPINodesResponse.ProtoReflect.Descriptor instead. func (*ListEnabledAPINodesResponse) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{8} + return file_service_api_node_proto_rawDescGZIP(), []int{9} } -func (x *ListEnabledAPINodesResponse) GetNodes() []*APINode { +func (x *ListEnabledAPINodesResponse) GetApiNodes() []*APINode { if x != nil { - return x.Nodes + return x.ApiNodes } return nil } @@ -590,13 +629,13 @@ type FindEnabledAPINodeRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - NodeId int64 `protobuf:"varint,1,opt,name=nodeId,proto3" json:"nodeId,omitempty"` + ApiNodeId int64 `protobuf:"varint,1,opt,name=apiNodeId,proto3" json:"apiNodeId,omitempty"` } func (x *FindEnabledAPINodeRequest) Reset() { *x = FindEnabledAPINodeRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[9] + mi := &file_service_api_node_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -609,7 +648,7 @@ func (x *FindEnabledAPINodeRequest) String() string { func (*FindEnabledAPINodeRequest) ProtoMessage() {} func (x *FindEnabledAPINodeRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[9] + mi := &file_service_api_node_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -622,12 +661,12 @@ func (x *FindEnabledAPINodeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindEnabledAPINodeRequest.ProtoReflect.Descriptor instead. func (*FindEnabledAPINodeRequest) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{9} + return file_service_api_node_proto_rawDescGZIP(), []int{10} } -func (x *FindEnabledAPINodeRequest) GetNodeId() int64 { +func (x *FindEnabledAPINodeRequest) GetApiNodeId() int64 { if x != nil { - return x.NodeId + return x.ApiNodeId } return 0 } @@ -637,13 +676,13 @@ type FindEnabledAPINodeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Node *APINode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` + ApiNode *APINode `protobuf:"bytes,1,opt,name=apiNode,proto3" json:"apiNode,omitempty"` } func (x *FindEnabledAPINodeResponse) Reset() { *x = FindEnabledAPINodeResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[10] + mi := &file_service_api_node_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -656,7 +695,7 @@ func (x *FindEnabledAPINodeResponse) String() string { func (*FindEnabledAPINodeResponse) ProtoMessage() {} func (x *FindEnabledAPINodeResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[10] + mi := &file_service_api_node_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -669,12 +708,12 @@ func (x *FindEnabledAPINodeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FindEnabledAPINodeResponse.ProtoReflect.Descriptor instead. func (*FindEnabledAPINodeResponse) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{10} + return file_service_api_node_proto_rawDescGZIP(), []int{11} } -func (x *FindEnabledAPINodeResponse) GetNode() *APINode { +func (x *FindEnabledAPINodeResponse) GetApiNode() *APINode { if x != nil { - return x.Node + return x.ApiNode } return nil } @@ -689,7 +728,7 @@ type FindCurrentAPINodeVersionRequest struct { func (x *FindCurrentAPINodeVersionRequest) Reset() { *x = FindCurrentAPINodeVersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[11] + mi := &file_service_api_node_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -702,7 +741,7 @@ func (x *FindCurrentAPINodeVersionRequest) String() string { func (*FindCurrentAPINodeVersionRequest) ProtoMessage() {} func (x *FindCurrentAPINodeVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[11] + mi := &file_service_api_node_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -715,7 +754,7 @@ func (x *FindCurrentAPINodeVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FindCurrentAPINodeVersionRequest.ProtoReflect.Descriptor instead. func (*FindCurrentAPINodeVersionRequest) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{11} + return file_service_api_node_proto_rawDescGZIP(), []int{12} } type FindCurrentAPINodeVersionResponse struct { @@ -729,7 +768,7 @@ type FindCurrentAPINodeVersionResponse struct { func (x *FindCurrentAPINodeVersionResponse) Reset() { *x = FindCurrentAPINodeVersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_service_api_node_proto_msgTypes[12] + mi := &file_service_api_node_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -742,7 +781,7 @@ func (x *FindCurrentAPINodeVersionResponse) String() string { func (*FindCurrentAPINodeVersionResponse) ProtoMessage() {} func (x *FindCurrentAPINodeVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_service_api_node_proto_msgTypes[12] + mi := &file_service_api_node_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -755,7 +794,7 @@ func (x *FindCurrentAPINodeVersionResponse) ProtoReflect() protoreflect.Message // Deprecated: Use FindCurrentAPINodeVersionResponse.ProtoReflect.Descriptor instead. func (*FindCurrentAPINodeVersionResponse) Descriptor() ([]byte, []int) { - return file_service_api_node_proto_rawDescGZIP(), []int{12} + return file_service_api_node_proto_rawDescGZIP(), []int{13} } func (x *FindCurrentAPINodeVersionResponse) GetVersion() string { @@ -792,86 +831,97 @@ var file_service_api_node_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, - 0x4e, 0x22, 0x2f, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, - 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x22, 0xc2, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, - 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, 0x74, - 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x68, 0x74, 0x74, - 0x70, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x73, 0x4a, 0x53, - 0x4f, 0x4e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x73, 0x4a, - 0x53, 0x4f, 0x4e, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, - 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, - 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x74, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x73, 0x74, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x22, 0x0a, - 0x0c, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x4a, 0x53, 0x4f, - 0x4e, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, - 0x4f, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, - 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x22, 0x2e, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, 0x64, 0x41, - 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x43, 0x0a, 0x1e, 0x46, 0x69, 0x6e, 0x64, - 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x6e, 0x6f, + 0x4e, 0x22, 0x35, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, + 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, + 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x14, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x74, 0x74, 0x70, 0x4a, 0x53, 0x4f, + 0x4e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x68, 0x74, 0x74, 0x70, 0x4a, 0x53, 0x4f, + 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, + 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, + 0x4f, 0x4e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x41, 0x64, 0x64, 0x72, 0x73, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x73, 0x4f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 0x73, 0x4f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x74, 0x49, 0x73, 0x4f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x08, 0x72, 0x65, 0x73, 0x74, 0x49, 0x73, 0x4f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, + 0x74, 0x48, 0x54, 0x54, 0x50, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0c, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x4a, 0x53, 0x4f, 0x4e, 0x12, 0x24, 0x0a, + 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, 0x53, 0x4f, 0x4e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x74, 0x48, 0x54, 0x54, 0x50, 0x53, 0x4a, + 0x53, 0x4f, 0x4e, 0x22, 0x34, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, + 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x46, 0x69, 0x6e, + 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, + 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x49, 0x0a, 0x1e, 0x46, 0x69, + 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, + 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, + 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x70, 0x69, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x25, 0x0a, 0x23, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4f, 0x6e, 0x41, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x48, + 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, + 0x4e, 0x6f, 0x64, 0x65, 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, 0x1b, 0x4c, 0x69, 0x73, 0x74, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x08, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, - 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x20, 0x0a, - 0x1e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, - 0x48, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, - 0x49, 0x4e, 0x6f, 0x64, 0x65, 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, 0x40, 0x0a, 0x1b, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x50, 0x49, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x33, 0x0a, 0x19, 0x46, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x08, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x73, + 0x22, 0x39, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x6f, 0x64, 0x65, - 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, - 0x22, 0x3d, 0x0a, 0x1a, 0x46, 0x69, 0x6e, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, - 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, - 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, - 0x62, 0x2e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x22, - 0x22, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x50, - 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, - 0x6e, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x32, 0x99, 0x05, 0x0a, 0x0e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, - 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, 0x62, - 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, - 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, - 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x53, 0x0a, 0x17, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, 0x2e, - 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x61, 0x70, 0x69, + 0x4e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, + 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x07, 0x61, 0x70, 0x69, 0x4e, 0x6f, 0x64, 0x65, + 0x22, 0x22, 0x0a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, + 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x3d, 0x0a, 0x21, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x32, 0xf8, 0x05, 0x0a, 0x0e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, + 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0d, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, + 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, + 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x39, 0x0a, 0x0d, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x43, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x5f, 0x0a, 0x16, 0x66, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x70, + 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x22, 0x2e, 0x70, 0x62, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x17, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x22, + 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 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, 0x5d, 0x0a, 0x1c, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x6e, 0x64, 0x4f, 0x6e, + 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, + 0x75, 0x6e, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x6e, 0x64, + 0x4f, 0x6e, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 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, 0x56, 0x0a, 0x13, 0x6c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x41, 0x50, 0x49, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1e, @@ -906,47 +956,50 @@ func file_service_api_node_proto_rawDescGZIP() []byte { return file_service_api_node_proto_rawDescData } -var file_service_api_node_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_service_api_node_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_service_api_node_proto_goTypes = []interface{}{ - (*CreateAPINodeRequest)(nil), // 0: pb.CreateAPINodeRequest - (*CreateAPINodeResponse)(nil), // 1: pb.CreateAPINodeResponse - (*UpdateAPINodeRequest)(nil), // 2: pb.UpdateAPINodeRequest - (*DeleteAPINodeRequest)(nil), // 3: pb.DeleteAPINodeRequest - (*FindAllEnabledAPINodesRequest)(nil), // 4: pb.FindAllEnabledAPINodesRequest - (*FindAllEnabledAPINodesResponse)(nil), // 5: pb.FindAllEnabledAPINodesResponse - (*CountAllEnabledAPINodesRequest)(nil), // 6: pb.CountAllEnabledAPINodesRequest - (*ListEnabledAPINodesRequest)(nil), // 7: pb.ListEnabledAPINodesRequest - (*ListEnabledAPINodesResponse)(nil), // 8: pb.ListEnabledAPINodesResponse - (*FindEnabledAPINodeRequest)(nil), // 9: pb.FindEnabledAPINodeRequest - (*FindEnabledAPINodeResponse)(nil), // 10: pb.FindEnabledAPINodeResponse - (*FindCurrentAPINodeVersionRequest)(nil), // 11: pb.FindCurrentAPINodeVersionRequest - (*FindCurrentAPINodeVersionResponse)(nil), // 12: pb.FindCurrentAPINodeVersionResponse - (*APINode)(nil), // 13: pb.APINode - (*RPCSuccess)(nil), // 14: pb.RPCSuccess - (*RPCCountResponse)(nil), // 15: pb.RPCCountResponse + (*CreateAPINodeRequest)(nil), // 0: pb.CreateAPINodeRequest + (*CreateAPINodeResponse)(nil), // 1: pb.CreateAPINodeResponse + (*UpdateAPINodeRequest)(nil), // 2: pb.UpdateAPINodeRequest + (*DeleteAPINodeRequest)(nil), // 3: pb.DeleteAPINodeRequest + (*FindAllEnabledAPINodesRequest)(nil), // 4: pb.FindAllEnabledAPINodesRequest + (*FindAllEnabledAPINodesResponse)(nil), // 5: pb.FindAllEnabledAPINodesResponse + (*CountAllEnabledAPINodesRequest)(nil), // 6: pb.CountAllEnabledAPINodesRequest + (*CountAllEnabledAndOnAPINodesRequest)(nil), // 7: pb.CountAllEnabledAndOnAPINodesRequest + (*ListEnabledAPINodesRequest)(nil), // 8: pb.ListEnabledAPINodesRequest + (*ListEnabledAPINodesResponse)(nil), // 9: pb.ListEnabledAPINodesResponse + (*FindEnabledAPINodeRequest)(nil), // 10: pb.FindEnabledAPINodeRequest + (*FindEnabledAPINodeResponse)(nil), // 11: pb.FindEnabledAPINodeResponse + (*FindCurrentAPINodeVersionRequest)(nil), // 12: pb.FindCurrentAPINodeVersionRequest + (*FindCurrentAPINodeVersionResponse)(nil), // 13: pb.FindCurrentAPINodeVersionResponse + (*APINode)(nil), // 14: pb.APINode + (*RPCSuccess)(nil), // 15: pb.RPCSuccess + (*RPCCountResponse)(nil), // 16: pb.RPCCountResponse } var file_service_api_node_proto_depIdxs = []int32{ - 13, // 0: pb.FindAllEnabledAPINodesResponse.nodes:type_name -> pb.APINode - 13, // 1: pb.ListEnabledAPINodesResponse.nodes:type_name -> pb.APINode - 13, // 2: pb.FindEnabledAPINodeResponse.node:type_name -> pb.APINode + 14, // 0: pb.FindAllEnabledAPINodesResponse.apiNodes:type_name -> pb.APINode + 14, // 1: pb.ListEnabledAPINodesResponse.apiNodes:type_name -> pb.APINode + 14, // 2: pb.FindEnabledAPINodeResponse.apiNode:type_name -> pb.APINode 0, // 3: pb.APINodeService.createAPINode:input_type -> pb.CreateAPINodeRequest 2, // 4: pb.APINodeService.updateAPINode:input_type -> pb.UpdateAPINodeRequest 3, // 5: pb.APINodeService.deleteAPINode:input_type -> pb.DeleteAPINodeRequest 4, // 6: pb.APINodeService.findAllEnabledAPINodes:input_type -> pb.FindAllEnabledAPINodesRequest 6, // 7: pb.APINodeService.countAllEnabledAPINodes:input_type -> pb.CountAllEnabledAPINodesRequest - 7, // 8: pb.APINodeService.listEnabledAPINodes:input_type -> pb.ListEnabledAPINodesRequest - 9, // 9: pb.APINodeService.findEnabledAPINode:input_type -> pb.FindEnabledAPINodeRequest - 11, // 10: pb.APINodeService.findCurrentAPINodeVersion:input_type -> pb.FindCurrentAPINodeVersionRequest - 1, // 11: pb.APINodeService.createAPINode:output_type -> pb.CreateAPINodeResponse - 14, // 12: pb.APINodeService.updateAPINode:output_type -> pb.RPCSuccess - 14, // 13: pb.APINodeService.deleteAPINode:output_type -> pb.RPCSuccess - 5, // 14: pb.APINodeService.findAllEnabledAPINodes:output_type -> pb.FindAllEnabledAPINodesResponse - 15, // 15: pb.APINodeService.countAllEnabledAPINodes:output_type -> pb.RPCCountResponse - 8, // 16: pb.APINodeService.listEnabledAPINodes:output_type -> pb.ListEnabledAPINodesResponse - 10, // 17: pb.APINodeService.findEnabledAPINode:output_type -> pb.FindEnabledAPINodeResponse - 12, // 18: pb.APINodeService.findCurrentAPINodeVersion:output_type -> pb.FindCurrentAPINodeVersionResponse - 11, // [11:19] is the sub-list for method output_type - 3, // [3:11] is the sub-list for method input_type + 7, // 8: pb.APINodeService.countAllEnabledAndOnAPINodes:input_type -> pb.CountAllEnabledAndOnAPINodesRequest + 8, // 9: pb.APINodeService.listEnabledAPINodes:input_type -> pb.ListEnabledAPINodesRequest + 10, // 10: pb.APINodeService.findEnabledAPINode:input_type -> pb.FindEnabledAPINodeRequest + 12, // 11: pb.APINodeService.findCurrentAPINodeVersion:input_type -> pb.FindCurrentAPINodeVersionRequest + 1, // 12: pb.APINodeService.createAPINode:output_type -> pb.CreateAPINodeResponse + 15, // 13: pb.APINodeService.updateAPINode:output_type -> pb.RPCSuccess + 15, // 14: pb.APINodeService.deleteAPINode:output_type -> pb.RPCSuccess + 5, // 15: pb.APINodeService.findAllEnabledAPINodes:output_type -> pb.FindAllEnabledAPINodesResponse + 16, // 16: pb.APINodeService.countAllEnabledAPINodes:output_type -> pb.RPCCountResponse + 16, // 17: pb.APINodeService.countAllEnabledAndOnAPINodes:output_type -> pb.RPCCountResponse + 9, // 18: pb.APINodeService.listEnabledAPINodes:output_type -> pb.ListEnabledAPINodesResponse + 11, // 19: pb.APINodeService.findEnabledAPINode:output_type -> pb.FindEnabledAPINodeResponse + 13, // 20: pb.APINodeService.findCurrentAPINodeVersion:output_type -> pb.FindCurrentAPINodeVersionResponse + 12, // [12:21] is the sub-list for method output_type + 3, // [3:12] 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 @@ -1045,7 +1098,7 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledAPINodesRequest); i { + switch v := v.(*CountAllEnabledAndOnAPINodesRequest); i { case 0: return &v.state case 1: @@ -1057,7 +1110,7 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListEnabledAPINodesResponse); i { + switch v := v.(*ListEnabledAPINodesRequest); i { case 0: return &v.state case 1: @@ -1069,7 +1122,7 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledAPINodeRequest); i { + switch v := v.(*ListEnabledAPINodesResponse); i { case 0: return &v.state case 1: @@ -1081,7 +1134,7 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindEnabledAPINodeResponse); i { + switch v := v.(*FindEnabledAPINodeRequest); i { case 0: return &v.state case 1: @@ -1093,7 +1146,7 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FindCurrentAPINodeVersionRequest); i { + switch v := v.(*FindEnabledAPINodeResponse); i { case 0: return &v.state case 1: @@ -1105,6 +1158,18 @@ func file_service_api_node_proto_init() { } } file_service_api_node_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FindCurrentAPINodeVersionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_api_node_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FindCurrentAPINodeVersionResponse); i { case 0: return &v.state @@ -1123,7 +1188,7 @@ func file_service_api_node_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_service_api_node_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 14, NumExtensions: 0, NumServices: 1, }, @@ -1159,6 +1224,8 @@ type APINodeServiceClient interface { FindAllEnabledAPINodes(ctx context.Context, in *FindAllEnabledAPINodesRequest, opts ...grpc.CallOption) (*FindAllEnabledAPINodesResponse, error) // 计算API节点数量 CountAllEnabledAPINodes(ctx context.Context, in *CountAllEnabledAPINodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) + // 计算启用的API节点数量 + CountAllEnabledAndOnAPINodes(ctx context.Context, in *CountAllEnabledAndOnAPINodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) // 列出单页的API节点 ListEnabledAPINodes(ctx context.Context, in *ListEnabledAPINodesRequest, opts ...grpc.CallOption) (*ListEnabledAPINodesResponse, error) // 根据ID查找节点 @@ -1220,6 +1287,15 @@ func (c *aPINodeServiceClient) CountAllEnabledAPINodes(ctx context.Context, in * return out, nil } +func (c *aPINodeServiceClient) CountAllEnabledAndOnAPINodes(ctx context.Context, in *CountAllEnabledAndOnAPINodesRequest, opts ...grpc.CallOption) (*RPCCountResponse, error) { + out := new(RPCCountResponse) + err := c.cc.Invoke(ctx, "/pb.APINodeService/countAllEnabledAndOnAPINodes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *aPINodeServiceClient) ListEnabledAPINodes(ctx context.Context, in *ListEnabledAPINodesRequest, opts ...grpc.CallOption) (*ListEnabledAPINodesResponse, error) { out := new(ListEnabledAPINodesResponse) err := c.cc.Invoke(ctx, "/pb.APINodeService/listEnabledAPINodes", in, out, opts...) @@ -1259,6 +1335,8 @@ type APINodeServiceServer interface { FindAllEnabledAPINodes(context.Context, *FindAllEnabledAPINodesRequest) (*FindAllEnabledAPINodesResponse, error) // 计算API节点数量 CountAllEnabledAPINodes(context.Context, *CountAllEnabledAPINodesRequest) (*RPCCountResponse, error) + // 计算启用的API节点数量 + CountAllEnabledAndOnAPINodes(context.Context, *CountAllEnabledAndOnAPINodesRequest) (*RPCCountResponse, error) // 列出单页的API节点 ListEnabledAPINodes(context.Context, *ListEnabledAPINodesRequest) (*ListEnabledAPINodesResponse, error) // 根据ID查找节点 @@ -1286,6 +1364,9 @@ func (*UnimplementedAPINodeServiceServer) FindAllEnabledAPINodes(context.Context func (*UnimplementedAPINodeServiceServer) CountAllEnabledAPINodes(context.Context, *CountAllEnabledAPINodesRequest) (*RPCCountResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledAPINodes not implemented") } +func (*UnimplementedAPINodeServiceServer) CountAllEnabledAndOnAPINodes(context.Context, *CountAllEnabledAndOnAPINodesRequest) (*RPCCountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CountAllEnabledAndOnAPINodes not implemented") +} func (*UnimplementedAPINodeServiceServer) ListEnabledAPINodes(context.Context, *ListEnabledAPINodesRequest) (*ListEnabledAPINodesResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListEnabledAPINodes not implemented") } @@ -1390,6 +1471,24 @@ func _APINodeService_CountAllEnabledAPINodes_Handler(srv interface{}, ctx contex return interceptor(ctx, in, info, handler) } +func _APINodeService_CountAllEnabledAndOnAPINodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountAllEnabledAndOnAPINodesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(APINodeServiceServer).CountAllEnabledAndOnAPINodes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.APINodeService/CountAllEnabledAndOnAPINodes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(APINodeServiceServer).CountAllEnabledAndOnAPINodes(ctx, req.(*CountAllEnabledAndOnAPINodesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _APINodeService_ListEnabledAPINodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListEnabledAPINodesRequest) if err := dec(in); err != nil { @@ -1468,6 +1567,10 @@ var _APINodeService_serviceDesc = grpc.ServiceDesc{ MethodName: "countAllEnabledAPINodes", Handler: _APINodeService_CountAllEnabledAPINodes_Handler, }, + { + MethodName: "countAllEnabledAndOnAPINodes", + Handler: _APINodeService_CountAllEnabledAndOnAPINodes_Handler, + }, { MethodName: "listEnabledAPINodes", Handler: _APINodeService_ListEnabledAPINodes_Handler, diff --git a/pkg/rpc/protos/service_api_node.proto b/pkg/rpc/protos/service_api_node.proto index a320d19..091fab9 100644 --- a/pkg/rpc/protos/service_api_node.proto +++ b/pkg/rpc/protos/service_api_node.proto @@ -21,6 +21,9 @@ service APINodeService { // 计算API节点数量 rpc countAllEnabledAPINodes (CountAllEnabledAPINodesRequest) returns (RPCCountResponse); + // 计算启用的API节点数量 + rpc countAllEnabledAndOnAPINodes (CountAllEnabledAndOnAPINodesRequest) returns (RPCCountResponse); + // 列出单页的API节点 rpc listEnabledAPINodes (ListEnabledAPINodesRequest) returns (ListEnabledAPINodesResponse); @@ -45,12 +48,12 @@ message CreateAPINodeRequest { } message CreateAPINodeResponse { - int64 nodeId = 1; + int64 apiNodeId = 1; } // 修改API节点 message UpdateAPINodeRequest { - int64 nodeId = 1; + int64 apiNodeId = 1; string name = 2; string description = 3; bytes httpJSON = 4; @@ -64,7 +67,7 @@ message UpdateAPINodeRequest { // 删除API节点 message DeleteAPINodeRequest { - int64 nodeId = 1; + int64 apiNodeId = 1; } // 列出所有可用API节点 @@ -73,7 +76,7 @@ message FindAllEnabledAPINodesRequest { } message FindAllEnabledAPINodesResponse { - repeated APINode nodes = 1; + repeated APINode apiNodes = 1; } // 计算API节点数量 @@ -81,6 +84,11 @@ message CountAllEnabledAPINodesRequest { } +// 计算启用的API节点数量 +message CountAllEnabledAndOnAPINodesRequest { + +} + // 列出单页的API节点 message ListEnabledAPINodesRequest { int64 offset = 1; @@ -88,16 +96,16 @@ message ListEnabledAPINodesRequest { } message ListEnabledAPINodesResponse { - repeated APINode nodes = 1; + repeated APINode apiNodes = 1; } // 根据ID查找节点 message FindEnabledAPINodeRequest { - int64 nodeId = 1; + int64 apiNodeId = 1; } message FindEnabledAPINodeResponse { - APINode node = 1; + APINode apiNode = 1; } // 获取当前API节点的版本