mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-06-14 13:38:08 +00:00
Make gateway state consistent + make stats interval configurable.
This: * Makes the gateway stats interval configurable (default 30 sec) * Adds GatewayState type (NEVER_SEEN, OFFLINE, ONLINE) * Adds gateway state to gateway lists * Fixes dashboard inconsistencies Closes #76.
This commit is contained in:
2
api/go/api/device_profile.pb.go
vendored
2
api/go/api/device_profile.pb.go
vendored
@ -166,7 +166,7 @@ type DeviceProfile struct {
|
|||||||
FlushQueueOnActivate bool `protobuf:"varint,10,opt,name=flush_queue_on_activate,json=flushQueueOnActivate,proto3" json:"flush_queue_on_activate,omitempty"`
|
FlushQueueOnActivate bool `protobuf:"varint,10,opt,name=flush_queue_on_activate,json=flushQueueOnActivate,proto3" json:"flush_queue_on_activate,omitempty"`
|
||||||
// Uplink interval (seconds).
|
// Uplink interval (seconds).
|
||||||
// This defines the expected uplink interval which the device uses for
|
// This defines the expected uplink interval which the device uses for
|
||||||
// communication. When the uplink interval has expired and no uplink has
|
// communication. If the uplink interval has expired and no uplink has
|
||||||
// been received, the device is considered inactive.
|
// been received, the device is considered inactive.
|
||||||
UplinkInterval uint32 `protobuf:"varint,11,opt,name=uplink_interval,json=uplinkInterval,proto3" json:"uplink_interval,omitempty"`
|
UplinkInterval uint32 `protobuf:"varint,11,opt,name=uplink_interval,json=uplinkInterval,proto3" json:"uplink_interval,omitempty"`
|
||||||
// Device-status request interval (times / day).
|
// Device-status request interval (times / day).
|
||||||
|
404
api/go/api/gateway.pb.go
vendored
404
api/go/api/gateway.pb.go
vendored
@ -24,6 +24,58 @@ const (
|
|||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type GatewayState int32
|
||||||
|
|
||||||
|
const (
|
||||||
|
// The gateway has never sent any stats.
|
||||||
|
GatewayState_NEVER_SEEN GatewayState = 0
|
||||||
|
// Online.
|
||||||
|
GatewayState_ONLINE GatewayState = 1
|
||||||
|
// Offline.
|
||||||
|
GatewayState_OFFLINE GatewayState = 2
|
||||||
|
)
|
||||||
|
|
||||||
|
// Enum value maps for GatewayState.
|
||||||
|
var (
|
||||||
|
GatewayState_name = map[int32]string{
|
||||||
|
0: "NEVER_SEEN",
|
||||||
|
1: "ONLINE",
|
||||||
|
2: "OFFLINE",
|
||||||
|
}
|
||||||
|
GatewayState_value = map[string]int32{
|
||||||
|
"NEVER_SEEN": 0,
|
||||||
|
"ONLINE": 1,
|
||||||
|
"OFFLINE": 2,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func (x GatewayState) Enum() *GatewayState {
|
||||||
|
p := new(GatewayState)
|
||||||
|
*p = x
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x GatewayState) String() string {
|
||||||
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||||
|
}
|
||||||
|
|
||||||
|
func (GatewayState) Descriptor() protoreflect.EnumDescriptor {
|
||||||
|
return file_api_gateway_proto_enumTypes[0].Descriptor()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (GatewayState) Type() protoreflect.EnumType {
|
||||||
|
return &file_api_gateway_proto_enumTypes[0]
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x GatewayState) Number() protoreflect.EnumNumber {
|
||||||
|
return protoreflect.EnumNumber(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Deprecated: Use GatewayState.Descriptor instead.
|
||||||
|
func (GatewayState) EnumDescriptor() ([]byte, []int) {
|
||||||
|
return file_api_gateway_proto_rawDescGZIP(), []int{0}
|
||||||
|
}
|
||||||
|
|
||||||
type Gateway struct {
|
type Gateway struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -43,6 +95,10 @@ type Gateway struct {
|
|||||||
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
// Metadata (provided by the gateway).
|
// Metadata (provided by the gateway).
|
||||||
Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||||
|
// Stats interval (seconds).
|
||||||
|
// This defines the expected interval in which the gateway sends its
|
||||||
|
// statistics.
|
||||||
|
StatsInterval uint32 `protobuf:"varint,8,opt,name=stats_interval,json=statsInterval,proto3" json:"stats_interval,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *Gateway) Reset() {
|
func (x *Gateway) Reset() {
|
||||||
@ -126,6 +182,13 @@ func (x *Gateway) GetMetadata() map[string]string {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *Gateway) GetStatsInterval() uint32 {
|
||||||
|
if x != nil {
|
||||||
|
return x.StatsInterval
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
type GatewayListItem struct {
|
type GatewayListItem struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -149,6 +212,10 @@ type GatewayListItem struct {
|
|||||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||||
// Last seen at timestamp.
|
// Last seen at timestamp.
|
||||||
LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
|
LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
|
||||||
|
// Gateway state.
|
||||||
|
// Please note that the state of the gateway is driven by the stats
|
||||||
|
// packages that are sent by the gateway.
|
||||||
|
State GatewayState `protobuf:"varint,10,opt,name=state,proto3,enum=api.GatewayState" json:"state,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GatewayListItem) Reset() {
|
func (x *GatewayListItem) Reset() {
|
||||||
@ -246,6 +313,13 @@ func (x *GatewayListItem) GetLastSeenAt() *timestamppb.Timestamp {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (x *GatewayListItem) GetState() GatewayState {
|
||||||
|
if x != nil {
|
||||||
|
return x.State
|
||||||
|
}
|
||||||
|
return GatewayState_NEVER_SEEN
|
||||||
|
}
|
||||||
|
|
||||||
type CreateGatewayRequest struct {
|
type CreateGatewayRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -957,7 +1031,7 @@ var file_api_gateway_proto_rawDesc = []byte{
|
|||||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d,
|
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, 0x22, 0x83, 0x03, 0x0a, 0x07, 0x47, 0x61,
|
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x07, 0x47, 0x61,
|
||||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||||
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
|
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||||
@ -974,41 +1048,46 @@ var file_api_gateway_proto_rawDesc = []byte{
|
|||||||
0x73, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20,
|
0x73, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20,
|
||||||
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
0x79, 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, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67,
|
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61,
|
||||||
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
0x74, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
|
||||||
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||||
0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e,
|
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
|
0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
||||||
0xea, 0x03, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
||||||
0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64,
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64,
|
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12,
|
0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74,
|
||||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74,
|
||||||
0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65,
|
||||||
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
|
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08,
|
||||||
0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
|
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10,
|
||||||
0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61,
|
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72,
|
0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72,
|
||||||
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70,
|
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
|
||||||
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74,
|
||||||
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45,
|
||||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
|
||||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x07,
|
||||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||||
0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
|
||||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
|
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||||
0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18,
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||||
0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64,
|
||||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
|
||||||
0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, 0x1a, 0x3d, 0x0a,
|
0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||||
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||||
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65,
|
||||||
|
0x65, 0x6e, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
|
||||||
|
0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
|
0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x3d, 0x0a,
|
||||||
0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||||
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
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,
|
0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||||
@ -1113,62 +1192,65 @@ var file_api_gateway_proto_rawDesc = []byte{
|
|||||||
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63,
|
0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63,
|
||||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x12, 0x74, 0x78,
|
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x12, 0x74, 0x78,
|
||||||
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||||
0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76,
|
0x2a, 0x37, 0x0a, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||||
0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e,
|
0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x00,
|
||||||
0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
|
||||||
0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61,
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06,
|
||||||
0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65,
|
||||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65,
|
0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
|
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x12, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||||
0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69,
|
0x3a, 0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69,
|
||||||
0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77,
|
0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x6a, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65,
|
||||||
0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
|
0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4,
|
||||||
0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
|
0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
|
0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12,
|
||||||
0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x61, 0x70,
|
0x6a, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||||
0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65,
|
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71,
|
||||||
0x77, 0x61, 0x79, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x3a,
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||||
0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61,
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2d, 0x82, 0xd3,
|
||||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
0xe4, 0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x67, 0x61, 0x74,
|
||||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
|
0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x44,
|
||||||
0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61,
|
0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
|
0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x69, 0x64, 0x7d, 0x12, 0x52, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70,
|
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||||
0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65,
|
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f,
|
||||||
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x52, 0x0a, 0x04,
|
||||||
0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
0x4c, 0x69, 0x73, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47,
|
||||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0xb1, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65,
|
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
|
||||||
0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||||
0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65,
|
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||||
0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e,
|
0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||||
0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
|
0x12, 0xb1, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x69,
|
||||||
0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
|
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2c,
|
||||||
0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43,
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
|
||||||
0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66,
|
||||||
0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69,
|
0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x61,
|
||||||
0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77,
|
0x70, 0x69, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d,
|
0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63,
|
||||||
0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x47,
|
0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4,
|
||||||
0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
0x93, 0x02, 0x31, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
|
0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f,
|
||||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
|
0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x2d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69,
|
||||||
0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73,
|
0x63, 0x61, 0x74, 0x65, 0x12, 0x77, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69,
|
||||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24,
|
0x63, 0x73, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65,
|
||||||
0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f,
|
0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74,
|
0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||||
0x72, 0x69, 0x63, 0x73, 0x42, 0x53, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70,
|
0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77,
|
0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||||
0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75,
|
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x53, 0x0a,
|
||||||
0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61,
|
||||||
0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
0x70, 0x69, 0x42, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x33,
|
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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -1183,76 +1265,79 @@ func file_api_gateway_proto_rawDescGZIP() []byte {
|
|||||||
return file_api_gateway_proto_rawDescData
|
return file_api_gateway_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var file_api_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||||
var file_api_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
var file_api_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
|
||||||
var file_api_gateway_proto_goTypes = []interface{}{
|
var file_api_gateway_proto_goTypes = []interface{}{
|
||||||
(*Gateway)(nil), // 0: api.Gateway
|
(GatewayState)(0), // 0: api.GatewayState
|
||||||
(*GatewayListItem)(nil), // 1: api.GatewayListItem
|
(*Gateway)(nil), // 1: api.Gateway
|
||||||
(*CreateGatewayRequest)(nil), // 2: api.CreateGatewayRequest
|
(*GatewayListItem)(nil), // 2: api.GatewayListItem
|
||||||
(*GetGatewayRequest)(nil), // 3: api.GetGatewayRequest
|
(*CreateGatewayRequest)(nil), // 3: api.CreateGatewayRequest
|
||||||
(*GetGatewayResponse)(nil), // 4: api.GetGatewayResponse
|
(*GetGatewayRequest)(nil), // 4: api.GetGatewayRequest
|
||||||
(*UpdateGatewayRequest)(nil), // 5: api.UpdateGatewayRequest
|
(*GetGatewayResponse)(nil), // 5: api.GetGatewayResponse
|
||||||
(*DeleteGatewayRequest)(nil), // 6: api.DeleteGatewayRequest
|
(*UpdateGatewayRequest)(nil), // 6: api.UpdateGatewayRequest
|
||||||
(*ListGatewaysRequest)(nil), // 7: api.ListGatewaysRequest
|
(*DeleteGatewayRequest)(nil), // 7: api.DeleteGatewayRequest
|
||||||
(*ListGatewaysResponse)(nil), // 8: api.ListGatewaysResponse
|
(*ListGatewaysRequest)(nil), // 8: api.ListGatewaysRequest
|
||||||
(*GenerateGatewayClientCertificateRequest)(nil), // 9: api.GenerateGatewayClientCertificateRequest
|
(*ListGatewaysResponse)(nil), // 9: api.ListGatewaysResponse
|
||||||
(*GenerateGatewayClientCertificateResponse)(nil), // 10: api.GenerateGatewayClientCertificateResponse
|
(*GenerateGatewayClientCertificateRequest)(nil), // 10: api.GenerateGatewayClientCertificateRequest
|
||||||
(*GetGatewayMetricsRequest)(nil), // 11: api.GetGatewayMetricsRequest
|
(*GenerateGatewayClientCertificateResponse)(nil), // 11: api.GenerateGatewayClientCertificateResponse
|
||||||
(*GetGatewayMetricsResponse)(nil), // 12: api.GetGatewayMetricsResponse
|
(*GetGatewayMetricsRequest)(nil), // 12: api.GetGatewayMetricsRequest
|
||||||
nil, // 13: api.Gateway.TagsEntry
|
(*GetGatewayMetricsResponse)(nil), // 13: api.GetGatewayMetricsResponse
|
||||||
nil, // 14: api.Gateway.MetadataEntry
|
nil, // 14: api.Gateway.TagsEntry
|
||||||
nil, // 15: api.GatewayListItem.PropertiesEntry
|
nil, // 15: api.Gateway.MetadataEntry
|
||||||
(*common.Location)(nil), // 16: common.Location
|
nil, // 16: api.GatewayListItem.PropertiesEntry
|
||||||
(*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp
|
(*common.Location)(nil), // 17: common.Location
|
||||||
(common.Aggregation)(0), // 18: common.Aggregation
|
(*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp
|
||||||
(*common.Metric)(nil), // 19: common.Metric
|
(common.Aggregation)(0), // 19: common.Aggregation
|
||||||
(*emptypb.Empty)(nil), // 20: google.protobuf.Empty
|
(*common.Metric)(nil), // 20: common.Metric
|
||||||
|
(*emptypb.Empty)(nil), // 21: google.protobuf.Empty
|
||||||
}
|
}
|
||||||
var file_api_gateway_proto_depIdxs = []int32{
|
var file_api_gateway_proto_depIdxs = []int32{
|
||||||
16, // 0: api.Gateway.location:type_name -> common.Location
|
17, // 0: api.Gateway.location:type_name -> common.Location
|
||||||
13, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
|
14, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
|
||||||
14, // 2: api.Gateway.metadata:type_name -> api.Gateway.MetadataEntry
|
15, // 2: api.Gateway.metadata:type_name -> api.Gateway.MetadataEntry
|
||||||
16, // 3: api.GatewayListItem.location:type_name -> common.Location
|
17, // 3: api.GatewayListItem.location:type_name -> common.Location
|
||||||
15, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
|
16, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
|
||||||
17, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
|
18, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
|
||||||
17, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
|
18, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
|
||||||
17, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
|
18, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||||
0, // 8: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
|
0, // 8: api.GatewayListItem.state:type_name -> api.GatewayState
|
||||||
0, // 9: api.GetGatewayResponse.gateway:type_name -> api.Gateway
|
1, // 9: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
|
||||||
17, // 10: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
|
1, // 10: api.GetGatewayResponse.gateway:type_name -> api.Gateway
|
||||||
17, // 11: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
|
18, // 11: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
|
||||||
17, // 12: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
|
18, // 12: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
|
||||||
0, // 13: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
|
18, // 13: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
|
||||||
1, // 14: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
|
1, // 14: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
|
||||||
17, // 15: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
|
2, // 15: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
|
||||||
17, // 16: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
|
18, // 16: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
|
||||||
17, // 17: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
|
18, // 17: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
|
||||||
18, // 18: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
|
18, // 18: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
|
||||||
19, // 19: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
|
19, // 19: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
|
||||||
19, // 20: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
|
20, // 20: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
|
||||||
19, // 21: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
|
20, // 21: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
|
||||||
19, // 22: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
|
20, // 22: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
|
||||||
19, // 23: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
|
20, // 23: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
|
||||||
19, // 24: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
|
20, // 24: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
|
||||||
19, // 25: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
|
20, // 25: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
|
||||||
2, // 26: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
|
20, // 26: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
|
||||||
3, // 27: api.GatewayService.Get:input_type -> api.GetGatewayRequest
|
3, // 27: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
|
||||||
5, // 28: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
|
4, // 28: api.GatewayService.Get:input_type -> api.GetGatewayRequest
|
||||||
6, // 29: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
|
6, // 29: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
|
||||||
7, // 30: api.GatewayService.List:input_type -> api.ListGatewaysRequest
|
7, // 30: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
|
||||||
9, // 31: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
|
8, // 31: api.GatewayService.List:input_type -> api.ListGatewaysRequest
|
||||||
11, // 32: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
|
10, // 32: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
|
||||||
20, // 33: api.GatewayService.Create:output_type -> google.protobuf.Empty
|
12, // 33: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
|
||||||
4, // 34: api.GatewayService.Get:output_type -> api.GetGatewayResponse
|
21, // 34: api.GatewayService.Create:output_type -> google.protobuf.Empty
|
||||||
20, // 35: api.GatewayService.Update:output_type -> google.protobuf.Empty
|
5, // 35: api.GatewayService.Get:output_type -> api.GetGatewayResponse
|
||||||
20, // 36: api.GatewayService.Delete:output_type -> google.protobuf.Empty
|
21, // 36: api.GatewayService.Update:output_type -> google.protobuf.Empty
|
||||||
8, // 37: api.GatewayService.List:output_type -> api.ListGatewaysResponse
|
21, // 37: api.GatewayService.Delete:output_type -> google.protobuf.Empty
|
||||||
10, // 38: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
|
9, // 38: api.GatewayService.List:output_type -> api.ListGatewaysResponse
|
||||||
12, // 39: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
|
11, // 39: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
|
||||||
33, // [33:40] is the sub-list for method output_type
|
13, // 40: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
|
||||||
26, // [26:33] is the sub-list for method input_type
|
34, // [34:41] is the sub-list for method output_type
|
||||||
26, // [26:26] is the sub-list for extension type_name
|
27, // [27:34] is the sub-list for method input_type
|
||||||
26, // [26:26] is the sub-list for extension extendee
|
27, // [27:27] is the sub-list for extension type_name
|
||||||
0, // [0:26] is the sub-list for field type_name
|
27, // [27:27] is the sub-list for extension extendee
|
||||||
|
0, // [0:27] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_api_gateway_proto_init() }
|
func init() { file_api_gateway_proto_init() }
|
||||||
@ -1423,13 +1508,14 @@ func file_api_gateway_proto_init() {
|
|||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_api_gateway_proto_rawDesc,
|
RawDescriptor: file_api_gateway_proto_rawDesc,
|
||||||
NumEnums: 0,
|
NumEnums: 1,
|
||||||
NumMessages: 16,
|
NumMessages: 16,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
GoTypes: file_api_gateway_proto_goTypes,
|
GoTypes: file_api_gateway_proto_goTypes,
|
||||||
DependencyIndexes: file_api_gateway_proto_depIdxs,
|
DependencyIndexes: file_api_gateway_proto_depIdxs,
|
||||||
|
EnumInfos: file_api_gateway_proto_enumTypes,
|
||||||
MessageInfos: file_api_gateway_proto_msgTypes,
|
MessageInfos: file_api_gateway_proto_msgTypes,
|
||||||
}.Build()
|
}.Build()
|
||||||
File_api_gateway_proto = out.File
|
File_api_gateway_proto = out.File
|
||||||
|
324
api/go/api/internal.pb.go
vendored
324
api/go/api/internal.pb.go
vendored
@ -1289,10 +1289,10 @@ type GetGatewaysSummaryResponse struct {
|
|||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
unknownFields protoimpl.UnknownFields
|
unknownFields protoimpl.UnknownFields
|
||||||
|
|
||||||
// Active count.
|
// Online count.
|
||||||
ActiveCount uint32 `protobuf:"varint,1,opt,name=active_count,json=activeCount,proto3" json:"active_count,omitempty"`
|
OnlineCount uint32 `protobuf:"varint,1,opt,name=online_count,json=onlineCount,proto3" json:"online_count,omitempty"`
|
||||||
// Inactive count.
|
// Offline count.
|
||||||
InactiveCount uint32 `protobuf:"varint,2,opt,name=inactive_count,json=inactiveCount,proto3" json:"inactive_count,omitempty"`
|
OfflineCount uint32 `protobuf:"varint,2,opt,name=offline_count,json=offlineCount,proto3" json:"offline_count,omitempty"`
|
||||||
// Never seen count.
|
// Never seen count.
|
||||||
NeverSeenCount uint32 `protobuf:"varint,3,opt,name=never_seen_count,json=neverSeenCount,proto3" json:"never_seen_count,omitempty"`
|
NeverSeenCount uint32 `protobuf:"varint,3,opt,name=never_seen_count,json=neverSeenCount,proto3" json:"never_seen_count,omitempty"`
|
||||||
}
|
}
|
||||||
@ -1329,16 +1329,16 @@ func (*GetGatewaysSummaryResponse) Descriptor() ([]byte, []int) {
|
|||||||
return file_api_internal_proto_rawDescGZIP(), []int{20}
|
return file_api_internal_proto_rawDescGZIP(), []int{20}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GetGatewaysSummaryResponse) GetActiveCount() uint32 {
|
func (x *GetGatewaysSummaryResponse) GetOnlineCount() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.ActiveCount
|
return x.OnlineCount
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *GetGatewaysSummaryResponse) GetInactiveCount() uint32 {
|
func (x *GetGatewaysSummaryResponse) GetOfflineCount() uint32 {
|
||||||
if x != nil {
|
if x != nil {
|
||||||
return x.InactiveCount
|
return x.OfflineCount
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -2092,162 +2092,162 @@ var file_api_internal_proto_rawDesc = []byte{
|
|||||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
|
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f,
|
||||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||||
0x49, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||||
0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
|
0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
|
||||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43,
|
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x43,
|
||||||
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
|
0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x5f,
|
||||||
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x69, 0x6e,
|
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6f, 0x66, 0x66,
|
||||||
0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e,
|
0x6c, 0x69, 0x6e, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x65, 0x76,
|
||||||
0x65, 0x76, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
0x65, 0x72, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20,
|
||||||
0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e,
|
0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x53, 0x65, 0x65, 0x6e, 0x43, 0x6f,
|
||||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65,
|
0x75, 0x6e, 0x74, 0x22, 0xfc, 0x01, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x12,
|
||||||
0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12,
|
||||||
0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||||
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||||
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d,
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12,
|
||||||
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
|
||||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
||||||
0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28,
|
0x6e, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||||
0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70,
|
0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||||
0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72,
|
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69,
|
||||||
0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65,
|
0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
||||||
0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
|
0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
|
||||||
0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
||||||
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||||
0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61,
|
0x38, 0x01, 0x22, 0x3b, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65,
|
||||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64,
|
0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
||||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49,
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22,
|
||||||
0x64, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63,
|
0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46,
|
||||||
0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17,
|
0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07,
|
||||||
0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
|
||||||
0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61,
|
0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x34, 0x0a, 0x19, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44,
|
||||||
0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71,
|
0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18,
|
0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x44, 0x0a,
|
0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x44, 0x0a, 0x13, 0x4c,
|
||||||
0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
|
0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69,
|
0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69,
|
0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x73, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
|
0x73, 0x22, 0x6a, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
||||||
0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
|
0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
|
||||||
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
|
0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67,
|
||||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a,
|
0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64,
|
||||||
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
|
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||||
0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
|
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x22, 0x0a,
|
||||||
0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
0x10, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||||
0x02, 0x69, 0x64, 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
0x64, 0x22, 0xb2, 0x03, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52,
|
||||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67,
|
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||||
0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
|
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
|
||||||
0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03,
|
0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01,
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b,
|
0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3b, 0x0a, 0x0f,
|
||||||
0x0a, 0x0f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
|
0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18,
|
||||||
0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65,
|
0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x67, 0x69,
|
||||||
0x67, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x75, 0x70, 0x6c,
|
0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x0e, 0x75, 0x70, 0x6c, 0x69, 0x6e,
|
||||||
0x69, 0x6e, 0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72,
|
0x6b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78, 0x31,
|
||||||
0x78, 0x31, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
|
0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x78,
|
||||||
0x72, 0x78, 0x31, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x78, 0x31, 0x5f,
|
0x31, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x78, 0x31, 0x5f, 0x64, 0x72,
|
||||||
0x64, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72,
|
||||||
0x0b, 0x72, 0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x15, 0x0a, 0x06,
|
0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x78,
|
||||||
0x72, 0x78, 0x32, 0x5f, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x78,
|
0x32, 0x5f, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x72, 0x78, 0x32, 0x44,
|
||||||
0x32, 0x44, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75,
|
0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e,
|
||||||
0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x78, 0x32, 0x46,
|
0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x72, 0x78, 0x32, 0x46, 0x72, 0x65,
|
||||||
0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73,
|
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||||
0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72,
|
0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72, 0x18, 0x09,
|
||||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69,
|
0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67,
|
||||||
0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x44, 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x6c, 0x61, 0x73,
|
0x53, 0x6c, 0x6f, 0x74, 0x44, 0x72, 0x12, 0x3c, 0x0a, 0x1b, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||||
0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72,
|
0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63,
|
0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x6c, 0x61,
|
||||||
0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x46, 0x72, 0x65,
|
0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x46, 0x72, 0x65, 0x71, 0x75,
|
||||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
0x65, 0x6e, 0x63, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73,
|
0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
|
||||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69,
|
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5b, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65,
|
0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75,
|
||||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72,
|
0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x69,
|
0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x15, 0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x69, 0x6e, 0x18,
|
||||||
0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x15,
|
0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72, 0x4d, 0x69, 0x6e, 0x12, 0x15, 0x0a, 0x06,
|
||||||
0x0a, 0x06, 0x64, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
|
0x64, 0x72, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x64, 0x72,
|
||||||
0x64, 0x72, 0x4d, 0x61, 0x78, 0x32, 0xb4, 0x08, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
|
0x4d, 0x61, 0x78, 0x32, 0xb4, 0x08, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
|
||||||
0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x4c, 0x6f, 0x67,
|
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e,
|
||||||
0x69, 0x6e, 0x12, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65,
|
0x12, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69,
|
0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52,
|
||||||
0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x07, 0x50,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x07, 0x50, 0x72, 0x6f,
|
||||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
0x66, 0x69, 0x6c, 0x65, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14,
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x14, 0x2e, 0x61,
|
||||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70,
|
0x70, 0x69, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
|
0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65,
|
||||||
0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f,
|
0x61, 0x72, 0x63, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61,
|
||||||
0x62, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x6c, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
|
||||||
0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x61,
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x65, 0x61, 0x72, 0x63,
|
||||||
0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a,
|
0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0c, 0x43,
|
||||||
0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e,
|
0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70,
|
||||||
0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79,
|
0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65,
|
||||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72,
|
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||||
0x65, 0x61, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
0x74, 0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||||
0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70,
|
0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x70, 0x69, 0x4b,
|
||||||
0x69, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
|
0x65, 0x79, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41,
|
||||||
0x65, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
|
0x70, 0x69, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
|
||||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
|
||||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74,
|
0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70,
|
||||||
0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69,
|
0x69, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74,
|
||||||
0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18,
|
||||||
0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65,
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x73,
|
||||||
0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08,
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x65,
|
||||||
0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||||
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x15,
|
||||||
|
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73,
|
||||||
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x49,
|
||||||
|
0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x1e, 0x2e,
|
||||||
|
0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||||
|
0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
|
||||||
|
0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
|
||||||
|
0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
|
||||||
|
0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75,
|
||||||
|
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44,
|
||||||
|
0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71,
|
||||||
|
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
|
||||||
|
0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70,
|
||||||
|
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74,
|
||||||
|
0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e, 0x2e, 0x61,
|
||||||
|
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75,
|
||||||
|
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61,
|
||||||
|
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75,
|
||||||
|
0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12,
|
||||||
|
0x48, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||||
|
0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72,
|
||||||
|
0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f,
|
||||||
|
0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72,
|
||||||
|
0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12,
|
||||||
|
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69,
|
||||||
|
0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||||
|
0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30,
|
||||||
|
0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||||
|
0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74,
|
||||||
|
0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73,
|
||||||
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f,
|
||||||
|
0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0b, 0x4c, 0x69, 0x73,
|
||||||
|
0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||||
0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52,
|
0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x4f, 0x70, 0x65,
|
0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x09,
|
||||||
0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12,
|
0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||||
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e,
|
0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||||
0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||||
0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x43, 0x6f, 0x6e, 0x6e,
|
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x54, 0x0a, 0x11, 0x69, 0x6f,
|
||||||
0x65, 0x63, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42,
|
||||||
0x22, 0x00, 0x12, 0x54, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73,
|
0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
|
0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69,
|
||||||
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52,
|
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
|
||||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74,
|
0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69,
|
||||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65,
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47,
|
|
||||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x1e,
|
|
||||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
|
||||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
|
|
||||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
|
||||||
0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
|
||||||
0x00, 0x12, 0x48, 0x0a, 0x13, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77,
|
|
||||||
0x61, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53,
|
|
||||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x61, 0x6d,
|
|
||||||
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
||||||
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53,
|
|
||||||
0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65,
|
|
||||||
0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65,
|
|
||||||
0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22,
|
|
||||||
0x00, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x12, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76,
|
|
||||||
0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
||||||
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e,
|
|
||||||
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
||||||
0x4c, 0x6f, 0x67, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x00, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0b, 0x4c,
|
|
||||||
0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
|
|
||||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
|
|
||||||
0x74, 0x79, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67,
|
|
||||||
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c,
|
|
||||||
0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x70,
|
|
||||||
0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
|
|
||||||
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x67, 0x69,
|
|
||||||
0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x54, 0x0a, 0x11,
|
|
||||||
0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70,
|
|
||||||
0x69, 0x42, 0x0d, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
13
api/grpc-web/api/gateway_pb.d.ts
vendored
13
api/grpc-web/api/gateway_pb.d.ts
vendored
@ -30,6 +30,9 @@ export class Gateway extends jspb.Message {
|
|||||||
getMetadataMap(): jspb.Map<string, string>;
|
getMetadataMap(): jspb.Map<string, string>;
|
||||||
clearMetadataMap(): Gateway;
|
clearMetadataMap(): Gateway;
|
||||||
|
|
||||||
|
getStatsInterval(): number;
|
||||||
|
setStatsInterval(value: number): Gateway;
|
||||||
|
|
||||||
serializeBinary(): Uint8Array;
|
serializeBinary(): Uint8Array;
|
||||||
toObject(includeInstance?: boolean): Gateway.AsObject;
|
toObject(includeInstance?: boolean): Gateway.AsObject;
|
||||||
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
||||||
@ -47,6 +50,7 @@ export namespace Gateway {
|
|||||||
tenantId: string,
|
tenantId: string,
|
||||||
tagsMap: Array<[string, string]>,
|
tagsMap: Array<[string, string]>,
|
||||||
metadataMap: Array<[string, string]>,
|
metadataMap: Array<[string, string]>,
|
||||||
|
statsInterval: number,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,6 +90,9 @@ export class GatewayListItem extends jspb.Message {
|
|||||||
hasLastSeenAt(): boolean;
|
hasLastSeenAt(): boolean;
|
||||||
clearLastSeenAt(): GatewayListItem;
|
clearLastSeenAt(): GatewayListItem;
|
||||||
|
|
||||||
|
getState(): GatewayState;
|
||||||
|
setState(value: GatewayState): GatewayListItem;
|
||||||
|
|
||||||
serializeBinary(): Uint8Array;
|
serializeBinary(): Uint8Array;
|
||||||
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
||||||
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
||||||
@ -105,6 +112,7 @@ export namespace GatewayListItem {
|
|||||||
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
|
state: GatewayState,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -416,3 +424,8 @@ export namespace GetGatewayMetricsResponse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum GatewayState {
|
||||||
|
NEVER_SEEN = 0,
|
||||||
|
ONLINE = 1,
|
||||||
|
OFFLINE = 2,
|
||||||
|
}
|
||||||
|
74
api/grpc-web/api/gateway_pb.js
vendored
74
api/grpc-web/api/gateway_pb.js
vendored
@ -24,6 +24,7 @@ goog.exportSymbol('proto.api.CreateGatewayRequest', null, global);
|
|||||||
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
||||||
goog.exportSymbol('proto.api.Gateway', null, global);
|
goog.exportSymbol('proto.api.Gateway', null, global);
|
||||||
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
||||||
|
goog.exportSymbol('proto.api.GatewayState', null, global);
|
||||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
||||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
||||||
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
||||||
@ -344,7 +345,8 @@ proto.api.Gateway.toObject = function(includeInstance, msg) {
|
|||||||
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
||||||
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
||||||
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : []
|
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
|
statsInterval: jspb.Message.getFieldWithDefault(msg, 8, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (includeInstance) {
|
if (includeInstance) {
|
||||||
@ -414,6 +416,10 @@ proto.api.Gateway.deserializeBinaryFromReader = function(msg, reader) {
|
|||||||
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case 8:
|
||||||
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
|
msg.setStatsInterval(value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
reader.skipField();
|
reader.skipField();
|
||||||
break;
|
break;
|
||||||
@ -487,6 +493,13 @@ proto.api.Gateway.serializeBinaryToWriter = function(message, writer) {
|
|||||||
if (f && f.getLength() > 0) {
|
if (f && f.getLength() > 0) {
|
||||||
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
||||||
}
|
}
|
||||||
|
f = message.getStatsInterval();
|
||||||
|
if (f !== 0) {
|
||||||
|
writer.writeUint32(
|
||||||
|
8,
|
||||||
|
f
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -643,6 +656,24 @@ proto.api.Gateway.prototype.clearMetadataMap = function() {
|
|||||||
return this;};
|
return this;};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* optional uint32 stats_interval = 8;
|
||||||
|
* @return {number}
|
||||||
|
*/
|
||||||
|
proto.api.Gateway.prototype.getStatsInterval = function() {
|
||||||
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number} value
|
||||||
|
* @return {!proto.api.Gateway} returns this
|
||||||
|
*/
|
||||||
|
proto.api.Gateway.prototype.setStatsInterval = function(value) {
|
||||||
|
return jspb.Message.setProto3IntField(this, 8, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -683,7 +714,8 @@ proto.api.GatewayListItem.toObject = function(includeInstance, msg) {
|
|||||||
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
|
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
|
state: jspb.Message.getFieldWithDefault(msg, 10, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (includeInstance) {
|
if (includeInstance) {
|
||||||
@ -762,6 +794,10 @@ proto.api.GatewayListItem.deserializeBinaryFromReader = function(msg, reader) {
|
|||||||
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
||||||
msg.setLastSeenAt(value);
|
msg.setLastSeenAt(value);
|
||||||
break;
|
break;
|
||||||
|
case 10:
|
||||||
|
var value = /** @type {!proto.api.GatewayState} */ (reader.readEnum());
|
||||||
|
msg.setState(value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
reader.skipField();
|
reader.skipField();
|
||||||
break;
|
break;
|
||||||
@ -855,6 +891,13 @@ proto.api.GatewayListItem.serializeBinaryToWriter = function(message, writer) {
|
|||||||
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
f = message.getState();
|
||||||
|
if (f !== 0.0) {
|
||||||
|
writer.writeEnum(
|
||||||
|
10,
|
||||||
|
f
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1100,6 +1143,24 @@ proto.api.GatewayListItem.prototype.hasLastSeenAt = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* optional GatewayState state = 10;
|
||||||
|
* @return {!proto.api.GatewayState}
|
||||||
|
*/
|
||||||
|
proto.api.GatewayListItem.prototype.getState = function() {
|
||||||
|
return /** @type {!proto.api.GatewayState} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {!proto.api.GatewayState} value
|
||||||
|
* @return {!proto.api.GatewayListItem} returns this
|
||||||
|
*/
|
||||||
|
proto.api.GatewayListItem.prototype.setState = function(value) {
|
||||||
|
return jspb.Message.setProto3EnumField(this, 10, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -3466,4 +3527,13 @@ proto.api.GetGatewayMetricsResponse.prototype.hasTxPacketsPerStatus = function()
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum {number}
|
||||||
|
*/
|
||||||
|
proto.api.GatewayState = {
|
||||||
|
NEVER_SEEN: 0,
|
||||||
|
ONLINE: 1,
|
||||||
|
OFFLINE: 2
|
||||||
|
};
|
||||||
|
|
||||||
goog.object.extend(exports, proto.api);
|
goog.object.extend(exports, proto.api);
|
||||||
|
12
api/grpc-web/api/internal_pb.d.ts
vendored
12
api/grpc-web/api/internal_pb.d.ts
vendored
@ -515,11 +515,11 @@ export namespace GetGatewaysSummaryRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class GetGatewaysSummaryResponse extends jspb.Message {
|
export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||||
getActiveCount(): number;
|
getOnlineCount(): number;
|
||||||
setActiveCount(value: number): GetGatewaysSummaryResponse;
|
setOnlineCount(value: number): GetGatewaysSummaryResponse;
|
||||||
|
|
||||||
getInactiveCount(): number;
|
getOfflineCount(): number;
|
||||||
setInactiveCount(value: number): GetGatewaysSummaryResponse;
|
setOfflineCount(value: number): GetGatewaysSummaryResponse;
|
||||||
|
|
||||||
getNeverSeenCount(): number;
|
getNeverSeenCount(): number;
|
||||||
setNeverSeenCount(value: number): GetGatewaysSummaryResponse;
|
setNeverSeenCount(value: number): GetGatewaysSummaryResponse;
|
||||||
@ -534,8 +534,8 @@ export class GetGatewaysSummaryResponse extends jspb.Message {
|
|||||||
|
|
||||||
export namespace GetGatewaysSummaryResponse {
|
export namespace GetGatewaysSummaryResponse {
|
||||||
export type AsObject = {
|
export type AsObject = {
|
||||||
activeCount: number,
|
onlineCount: number,
|
||||||
inactiveCount: number,
|
offlineCount: number,
|
||||||
neverSeenCount: number,
|
neverSeenCount: number,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
24
api/grpc-web/api/internal_pb.js
vendored
24
api/grpc-web/api/internal_pb.js
vendored
@ -4500,8 +4500,8 @@ proto.api.GetGatewaysSummaryResponse.prototype.toObject = function(opt_includeIn
|
|||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
||||||
var f, obj = {
|
var f, obj = {
|
||||||
activeCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
onlineCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||||
inactiveCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
offlineCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||||
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4541,11 +4541,11 @@ proto.api.GetGatewaysSummaryResponse.deserializeBinaryFromReader = function(msg,
|
|||||||
switch (field) {
|
switch (field) {
|
||||||
case 1:
|
case 1:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
msg.setActiveCount(value);
|
msg.setOnlineCount(value);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
msg.setInactiveCount(value);
|
msg.setOfflineCount(value);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
@ -4580,14 +4580,14 @@ proto.api.GetGatewaysSummaryResponse.prototype.serializeBinary = function() {
|
|||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
||||||
var f = undefined;
|
var f = undefined;
|
||||||
f = message.getActiveCount();
|
f = message.getOnlineCount();
|
||||||
if (f !== 0) {
|
if (f !== 0) {
|
||||||
writer.writeUint32(
|
writer.writeUint32(
|
||||||
1,
|
1,
|
||||||
f
|
f
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
f = message.getInactiveCount();
|
f = message.getOfflineCount();
|
||||||
if (f !== 0) {
|
if (f !== 0) {
|
||||||
writer.writeUint32(
|
writer.writeUint32(
|
||||||
2,
|
2,
|
||||||
@ -4605,10 +4605,10 @@ proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* optional uint32 active_count = 1;
|
* optional uint32 online_count = 1;
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
proto.api.GetGatewaysSummaryResponse.prototype.getOnlineCount = function() {
|
||||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4617,16 +4617,16 @@ proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
|||||||
* @param {number} value
|
* @param {number} value
|
||||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.setActiveCount = function(value) {
|
proto.api.GetGatewaysSummaryResponse.prototype.setOnlineCount = function(value) {
|
||||||
return jspb.Message.setProto3IntField(this, 1, value);
|
return jspb.Message.setProto3IntField(this, 1, value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* optional uint32 inactive_count = 2;
|
* optional uint32 offline_count = 2;
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
proto.api.GetGatewaysSummaryResponse.prototype.getOfflineCount = function() {
|
||||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4635,7 +4635,7 @@ proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
|||||||
* @param {number} value
|
* @param {number} value
|
||||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.setInactiveCount = function(value) {
|
proto.api.GetGatewaysSummaryResponse.prototype.setOfflineCount = function(value) {
|
||||||
return jspb.Message.setProto3IntField(this, 2, value);
|
return jspb.Message.setProto3IntField(this, 2, value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
16
api/js/api/gateway_pb.d.ts
vendored
16
api/js/api/gateway_pb.d.ts
vendored
@ -29,6 +29,9 @@ export class Gateway extends jspb.Message {
|
|||||||
clearTagsMap(): void;
|
clearTagsMap(): void;
|
||||||
getMetadataMap(): jspb.Map<string, string>;
|
getMetadataMap(): jspb.Map<string, string>;
|
||||||
clearMetadataMap(): void;
|
clearMetadataMap(): void;
|
||||||
|
getStatsInterval(): number;
|
||||||
|
setStatsInterval(value: number): void;
|
||||||
|
|
||||||
serializeBinary(): Uint8Array;
|
serializeBinary(): Uint8Array;
|
||||||
toObject(includeInstance?: boolean): Gateway.AsObject;
|
toObject(includeInstance?: boolean): Gateway.AsObject;
|
||||||
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
static toObject(includeInstance: boolean, msg: Gateway): Gateway.AsObject;
|
||||||
@ -48,6 +51,7 @@ export namespace Gateway {
|
|||||||
tenantId: string,
|
tenantId: string,
|
||||||
tagsMap: Array<[string, string]>,
|
tagsMap: Array<[string, string]>,
|
||||||
metadataMap: Array<[string, string]>,
|
metadataMap: Array<[string, string]>,
|
||||||
|
statsInterval: number,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -86,6 +90,9 @@ export class GatewayListItem extends jspb.Message {
|
|||||||
getLastSeenAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
|
getLastSeenAt(): google_protobuf_timestamp_pb.Timestamp | undefined;
|
||||||
setLastSeenAt(value?: google_protobuf_timestamp_pb.Timestamp): void;
|
setLastSeenAt(value?: google_protobuf_timestamp_pb.Timestamp): void;
|
||||||
|
|
||||||
|
getState(): GatewayStateMap[keyof GatewayStateMap];
|
||||||
|
setState(value: GatewayStateMap[keyof GatewayStateMap]): void;
|
||||||
|
|
||||||
serializeBinary(): Uint8Array;
|
serializeBinary(): Uint8Array;
|
||||||
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
toObject(includeInstance?: boolean): GatewayListItem.AsObject;
|
||||||
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
static toObject(includeInstance: boolean, msg: GatewayListItem): GatewayListItem.AsObject;
|
||||||
@ -107,6 +114,7 @@ export namespace GatewayListItem {
|
|||||||
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
createdAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
|
||||||
|
state: GatewayStateMap[keyof GatewayStateMap],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,3 +448,11 @@ export namespace GetGatewayMetricsResponse {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface GatewayStateMap {
|
||||||
|
NEVER_SEEN: 0;
|
||||||
|
ONLINE: 1;
|
||||||
|
OFFLINE: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const GatewayState: GatewayStateMap;
|
||||||
|
|
||||||
|
74
api/js/api/gateway_pb.js
vendored
74
api/js/api/gateway_pb.js
vendored
@ -24,6 +24,7 @@ goog.exportSymbol('proto.api.CreateGatewayRequest', null, global);
|
|||||||
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
goog.exportSymbol('proto.api.DeleteGatewayRequest', null, global);
|
||||||
goog.exportSymbol('proto.api.Gateway', null, global);
|
goog.exportSymbol('proto.api.Gateway', null, global);
|
||||||
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
goog.exportSymbol('proto.api.GatewayListItem', null, global);
|
||||||
|
goog.exportSymbol('proto.api.GatewayState', null, global);
|
||||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateRequest', null, global);
|
||||||
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
goog.exportSymbol('proto.api.GenerateGatewayClientCertificateResponse', null, global);
|
||||||
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
goog.exportSymbol('proto.api.GetGatewayMetricsRequest', null, global);
|
||||||
@ -344,7 +345,8 @@ proto.api.Gateway.toObject = function(includeInstance, msg) {
|
|||||||
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
location: (f = msg.getLocation()) && common_common_pb.Location.toObject(includeInstance, f),
|
||||||
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
tenantId: jspb.Message.getFieldWithDefault(msg, 5, ""),
|
||||||
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : []
|
metadataMap: (f = msg.getMetadataMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
|
statsInterval: jspb.Message.getFieldWithDefault(msg, 8, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (includeInstance) {
|
if (includeInstance) {
|
||||||
@ -414,6 +416,10 @@ proto.api.Gateway.deserializeBinaryFromReader = function(msg, reader) {
|
|||||||
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case 8:
|
||||||
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
|
msg.setStatsInterval(value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
reader.skipField();
|
reader.skipField();
|
||||||
break;
|
break;
|
||||||
@ -487,6 +493,13 @@ proto.api.Gateway.serializeBinaryToWriter = function(message, writer) {
|
|||||||
if (f && f.getLength() > 0) {
|
if (f && f.getLength() > 0) {
|
||||||
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
f.serializeBinary(7, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
|
||||||
}
|
}
|
||||||
|
f = message.getStatsInterval();
|
||||||
|
if (f !== 0) {
|
||||||
|
writer.writeUint32(
|
||||||
|
8,
|
||||||
|
f
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -643,6 +656,24 @@ proto.api.Gateway.prototype.clearMetadataMap = function() {
|
|||||||
return this;};
|
return this;};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* optional uint32 stats_interval = 8;
|
||||||
|
* @return {number}
|
||||||
|
*/
|
||||||
|
proto.api.Gateway.prototype.getStatsInterval = function() {
|
||||||
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number} value
|
||||||
|
* @return {!proto.api.Gateway} returns this
|
||||||
|
*/
|
||||||
|
proto.api.Gateway.prototype.setStatsInterval = function(value) {
|
||||||
|
return jspb.Message.setProto3IntField(this, 8, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -683,7 +714,8 @@ proto.api.GatewayListItem.toObject = function(includeInstance, msg) {
|
|||||||
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
propertiesMap: (f = msg.getPropertiesMap()) ? f.toObject(includeInstance, undefined) : [],
|
||||||
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f)
|
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
|
||||||
|
state: jspb.Message.getFieldWithDefault(msg, 10, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
if (includeInstance) {
|
if (includeInstance) {
|
||||||
@ -762,6 +794,10 @@ proto.api.GatewayListItem.deserializeBinaryFromReader = function(msg, reader) {
|
|||||||
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
reader.readMessage(value,google_protobuf_timestamp_pb.Timestamp.deserializeBinaryFromReader);
|
||||||
msg.setLastSeenAt(value);
|
msg.setLastSeenAt(value);
|
||||||
break;
|
break;
|
||||||
|
case 10:
|
||||||
|
var value = /** @type {!proto.api.GatewayState} */ (reader.readEnum());
|
||||||
|
msg.setState(value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
reader.skipField();
|
reader.skipField();
|
||||||
break;
|
break;
|
||||||
@ -855,6 +891,13 @@ proto.api.GatewayListItem.serializeBinaryToWriter = function(message, writer) {
|
|||||||
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
google_protobuf_timestamp_pb.Timestamp.serializeBinaryToWriter
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
f = message.getState();
|
||||||
|
if (f !== 0.0) {
|
||||||
|
writer.writeEnum(
|
||||||
|
10,
|
||||||
|
f
|
||||||
|
);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -1100,6 +1143,24 @@ proto.api.GatewayListItem.prototype.hasLastSeenAt = function() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* optional GatewayState state = 10;
|
||||||
|
* @return {!proto.api.GatewayState}
|
||||||
|
*/
|
||||||
|
proto.api.GatewayListItem.prototype.getState = function() {
|
||||||
|
return /** @type {!proto.api.GatewayState} */ (jspb.Message.getFieldWithDefault(this, 10, 0));
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {!proto.api.GatewayState} value
|
||||||
|
* @return {!proto.api.GatewayListItem} returns this
|
||||||
|
*/
|
||||||
|
proto.api.GatewayListItem.prototype.setState = function(value) {
|
||||||
|
return jspb.Message.setProto3EnumField(this, 10, value);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -3466,4 +3527,13 @@ proto.api.GetGatewayMetricsResponse.prototype.hasTxPacketsPerStatus = function()
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @enum {number}
|
||||||
|
*/
|
||||||
|
proto.api.GatewayState = {
|
||||||
|
NEVER_SEEN: 0,
|
||||||
|
ONLINE: 1,
|
||||||
|
OFFLINE: 2
|
||||||
|
};
|
||||||
|
|
||||||
goog.object.extend(exports, proto.api);
|
goog.object.extend(exports, proto.api);
|
||||||
|
12
api/js/api/internal_pb.d.ts
vendored
12
api/js/api/internal_pb.d.ts
vendored
@ -555,11 +555,11 @@ export namespace GetGatewaysSummaryRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class GetGatewaysSummaryResponse extends jspb.Message {
|
export class GetGatewaysSummaryResponse extends jspb.Message {
|
||||||
getActiveCount(): number;
|
getOnlineCount(): number;
|
||||||
setActiveCount(value: number): void;
|
setOnlineCount(value: number): void;
|
||||||
|
|
||||||
getInactiveCount(): number;
|
getOfflineCount(): number;
|
||||||
setInactiveCount(value: number): void;
|
setOfflineCount(value: number): void;
|
||||||
|
|
||||||
getNeverSeenCount(): number;
|
getNeverSeenCount(): number;
|
||||||
setNeverSeenCount(value: number): void;
|
setNeverSeenCount(value: number): void;
|
||||||
@ -576,8 +576,8 @@ export class GetGatewaysSummaryResponse extends jspb.Message {
|
|||||||
|
|
||||||
export namespace GetGatewaysSummaryResponse {
|
export namespace GetGatewaysSummaryResponse {
|
||||||
export type AsObject = {
|
export type AsObject = {
|
||||||
activeCount: number,
|
onlineCount: number,
|
||||||
inactiveCount: number,
|
offlineCount: number,
|
||||||
neverSeenCount: number,
|
neverSeenCount: number,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
24
api/js/api/internal_pb.js
vendored
24
api/js/api/internal_pb.js
vendored
@ -4500,8 +4500,8 @@ proto.api.GetGatewaysSummaryResponse.prototype.toObject = function(opt_includeIn
|
|||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
proto.api.GetGatewaysSummaryResponse.toObject = function(includeInstance, msg) {
|
||||||
var f, obj = {
|
var f, obj = {
|
||||||
activeCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
onlineCount: jspb.Message.getFieldWithDefault(msg, 1, 0),
|
||||||
inactiveCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
offlineCount: jspb.Message.getFieldWithDefault(msg, 2, 0),
|
||||||
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
neverSeenCount: jspb.Message.getFieldWithDefault(msg, 3, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4541,11 +4541,11 @@ proto.api.GetGatewaysSummaryResponse.deserializeBinaryFromReader = function(msg,
|
|||||||
switch (field) {
|
switch (field) {
|
||||||
case 1:
|
case 1:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
msg.setActiveCount(value);
|
msg.setOnlineCount(value);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
msg.setInactiveCount(value);
|
msg.setOfflineCount(value);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
var value = /** @type {number} */ (reader.readUint32());
|
var value = /** @type {number} */ (reader.readUint32());
|
||||||
@ -4580,14 +4580,14 @@ proto.api.GetGatewaysSummaryResponse.prototype.serializeBinary = function() {
|
|||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message, writer) {
|
||||||
var f = undefined;
|
var f = undefined;
|
||||||
f = message.getActiveCount();
|
f = message.getOnlineCount();
|
||||||
if (f !== 0) {
|
if (f !== 0) {
|
||||||
writer.writeUint32(
|
writer.writeUint32(
|
||||||
1,
|
1,
|
||||||
f
|
f
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
f = message.getInactiveCount();
|
f = message.getOfflineCount();
|
||||||
if (f !== 0) {
|
if (f !== 0) {
|
||||||
writer.writeUint32(
|
writer.writeUint32(
|
||||||
2,
|
2,
|
||||||
@ -4605,10 +4605,10 @@ proto.api.GetGatewaysSummaryResponse.serializeBinaryToWriter = function(message,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* optional uint32 active_count = 1;
|
* optional uint32 online_count = 1;
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
proto.api.GetGatewaysSummaryResponse.prototype.getOnlineCount = function() {
|
||||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 1, 0));
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4617,16 +4617,16 @@ proto.api.GetGatewaysSummaryResponse.prototype.getActiveCount = function() {
|
|||||||
* @param {number} value
|
* @param {number} value
|
||||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.setActiveCount = function(value) {
|
proto.api.GetGatewaysSummaryResponse.prototype.setOnlineCount = function(value) {
|
||||||
return jspb.Message.setProto3IntField(this, 1, value);
|
return jspb.Message.setProto3IntField(this, 1, value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* optional uint32 inactive_count = 2;
|
* optional uint32 offline_count = 2;
|
||||||
* @return {number}
|
* @return {number}
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
proto.api.GetGatewaysSummaryResponse.prototype.getOfflineCount = function() {
|
||||||
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 2, 0));
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4635,7 +4635,7 @@ proto.api.GetGatewaysSummaryResponse.prototype.getInactiveCount = function() {
|
|||||||
* @param {number} value
|
* @param {number} value
|
||||||
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
* @return {!proto.api.GetGatewaysSummaryResponse} returns this
|
||||||
*/
|
*/
|
||||||
proto.api.GetGatewaysSummaryResponse.prototype.setInactiveCount = function(value) {
|
proto.api.GetGatewaysSummaryResponse.prototype.setOfflineCount = function(value) {
|
||||||
return jspb.Message.setProto3IntField(this, 2, value);
|
return jspb.Message.setProto3IntField(this, 2, value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
19
api/md/api/api.md
vendored
19
api/md/api/api.md
vendored
@ -176,6 +176,8 @@
|
|||||||
- [ListGatewaysResponse](#api-ListGatewaysResponse)
|
- [ListGatewaysResponse](#api-ListGatewaysResponse)
|
||||||
- [UpdateGatewayRequest](#api-UpdateGatewayRequest)
|
- [UpdateGatewayRequest](#api-UpdateGatewayRequest)
|
||||||
|
|
||||||
|
- [GatewayState](#api-GatewayState)
|
||||||
|
|
||||||
- [GatewayService](#api-GatewayService)
|
- [GatewayService](#api-GatewayService)
|
||||||
|
|
||||||
- [api/multicast_group.proto](#api_multicast_group-proto)
|
- [api/multicast_group.proto](#api_multicast_group-proto)
|
||||||
@ -2381,7 +2383,7 @@ DeviceService is the service providing API methods for managing devices.
|
|||||||
| payload_codec_runtime | [CodecRuntime](#api-CodecRuntime) | | Payload codec runtime. |
|
| payload_codec_runtime | [CodecRuntime](#api-CodecRuntime) | | Payload codec runtime. |
|
||||||
| payload_codec_script | [string](#string) | | Payload codec script. |
|
| payload_codec_script | [string](#string) | | Payload codec script. |
|
||||||
| flush_queue_on_activate | [bool](#bool) | | Flush queue on device activation. |
|
| flush_queue_on_activate | [bool](#bool) | | Flush queue on device activation. |
|
||||||
| uplink_interval | [uint32](#uint32) | | Uplink interval (seconds). This defines the expected uplink interval which the device uses for communication. When the uplink interval has expired and no uplink has been received, the device is considered inactive. |
|
| uplink_interval | [uint32](#uint32) | | Uplink interval (seconds). This defines the expected uplink interval which the device uses for communication. If the uplink interval has expired and no uplink has been received, the device is considered inactive. |
|
||||||
| device_status_req_interval | [uint32](#uint32) | | Device-status request interval (times / day). This defines the times per day that ChirpStack will request the device-status from the device. |
|
| device_status_req_interval | [uint32](#uint32) | | Device-status request interval (times / day). This defines the times per day that ChirpStack will request the device-status from the device. |
|
||||||
| supports_otaa | [bool](#bool) | | Supports OTAA. |
|
| supports_otaa | [bool](#bool) | | Supports OTAA. |
|
||||||
| supports_class_b | [bool](#bool) | | Supports Class B. |
|
| supports_class_b | [bool](#bool) | | Supports Class B. |
|
||||||
@ -2739,6 +2741,7 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
|||||||
| tenant_id | [string](#string) | | Tenant ID (UUID). |
|
| tenant_id | [string](#string) | | Tenant ID (UUID). |
|
||||||
| tags | [Gateway.TagsEntry](#api-Gateway-TagsEntry) | repeated | Tags. |
|
| tags | [Gateway.TagsEntry](#api-Gateway-TagsEntry) | repeated | Tags. |
|
||||||
| metadata | [Gateway.MetadataEntry](#api-Gateway-MetadataEntry) | repeated | Metadata (provided by the gateway). |
|
| metadata | [Gateway.MetadataEntry](#api-Gateway-MetadataEntry) | repeated | Metadata (provided by the gateway). |
|
||||||
|
| stats_interval | [uint32](#uint32) | | Stats interval (seconds). This defines the expected interval in which the gateway sends its statistics. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2794,6 +2797,7 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
|||||||
| created_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Created at timestamp. |
|
| created_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Created at timestamp. |
|
||||||
| updated_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last update timestamp. |
|
| updated_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last update timestamp. |
|
||||||
| last_seen_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last seen at timestamp. |
|
| last_seen_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | Last seen at timestamp. |
|
||||||
|
| state | [GatewayState](#api-GatewayState) | | Gateway state. Please note that the state of the gateway is driven by the stats packages that are sent by the gateway. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -2972,6 +2976,19 @@ DeviceProfileService is the service providing API methods for managing device-pr
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a name="api-GatewayState"></a>
|
||||||
|
|
||||||
|
### GatewayState
|
||||||
|
|
||||||
|
|
||||||
|
| Name | Number | Description |
|
||||||
|
| ---- | ------ | ----------- |
|
||||||
|
| NEVER_SEEN | 0 | The gateway has never sent any stats. |
|
||||||
|
| ONLINE | 1 | Online. |
|
||||||
|
| OFFLINE | 2 | Offline. |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2
api/proto/api/device_profile.proto
vendored
2
api/proto/api/device_profile.proto
vendored
@ -124,7 +124,7 @@ message DeviceProfile {
|
|||||||
|
|
||||||
// Uplink interval (seconds).
|
// Uplink interval (seconds).
|
||||||
// This defines the expected uplink interval which the device uses for
|
// This defines the expected uplink interval which the device uses for
|
||||||
// communication. When the uplink interval has expired and no uplink has
|
// communication. If the uplink interval has expired and no uplink has
|
||||||
// been received, the device is considered inactive.
|
// been received, the device is considered inactive.
|
||||||
uint32 uplink_interval = 11;
|
uint32 uplink_interval = 11;
|
||||||
|
|
||||||
|
21
api/proto/api/gateway.proto
vendored
21
api/proto/api/gateway.proto
vendored
@ -66,6 +66,17 @@ service GatewayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GatewayState {
|
||||||
|
// The gateway has never sent any stats.
|
||||||
|
NEVER_SEEN = 0;
|
||||||
|
|
||||||
|
// Online.
|
||||||
|
ONLINE = 1;
|
||||||
|
|
||||||
|
// Offline.
|
||||||
|
OFFLINE = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message Gateway {
|
message Gateway {
|
||||||
// Gateway ID (EUI64).
|
// Gateway ID (EUI64).
|
||||||
string gateway_id = 1;
|
string gateway_id = 1;
|
||||||
@ -87,6 +98,11 @@ message Gateway {
|
|||||||
|
|
||||||
// Metadata (provided by the gateway).
|
// Metadata (provided by the gateway).
|
||||||
map<string, string> metadata = 7;
|
map<string, string> metadata = 7;
|
||||||
|
|
||||||
|
// Stats interval (seconds).
|
||||||
|
// This defines the expected interval in which the gateway sends its
|
||||||
|
// statistics.
|
||||||
|
uint32 stats_interval = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GatewayListItem {
|
message GatewayListItem {
|
||||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
|||||||
|
|
||||||
// Last seen at timestamp.
|
// Last seen at timestamp.
|
||||||
google.protobuf.Timestamp last_seen_at = 9;
|
google.protobuf.Timestamp last_seen_at = 9;
|
||||||
|
|
||||||
|
// Gateway state.
|
||||||
|
// Please note that the state of the gateway is driven by the stats
|
||||||
|
// packages that are sent by the gateway.
|
||||||
|
GatewayState state = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateGatewayRequest {
|
message CreateGatewayRequest {
|
||||||
|
8
api/proto/api/internal.proto
vendored
8
api/proto/api/internal.proto
vendored
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message GetGatewaysSummaryResponse {
|
message GetGatewaysSummaryResponse {
|
||||||
// Active count.
|
// Online count.
|
||||||
uint32 active_count = 1;
|
uint32 online_count = 1;
|
||||||
|
|
||||||
// Inactive count.
|
// Offline count.
|
||||||
uint32 inactive_count = 2;
|
uint32 offline_count = 2;
|
||||||
|
|
||||||
// Never seen count.
|
// Never seen count.
|
||||||
uint32 never_seen_count = 3;
|
uint32 never_seen_count = 3;
|
||||||
|
@ -124,7 +124,7 @@ message DeviceProfile {
|
|||||||
|
|
||||||
// Uplink interval (seconds).
|
// Uplink interval (seconds).
|
||||||
// This defines the expected uplink interval which the device uses for
|
// This defines the expected uplink interval which the device uses for
|
||||||
// communication. When the uplink interval has expired and no uplink has
|
// communication. If the uplink interval has expired and no uplink has
|
||||||
// been received, the device is considered inactive.
|
// been received, the device is considered inactive.
|
||||||
uint32 uplink_interval = 11;
|
uint32 uplink_interval = 11;
|
||||||
|
|
||||||
|
@ -66,6 +66,17 @@ service GatewayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GatewayState {
|
||||||
|
// The gateway has never sent any stats.
|
||||||
|
NEVER_SEEN = 0;
|
||||||
|
|
||||||
|
// Online.
|
||||||
|
ONLINE = 1;
|
||||||
|
|
||||||
|
// Offline.
|
||||||
|
OFFLINE = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message Gateway {
|
message Gateway {
|
||||||
// Gateway ID (EUI64).
|
// Gateway ID (EUI64).
|
||||||
string gateway_id = 1;
|
string gateway_id = 1;
|
||||||
@ -87,6 +98,11 @@ message Gateway {
|
|||||||
|
|
||||||
// Metadata (provided by the gateway).
|
// Metadata (provided by the gateway).
|
||||||
map<string, string> metadata = 7;
|
map<string, string> metadata = 7;
|
||||||
|
|
||||||
|
// Stats interval (seconds).
|
||||||
|
// This defines the expected interval in which the gateway sends its
|
||||||
|
// statistics.
|
||||||
|
uint32 stats_interval = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GatewayListItem {
|
message GatewayListItem {
|
||||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
|||||||
|
|
||||||
// Last seen at timestamp.
|
// Last seen at timestamp.
|
||||||
google.protobuf.Timestamp last_seen_at = 9;
|
google.protobuf.Timestamp last_seen_at = 9;
|
||||||
|
|
||||||
|
// Gateway state.
|
||||||
|
// Please note that the state of the gateway is driven by the stats
|
||||||
|
// packages that are sent by the gateway.
|
||||||
|
GatewayState state = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateGatewayRequest {
|
message CreateGatewayRequest {
|
||||||
|
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message GetGatewaysSummaryResponse {
|
message GetGatewaysSummaryResponse {
|
||||||
// Active count.
|
// Online count.
|
||||||
uint32 active_count = 1;
|
uint32 online_count = 1;
|
||||||
|
|
||||||
// Inactive count.
|
// Offline count.
|
||||||
uint32 inactive_count = 2;
|
uint32 offline_count = 2;
|
||||||
|
|
||||||
// Never seen count.
|
// Never seen count.
|
||||||
uint32 never_seen_count = 3;
|
uint32 never_seen_count = 3;
|
||||||
|
70
api/python/src/chirpstack_api/api/gateway_pb2.py
vendored
70
api/python/src/chirpstack_api/api/gateway_pb2.py
vendored
@ -17,7 +17,7 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
|
|||||||
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
from chirpstack_api.common import common_pb2 as chirpstack__api_dot_common_dot_common__pb2
|
||||||
|
|
||||||
|
|
||||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n chirpstack-api/api/gateway.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xa9\x02\n\x07Gateway\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\x12\x11\n\ttenant_id\x18\x05 \x01(\t\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x16.api.Gateway.TagsEntry\x12,\n\x08metadata\x18\x07 \x03(\x0b\x32\x1a.api.Gateway.MetadataEntry\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xfe\x02\n\x0fGatewayListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\"\n\x08location\x18\x05 \x01(\x0b\x32\x10.common.Location\x12\x38\n\nproperties\x18\x06 \x03(\x0b\x32$.api.GatewayListItem.PropertiesEntry\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"5\n\x14\x43reateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"\'\n\x11GetGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\xc5\x01\n\x12GetGatewayResponse\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"5\n\x14UpdateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"*\n\x14\x44\x65leteGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"W\n\x13ListGatewaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"Q\n\x14ListGatewaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.GatewayListItem\"=\n\'GenerateGatewayClientCertificateRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\x8e\x01\n(GenerateGatewayClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x18GetGatewayMetricsRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xc2\x02\n\x19GetGatewayMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\"\n\ntx_packets\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13tx_packets_per_freq\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11tx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x06 \x01(\x0b\x32\x0e.common.Metric\x12-\n\x15tx_packets_per_status\x18\x07 \x01(\x0b\x32\x0e.common.Metric2\x91\x06\n\x0eGatewayService\x12U\n\x06\x43reate\x12\x19.api.CreateGatewayRequest\x1a\x16.google.protobuf.Empty\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/api/gateways:\x01*\x12Z\n\x03Get\x12\x16.api.GetGatewayRequest\x1a\x17.api.GetGatewayResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/gateways/{gateway_id}\x12j\n\x06Update\x12\x19.api.UpdateGatewayRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/gateways/{gateway.gateway_id}:\x01*\x12_\n\x06\x44\x65lete\x12\x19.api.DeleteGatewayRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/gateways/{gateway_id}\x12R\n\x04List\x12\x18.api.ListGatewaysRequest\x1a\x19.api.ListGatewaysResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/gateways\x12\xb1\x01\n\x19GenerateClientCertificate\x12,.api.GenerateGatewayClientCertificateRequest\x1a-.api.GenerateGatewayClientCertificateResponse\"7\x82\xd3\xe4\x93\x02\x31\"//api/gateways/{gateway_id}/generate-certificate\x12w\n\nGetMetrics\x12\x1d.api.GetGatewayMetricsRequest\x1a\x1e.api.GetGatewayMetricsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/gateways/{gateway_id}/metricsBS\n\x11io.chirpstack.apiB\x0cGatewayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/apib\x06proto3')
|
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n chirpstack-api/api/gateway.proto\x12\x03\x61pi\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"chirpstack-api/common/common.proto\"\xc1\x02\n\x07Gateway\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x12\"\n\x08location\x18\x04 \x01(\x0b\x32\x10.common.Location\x12\x11\n\ttenant_id\x18\x05 \x01(\t\x12$\n\x04tags\x18\x06 \x03(\x0b\x32\x16.api.Gateway.TagsEntry\x12,\n\x08metadata\x18\x07 \x03(\x0b\x32\x1a.api.Gateway.MetadataEntry\x12\x16\n\x0estats_interval\x18\x08 \x01(\r\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa0\x03\n\x0fGatewayListItem\x12\x11\n\ttenant_id\x18\x01 \x01(\t\x12\x12\n\ngateway_id\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t\x12\"\n\x08location\x18\x05 \x01(\x0b\x32\x10.common.Location\x12\x38\n\nproperties\x18\x06 \x03(\x0b\x32$.api.GatewayListItem.PropertiesEntry\x12.\n\ncreated_at\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\t \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12 \n\x05state\x18\n \x01(\x0e\x32\x11.api.GatewayState\x1a\x31\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"5\n\x14\x43reateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"\'\n\x11GetGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\xc5\x01\n\x12GetGatewayResponse\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\x12.\n\ncreated_at\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\nupdated_at\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x30\n\x0clast_seen_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"5\n\x14UpdateGatewayRequest\x12\x1d\n\x07gateway\x18\x01 \x01(\x0b\x32\x0c.api.Gateway\"*\n\x14\x44\x65leteGatewayRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"W\n\x13ListGatewaysRequest\x12\r\n\x05limit\x18\x01 \x01(\r\x12\x0e\n\x06offset\x18\x02 \x01(\r\x12\x0e\n\x06search\x18\x03 \x01(\t\x12\x11\n\ttenant_id\x18\x04 \x01(\t\"Q\n\x14ListGatewaysResponse\x12\x13\n\x0btotal_count\x18\x01 \x01(\r\x12$\n\x06result\x18\x02 \x03(\x0b\x32\x14.api.GatewayListItem\"=\n\'GenerateGatewayClientCertificateRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\"\x8e\x01\n(GenerateGatewayClientCertificateResponse\x12\x10\n\x08tls_cert\x18\x01 \x01(\t\x12\x0f\n\x07tls_key\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61_cert\x18\x03 \x01(\t\x12.\n\nexpires_at\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xac\x01\n\x18GetGatewayMetricsRequest\x12\x12\n\ngateway_id\x18\x01 \x01(\t\x12)\n\x05start\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03\x65nd\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12(\n\x0b\x61ggregation\x18\x04 \x01(\x0e\x32\x13.common.Aggregation\"\xc2\x02\n\x19GetGatewayMetricsResponse\x12\"\n\nrx_packets\x18\x01 \x01(\x0b\x32\x0e.common.Metric\x12\"\n\ntx_packets\x18\x02 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13tx_packets_per_freq\x18\x03 \x01(\x0b\x32\x0e.common.Metric\x12+\n\x13rx_packets_per_freq\x18\x04 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11tx_packets_per_dr\x18\x05 \x01(\x0b\x32\x0e.common.Metric\x12)\n\x11rx_packets_per_dr\x18\x06 \x01(\x0b\x32\x0e.common.Metric\x12-\n\x15tx_packets_per_status\x18\x07 \x01(\x0b\x32\x0e.common.Metric*7\n\x0cGatewayState\x12\x0e\n\nNEVER_SEEN\x10\x00\x12\n\n\x06ONLINE\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02\x32\x91\x06\n\x0eGatewayService\x12U\n\x06\x43reate\x12\x19.api.CreateGatewayRequest\x1a\x16.google.protobuf.Empty\"\x18\x82\xd3\xe4\x93\x02\x12\"\r/api/gateways:\x01*\x12Z\n\x03Get\x12\x16.api.GetGatewayRequest\x1a\x17.api.GetGatewayResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/gateways/{gateway_id}\x12j\n\x06Update\x12\x19.api.UpdateGatewayRequest\x1a\x16.google.protobuf.Empty\"-\x82\xd3\xe4\x93\x02\'\x1a\"/api/gateways/{gateway.gateway_id}:\x01*\x12_\n\x06\x44\x65lete\x12\x19.api.DeleteGatewayRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/gateways/{gateway_id}\x12R\n\x04List\x12\x18.api.ListGatewaysRequest\x1a\x19.api.ListGatewaysResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r/api/gateways\x12\xb1\x01\n\x19GenerateClientCertificate\x12,.api.GenerateGatewayClientCertificateRequest\x1a-.api.GenerateGatewayClientCertificateResponse\"7\x82\xd3\xe4\x93\x02\x31\"//api/gateways/{gateway_id}/generate-certificate\x12w\n\nGetMetrics\x12\x1d.api.GetGatewayMetricsRequest\x1a\x1e.api.GetGatewayMetricsResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/gateways/{gateway_id}/metricsBS\n\x11io.chirpstack.apiB\x0cGatewayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/apib\x06proto3')
|
||||||
|
|
||||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals())
|
||||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.gateway_pb2', globals())
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'chirpstack_api.api.gateway_pb2', globals())
|
||||||
@ -45,38 +45,40 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|||||||
_GATEWAYSERVICE.methods_by_name['GenerateClientCertificate']._serialized_options = b'\202\323\344\223\0021\"//api/gateways/{gateway_id}/generate-certificate'
|
_GATEWAYSERVICE.methods_by_name['GenerateClientCertificate']._serialized_options = b'\202\323\344\223\0021\"//api/gateways/{gateway_id}/generate-certificate'
|
||||||
_GATEWAYSERVICE.methods_by_name['GetMetrics']._options = None
|
_GATEWAYSERVICE.methods_by_name['GetMetrics']._options = None
|
||||||
_GATEWAYSERVICE.methods_by_name['GetMetrics']._serialized_options = b'\202\323\344\223\002$\022\"/api/gateways/{gateway_id}/metrics'
|
_GATEWAYSERVICE.methods_by_name['GetMetrics']._serialized_options = b'\202\323\344\223\002$\022\"/api/gateways/{gateway_id}/metrics'
|
||||||
|
_GATEWAYSTATE._serialized_start=2187
|
||||||
|
_GATEWAYSTATE._serialized_end=2242
|
||||||
_GATEWAY._serialized_start=170
|
_GATEWAY._serialized_start=170
|
||||||
_GATEWAY._serialized_end=467
|
_GATEWAY._serialized_end=491
|
||||||
_GATEWAY_TAGSENTRY._serialized_start=375
|
_GATEWAY_TAGSENTRY._serialized_start=399
|
||||||
_GATEWAY_TAGSENTRY._serialized_end=418
|
_GATEWAY_TAGSENTRY._serialized_end=442
|
||||||
_GATEWAY_METADATAENTRY._serialized_start=420
|
_GATEWAY_METADATAENTRY._serialized_start=444
|
||||||
_GATEWAY_METADATAENTRY._serialized_end=467
|
_GATEWAY_METADATAENTRY._serialized_end=491
|
||||||
_GATEWAYLISTITEM._serialized_start=470
|
_GATEWAYLISTITEM._serialized_start=494
|
||||||
_GATEWAYLISTITEM._serialized_end=852
|
_GATEWAYLISTITEM._serialized_end=910
|
||||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_start=803
|
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_start=861
|
||||||
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_end=852
|
_GATEWAYLISTITEM_PROPERTIESENTRY._serialized_end=910
|
||||||
_CREATEGATEWAYREQUEST._serialized_start=854
|
_CREATEGATEWAYREQUEST._serialized_start=912
|
||||||
_CREATEGATEWAYREQUEST._serialized_end=907
|
_CREATEGATEWAYREQUEST._serialized_end=965
|
||||||
_GETGATEWAYREQUEST._serialized_start=909
|
_GETGATEWAYREQUEST._serialized_start=967
|
||||||
_GETGATEWAYREQUEST._serialized_end=948
|
_GETGATEWAYREQUEST._serialized_end=1006
|
||||||
_GETGATEWAYRESPONSE._serialized_start=951
|
_GETGATEWAYRESPONSE._serialized_start=1009
|
||||||
_GETGATEWAYRESPONSE._serialized_end=1148
|
_GETGATEWAYRESPONSE._serialized_end=1206
|
||||||
_UPDATEGATEWAYREQUEST._serialized_start=1150
|
_UPDATEGATEWAYREQUEST._serialized_start=1208
|
||||||
_UPDATEGATEWAYREQUEST._serialized_end=1203
|
_UPDATEGATEWAYREQUEST._serialized_end=1261
|
||||||
_DELETEGATEWAYREQUEST._serialized_start=1205
|
_DELETEGATEWAYREQUEST._serialized_start=1263
|
||||||
_DELETEGATEWAYREQUEST._serialized_end=1247
|
_DELETEGATEWAYREQUEST._serialized_end=1305
|
||||||
_LISTGATEWAYSREQUEST._serialized_start=1249
|
_LISTGATEWAYSREQUEST._serialized_start=1307
|
||||||
_LISTGATEWAYSREQUEST._serialized_end=1336
|
_LISTGATEWAYSREQUEST._serialized_end=1394
|
||||||
_LISTGATEWAYSRESPONSE._serialized_start=1338
|
_LISTGATEWAYSRESPONSE._serialized_start=1396
|
||||||
_LISTGATEWAYSRESPONSE._serialized_end=1419
|
_LISTGATEWAYSRESPONSE._serialized_end=1477
|
||||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_start=1421
|
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_start=1479
|
||||||
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_end=1482
|
_GENERATEGATEWAYCLIENTCERTIFICATEREQUEST._serialized_end=1540
|
||||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_start=1485
|
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_start=1543
|
||||||
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_end=1627
|
_GENERATEGATEWAYCLIENTCERTIFICATERESPONSE._serialized_end=1685
|
||||||
_GETGATEWAYMETRICSREQUEST._serialized_start=1630
|
_GETGATEWAYMETRICSREQUEST._serialized_start=1688
|
||||||
_GETGATEWAYMETRICSREQUEST._serialized_end=1802
|
_GETGATEWAYMETRICSREQUEST._serialized_end=1860
|
||||||
_GETGATEWAYMETRICSRESPONSE._serialized_start=1805
|
_GETGATEWAYMETRICSRESPONSE._serialized_start=1863
|
||||||
_GETGATEWAYMETRICSRESPONSE._serialized_end=2127
|
_GETGATEWAYMETRICSRESPONSE._serialized_end=2185
|
||||||
_GATEWAYSERVICE._serialized_start=2130
|
_GATEWAYSERVICE._serialized_start=2245
|
||||||
_GATEWAYSERVICE._serialized_end=2915
|
_GATEWAYSERVICE._serialized_end=3030
|
||||||
# @@protoc_insertion_point(module_scope)
|
# @@protoc_insertion_point(module_scope)
|
||||||
|
File diff suppressed because one or more lines are too long
@ -124,7 +124,7 @@ message DeviceProfile {
|
|||||||
|
|
||||||
// Uplink interval (seconds).
|
// Uplink interval (seconds).
|
||||||
// This defines the expected uplink interval which the device uses for
|
// This defines the expected uplink interval which the device uses for
|
||||||
// communication. When the uplink interval has expired and no uplink has
|
// communication. If the uplink interval has expired and no uplink has
|
||||||
// been received, the device is considered inactive.
|
// been received, the device is considered inactive.
|
||||||
uint32 uplink_interval = 11;
|
uint32 uplink_interval = 11;
|
||||||
|
|
||||||
|
21
api/rust/proto/chirpstack/api/gateway.proto
vendored
21
api/rust/proto/chirpstack/api/gateway.proto
vendored
@ -66,6 +66,17 @@ service GatewayService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GatewayState {
|
||||||
|
// The gateway has never sent any stats.
|
||||||
|
NEVER_SEEN = 0;
|
||||||
|
|
||||||
|
// Online.
|
||||||
|
ONLINE = 1;
|
||||||
|
|
||||||
|
// Offline.
|
||||||
|
OFFLINE = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message Gateway {
|
message Gateway {
|
||||||
// Gateway ID (EUI64).
|
// Gateway ID (EUI64).
|
||||||
string gateway_id = 1;
|
string gateway_id = 1;
|
||||||
@ -87,6 +98,11 @@ message Gateway {
|
|||||||
|
|
||||||
// Metadata (provided by the gateway).
|
// Metadata (provided by the gateway).
|
||||||
map<string, string> metadata = 7;
|
map<string, string> metadata = 7;
|
||||||
|
|
||||||
|
// Stats interval (seconds).
|
||||||
|
// This defines the expected interval in which the gateway sends its
|
||||||
|
// statistics.
|
||||||
|
uint32 stats_interval = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GatewayListItem {
|
message GatewayListItem {
|
||||||
@ -116,6 +132,11 @@ message GatewayListItem {
|
|||||||
|
|
||||||
// Last seen at timestamp.
|
// Last seen at timestamp.
|
||||||
google.protobuf.Timestamp last_seen_at = 9;
|
google.protobuf.Timestamp last_seen_at = 9;
|
||||||
|
|
||||||
|
// Gateway state.
|
||||||
|
// Please note that the state of the gateway is driven by the stats
|
||||||
|
// packages that are sent by the gateway.
|
||||||
|
GatewayState state = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
message CreateGatewayRequest {
|
message CreateGatewayRequest {
|
||||||
|
8
api/rust/proto/chirpstack/api/internal.proto
vendored
8
api/rust/proto/chirpstack/api/internal.proto
vendored
@ -264,11 +264,11 @@ message GetGatewaysSummaryRequest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message GetGatewaysSummaryResponse {
|
message GetGatewaysSummaryResponse {
|
||||||
// Active count.
|
// Online count.
|
||||||
uint32 active_count = 1;
|
uint32 online_count = 1;
|
||||||
|
|
||||||
// Inactive count.
|
// Offline count.
|
||||||
uint32 inactive_count = 2;
|
uint32 offline_count = 2;
|
||||||
|
|
||||||
// Never seen count.
|
// Never seen count.
|
||||||
uint32 never_seen_count = 3;
|
uint32 never_seen_count = 3;
|
||||||
|
@ -2,7 +2,7 @@ use std::collections::HashSet;
|
|||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
use std::time::SystemTime;
|
use std::time::SystemTime;
|
||||||
|
|
||||||
use chrono::{DateTime, Local, Utc};
|
use chrono::{DateTime, Duration, Local, Utc};
|
||||||
use tonic::{Request, Response, Status};
|
use tonic::{Request, Response, Status};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
|
|
||||||
@ -61,6 +61,7 @@ impl GatewayService for Gateway {
|
|||||||
longitude: lon,
|
longitude: lon,
|
||||||
altitude: alt,
|
altitude: alt,
|
||||||
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
||||||
|
stats_interval_secs: req_gw.stats_interval as i32,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -103,6 +104,7 @@ impl GatewayService for Gateway {
|
|||||||
tenant_id: gw.tenant_id.to_string(),
|
tenant_id: gw.tenant_id.to_string(),
|
||||||
tags: gw.tags.into_hashmap(),
|
tags: gw.tags.into_hashmap(),
|
||||||
metadata: gw.properties.into_hashmap(),
|
metadata: gw.properties.into_hashmap(),
|
||||||
|
stats_interval: gw.stats_interval_secs as u32,
|
||||||
}),
|
}),
|
||||||
created_at: Some(helpers::datetime_to_prost_timestamp(&gw.created_at)),
|
created_at: Some(helpers::datetime_to_prost_timestamp(&gw.created_at)),
|
||||||
updated_at: Some(helpers::datetime_to_prost_timestamp(&gw.updated_at)),
|
updated_at: Some(helpers::datetime_to_prost_timestamp(&gw.updated_at)),
|
||||||
@ -150,6 +152,7 @@ impl GatewayService for Gateway {
|
|||||||
longitude: lon,
|
longitude: lon,
|
||||||
altitude: alt,
|
altitude: alt,
|
||||||
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
tags: fields::KeyValue::new(req_gw.tags.clone()),
|
||||||
|
stats_interval_secs: req_gw.stats_interval as i32,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
@ -242,6 +245,20 @@ impl GatewayService for Gateway {
|
|||||||
.last_seen_at
|
.last_seen_at
|
||||||
.as_ref()
|
.as_ref()
|
||||||
.map(helpers::datetime_to_prost_timestamp),
|
.map(helpers::datetime_to_prost_timestamp),
|
||||||
|
state: {
|
||||||
|
if let Some(ts) = gw.last_seen_at {
|
||||||
|
if (Utc::now() - ts)
|
||||||
|
> Duration::seconds((gw.stats_interval_secs * 2).into())
|
||||||
|
{
|
||||||
|
api::GatewayState::Offline
|
||||||
|
} else {
|
||||||
|
api::GatewayState::Online
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
api::GatewayState::NeverSeen
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.into(),
|
||||||
})
|
})
|
||||||
.collect(),
|
.collect(),
|
||||||
});
|
});
|
||||||
|
@ -568,14 +568,14 @@ impl InternalService for Internal {
|
|||||||
.await?;
|
.await?;
|
||||||
}
|
}
|
||||||
|
|
||||||
let active_inactive = gateway::get_active_inactive(&tenant_id)
|
let counts = gateway::get_counts_by_state(&tenant_id)
|
||||||
.await
|
.await
|
||||||
.map_err(|e| e.status())?;
|
.map_err(|e| e.status())?;
|
||||||
|
|
||||||
Ok(Response::new(api::GetGatewaysSummaryResponse {
|
Ok(Response::new(api::GetGatewaysSummaryResponse {
|
||||||
active_count: active_inactive.active_count as u32,
|
online_count: counts.online_count as u32,
|
||||||
inactive_count: active_inactive.inactive_count as u32,
|
offline_count: counts.offline_count as u32,
|
||||||
never_seen_count: active_inactive.never_seen_count as u32,
|
never_seen_count: counts.never_seen_count as u32,
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +54,7 @@ pub struct GatewayListItem {
|
|||||||
pub longitude: f64,
|
pub longitude: f64,
|
||||||
pub altitude: f32,
|
pub altitude: f32,
|
||||||
pub properties: fields::KeyValue,
|
pub properties: fields::KeyValue,
|
||||||
|
pub stats_interval_secs: i32,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Queryable, PartialEq, Debug)]
|
#[derive(Queryable, PartialEq, Debug)]
|
||||||
@ -73,13 +74,13 @@ pub struct Filters {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[derive(QueryableByName, PartialEq, Eq, Debug)]
|
#[derive(QueryableByName, PartialEq, Eq, Debug)]
|
||||||
pub struct GatewaysActiveInactive {
|
pub struct GatewayCountsByState {
|
||||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||||
pub never_seen_count: i64,
|
pub never_seen_count: i64,
|
||||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||||
pub active_count: i64,
|
pub online_count: i64,
|
||||||
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
#[diesel(sql_type = diesel::sql_types::BigInt)]
|
||||||
pub inactive_count: i64,
|
pub offline_count: i64,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Gateway {
|
impl Default for Gateway {
|
||||||
@ -340,6 +341,7 @@ pub async fn list(
|
|||||||
gateway::longitude,
|
gateway::longitude,
|
||||||
gateway::altitude,
|
gateway::altitude,
|
||||||
gateway::properties,
|
gateway::properties,
|
||||||
|
gateway::stats_interval_secs,
|
||||||
))
|
))
|
||||||
.into_boxed();
|
.into_boxed();
|
||||||
|
|
||||||
@ -387,24 +389,22 @@ pub async fn get_meta(gateway_id: &EUI64) -> Result<GatewayMeta, Error> {
|
|||||||
.await?
|
.await?
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn get_active_inactive(
|
pub async fn get_counts_by_state(tenant_id: &Option<Uuid>) -> Result<GatewayCountsByState, Error> {
|
||||||
tenant_id: &Option<Uuid>,
|
|
||||||
) -> Result<GatewaysActiveInactive, Error> {
|
|
||||||
task::spawn_blocking({
|
task::spawn_blocking({
|
||||||
let tenant_id = *tenant_id;
|
let tenant_id = *tenant_id;
|
||||||
move || -> Result<GatewaysActiveInactive, Error> {
|
move || -> Result<GatewayCountsByState, Error> {
|
||||||
let mut c = get_db_conn()?;
|
let mut c = get_db_conn()?;
|
||||||
let ai: GatewaysActiveInactive = diesel::sql_query(r#"
|
let counts: GatewayCountsByState = diesel::sql_query(r#"
|
||||||
select
|
select
|
||||||
coalesce(sum(case when last_seen_at is null then 1 end), 0) as never_seen_count,
|
coalesce(sum(case when last_seen_at is null then 1 end), 0) as never_seen_count,
|
||||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 1.5)) > last_seen_at then 1 end), 0) as inactive_count,
|
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 2)) > last_seen_at then 1 end), 0) as offline_count,
|
||||||
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 1.5)) <= last_seen_at then 1 end), 0) as active_count
|
coalesce(sum(case when (now() - make_interval(secs => stats_interval_secs * 2)) <= last_seen_at then 1 end), 0) as online_count
|
||||||
from
|
from
|
||||||
gateway
|
gateway
|
||||||
where
|
where
|
||||||
$1 is null or tenant_id = $1
|
$1 is null or tenant_id = $1
|
||||||
"#).bind::<diesel::sql_types::Nullable<diesel::sql_types::Uuid>, _>(tenant_id).get_result(&mut c)?;
|
"#).bind::<diesel::sql_types::Nullable<diesel::sql_types::Uuid>, _>(tenant_id).get_result(&mut c)?;
|
||||||
Ok(ai)
|
Ok(counts)
|
||||||
}
|
}
|
||||||
}).await?
|
}).await?
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,7 @@ import {
|
|||||||
ListGatewaysRequest,
|
ListGatewaysRequest,
|
||||||
ListGatewaysResponse,
|
ListGatewaysResponse,
|
||||||
GatewayListItem,
|
GatewayListItem,
|
||||||
|
GatewayState,
|
||||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||||
|
|
||||||
import InternalStore from "../../stores/InternalStore";
|
import InternalStore from "../../stores/InternalStore";
|
||||||
@ -74,14 +75,15 @@ class GatewaysMap extends Component<{}, GatewaysMapState> {
|
|||||||
let color: MarkerColor = "orange";
|
let color: MarkerColor = "orange";
|
||||||
let lastSeen: string = "Never seen online";
|
let lastSeen: string = "Never seen online";
|
||||||
|
|
||||||
|
if (item.getState() === GatewayState.OFFLINE) {
|
||||||
|
color = "red";
|
||||||
|
} else if (item.getState() === GatewayState.ONLINE) {
|
||||||
|
color = "green";
|
||||||
|
}
|
||||||
|
|
||||||
if (item.getLastSeenAt() !== undefined) {
|
if (item.getLastSeenAt() !== undefined) {
|
||||||
let ts = moment(item.getLastSeenAt()!.toDate());
|
let ts = moment(item.getLastSeenAt()!.toDate());
|
||||||
lastSeen = ts.fromNow();
|
lastSeen = ts.fromNow();
|
||||||
if (ts.isBefore(moment().subtract(5, "minutes"))) {
|
|
||||||
color = "red";
|
|
||||||
} else {
|
|
||||||
color = "green";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
markers.push(
|
markers.push(
|
||||||
@ -115,20 +117,20 @@ class GatewaysActiveInactive extends Component<GatewayProps> {
|
|||||||
if (
|
if (
|
||||||
this.props.summary === undefined ||
|
this.props.summary === undefined ||
|
||||||
(this.props.summary.getNeverSeenCount() === 0 &&
|
(this.props.summary.getNeverSeenCount() === 0 &&
|
||||||
this.props.summary.getInactiveCount() === 0 &&
|
this.props.summary.getOfflineCount() === 0 &&
|
||||||
this.props.summary.getActiveCount() === 0)
|
this.props.summary.getOnlineCount() === 0)
|
||||||
) {
|
) {
|
||||||
return <Empty />;
|
return <Empty />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
labels: ["Never seen", "Inactive", "Active"],
|
labels: ["Never seen", "Offline", "Online"],
|
||||||
datasets: [
|
datasets: [
|
||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
this.props.summary.getNeverSeenCount(),
|
this.props.summary.getNeverSeenCount(),
|
||||||
this.props.summary.getInactiveCount(),
|
this.props.summary.getOfflineCount(),
|
||||||
this.props.summary.getActiveCount(),
|
this.props.summary.getOnlineCount(),
|
||||||
],
|
],
|
||||||
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
||||||
},
|
},
|
||||||
|
@ -26,7 +26,8 @@ class CreateGateway extends Component<IProps> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const gateway = new Gateway();
|
let gateway = new Gateway();
|
||||||
|
gateway.setStatsInterval(30);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Space direction="vertical" style={{ width: "100%" }} size="large">
|
<Space direction="vertical" style={{ width: "100%" }} size="large">
|
||||||
|
@ -90,8 +90,8 @@ class GatewayDashboard extends Component<IProps, IState> {
|
|||||||
<Card>
|
<Card>
|
||||||
<Descriptions>
|
<Descriptions>
|
||||||
<Descriptions.Item label="Last seen">{lastSeenAt}</Descriptions.Item>
|
<Descriptions.Item label="Last seen">{lastSeenAt}</Descriptions.Item>
|
||||||
<Descriptions.Item label="Region">
|
<Descriptions.Item label="Region ID">
|
||||||
{this.props.gateway.getMetadataMap().get("region_name")}
|
{this.props.gateway.getMetadataMap().get("region_config_id")}
|
||||||
</Descriptions.Item>
|
</Descriptions.Item>
|
||||||
<Descriptions.Item label="Region common-name">
|
<Descriptions.Item label="Region common-name">
|
||||||
{this.props.gateway.getMetadataMap().get("region_common_name")}
|
{this.props.gateway.getMetadataMap().get("region_common_name")}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import React, { Component } from "react";
|
import React, { Component } from "react";
|
||||||
|
|
||||||
import { Form, Input, Row, Col, Button, Tabs, Space, Card } from "antd";
|
import { Form, Input, InputNumber, Row, Col, Button, Tabs, Space, Card } from "antd";
|
||||||
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
|
import { MinusCircleOutlined, PlusOutlined } from "@ant-design/icons";
|
||||||
|
|
||||||
import { Location } from "@chirpstack/chirpstack-api-grpc-web/common/common_pb";
|
import { Location } from "@chirpstack/chirpstack-api-grpc-web/common/common_pb";
|
||||||
@ -80,6 +80,7 @@ class GatewayForm extends Component<IProps, IState> {
|
|||||||
gw.setName(v.name);
|
gw.setName(v.name);
|
||||||
gw.setDescription(v.description);
|
gw.setDescription(v.description);
|
||||||
gw.setGatewayId(v.gatewayId);
|
gw.setGatewayId(v.gatewayId);
|
||||||
|
gw.setStatsInterval(v.statsInterval);
|
||||||
gw.setLocation(loc);
|
gw.setLocation(loc);
|
||||||
|
|
||||||
// tags
|
// tags
|
||||||
@ -129,6 +130,8 @@ class GatewayForm extends Component<IProps, IState> {
|
|||||||
<Form.Item label="Description" name="description">
|
<Form.Item label="Description" name="description">
|
||||||
<Input.TextArea disabled={this.props.disabled} />
|
<Input.TextArea disabled={this.props.disabled} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Row gutter={24}>
|
||||||
|
<Col span={12}>
|
||||||
<EuiInput
|
<EuiInput
|
||||||
label="Gateway ID (EUI64)"
|
label="Gateway ID (EUI64)"
|
||||||
name="gatewayId"
|
name="gatewayId"
|
||||||
@ -137,6 +140,18 @@ class GatewayForm extends Component<IProps, IState> {
|
|||||||
disabled={this.props.update || this.props.disabled}
|
disabled={this.props.update || this.props.disabled}
|
||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
|
</Col>
|
||||||
|
<Col span={12}>
|
||||||
|
<Form.Item
|
||||||
|
label="Stats interval (secs)"
|
||||||
|
tooltip="The expected interval in seconds in which the gateway sends its statistics"
|
||||||
|
name="statsInterval"
|
||||||
|
rules={[{ required: true, message: "Please enter a stats interval!" }]}
|
||||||
|
>
|
||||||
|
<InputNumber min={0} disabled={this.props.disabled} />
|
||||||
|
</Form.Item>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
<Form.Item label="Location">
|
<Form.Item label="Location">
|
||||||
<Form.Item name={["location", "latitude"]} noStyle>
|
<Form.Item name={["location", "latitude"]} noStyle>
|
||||||
<Input hidden />
|
<Input hidden />
|
||||||
|
@ -2,13 +2,14 @@ import React, { Component } from "react";
|
|||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { Space, Breadcrumb, Button, PageHeader } from "antd";
|
import { Space, Breadcrumb, Button, PageHeader, Badge } from "antd";
|
||||||
import { ColumnsType } from "antd/es/table";
|
import { ColumnsType } from "antd/es/table";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ListGatewaysRequest,
|
ListGatewaysRequest,
|
||||||
ListGatewaysResponse,
|
ListGatewaysResponse,
|
||||||
GatewayListItem,
|
GatewayListItem,
|
||||||
|
GatewayState,
|
||||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||||
import { Tenant } from "@chirpstack/chirpstack-api-grpc-web/api/tenant_pb";
|
import { Tenant } from "@chirpstack/chirpstack-api-grpc-web/api/tenant_pb";
|
||||||
|
|
||||||
@ -23,6 +24,21 @@ interface IProps {
|
|||||||
class ListGateways extends Component<IProps> {
|
class ListGateways extends Component<IProps> {
|
||||||
columns = (): ColumnsType<GatewayListItem.AsObject> => {
|
columns = (): ColumnsType<GatewayListItem.AsObject> => {
|
||||||
return [
|
return [
|
||||||
|
{
|
||||||
|
title: "",
|
||||||
|
dataIndex: "state",
|
||||||
|
key: "state",
|
||||||
|
width: 150,
|
||||||
|
render: (text, record) => {
|
||||||
|
if (record.state === GatewayState.NEVER_SEEN) {
|
||||||
|
return <Badge status="warning" text="Never seen" />;
|
||||||
|
} else if (record.state === GatewayState.OFFLINE) {
|
||||||
|
return <Badge status="error" text="Offline" />;
|
||||||
|
} else if (record.state === GatewayState.ONLINE) {
|
||||||
|
return <Badge status="success" text="Online" />;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: "Last seen",
|
title: "Last seen",
|
||||||
dataIndex: "lastSeenAt",
|
dataIndex: "lastSeenAt",
|
||||||
@ -34,7 +50,6 @@ class ListGateways extends Component<IProps> {
|
|||||||
ts.setUTCSeconds(record.lastSeenAt.seconds);
|
ts.setUTCSeconds(record.lastSeenAt.seconds);
|
||||||
return moment(ts).format("YYYY-MM-DD HH:mm:ss");
|
return moment(ts).format("YYYY-MM-DD HH:mm:ss");
|
||||||
}
|
}
|
||||||
return "Never";
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -22,6 +22,7 @@ import {
|
|||||||
ListGatewaysRequest,
|
ListGatewaysRequest,
|
||||||
ListGatewaysResponse,
|
ListGatewaysResponse,
|
||||||
GatewayListItem,
|
GatewayListItem,
|
||||||
|
GatewayState,
|
||||||
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
} from "@chirpstack/chirpstack-api-grpc-web/api/gateway_pb";
|
||||||
|
|
||||||
import InternalStore from "../../stores/InternalStore";
|
import InternalStore from "../../stores/InternalStore";
|
||||||
@ -58,14 +59,15 @@ class GatewaysMap extends Component<GatewaysMapProps> {
|
|||||||
let color: MarkerColor = "orange";
|
let color: MarkerColor = "orange";
|
||||||
let lastSeen: string = "Never seen online";
|
let lastSeen: string = "Never seen online";
|
||||||
|
|
||||||
|
if (item.getState() === GatewayState.OFFLINE) {
|
||||||
|
color = "red";
|
||||||
|
} else if (item.getState() === GatewayState.ONLINE) {
|
||||||
|
color = "green";
|
||||||
|
}
|
||||||
|
|
||||||
if (item.getLastSeenAt() !== undefined) {
|
if (item.getLastSeenAt() !== undefined) {
|
||||||
let ts = moment(item.getLastSeenAt()!.toDate());
|
let ts = moment(item.getLastSeenAt()!.toDate());
|
||||||
lastSeen = ts.fromNow();
|
lastSeen = ts.fromNow();
|
||||||
if (ts.isBefore(moment().subtract(5, "minutes"))) {
|
|
||||||
color = "red";
|
|
||||||
} else {
|
|
||||||
color = "green";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
markers.push(
|
markers.push(
|
||||||
@ -99,20 +101,20 @@ class GatewaysActiveInactive extends Component<GatewayProps> {
|
|||||||
if (
|
if (
|
||||||
this.props.summary === undefined ||
|
this.props.summary === undefined ||
|
||||||
(this.props.summary.getNeverSeenCount() === 0 &&
|
(this.props.summary.getNeverSeenCount() === 0 &&
|
||||||
this.props.summary.getInactiveCount() === 0 &&
|
this.props.summary.getOfflineCount() === 0 &&
|
||||||
this.props.summary.getActiveCount() === 0)
|
this.props.summary.getOnlineCount() === 0)
|
||||||
) {
|
) {
|
||||||
return <Empty />;
|
return <Empty />;
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = {
|
const data = {
|
||||||
labels: ["Never seen", "Inactive", "Active"],
|
labels: ["Never seen", "Offline", "Online"],
|
||||||
datasets: [
|
datasets: [
|
||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
this.props.summary.getNeverSeenCount(),
|
this.props.summary.getNeverSeenCount(),
|
||||||
this.props.summary.getInactiveCount(),
|
this.props.summary.getOfflineCount(),
|
||||||
this.props.summary.getActiveCount(),
|
this.props.summary.getOnlineCount(),
|
||||||
],
|
],
|
||||||
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
backgroundColor: [presetPalettes.orange.primary, presetPalettes.red.primary, presetPalettes.green.primary],
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user