diff --git a/api/csharp/Chirpstack.Api.csproj b/api/csharp/Chirpstack.Api.csproj index fa95f9bb..e7a6a62f 100644 --- a/api/csharp/Chirpstack.Api.csproj +++ b/api/csharp/Chirpstack.Api.csproj @@ -18,11 +18,11 @@ - + diff --git a/api/csharp/Chirpstack/api/RequestLog.cs b/api/csharp/Chirpstack/streams/ApiRequests.cs similarity index 84% rename from api/csharp/Chirpstack/api/RequestLog.cs rename to api/csharp/Chirpstack/streams/ApiRequests.cs index aaa83468..328558cc 100644 --- a/api/csharp/Chirpstack/api/RequestLog.cs +++ b/api/csharp/Chirpstack/streams/ApiRequests.cs @@ -1,6 +1,6 @@ // // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: api/request_log.proto +// source: streams/api_requests.proto // #pragma warning disable 1591, 0612, 3021, 8981 #region Designer generated code @@ -9,54 +9,55 @@ using pb = global::Google.Protobuf; using pbc = global::Google.Protobuf.Collections; using pbr = global::Google.Protobuf.Reflection; using scg = global::System.Collections.Generic; -namespace Chirpstack.Api { +namespace Chirpstack.Streams { - /// Holder for reflection information generated from api/request_log.proto - public static partial class RequestLogReflection { + /// Holder for reflection information generated from streams/api_requests.proto + public static partial class ApiRequestsReflection { #region Descriptor - /// File descriptor for api/request_log.proto + /// File descriptor for streams/api_requests.proto public static pbr::FileDescriptor Descriptor { get { return descriptor; } } private static pbr::FileDescriptor descriptor; - static RequestLogReflection() { + static ApiRequestsReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "ChVhcGkvcmVxdWVzdF9sb2cucHJvdG8SA2FwaRofZ29vZ2xlL3Byb3RvYnVm", - "L3RpbWVzdGFtcC5wcm90bxoTY29tbW9uL2NvbW1vbi5wcm90bxoLZ3cvZ3cu", - "cHJvdG8ijwEKClJlcXVlc3RMb2cSDwoHc2VydmljZRgBIAEoCRIOCgZtZXRo", - "b2QYAiABKAkSLwoIbWV0YWRhdGEYAyADKAsyHS5hcGkuUmVxdWVzdExvZy5N", - "ZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0K", - "BXZhbHVlGAIgASgJOgI4AUJnChFpby5jaGlycHN0YWNrLmFwaUIPUmVxdWVz", - "dExvZ1Byb3RvUAFaLmdpdGh1Yi5jb20vY2hpcnBzdGFjay9jaGlycHN0YWNr", - "L2FwaS9nby92NC9hcGmqAg5DaGlycHN0YWNrLkFwaWIGcHJvdG8z")); + "ChpzdHJlYW1zL2FwaV9yZXF1ZXN0cy5wcm90bxIHc3RyZWFtcxofZ29vZ2xl", + "L3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoTY29tbW9uL2NvbW1vbi5wcm90", + "bxoLZ3cvZ3cucHJvdG8imQEKDUFwaVJlcXVlc3RMb2cSDwoHc2VydmljZRgB", + "IAEoCRIOCgZtZXRob2QYAiABKAkSNgoIbWV0YWRhdGEYAyADKAsyJC5zdHJl", + "YW1zLkFwaVJlcXVlc3RMb2cuTWV0YWRhdGFFbnRyeRovCg1NZXRhZGF0YUVu", + "dHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAFCeAoZaW8uY2hp", + "cnBzdGFjay5hcGkuc3RyZWFtc0IQQXBpUmVxdWVzdHNQcm90b1ABWjJnaXRo", + "dWIuY29tL2NoaXJwc3RhY2svY2hpcnBzdGFjay9hcGkvZ28vdjQvc3RyZWFt", + "c6oCEkNoaXJwc3RhY2suU3RyZWFtc2IGcHJvdG8z")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Chirpstack.Common.CommonReflection.Descriptor, global::Chirpstack.Gateway.GwReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] { - new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.RequestLog), global::Chirpstack.Api.RequestLog.Parser, new[]{ "Service", "Method", "Metadata" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }) + new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Streams.ApiRequestLog), global::Chirpstack.Streams.ApiRequestLog.Parser, new[]{ "Service", "Method", "Metadata" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, }) })); } #endregion } #region Messages - public sealed partial class RequestLog : pb::IMessage + public sealed partial class ApiRequestLog : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage #endif { - private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new RequestLog()); + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new ApiRequestLog()); private pb::UnknownFieldSet _unknownFields; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public static pb::MessageParser Parser { get { return _parser; } } + public static pb::MessageParser Parser { get { return _parser; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Chirpstack.Api.RequestLogReflection.Descriptor.MessageTypes[0]; } + get { return global::Chirpstack.Streams.ApiRequestsReflection.Descriptor.MessageTypes[0]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -67,7 +68,7 @@ namespace Chirpstack.Api { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RequestLog() { + public ApiRequestLog() { OnConstruction(); } @@ -75,7 +76,7 @@ namespace Chirpstack.Api { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RequestLog(RequestLog other) : this() { + public ApiRequestLog(ApiRequestLog other) : this() { service_ = other.service_; method_ = other.method_; metadata_ = other.metadata_.Clone(); @@ -84,8 +85,8 @@ namespace Chirpstack.Api { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public RequestLog Clone() { - return new RequestLog(this); + public ApiRequestLog Clone() { + return new ApiRequestLog(this); } /// Field number for the "service" field. @@ -135,12 +136,12 @@ namespace Chirpstack.Api { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public override bool Equals(object other) { - return Equals(other as RequestLog); + return Equals(other as ApiRequestLog); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public bool Equals(RequestLog other) { + public bool Equals(ApiRequestLog other) { if (ReferenceEquals(other, null)) { return false; } @@ -231,7 +232,7 @@ namespace Chirpstack.Api { [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] - public void MergeFrom(RequestLog other) { + public void MergeFrom(ApiRequestLog other) { if (other == null) { return; } diff --git a/api/go/Makefile b/api/go/Makefile index f89e29e1..d139f515 100644 --- a/api/go/Makefile +++ b/api/go/Makefile @@ -25,7 +25,6 @@ api: protoc ${PROTOC_ARGS} api/device.proto protoc ${PROTOC_ARGS} api/gateway.proto protoc ${PROTOC_ARGS} api/multicast_group.proto - protoc ${PROTOC_ARGS} api/request_log.proto protoc ${PROTOC_ARGS} api/relay.proto integration: @@ -34,3 +33,4 @@ integration: streams: protoc ${PROTOC_ARGS} streams/meta.proto protoc ${PROTOC_ARGS} streams/frames.proto + protoc ${PROTOC_ARGS} streams/api_requests.proto diff --git a/api/go/api/request_log.pb.go b/api/go/api/request_log.pb.go deleted file mode 100644 index 4118e830..00000000 --- a/api/go/api/request_log.pb.go +++ /dev/null @@ -1,185 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v3.21.9 -// source: api/request_log.proto - -package api - -import ( - _ "github.com/chirpstack/chirpstack/api/go/v4/common" - _ "github.com/chirpstack/chirpstack/api/go/v4/gw" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - _ "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type RequestLog struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // API service name. - Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` - // API method name. - Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` - // Metadata. - Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *RequestLog) Reset() { - *x = RequestLog{} - if protoimpl.UnsafeEnabled { - mi := &file_api_request_log_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RequestLog) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RequestLog) ProtoMessage() {} - -func (x *RequestLog) ProtoReflect() protoreflect.Message { - mi := &file_api_request_log_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RequestLog.ProtoReflect.Descriptor instead. -func (*RequestLog) Descriptor() ([]byte, []int) { - return file_api_request_log_proto_rawDescGZIP(), []int{0} -} - -func (x *RequestLog) GetService() string { - if x != nil { - return x.Service - } - return "" -} - -func (x *RequestLog) GetMethod() string { - if x != nil { - return x.Method - } - return "" -} - -func (x *RequestLog) GetMetadata() map[string]string { - if x != nil { - return x.Metadata - } - return nil -} - -var File_api_request_log_proto protoreflect.FileDescriptor - -var file_api_request_log_proto_rawDesc = []byte{ - 0x0a, 0x15, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f, - 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0xb6, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x18, - 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 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, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x4c, 0x6f, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x67, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, - 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0f, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, - 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, - 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, - 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_api_request_log_proto_rawDescOnce sync.Once - file_api_request_log_proto_rawDescData = file_api_request_log_proto_rawDesc -) - -func file_api_request_log_proto_rawDescGZIP() []byte { - file_api_request_log_proto_rawDescOnce.Do(func() { - file_api_request_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_request_log_proto_rawDescData) - }) - return file_api_request_log_proto_rawDescData -} - -var file_api_request_log_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_api_request_log_proto_goTypes = []interface{}{ - (*RequestLog)(nil), // 0: api.RequestLog - nil, // 1: api.RequestLog.MetadataEntry -} -var file_api_request_log_proto_depIdxs = []int32{ - 1, // 0: api.RequestLog.metadata:type_name -> api.RequestLog.MetadataEntry - 1, // [1:1] is the sub-list for method output_type - 1, // [1:1] is the sub-list for method input_type - 1, // [1:1] is the sub-list for extension type_name - 1, // [1:1] is the sub-list for extension extendee - 0, // [0:1] is the sub-list for field type_name -} - -func init() { file_api_request_log_proto_init() } -func file_api_request_log_proto_init() { - if File_api_request_log_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_api_request_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RequestLog); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_api_request_log_proto_rawDesc, - NumEnums: 0, - NumMessages: 2, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_api_request_log_proto_goTypes, - DependencyIndexes: file_api_request_log_proto_depIdxs, - MessageInfos: file_api_request_log_proto_msgTypes, - }.Build() - File_api_request_log_proto = out.File - file_api_request_log_proto_rawDesc = nil - file_api_request_log_proto_goTypes = nil - file_api_request_log_proto_depIdxs = nil -} diff --git a/api/go/streams/api_requests.pb.go b/api/go/streams/api_requests.pb.go new file mode 100644 index 00000000..d8ac1f0c --- /dev/null +++ b/api/go/streams/api_requests.pb.go @@ -0,0 +1,187 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v3.21.9 +// source: streams/api_requests.proto + +package streams + +import ( + _ "github.com/chirpstack/chirpstack/api/go/v4/common" + _ "github.com/chirpstack/chirpstack/api/go/v4/gw" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ApiRequestLog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // API service name. + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // API method name. + Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"` + // Metadata. + Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ApiRequestLog) Reset() { + *x = ApiRequestLog{} + if protoimpl.UnsafeEnabled { + mi := &file_streams_api_requests_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ApiRequestLog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApiRequestLog) ProtoMessage() {} + +func (x *ApiRequestLog) ProtoReflect() protoreflect.Message { + mi := &file_streams_api_requests_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApiRequestLog.ProtoReflect.Descriptor instead. +func (*ApiRequestLog) Descriptor() ([]byte, []int) { + return file_streams_api_requests_proto_rawDescGZIP(), []int{0} +} + +func (x *ApiRequestLog) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *ApiRequestLog) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *ApiRequestLog) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +var File_streams_api_requests_proto protoreflect.FileDescriptor + +var file_streams_api_requests_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, + 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc0, 0x01, 0x0a, 0x0d, 0x41, 0x70, 0x69, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 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, 0x40, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, + 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x78, 0x0a, 0x19, 0x69, + 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x42, 0x10, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x32, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, + 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, + 0xaa, 0x02, 0x12, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_streams_api_requests_proto_rawDescOnce sync.Once + file_streams_api_requests_proto_rawDescData = file_streams_api_requests_proto_rawDesc +) + +func file_streams_api_requests_proto_rawDescGZIP() []byte { + file_streams_api_requests_proto_rawDescOnce.Do(func() { + file_streams_api_requests_proto_rawDescData = protoimpl.X.CompressGZIP(file_streams_api_requests_proto_rawDescData) + }) + return file_streams_api_requests_proto_rawDescData +} + +var file_streams_api_requests_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_streams_api_requests_proto_goTypes = []interface{}{ + (*ApiRequestLog)(nil), // 0: streams.ApiRequestLog + nil, // 1: streams.ApiRequestLog.MetadataEntry +} +var file_streams_api_requests_proto_depIdxs = []int32{ + 1, // 0: streams.ApiRequestLog.metadata:type_name -> streams.ApiRequestLog.MetadataEntry + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_streams_api_requests_proto_init() } +func file_streams_api_requests_proto_init() { + if File_streams_api_requests_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_streams_api_requests_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ApiRequestLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_streams_api_requests_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_streams_api_requests_proto_goTypes, + DependencyIndexes: file_streams_api_requests_proto_depIdxs, + MessageInfos: file_streams_api_requests_proto_msgTypes, + }.Build() + File_streams_api_requests_proto = out.File + file_streams_api_requests_proto_rawDesc = nil + file_streams_api_requests_proto_goTypes = nil + file_streams_api_requests_proto_depIdxs = nil +} diff --git a/api/grpc-web/Makefile b/api/grpc-web/Makefile index d52e6b28..a5f0e38e 100644 --- a/api/grpc-web/Makefile +++ b/api/grpc-web/Makefile @@ -26,7 +26,6 @@ api: protoc $(PROTOC_ARGS) ../proto/api/device.proto protoc $(PROTOC_ARGS) ../proto/api/gateway.proto protoc $(PROTOC_ARGS) ../proto/api/multicast_group.proto - protoc $(PROTOC_ARGS) ../proto/api/request_log.proto protoc $(PROTOC_ARGS) ../proto/api/relay.proto integration: diff --git a/api/grpc-web/api/request_log_pb.d.ts b/api/grpc-web/api/request_log_pb.d.ts deleted file mode 100644 index 850c6453..00000000 --- a/api/grpc-web/api/request_log_pb.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import * as jspb from 'google-protobuf' - -import * as google_protobuf_timestamp_pb from 'google-protobuf/google/protobuf/timestamp_pb'; -import * as common_common_pb from '../common/common_pb'; -import * as gw_gw_pb from '../gw/gw_pb'; - - -export class RequestLog extends jspb.Message { - getService(): string; - setService(value: string): RequestLog; - - getMethod(): string; - setMethod(value: string): RequestLog; - - getMetadataMap(): jspb.Map; - clearMetadataMap(): RequestLog; - - serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): RequestLog.AsObject; - static toObject(includeInstance: boolean, msg: RequestLog): RequestLog.AsObject; - static serializeBinaryToWriter(message: RequestLog, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): RequestLog; - static deserializeBinaryFromReader(message: RequestLog, reader: jspb.BinaryReader): RequestLog; -} - -export namespace RequestLog { - export type AsObject = { - service: string, - method: string, - metadataMap: Array<[string, string]>, - } -} - diff --git a/api/grpc-web/api/request_log_pb.js b/api/grpc-web/api/request_log_pb.js deleted file mode 100644 index 9270bb08..00000000 --- a/api/grpc-web/api/request_log_pb.js +++ /dev/null @@ -1,236 +0,0 @@ -// source: api/request_log.proto -/** - * @fileoverview - * @enhanceable - * @suppress {messageConventions} JS Compiler reports an error if a variable or - * field starts with 'MSG_' and isn't a translatable message. - * @public - */ -// GENERATED CODE -- DO NOT EDIT! - -var jspb = require('google-protobuf'); -var goog = jspb; -var global = Function('return this')(); - -var google_protobuf_timestamp_pb = require('google-protobuf/google/protobuf/timestamp_pb.js'); -goog.object.extend(proto, google_protobuf_timestamp_pb); -var common_common_pb = require('../common/common_pb.js'); -goog.object.extend(proto, common_common_pb); -var gw_gw_pb = require('../gw/gw_pb.js'); -goog.object.extend(proto, gw_gw_pb); -goog.exportSymbol('proto.api.RequestLog', null, global); -/** - * Generated by JsPbCodeGenerator. - * @param {Array=} opt_data Optional initial data array, typically from a - * server response, or constructed directly in Javascript. The array is used - * in place and becomes part of the constructed object. It is not cloned. - * If no data is provided, the constructed object will be empty, but still - * valid. - * @extends {jspb.Message} - * @constructor - */ -proto.api.RequestLog = function(opt_data) { - jspb.Message.initialize(this, opt_data, 0, -1, null, null); -}; -goog.inherits(proto.api.RequestLog, jspb.Message); -if (goog.DEBUG && !COMPILED) { - /** - * @public - * @override - */ - proto.api.RequestLog.displayName = 'proto.api.RequestLog'; -} - - - -if (jspb.Message.GENERATE_TO_OBJECT) { -/** - * Creates an object representation of this proto. - * Field names that are reserved in JavaScript and will be renamed to pb_name. - * Optional fields that are not set will be set to undefined. - * To access a reserved field use, foo.pb_, eg, foo.pb_default. - * For the list of reserved names please see: - * net/proto2/compiler/js/internal/generator.cc#kKeyword. - * @param {boolean=} opt_includeInstance Deprecated. whether to include the - * JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @return {!Object} - */ -proto.api.RequestLog.prototype.toObject = function(opt_includeInstance) { - return proto.api.RequestLog.toObject(opt_includeInstance, this); -}; - - -/** - * Static version of the {@see toObject} method. - * @param {boolean|undefined} includeInstance Deprecated. Whether to include - * the JSPB instance for transitional soy proto support: - * http://goto/soy-param-migration - * @param {!proto.api.RequestLog} msg The msg instance to transform. - * @return {!Object} - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.api.RequestLog.toObject = function(includeInstance, msg) { - var f, obj = { - service: jspb.Message.getFieldWithDefault(msg, 1, ""), - method: jspb.Message.getFieldWithDefault(msg, 2, ""), - metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : [] - }; - - if (includeInstance) { - obj.$jspbMessageInstance = msg; - } - return obj; -}; -} - - -/** - * Deserializes binary data (in protobuf wire format). - * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.api.RequestLog} - */ -proto.api.RequestLog.deserializeBinary = function(bytes) { - var reader = new jspb.BinaryReader(bytes); - var msg = new proto.api.RequestLog; - return proto.api.RequestLog.deserializeBinaryFromReader(msg, reader); -}; - - -/** - * Deserializes binary data (in protobuf wire format) from the - * given reader into the given message object. - * @param {!proto.api.RequestLog} msg The message object to deserialize into. - * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.api.RequestLog} - */ -proto.api.RequestLog.deserializeBinaryFromReader = function(msg, reader) { - while (reader.nextField()) { - if (reader.isEndGroup()) { - break; - } - var field = reader.getFieldNumber(); - switch (field) { - case 1: - var value = /** @type {string} */ (reader.readString()); - msg.setService(value); - break; - case 2: - var value = /** @type {string} */ (reader.readString()); - msg.setMethod(value); - break; - case 3: - var value = msg.getMetadataMap(); - reader.readMessage(value, function(message, reader) { - jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", ""); - }); - break; - default: - reader.skipField(); - break; - } - } - return msg; -}; - - -/** - * Serializes the message to binary data (in protobuf wire format). - * @return {!Uint8Array} - */ -proto.api.RequestLog.prototype.serializeBinary = function() { - var writer = new jspb.BinaryWriter(); - proto.api.RequestLog.serializeBinaryToWriter(this, writer); - return writer.getResultBuffer(); -}; - - -/** - * Serializes the given message to binary data (in protobuf wire - * format), writing to the given BinaryWriter. - * @param {!proto.api.RequestLog} message - * @param {!jspb.BinaryWriter} writer - * @suppress {unusedLocalVariables} f is only used for nested messages - */ -proto.api.RequestLog.serializeBinaryToWriter = function(message, writer) { - var f = undefined; - f = message.getService(); - if (f.length > 0) { - writer.writeString( - 1, - f - ); - } - f = message.getMethod(); - if (f.length > 0) { - writer.writeString( - 2, - f - ); - } - f = message.getMetadataMap(true); - if (f && f.getLength() > 0) { - f.serializeBinary(3, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString); - } -}; - - -/** - * optional string service = 1; - * @return {string} - */ -proto.api.RequestLog.prototype.getService = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); -}; - - -/** - * @param {string} value - * @return {!proto.api.RequestLog} returns this - */ -proto.api.RequestLog.prototype.setService = function(value) { - return jspb.Message.setProto3StringField(this, 1, value); -}; - - -/** - * optional string method = 2; - * @return {string} - */ -proto.api.RequestLog.prototype.getMethod = function() { - return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); -}; - - -/** - * @param {string} value - * @return {!proto.api.RequestLog} returns this - */ -proto.api.RequestLog.prototype.setMethod = function(value) { - return jspb.Message.setProto3StringField(this, 2, value); -}; - - -/** - * map metadata = 3; - * @param {boolean=} opt_noLazyCreate Do not create the map if - * empty, instead returning `undefined` - * @return {!jspb.Map} - */ -proto.api.RequestLog.prototype.getMetadataMap = function(opt_noLazyCreate) { - return /** @type {!jspb.Map} */ ( - jspb.Message.getMapField(this, 3, opt_noLazyCreate, - null)); -}; - - -/** - * Clears values from the map. The map will be non-null. - * @return {!proto.api.RequestLog} returns this - */ -proto.api.RequestLog.prototype.clearMetadataMap = function() { - this.getMetadataMap().clear(); - return this;}; - - -goog.object.extend(exports, proto.api); diff --git a/api/js/Makefile b/api/js/Makefile index 9b099b0e..19c27b3c 100644 --- a/api/js/Makefile +++ b/api/js/Makefile @@ -27,7 +27,6 @@ api: protoc ${PROTOC_GRPC_ARGS} ../proto/api/device.proto protoc ${PROTOC_GRPC_ARGS} ../proto/api/gateway.proto protoc ${PROTOC_GRPC_ARGS} ../proto/api/multicast_group.proto - protoc ${PROTOC_GRPC_ARGS} ../proto/api/request_log.proto protoc ${PROTOC_GRPC_ARGS} ../proto/api/relay.proto integration: @@ -36,6 +35,7 @@ integration: streams: protoc ${PROTOC_ARGS} ../proto/streams/meta.proto protoc ${PROTOC_ARGS} ../proto/streams/frames.proto + protoc ${PROTOC_ARGS} ../proto/streams/api_requests.proto google-api: protoc $(PROTOC_ARGS) /googleapis/google/api/*.proto diff --git a/api/js/api/request_log_grpc_pb.js b/api/js/api/request_log_grpc_pb.js deleted file mode 100644 index 97b3a246..00000000 --- a/api/js/api/request_log_grpc_pb.js +++ /dev/null @@ -1 +0,0 @@ -// GENERATED CODE -- NO SERVICES IN PROTO \ No newline at end of file diff --git a/api/js/api/request_log_grpc_pb.d.ts b/api/js/streams/api_requests_grpc_pb.d.ts similarity index 100% rename from api/js/api/request_log_grpc_pb.d.ts rename to api/js/streams/api_requests_grpc_pb.d.ts diff --git a/api/js/api/request_log_pb.d.ts b/api/js/streams/api_requests_pb.d.ts similarity index 57% rename from api/js/api/request_log_pb.d.ts rename to api/js/streams/api_requests_pb.d.ts index 5be32cfe..399fa3fd 100644 --- a/api/js/api/request_log_pb.d.ts +++ b/api/js/streams/api_requests_pb.d.ts @@ -1,12 +1,12 @@ -// package: api -// file: api/request_log.proto +// package: streams +// file: streams/api_requests.proto import * as jspb from "google-protobuf"; import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb"; import * as common_common_pb from "../common/common_pb"; import * as gw_gw_pb from "../gw/gw_pb"; -export class RequestLog extends jspb.Message { +export class ApiRequestLog extends jspb.Message { getService(): string; setService(value: string): void; @@ -16,16 +16,16 @@ export class RequestLog extends jspb.Message { getMetadataMap(): jspb.Map; clearMetadataMap(): void; serializeBinary(): Uint8Array; - toObject(includeInstance?: boolean): RequestLog.AsObject; - static toObject(includeInstance: boolean, msg: RequestLog): RequestLog.AsObject; + toObject(includeInstance?: boolean): ApiRequestLog.AsObject; + static toObject(includeInstance: boolean, msg: ApiRequestLog): ApiRequestLog.AsObject; static extensions: {[key: number]: jspb.ExtensionFieldInfo}; static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo}; - static serializeBinaryToWriter(message: RequestLog, writer: jspb.BinaryWriter): void; - static deserializeBinary(bytes: Uint8Array): RequestLog; - static deserializeBinaryFromReader(message: RequestLog, reader: jspb.BinaryReader): RequestLog; + static serializeBinaryToWriter(message: ApiRequestLog, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): ApiRequestLog; + static deserializeBinaryFromReader(message: ApiRequestLog, reader: jspb.BinaryReader): ApiRequestLog; } -export namespace RequestLog { +export namespace ApiRequestLog { export type AsObject = { service: string, method: string, diff --git a/api/js/api/request_log_pb.js b/api/js/streams/api_requests_pb.js similarity index 73% rename from api/js/api/request_log_pb.js rename to api/js/streams/api_requests_pb.js index 9270bb08..978940b9 100644 --- a/api/js/api/request_log_pb.js +++ b/api/js/streams/api_requests_pb.js @@ -1,4 +1,4 @@ -// source: api/request_log.proto +// source: streams/api_requests.proto /** * @fileoverview * @enhanceable @@ -18,7 +18,7 @@ var common_common_pb = require('../common/common_pb.js'); goog.object.extend(proto, common_common_pb); var gw_gw_pb = require('../gw/gw_pb.js'); goog.object.extend(proto, gw_gw_pb); -goog.exportSymbol('proto.api.RequestLog', null, global); +goog.exportSymbol('proto.streams.ApiRequestLog', null, global); /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -29,16 +29,16 @@ goog.exportSymbol('proto.api.RequestLog', null, global); * @extends {jspb.Message} * @constructor */ -proto.api.RequestLog = function(opt_data) { +proto.streams.ApiRequestLog = function(opt_data) { jspb.Message.initialize(this, opt_data, 0, -1, null, null); }; -goog.inherits(proto.api.RequestLog, jspb.Message); +goog.inherits(proto.streams.ApiRequestLog, jspb.Message); if (goog.DEBUG && !COMPILED) { /** * @public * @override */ - proto.api.RequestLog.displayName = 'proto.api.RequestLog'; + proto.streams.ApiRequestLog.displayName = 'proto.streams.ApiRequestLog'; } @@ -56,8 +56,8 @@ if (jspb.Message.GENERATE_TO_OBJECT) { * http://goto/soy-param-migration * @return {!Object} */ -proto.api.RequestLog.prototype.toObject = function(opt_includeInstance) { - return proto.api.RequestLog.toObject(opt_includeInstance, this); +proto.streams.ApiRequestLog.prototype.toObject = function(opt_includeInstance) { + return proto.streams.ApiRequestLog.toObject(opt_includeInstance, this); }; @@ -66,11 +66,11 @@ proto.api.RequestLog.prototype.toObject = function(opt_includeInstance) { * @param {boolean|undefined} includeInstance Deprecated. Whether to include * the JSPB instance for transitional soy proto support: * http://goto/soy-param-migration - * @param {!proto.api.RequestLog} msg The msg instance to transform. + * @param {!proto.streams.ApiRequestLog} msg The msg instance to transform. * @return {!Object} * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.api.RequestLog.toObject = function(includeInstance, msg) { +proto.streams.ApiRequestLog.toObject = function(includeInstance, msg) { var f, obj = { service: jspb.Message.getFieldWithDefault(msg, 1, ""), method: jspb.Message.getFieldWithDefault(msg, 2, ""), @@ -88,23 +88,23 @@ proto.api.RequestLog.toObject = function(includeInstance, msg) { /** * Deserializes binary data (in protobuf wire format). * @param {jspb.ByteSource} bytes The bytes to deserialize. - * @return {!proto.api.RequestLog} + * @return {!proto.streams.ApiRequestLog} */ -proto.api.RequestLog.deserializeBinary = function(bytes) { +proto.streams.ApiRequestLog.deserializeBinary = function(bytes) { var reader = new jspb.BinaryReader(bytes); - var msg = new proto.api.RequestLog; - return proto.api.RequestLog.deserializeBinaryFromReader(msg, reader); + var msg = new proto.streams.ApiRequestLog; + return proto.streams.ApiRequestLog.deserializeBinaryFromReader(msg, reader); }; /** * Deserializes binary data (in protobuf wire format) from the * given reader into the given message object. - * @param {!proto.api.RequestLog} msg The message object to deserialize into. + * @param {!proto.streams.ApiRequestLog} msg The message object to deserialize into. * @param {!jspb.BinaryReader} reader The BinaryReader to use. - * @return {!proto.api.RequestLog} + * @return {!proto.streams.ApiRequestLog} */ -proto.api.RequestLog.deserializeBinaryFromReader = function(msg, reader) { +proto.streams.ApiRequestLog.deserializeBinaryFromReader = function(msg, reader) { while (reader.nextField()) { if (reader.isEndGroup()) { break; @@ -138,9 +138,9 @@ proto.api.RequestLog.deserializeBinaryFromReader = function(msg, reader) { * Serializes the message to binary data (in protobuf wire format). * @return {!Uint8Array} */ -proto.api.RequestLog.prototype.serializeBinary = function() { +proto.streams.ApiRequestLog.prototype.serializeBinary = function() { var writer = new jspb.BinaryWriter(); - proto.api.RequestLog.serializeBinaryToWriter(this, writer); + proto.streams.ApiRequestLog.serializeBinaryToWriter(this, writer); return writer.getResultBuffer(); }; @@ -148,11 +148,11 @@ proto.api.RequestLog.prototype.serializeBinary = function() { /** * Serializes the given message to binary data (in protobuf wire * format), writing to the given BinaryWriter. - * @param {!proto.api.RequestLog} message + * @param {!proto.streams.ApiRequestLog} message * @param {!jspb.BinaryWriter} writer * @suppress {unusedLocalVariables} f is only used for nested messages */ -proto.api.RequestLog.serializeBinaryToWriter = function(message, writer) { +proto.streams.ApiRequestLog.serializeBinaryToWriter = function(message, writer) { var f = undefined; f = message.getService(); if (f.length > 0) { @@ -179,16 +179,16 @@ proto.api.RequestLog.serializeBinaryToWriter = function(message, writer) { * optional string service = 1; * @return {string} */ -proto.api.RequestLog.prototype.getService = function() { +proto.streams.ApiRequestLog.prototype.getService = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 1, "")); }; /** * @param {string} value - * @return {!proto.api.RequestLog} returns this + * @return {!proto.streams.ApiRequestLog} returns this */ -proto.api.RequestLog.prototype.setService = function(value) { +proto.streams.ApiRequestLog.prototype.setService = function(value) { return jspb.Message.setProto3StringField(this, 1, value); }; @@ -197,16 +197,16 @@ proto.api.RequestLog.prototype.setService = function(value) { * optional string method = 2; * @return {string} */ -proto.api.RequestLog.prototype.getMethod = function() { +proto.streams.ApiRequestLog.prototype.getMethod = function() { return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 2, "")); }; /** * @param {string} value - * @return {!proto.api.RequestLog} returns this + * @return {!proto.streams.ApiRequestLog} returns this */ -proto.api.RequestLog.prototype.setMethod = function(value) { +proto.streams.ApiRequestLog.prototype.setMethod = function(value) { return jspb.Message.setProto3StringField(this, 2, value); }; @@ -217,7 +217,7 @@ proto.api.RequestLog.prototype.setMethod = function(value) { * empty, instead returning `undefined` * @return {!jspb.Map} */ -proto.api.RequestLog.prototype.getMetadataMap = function(opt_noLazyCreate) { +proto.streams.ApiRequestLog.prototype.getMetadataMap = function(opt_noLazyCreate) { return /** @type {!jspb.Map} */ ( jspb.Message.getMapField(this, 3, opt_noLazyCreate, null)); @@ -226,11 +226,11 @@ proto.api.RequestLog.prototype.getMetadataMap = function(opt_noLazyCreate) { /** * Clears values from the map. The map will be non-null. - * @return {!proto.api.RequestLog} returns this + * @return {!proto.streams.ApiRequestLog} returns this */ -proto.api.RequestLog.prototype.clearMetadataMap = function() { +proto.streams.ApiRequestLog.prototype.clearMetadataMap = function() { this.getMetadataMap().clear(); return this;}; -goog.object.extend(exports, proto.api); +goog.object.extend(exports, proto.streams); diff --git a/api/proto/api/request_log.proto b/api/proto/api/request_log.proto deleted file mode 100644 index e67fc82e..00000000 --- a/api/proto/api/request_log.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package api; - -option go_package = "github.com/chirpstack/chirpstack/api/go/v4/api"; -option java_package = "io.chirpstack.api"; -option java_multiple_files = true; -option java_outer_classname = "RequestLogProto"; -option csharp_namespace = "Chirpstack.Api"; - -import "google/protobuf/timestamp.proto"; -import "common/common.proto"; -import "gw/gw.proto"; - -message RequestLog { - // API service name. - string service = 1; - - // API method name. - string method = 2; - - // Metadata. - map metadata = 3; -} diff --git a/api/proto/streams/api_requests.proto b/api/proto/streams/api_requests.proto new file mode 100644 index 00000000..baf1b8fd --- /dev/null +++ b/api/proto/streams/api_requests.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package streams; + +option go_package = "github.com/chirpstack/chirpstack/api/go/v4/streams"; +option java_package = "io.chirpstack.api.streams"; +option java_multiple_files = true; +option java_outer_classname = "ApiRequestsProto"; +option csharp_namespace = "Chirpstack.Streams"; + +import "google/protobuf/timestamp.proto"; +import "common/common.proto"; +import "gw/gw.proto"; + +message ApiRequestLog { + // API service name. + string service = 1; + + // API method name. + string method = 2; + + // Metadata. + map metadata = 3; +} diff --git a/api/python/Makefile b/api/python/Makefile index 8fd3f959..d0b75d97 100644 --- a/api/python/Makefile +++ b/api/python/Makefile @@ -36,7 +36,6 @@ api: $(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/device.proto $(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/gateway.proto $(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/multicast_group.proto - $(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/request_log.proto $(PROTOC) ${PROTOC_ARGS} chirpstack-api/api/relay.proto integration: @@ -45,3 +44,4 @@ integration: streams: $(PROTOC) ${PROTOC_ARGS} chirpstack-api/streams/meta.proto $(PROTOC) ${PROTOC_ARGS} chirpstack-api/streams/frames.proto + $(PROTOC) ${PROTOC_ARGS} chirpstack-api/streams/api_requests.proto \ No newline at end of file diff --git a/api/python/proto/chirpstack-api/api/request_log.proto b/api/python/proto/chirpstack-api/api/request_log.proto deleted file mode 100644 index 4c0f0d34..00000000 --- a/api/python/proto/chirpstack-api/api/request_log.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package api; - -option go_package = "github.com/chirpstack/chirpstack/api/go/v4/api"; -option java_package = "io.chirpstack.api"; -option java_multiple_files = true; -option java_outer_classname = "RequestLogProto"; -option csharp_namespace = "Chirpstack.Api"; - -import "google/protobuf/timestamp.proto"; -import "chirpstack-api/common/common.proto"; -import "chirpstack-api/gw/gw.proto"; - -message RequestLog { - // API service name. - string service = 1; - - // API method name. - string method = 2; - - // Metadata. - map metadata = 3; -} diff --git a/api/python/proto/chirpstack-api/streams/api_requests.proto b/api/python/proto/chirpstack-api/streams/api_requests.proto new file mode 100644 index 00000000..5e51a435 --- /dev/null +++ b/api/python/proto/chirpstack-api/streams/api_requests.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package streams; + +option go_package = "github.com/chirpstack/chirpstack/api/go/v4/streams"; +option java_package = "io.chirpstack.api.streams"; +option java_multiple_files = true; +option java_outer_classname = "ApiRequestsProto"; +option csharp_namespace = "Chirpstack.Streams"; + +import "google/protobuf/timestamp.proto"; +import "chirpstack-api/common/common.proto"; +import "chirpstack-api/gw/gw.proto"; + +message ApiRequestLog { + // API service name. + string service = 1; + + // API method name. + string method = 2; + + // Metadata. + map metadata = 3; +} diff --git a/api/python/src/chirpstack_api/api/__init__.py b/api/python/src/chirpstack_api/api/__init__.py index 433a01d0..07642c1e 100644 --- a/api/python/src/chirpstack_api/api/__init__.py +++ b/api/python/src/chirpstack_api/api/__init__.py @@ -18,6 +18,5 @@ from .tenant_pb2 import * from .tenant_pb2_grpc import * from .user_pb2 import * from .user_pb2_grpc import * -from .request_log_pb2 import * from .relay_pb2 import * from .relay_pb2_grpc import * diff --git a/api/python/src/chirpstack_api/api/request_log_pb2.py b/api/python/src/chirpstack_api/api/request_log_pb2.py deleted file mode 100644 index 2e5ac5d2..00000000 --- a/api/python/src/chirpstack_api/api/request_log_pb2.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: chirpstack-api/api/request_log.proto -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2 -from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$chirpstack-api/api/request_log.proto\x12\x03\x61pi\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x8f\x01\n\nRequestLog\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12/\n\x08metadata\x18\x03 \x03(\x0b\x32\x1d.api.RequestLog.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42g\n\x11io.chirpstack.apiB\x0fRequestLogProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0e\x43hirpstack.Apib\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.request_log_pb2', _globals) -if _descriptor._USE_C_DESCRIPTORS == False: - - DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\021io.chirpstack.apiB\017RequestLogProtoP\001Z.github.com/chirpstack/chirpstack/api/go/v4/api\252\002\016Chirpstack.Api' - _REQUESTLOG_METADATAENTRY._options = None - _REQUESTLOG_METADATAENTRY._serialized_options = b'8\001' - _globals['_REQUESTLOG']._serialized_start=143 - _globals['_REQUESTLOG']._serialized_end=286 - _globals['_REQUESTLOG_METADATAENTRY']._serialized_start=239 - _globals['_REQUESTLOG_METADATAENTRY']._serialized_end=286 -# @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/streams/__init__.py b/api/python/src/chirpstack_api/streams/__init__.py index 595a363d..bbea266a 100644 --- a/api/python/src/chirpstack_api/streams/__init__.py +++ b/api/python/src/chirpstack_api/streams/__init__.py @@ -1,2 +1,3 @@ from .frames_pb2 import * from .meta_pb2 import * +from .api_requests_pb2 import * diff --git a/api/python/src/chirpstack_api/streams/api_requests_pb2.py b/api/python/src/chirpstack_api/streams/api_requests_pb2.py new file mode 100644 index 00000000..30a34e0d --- /dev/null +++ b/api/python/src/chirpstack_api/streams/api_requests_pb2.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: chirpstack-api/streams/api_requests.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 +from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2 +from chirpstack_api.gw import gw_pb2 as chirpstack__api_dot_gw_dot_gw__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)chirpstack-api/streams/api_requests.proto\x12\x07streams\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"chirpstack-api/common/common.proto\x1a\x1a\x63hirpstack-api/gw/gw.proto\"\x99\x01\n\rApiRequestLog\x12\x0f\n\x07service\x18\x01 \x01(\t\x12\x0e\n\x06method\x18\x02 \x01(\t\x12\x36\n\x08metadata\x18\x03 \x03(\x0b\x32$.streams.ApiRequestLog.MetadataEntry\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42x\n\x19io.chirpstack.api.streamsB\x10\x41piRequestsProtoP\x01Z2github.com/chirpstack/chirpstack/api/go/v4/streams\xaa\x02\x12\x43hirpstack.Streamsb\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.streams.api_requests_pb2', _globals) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\031io.chirpstack.api.streamsB\020ApiRequestsProtoP\001Z2github.com/chirpstack/chirpstack/api/go/v4/streams\252\002\022Chirpstack.Streams' + _APIREQUESTLOG_METADATAENTRY._options = None + _APIREQUESTLOG_METADATAENTRY._serialized_options = b'8\001' + _globals['_APIREQUESTLOG']._serialized_start=152 + _globals['_APIREQUESTLOG']._serialized_end=305 + _globals['_APIREQUESTLOG_METADATAENTRY']._serialized_start=258 + _globals['_APIREQUESTLOG_METADATAENTRY']._serialized_end=305 +# @@protoc_insertion_point(module_scope) diff --git a/api/python/src/chirpstack_api/api/request_log_pb2.pyi b/api/python/src/chirpstack_api/streams/api_requests_pb2.pyi similarity index 96% rename from api/python/src/chirpstack_api/api/request_log_pb2.pyi rename to api/python/src/chirpstack_api/streams/api_requests_pb2.pyi index 4dafe93f..34e6db39 100644 --- a/api/python/src/chirpstack_api/api/request_log_pb2.pyi +++ b/api/python/src/chirpstack_api/streams/api_requests_pb2.pyi @@ -8,7 +8,7 @@ from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Opti DESCRIPTOR: _descriptor.FileDescriptor -class RequestLog(_message.Message): +class ApiRequestLog(_message.Message): __slots__ = ["service", "method", "metadata"] class MetadataEntry(_message.Message): __slots__ = ["key", "value"] diff --git a/api/python/src/chirpstack_api/api/request_log_pb2_grpc.py b/api/python/src/chirpstack_api/streams/api_requests_pb2_grpc.py similarity index 100% rename from api/python/src/chirpstack_api/api/request_log_pb2_grpc.py rename to api/python/src/chirpstack_api/streams/api_requests_pb2_grpc.py diff --git a/api/rust/build.rs b/api/rust/build.rs index fff99be2..1e424fe7 100644 --- a/api/rust/build.rs +++ b/api/rust/build.rs @@ -152,6 +152,11 @@ fn main() -> Result<(), Box> { .join("frames.proto") .to_str() .unwrap(), + cs_dir + .join("streams") + .join("api_requests.proto") + .to_str() + .unwrap(), ], &[ proto_dir.join("chirpstack").to_str().unwrap(), @@ -168,7 +173,7 @@ fn main() -> Result<(), Box> { .out_dir(out_dir.join("streams")) .extern_path(".common", "crate::common") .extern_path(".gw", "crate::gw") - .build(&[".meta", ".streams"])?; + .build(&[".streams"])?; } // api @@ -204,11 +209,6 @@ fn main() -> Result<(), Box> { .join("multicast_group.proto") .to_str() .unwrap(), - cs_dir - .join("api") - .join("request_log.proto") - .to_str() - .unwrap(), cs_dir.join("api").join("relay.proto").to_str().unwrap(), ], &[ diff --git a/api/rust/proto/chirpstack/api/request_log.proto b/api/rust/proto/chirpstack/api/request_log.proto deleted file mode 100644 index e67fc82e..00000000 --- a/api/rust/proto/chirpstack/api/request_log.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; - -package api; - -option go_package = "github.com/chirpstack/chirpstack/api/go/v4/api"; -option java_package = "io.chirpstack.api"; -option java_multiple_files = true; -option java_outer_classname = "RequestLogProto"; -option csharp_namespace = "Chirpstack.Api"; - -import "google/protobuf/timestamp.proto"; -import "common/common.proto"; -import "gw/gw.proto"; - -message RequestLog { - // API service name. - string service = 1; - - // API method name. - string method = 2; - - // Metadata. - map metadata = 3; -} diff --git a/api/rust/proto/chirpstack/streams/api_requests.proto b/api/rust/proto/chirpstack/streams/api_requests.proto new file mode 100644 index 00000000..baf1b8fd --- /dev/null +++ b/api/rust/proto/chirpstack/streams/api_requests.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package streams; + +option go_package = "github.com/chirpstack/chirpstack/api/go/v4/streams"; +option java_package = "io.chirpstack.api.streams"; +option java_multiple_files = true; +option java_outer_classname = "ApiRequestsProto"; +option csharp_namespace = "Chirpstack.Streams"; + +import "google/protobuf/timestamp.proto"; +import "common/common.proto"; +import "gw/gw.proto"; + +message ApiRequestLog { + // API service name. + string service = 1; + + // API method name. + string method = 2; + + // Metadata. + map metadata = 3; +} diff --git a/chirpstack/src/api/mod.rs b/chirpstack/src/api/mod.rs index b208697c..c9438f00 100644 --- a/chirpstack/src/api/mod.rs +++ b/chirpstack/src/api/mod.rs @@ -25,7 +25,6 @@ use tower_http::trace::TraceLayer; use tracing::{error, info}; use warp::{http::header::HeaderValue, path::Tail, reply::Response, Filter, Rejection, Reply}; -use chirpstack_api::api; use chirpstack_api::api::application_service_server::ApplicationServiceServer; use chirpstack_api::api::device_profile_service_server::DeviceProfileServiceServer; use chirpstack_api::api::device_profile_template_service_server::DeviceProfileTemplateServiceServer; @@ -36,6 +35,7 @@ use chirpstack_api::api::multicast_group_service_server::MulticastGroupServiceSe use chirpstack_api::api::relay_service_server::RelayServiceServer; use chirpstack_api::api::tenant_service_server::TenantServiceServer; use chirpstack_api::api::user_service_server::UserServiceServer; +use chirpstack_api::streams; use super::config; use crate::api::auth::validator; @@ -401,7 +401,7 @@ where .observe(this.start.elapsed().as_secs_f64()); // Log API request to Redis - let req_log = api::RequestLog { + let req_log = streams::ApiRequestLog { service: this.service.to_string(), method: this.method.to_string(), metadata: response diff --git a/chirpstack/src/requestlog.rs b/chirpstack/src/requestlog.rs index b71baa6f..5fccb0cc 100644 --- a/chirpstack/src/requestlog.rs +++ b/chirpstack/src/requestlog.rs @@ -4,9 +4,9 @@ use tokio::task; use crate::config; use crate::storage::{get_redis_conn, redis_key}; -use chirpstack_api::api; +use chirpstack_api::streams; -pub async fn log_request(pl: &api::RequestLog) -> Result<()> { +pub async fn log_request(pl: &streams::ApiRequestLog) -> Result<()> { task::spawn_blocking({ let pl = pl.clone(); @@ -46,7 +46,7 @@ mod tests { async fn test_log_request() { let _guard = test::prepare().await; - let pl = api::RequestLog { + let pl = streams::ApiRequestLog { service: "ap.Foo".to_string(), method: "bar".to_string(), metadata: [("user_id".to_string(), "foo_user".to_string())] @@ -71,7 +71,7 @@ mod tests { assert_eq!(1, srr.keys[0].ids.len()); if let Some(redis::Value::Data(b)) = srr.keys[0].ids[0].map.get("request") { - let pl_recv = api::RequestLog::decode(&mut Cursor::new(b)).unwrap(); + let pl_recv = streams::ApiRequestLog::decode(&mut Cursor::new(b)).unwrap(); assert_eq!(pl, pl_recv); } else { panic!("No request log");