mirror of
https://github.com/chirpstack/chirpstack.git
synced 2025-06-24 10:18:13 +00:00
Compare commits
25 Commits
api/go/v4.
...
master
Author | SHA1 | Date | |
---|---|---|---|
f42337f411 | |||
c5fa5e04c3 | |||
b7d5394644 | |||
984300e936 | |||
c58cc7ad8b | |||
952a49f35e | |||
2565cca14a | |||
7c20de298b | |||
291e62cb51 | |||
28b5f91183 | |||
8804f774fb | |||
3a0de8196f | |||
46bb01ccdc | |||
26cca09ce8 | |||
c016cd1f7d | |||
1ead82e8a5 | |||
e8d001441c | |||
10e7907251 | |||
39df55afb4 | |||
038e45e8f0 | |||
5cf1120f20 | |||
b8e14058f2 | |||
10731c2be5 | |||
f1d46b1bc9 | |||
c954cd3645 |
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
||||
name: Install Nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-24.11
|
||||
nix_path: nixpkgs=channel:nixos-25.05
|
||||
-
|
||||
name: Cargo cache
|
||||
uses: actions/cache@v4
|
||||
@ -69,7 +69,7 @@ jobs:
|
||||
name: Install Nix
|
||||
uses: cachix/install-nix-action@v27
|
||||
with:
|
||||
nix_path: nixpkgs=channel:nixos-24.11
|
||||
nix_path: nixpkgs=channel:nixos-25.05
|
||||
-
|
||||
name: Cargo cache
|
||||
uses: actions/cache@v4
|
||||
|
456
Cargo.lock
generated
456
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
2158
api/go/api/application.pb.go
vendored
2158
api/go/api/application.pb.go
vendored
File diff suppressed because it is too large
Load Diff
180
api/go/api/application_grpc.pb.go
vendored
180
api/go/api/application_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/application.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
ApplicationService_Create_FullMethodName = "/api.ApplicationService/Create"
|
||||
@ -74,6 +74,9 @@ const (
|
||||
// ApplicationServiceClient is the client API for ApplicationService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// ApplicationService is the service providing API methods for managing
|
||||
// applications.
|
||||
type ApplicationServiceClient interface {
|
||||
// Create creates the given application.
|
||||
Create(ctx context.Context, in *CreateApplicationRequest, opts ...grpc.CallOption) (*CreateApplicationResponse, error)
|
||||
@ -184,8 +187,9 @@ func NewApplicationServiceClient(cc grpc.ClientConnInterface) ApplicationService
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) Create(ctx context.Context, in *CreateApplicationRequest, opts ...grpc.CallOption) (*CreateApplicationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateApplicationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -193,8 +197,9 @@ func (c *applicationServiceClient) Create(ctx context.Context, in *CreateApplica
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) Get(ctx context.Context, in *GetApplicationRequest, opts ...grpc.CallOption) (*GetApplicationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetApplicationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -202,8 +207,9 @@ func (c *applicationServiceClient) Get(ctx context.Context, in *GetApplicationRe
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) Update(ctx context.Context, in *UpdateApplicationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -211,8 +217,9 @@ func (c *applicationServiceClient) Update(ctx context.Context, in *UpdateApplica
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) Delete(ctx context.Context, in *DeleteApplicationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -220,8 +227,9 @@ func (c *applicationServiceClient) Delete(ctx context.Context, in *DeleteApplica
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) List(ctx context.Context, in *ListApplicationsRequest, opts ...grpc.CallOption) (*ListApplicationsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListApplicationsResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -229,8 +237,9 @@ func (c *applicationServiceClient) List(ctx context.Context, in *ListApplication
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) ListIntegrations(ctx context.Context, in *ListIntegrationsRequest, opts ...grpc.CallOption) (*ListIntegrationsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListIntegrationsResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListIntegrations_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListIntegrations_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -238,8 +247,9 @@ func (c *applicationServiceClient) ListIntegrations(ctx context.Context, in *Lis
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateHttpIntegration(ctx context.Context, in *CreateHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateHttpIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateHttpIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -247,8 +257,9 @@ func (c *applicationServiceClient) CreateHttpIntegration(ctx context.Context, in
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetHttpIntegration(ctx context.Context, in *GetHttpIntegrationRequest, opts ...grpc.CallOption) (*GetHttpIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetHttpIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetHttpIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetHttpIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -256,8 +267,9 @@ func (c *applicationServiceClient) GetHttpIntegration(ctx context.Context, in *G
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateHttpIntegration(ctx context.Context, in *UpdateHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateHttpIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateHttpIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -265,8 +277,9 @@ func (c *applicationServiceClient) UpdateHttpIntegration(ctx context.Context, in
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteHttpIntegration(ctx context.Context, in *DeleteHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteHttpIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteHttpIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -274,8 +287,9 @@ func (c *applicationServiceClient) DeleteHttpIntegration(ctx context.Context, in
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateInfluxDbIntegration(ctx context.Context, in *CreateInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateInfluxDbIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateInfluxDbIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -283,8 +297,9 @@ func (c *applicationServiceClient) CreateInfluxDbIntegration(ctx context.Context
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetInfluxDbIntegration(ctx context.Context, in *GetInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*GetInfluxDbIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetInfluxDbIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetInfluxDbIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetInfluxDbIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -292,8 +307,9 @@ func (c *applicationServiceClient) GetInfluxDbIntegration(ctx context.Context, i
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateInfluxDbIntegration(ctx context.Context, in *UpdateInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateInfluxDbIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateInfluxDbIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -301,8 +317,9 @@ func (c *applicationServiceClient) UpdateInfluxDbIntegration(ctx context.Context
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteInfluxDbIntegration(ctx context.Context, in *DeleteInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteInfluxDbIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteInfluxDbIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -310,8 +327,9 @@ func (c *applicationServiceClient) DeleteInfluxDbIntegration(ctx context.Context
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateThingsBoardIntegration(ctx context.Context, in *CreateThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateThingsBoardIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateThingsBoardIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -319,8 +337,9 @@ func (c *applicationServiceClient) CreateThingsBoardIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetThingsBoardIntegration(ctx context.Context, in *GetThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*GetThingsBoardIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetThingsBoardIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetThingsBoardIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetThingsBoardIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -328,8 +347,9 @@ func (c *applicationServiceClient) GetThingsBoardIntegration(ctx context.Context
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateThingsBoardIntegration(ctx context.Context, in *UpdateThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateThingsBoardIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateThingsBoardIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -337,8 +357,9 @@ func (c *applicationServiceClient) UpdateThingsBoardIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteThingsBoardIntegration(ctx context.Context, in *DeleteThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteThingsBoardIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteThingsBoardIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -346,8 +367,9 @@ func (c *applicationServiceClient) DeleteThingsBoardIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateMyDevicesIntegration(ctx context.Context, in *CreateMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateMyDevicesIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateMyDevicesIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -355,8 +377,9 @@ func (c *applicationServiceClient) CreateMyDevicesIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetMyDevicesIntegration(ctx context.Context, in *GetMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*GetMyDevicesIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetMyDevicesIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetMyDevicesIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetMyDevicesIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -364,8 +387,9 @@ func (c *applicationServiceClient) GetMyDevicesIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateMyDevicesIntegration(ctx context.Context, in *UpdateMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateMyDevicesIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateMyDevicesIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -373,8 +397,9 @@ func (c *applicationServiceClient) UpdateMyDevicesIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteMyDevicesIntegration(ctx context.Context, in *DeleteMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteMyDevicesIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteMyDevicesIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -382,8 +407,9 @@ func (c *applicationServiceClient) DeleteMyDevicesIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateLoraCloudIntegration(ctx context.Context, in *CreateLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateLoraCloudIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateLoraCloudIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -391,8 +417,9 @@ func (c *applicationServiceClient) CreateLoraCloudIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetLoraCloudIntegration(ctx context.Context, in *GetLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*GetLoraCloudIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetLoraCloudIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetLoraCloudIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetLoraCloudIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -400,8 +427,9 @@ func (c *applicationServiceClient) GetLoraCloudIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateLoraCloudIntegration(ctx context.Context, in *UpdateLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateLoraCloudIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateLoraCloudIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -409,8 +437,9 @@ func (c *applicationServiceClient) UpdateLoraCloudIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteLoraCloudIntegration(ctx context.Context, in *DeleteLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteLoraCloudIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteLoraCloudIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -418,8 +447,9 @@ func (c *applicationServiceClient) DeleteLoraCloudIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateGcpPubSubIntegration(ctx context.Context, in *CreateGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateGcpPubSubIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateGcpPubSubIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -427,8 +457,9 @@ func (c *applicationServiceClient) CreateGcpPubSubIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetGcpPubSubIntegration(ctx context.Context, in *GetGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*GetGcpPubSubIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetGcpPubSubIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetGcpPubSubIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetGcpPubSubIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -436,8 +467,9 @@ func (c *applicationServiceClient) GetGcpPubSubIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateGcpPubSubIntegration(ctx context.Context, in *UpdateGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateGcpPubSubIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateGcpPubSubIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -445,8 +477,9 @@ func (c *applicationServiceClient) UpdateGcpPubSubIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteGcpPubSubIntegration(ctx context.Context, in *DeleteGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteGcpPubSubIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteGcpPubSubIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -454,8 +487,9 @@ func (c *applicationServiceClient) DeleteGcpPubSubIntegration(ctx context.Contex
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateAwsSnsIntegration(ctx context.Context, in *CreateAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateAwsSnsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateAwsSnsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -463,8 +497,9 @@ func (c *applicationServiceClient) CreateAwsSnsIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetAwsSnsIntegration(ctx context.Context, in *GetAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*GetAwsSnsIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetAwsSnsIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetAwsSnsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetAwsSnsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -472,8 +507,9 @@ func (c *applicationServiceClient) GetAwsSnsIntegration(ctx context.Context, in
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateAwsSnsIntegration(ctx context.Context, in *UpdateAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateAwsSnsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateAwsSnsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -481,8 +517,9 @@ func (c *applicationServiceClient) UpdateAwsSnsIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteAwsSnsIntegration(ctx context.Context, in *DeleteAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteAwsSnsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteAwsSnsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -490,8 +527,9 @@ func (c *applicationServiceClient) DeleteAwsSnsIntegration(ctx context.Context,
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateAzureServiceBusIntegration(ctx context.Context, in *CreateAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateAzureServiceBusIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateAzureServiceBusIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -499,8 +537,9 @@ func (c *applicationServiceClient) CreateAzureServiceBusIntegration(ctx context.
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetAzureServiceBusIntegration(ctx context.Context, in *GetAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*GetAzureServiceBusIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetAzureServiceBusIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetAzureServiceBusIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetAzureServiceBusIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -508,8 +547,9 @@ func (c *applicationServiceClient) GetAzureServiceBusIntegration(ctx context.Con
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateAzureServiceBusIntegration(ctx context.Context, in *UpdateAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateAzureServiceBusIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateAzureServiceBusIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -517,8 +557,9 @@ func (c *applicationServiceClient) UpdateAzureServiceBusIntegration(ctx context.
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteAzureServiceBusIntegration(ctx context.Context, in *DeleteAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteAzureServiceBusIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteAzureServiceBusIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -526,8 +567,9 @@ func (c *applicationServiceClient) DeleteAzureServiceBusIntegration(ctx context.
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreatePilotThingsIntegration(ctx context.Context, in *CreatePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreatePilotThingsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreatePilotThingsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -535,8 +577,9 @@ func (c *applicationServiceClient) CreatePilotThingsIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetPilotThingsIntegration(ctx context.Context, in *GetPilotThingsIntegrationRequest, opts ...grpc.CallOption) (*GetPilotThingsIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetPilotThingsIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetPilotThingsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetPilotThingsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -544,8 +587,9 @@ func (c *applicationServiceClient) GetPilotThingsIntegration(ctx context.Context
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdatePilotThingsIntegration(ctx context.Context, in *UpdatePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdatePilotThingsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdatePilotThingsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -553,8 +597,9 @@ func (c *applicationServiceClient) UpdatePilotThingsIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeletePilotThingsIntegration(ctx context.Context, in *DeletePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeletePilotThingsIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeletePilotThingsIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -562,8 +607,9 @@ func (c *applicationServiceClient) DeletePilotThingsIntegration(ctx context.Cont
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) CreateIftttIntegration(ctx context.Context, in *CreateIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateIftttIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_CreateIftttIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -571,8 +617,9 @@ func (c *applicationServiceClient) CreateIftttIntegration(ctx context.Context, i
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GetIftttIntegration(ctx context.Context, in *GetIftttIntegrationRequest, opts ...grpc.CallOption) (*GetIftttIntegrationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetIftttIntegrationResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetIftttIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GetIftttIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -580,8 +627,9 @@ func (c *applicationServiceClient) GetIftttIntegration(ctx context.Context, in *
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) UpdateIftttIntegration(ctx context.Context, in *UpdateIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateIftttIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_UpdateIftttIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -589,8 +637,9 @@ func (c *applicationServiceClient) UpdateIftttIntegration(ctx context.Context, i
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) DeleteIftttIntegration(ctx context.Context, in *DeleteIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteIftttIntegration_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_DeleteIftttIntegration_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -598,8 +647,9 @@ func (c *applicationServiceClient) DeleteIftttIntegration(ctx context.Context, i
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) GenerateMqttIntegrationClientCertificate(ctx context.Context, in *GenerateMqttIntegrationClientCertificateRequest, opts ...grpc.CallOption) (*GenerateMqttIntegrationClientCertificateResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GenerateMqttIntegrationClientCertificateResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GenerateMqttIntegrationClientCertificate_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_GenerateMqttIntegrationClientCertificate_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -607,8 +657,9 @@ func (c *applicationServiceClient) GenerateMqttIntegrationClientCertificate(ctx
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) ListDeviceProfiles(ctx context.Context, in *ListApplicationDeviceProfilesRequest, opts ...grpc.CallOption) (*ListApplicationDeviceProfilesResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListApplicationDeviceProfilesResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListDeviceProfiles_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListDeviceProfiles_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -616,8 +667,9 @@ func (c *applicationServiceClient) ListDeviceProfiles(ctx context.Context, in *L
|
||||
}
|
||||
|
||||
func (c *applicationServiceClient) ListDeviceTags(ctx context.Context, in *ListApplicationDeviceTagsRequest, opts ...grpc.CallOption) (*ListApplicationDeviceTagsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListApplicationDeviceTagsResponse)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListDeviceTags_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, ApplicationService_ListDeviceTags_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -626,7 +678,10 @@ func (c *applicationServiceClient) ListDeviceTags(ctx context.Context, in *ListA
|
||||
|
||||
// ApplicationServiceServer is the server API for ApplicationService service.
|
||||
// All implementations must embed UnimplementedApplicationServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// ApplicationService is the service providing API methods for managing
|
||||
// applications.
|
||||
type ApplicationServiceServer interface {
|
||||
// Create creates the given application.
|
||||
Create(context.Context, *CreateApplicationRequest) (*CreateApplicationResponse, error)
|
||||
@ -729,9 +784,12 @@ type ApplicationServiceServer interface {
|
||||
mustEmbedUnimplementedApplicationServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedApplicationServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedApplicationServiceServer struct {
|
||||
}
|
||||
// UnimplementedApplicationServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedApplicationServiceServer struct{}
|
||||
|
||||
func (UnimplementedApplicationServiceServer) Create(context.Context, *CreateApplicationRequest) (*CreateApplicationResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -881,6 +939,7 @@ func (UnimplementedApplicationServiceServer) ListDeviceTags(context.Context, *Li
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListDeviceTags not implemented")
|
||||
}
|
||||
func (UnimplementedApplicationServiceServer) mustEmbedUnimplementedApplicationServiceServer() {}
|
||||
func (UnimplementedApplicationServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeApplicationServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to ApplicationServiceServer will
|
||||
@ -890,6 +949,13 @@ type UnsafeApplicationServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterApplicationServiceServer(s grpc.ServiceRegistrar, srv ApplicationServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedApplicationServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&ApplicationService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
1095
api/go/api/device.pb.go
vendored
1095
api/go/api/device.pb.go
vendored
File diff suppressed because it is too large
Load Diff
91
api/go/api/device_grpc.pb.go
vendored
91
api/go/api/device_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/device.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
DeviceService_Create_FullMethodName = "/api.DeviceService/Create"
|
||||
@ -45,6 +45,8 @@ const (
|
||||
// DeviceServiceClient is the client API for DeviceService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// DeviceService is the service providing API methods for managing devices.
|
||||
type DeviceServiceClient interface {
|
||||
// Create the given device.
|
||||
Create(ctx context.Context, in *CreateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
|
||||
@ -105,8 +107,9 @@ func NewDeviceServiceClient(cc grpc.ClientConnInterface) DeviceServiceClient {
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Create(ctx context.Context, in *CreateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -114,8 +117,9 @@ func (c *deviceServiceClient) Create(ctx context.Context, in *CreateDeviceReques
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Get(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -123,8 +127,9 @@ func (c *deviceServiceClient) Get(ctx context.Context, in *GetDeviceRequest, opt
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Update(ctx context.Context, in *UpdateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -132,8 +137,9 @@ func (c *deviceServiceClient) Update(ctx context.Context, in *UpdateDeviceReques
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Delete(ctx context.Context, in *DeleteDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -141,8 +147,9 @@ func (c *deviceServiceClient) Delete(ctx context.Context, in *DeleteDeviceReques
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) List(ctx context.Context, in *ListDevicesRequest, opts ...grpc.CallOption) (*ListDevicesResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListDevicesResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -150,8 +157,9 @@ func (c *deviceServiceClient) List(ctx context.Context, in *ListDevicesRequest,
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) CreateKeys(ctx context.Context, in *CreateDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_CreateKeys_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_CreateKeys_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -159,8 +167,9 @@ func (c *deviceServiceClient) CreateKeys(ctx context.Context, in *CreateDeviceKe
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetKeys(ctx context.Context, in *GetDeviceKeysRequest, opts ...grpc.CallOption) (*GetDeviceKeysResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceKeysResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetKeys_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetKeys_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -168,8 +177,9 @@ func (c *deviceServiceClient) GetKeys(ctx context.Context, in *GetDeviceKeysRequ
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) UpdateKeys(ctx context.Context, in *UpdateDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_UpdateKeys_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_UpdateKeys_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -177,8 +187,9 @@ func (c *deviceServiceClient) UpdateKeys(ctx context.Context, in *UpdateDeviceKe
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) DeleteKeys(ctx context.Context, in *DeleteDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_DeleteKeys_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_DeleteKeys_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -186,8 +197,9 @@ func (c *deviceServiceClient) DeleteKeys(ctx context.Context, in *DeleteDeviceKe
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) FlushDevNonces(ctx context.Context, in *FlushDevNoncesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_FlushDevNonces_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_FlushDevNonces_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -195,8 +207,9 @@ func (c *deviceServiceClient) FlushDevNonces(ctx context.Context, in *FlushDevNo
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Activate(ctx context.Context, in *ActivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Activate_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Activate_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -204,8 +217,9 @@ func (c *deviceServiceClient) Activate(ctx context.Context, in *ActivateDeviceRe
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Deactivate(ctx context.Context, in *DeactivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Deactivate_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Deactivate_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -213,8 +227,9 @@ func (c *deviceServiceClient) Deactivate(ctx context.Context, in *DeactivateDevi
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetActivation(ctx context.Context, in *GetDeviceActivationRequest, opts ...grpc.CallOption) (*GetDeviceActivationResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceActivationResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetActivation_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetActivation_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -222,8 +237,9 @@ func (c *deviceServiceClient) GetActivation(ctx context.Context, in *GetDeviceAc
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetRandomDevAddr(ctx context.Context, in *GetRandomDevAddrRequest, opts ...grpc.CallOption) (*GetRandomDevAddrResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetRandomDevAddrResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetRandomDevAddr_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetRandomDevAddr_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -231,8 +247,9 @@ func (c *deviceServiceClient) GetRandomDevAddr(ctx context.Context, in *GetRando
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetMetrics(ctx context.Context, in *GetDeviceMetricsRequest, opts ...grpc.CallOption) (*GetDeviceMetricsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetMetrics_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetMetrics_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -240,8 +257,9 @@ func (c *deviceServiceClient) GetMetrics(ctx context.Context, in *GetDeviceMetri
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetLinkMetrics(ctx context.Context, in *GetDeviceLinkMetricsRequest, opts ...grpc.CallOption) (*GetDeviceLinkMetricsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceLinkMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetLinkMetrics_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetLinkMetrics_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -249,8 +267,9 @@ func (c *deviceServiceClient) GetLinkMetrics(ctx context.Context, in *GetDeviceL
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) Enqueue(ctx context.Context, in *EnqueueDeviceQueueItemRequest, opts ...grpc.CallOption) (*EnqueueDeviceQueueItemResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(EnqueueDeviceQueueItemResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Enqueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_Enqueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -258,8 +277,9 @@ func (c *deviceServiceClient) Enqueue(ctx context.Context, in *EnqueueDeviceQueu
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) FlushQueue(ctx context.Context, in *FlushDeviceQueueRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceService_FlushQueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_FlushQueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -267,8 +287,9 @@ func (c *deviceServiceClient) FlushQueue(ctx context.Context, in *FlushDeviceQue
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetQueue(ctx context.Context, in *GetDeviceQueueItemsRequest, opts ...grpc.CallOption) (*GetDeviceQueueItemsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceQueueItemsResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetQueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetQueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -276,8 +297,9 @@ func (c *deviceServiceClient) GetQueue(ctx context.Context, in *GetDeviceQueueIt
|
||||
}
|
||||
|
||||
func (c *deviceServiceClient) GetNextFCntDown(ctx context.Context, in *GetDeviceNextFCntDownRequest, opts ...grpc.CallOption) (*GetDeviceNextFCntDownResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceNextFCntDownResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetNextFCntDown_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceService_GetNextFCntDown_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -286,7 +308,9 @@ func (c *deviceServiceClient) GetNextFCntDown(ctx context.Context, in *GetDevice
|
||||
|
||||
// DeviceServiceServer is the server API for DeviceService service.
|
||||
// All implementations must embed UnimplementedDeviceServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// DeviceService is the service providing API methods for managing devices.
|
||||
type DeviceServiceServer interface {
|
||||
// Create the given device.
|
||||
Create(context.Context, *CreateDeviceRequest) (*emptypb.Empty, error)
|
||||
@ -339,9 +363,12 @@ type DeviceServiceServer interface {
|
||||
mustEmbedUnimplementedDeviceServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedDeviceServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedDeviceServiceServer struct {
|
||||
}
|
||||
// UnimplementedDeviceServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedDeviceServiceServer struct{}
|
||||
|
||||
func (UnimplementedDeviceServiceServer) Create(context.Context, *CreateDeviceRequest) (*emptypb.Empty, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -404,6 +431,7 @@ func (UnimplementedDeviceServiceServer) GetNextFCntDown(context.Context, *GetDev
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetNextFCntDown not implemented")
|
||||
}
|
||||
func (UnimplementedDeviceServiceServer) mustEmbedUnimplementedDeviceServiceServer() {}
|
||||
func (UnimplementedDeviceServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeDeviceServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to DeviceServiceServer will
|
||||
@ -413,6 +441,13 @@ type UnsafeDeviceServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterDeviceServiceServer(s grpc.ServiceRegistrar, srv DeviceServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedDeviceServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&DeviceService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
740
api/go/api/device_profile.pb.go
vendored
740
api/go/api/device_profile.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/device_profile.proto
|
||||
|
||||
package api
|
||||
@ -15,6 +15,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -478,10 +479,7 @@ func (Ts005Version) EnumDescriptor() ([]byte, []int) {
|
||||
}
|
||||
|
||||
type DeviceProfile struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile ID (UUID).
|
||||
// Note: on create this will be automatically generated.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
@ -524,11 +522,15 @@ type DeviceProfile struct {
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement
|
||||
// from the device (if requested).
|
||||
ClassBTimeout uint32 `protobuf:"varint,16,opt,name=class_b_timeout,json=classBTimeout,proto3" json:"class_b_timeout,omitempty"`
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity.
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
ClassBPingSlotNbK uint32 `protobuf:"varint,17,opt,name=class_b_ping_slot_nb_k,json=classBPingSlotNbK,proto3" json:"class_b_ping_slot_nb_k,omitempty"`
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
ClassBPingSlotPeriodicity uint32 `protobuf:"varint,17,opt,name=class_b_ping_slot_periodicity,json=classBPingSlotPeriodicity,proto3" json:"class_b_ping_slot_periodicity,omitempty"`
|
||||
// Class-B ping-slot DR.
|
||||
ClassBPingSlotDr uint32 `protobuf:"varint,18,opt,name=class_b_ping_slot_dr,json=classBPingSlotDr,proto3" json:"class_b_ping_slot_dr,omitempty"`
|
||||
// Class-B ping-slot freq (Hz).
|
||||
@ -549,10 +551,10 @@ type DeviceProfile struct {
|
||||
// These tags can be used to add additional information the the
|
||||
// device-profile. These tags are exposed in all the integration events of
|
||||
// devices using this device-profile.
|
||||
Tags map[string]string `protobuf:"bytes,25,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,25,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
// Measurements.
|
||||
// If defined, ChirpStack will visualize these metrics in the web-interface.
|
||||
Measurements map[string]*Measurement `protobuf:"bytes,27,rep,name=measurements,proto3" json:"measurements,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Measurements map[string]*Measurement `protobuf:"bytes,27,rep,name=measurements,proto3" json:"measurements,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
// Auto-detect measurements.
|
||||
// If set to true, measurements will be automatically added based on the
|
||||
// keys of the decoded payload. In cases where the decoded payload contains
|
||||
@ -710,6 +712,8 @@ type DeviceProfile struct {
|
||||
Rx1Delay uint32 `protobuf:"varint,53,opt,name=rx1_delay,json=rx1Delay,proto3" json:"rx1_delay,omitempty"`
|
||||
// Application Layer parameters.
|
||||
AppLayerParams *AppLayerParams `protobuf:"bytes,54,opt,name=app_layer_params,json=appLayerParams,proto3" json:"app_layer_params,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeviceProfile) Reset() {
|
||||
@ -861,9 +865,9 @@ func (x *DeviceProfile) GetClassBTimeout() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DeviceProfile) GetClassBPingSlotNbK() uint32 {
|
||||
func (x *DeviceProfile) GetClassBPingSlotPeriodicity() uint32 {
|
||||
if x != nil {
|
||||
return x.ClassBPingSlotNbK
|
||||
return x.ClassBPingSlotPeriodicity
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -1121,14 +1125,13 @@ func (x *DeviceProfile) GetAppLayerParams() *AppLayerParams {
|
||||
}
|
||||
|
||||
type Measurement struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Name (user defined).
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// Kind.
|
||||
Kind MeasurementKind `protobuf:"varint,3,opt,name=kind,proto3,enum=api.MeasurementKind" json:"kind,omitempty"`
|
||||
Kind MeasurementKind `protobuf:"varint,3,opt,name=kind,proto3,enum=api.MeasurementKind" json:"kind,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Measurement) Reset() {
|
||||
@ -1176,10 +1179,7 @@ func (x *Measurement) GetKind() MeasurementKind {
|
||||
}
|
||||
|
||||
type AppLayerParams struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// TS003 version (Application Layer Clock Sync).
|
||||
Ts003Version Ts003Version `protobuf:"varint,1,opt,name=ts003_version,json=ts003Version,proto3,enum=api.Ts003Version" json:"ts003_version,omitempty"`
|
||||
// TS003 fPort.
|
||||
@ -1191,7 +1191,9 @@ type AppLayerParams struct {
|
||||
// TS005 version (Remote Multicast Setup).
|
||||
Ts005Version Ts005Version `protobuf:"varint,5,opt,name=ts005_version,json=ts005Version,proto3,enum=api.Ts005Version" json:"ts005_version,omitempty"`
|
||||
// TS005 fPort.
|
||||
Ts005FPort uint32 `protobuf:"varint,6,opt,name=ts005_f_port,json=ts005FPort,proto3" json:"ts005_f_port,omitempty"`
|
||||
Ts005FPort uint32 `protobuf:"varint,6,opt,name=ts005_f_port,json=ts005FPort,proto3" json:"ts005_f_port,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AppLayerParams) Reset() {
|
||||
@ -1267,10 +1269,7 @@ func (x *AppLayerParams) GetTs005FPort() uint32 {
|
||||
}
|
||||
|
||||
type DeviceProfileListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Created at timestamp.
|
||||
@ -1291,6 +1290,8 @@ type DeviceProfileListItem struct {
|
||||
SupportsClassB bool `protobuf:"varint,9,opt,name=supports_class_b,json=supportsClassB,proto3" json:"supports_class_b,omitempty"`
|
||||
// Supports Class-C.
|
||||
SupportsClassC bool `protobuf:"varint,10,opt,name=supports_class_c,json=supportsClassC,proto3" json:"supports_class_c,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeviceProfileListItem) Reset() {
|
||||
@ -1394,12 +1395,11 @@ func (x *DeviceProfileListItem) GetSupportsClassC() bool {
|
||||
}
|
||||
|
||||
type CreateDeviceProfileRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Object to create.
|
||||
DeviceProfile *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateDeviceProfileRequest) Reset() {
|
||||
@ -1440,12 +1440,11 @@ func (x *CreateDeviceProfileRequest) GetDeviceProfile() *DeviceProfile {
|
||||
}
|
||||
|
||||
type CreateDeviceProfileResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateDeviceProfileResponse) Reset() {
|
||||
@ -1486,12 +1485,11 @@ func (x *CreateDeviceProfileResponse) GetId() string {
|
||||
}
|
||||
|
||||
type GetDeviceProfileRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetDeviceProfileRequest) Reset() {
|
||||
@ -1532,16 +1530,15 @@ func (x *GetDeviceProfileRequest) GetId() string {
|
||||
}
|
||||
|
||||
type GetDeviceProfileResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile object.
|
||||
DeviceProfile *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetDeviceProfileResponse) Reset() {
|
||||
@ -1596,12 +1593,11 @@ func (x *GetDeviceProfileResponse) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type UpdateDeviceProfileRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile object.
|
||||
DeviceProfile *DeviceProfile `protobuf:"bytes,1,opt,name=device_profile,json=deviceProfile,proto3" json:"device_profile,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateDeviceProfileRequest) Reset() {
|
||||
@ -1642,12 +1638,11 @@ func (x *UpdateDeviceProfileRequest) GetDeviceProfile() *DeviceProfile {
|
||||
}
|
||||
|
||||
type DeleteDeviceProfileRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteDeviceProfileRequest) Reset() {
|
||||
@ -1688,10 +1683,7 @@ func (x *DeleteDeviceProfileRequest) GetId() string {
|
||||
}
|
||||
|
||||
type ListDeviceProfilesRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of device-profiles to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
@ -1700,7 +1692,9 @@ type ListDeviceProfilesRequest struct {
|
||||
// If set, the given string will be used to search on name.
|
||||
Search string `protobuf:"bytes,3,opt,name=search,proto3" json:"search,omitempty"`
|
||||
// Tenant ID to list the device-profiles for.
|
||||
TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListDeviceProfilesRequest) Reset() {
|
||||
@ -1762,14 +1756,13 @@ func (x *ListDeviceProfilesRequest) GetTenantId() string {
|
||||
}
|
||||
|
||||
type ListDeviceProfilesResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of device-profiles.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*DeviceProfileListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*DeviceProfileListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListDeviceProfilesResponse) Reset() {
|
||||
@ -1817,14 +1810,13 @@ func (x *ListDeviceProfilesResponse) GetResult() []*DeviceProfileListItem {
|
||||
}
|
||||
|
||||
type ListDeviceProfileAdrAlgorithmsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of algorithms.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*AdrAlgorithmListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*AdrAlgorithmListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListDeviceProfileAdrAlgorithmsResponse) Reset() {
|
||||
@ -1872,14 +1864,13 @@ func (x *ListDeviceProfileAdrAlgorithmsResponse) GetResult() []*AdrAlgorithmList
|
||||
}
|
||||
|
||||
type AdrAlgorithmListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Algorithm ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Algorithm name.
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AdrAlgorithmListItem) Reset() {
|
||||
@ -1928,420 +1919,202 @@ func (x *AdrAlgorithmListItem) GetName() string {
|
||||
|
||||
var File_api_device_profile_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_device_profile_proto_rawDesc = []byte{
|
||||
0x0a, 0x18, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a,
|
||||
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
|
||||
0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 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, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x22, 0xaf, 0x17, 0x0a, 0x0d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||
0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52,
|
||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a,
|
||||
0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x63, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||
0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x19, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x50, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x72, 0x65, 0x67, 0x50,
|
||||
0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a,
|
||||
0x10, 0x61, 0x64, 0x72, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f,
|
||||
0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x15, 0x70, 0x61, 0x79, 0x6c, 0x6f,
|
||||
0x61, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x64,
|
||||
0x65, 0x63, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x13, 0x70, 0x61, 0x79, 0x6c, 0x6f,
|
||||
0x61, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x30,
|
||||
0x0a, 0x14, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61,
|
||||
0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x12, 0x35, 0x0a, 0x17, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
|
||||
0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x14, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f, 0x6e, 0x41,
|
||||
0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x6c, 0x69, 0x6e,
|
||||
0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0e, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
|
||||
0x12, 0x3b, 0x0a, 0x1a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75,
|
||||
0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0c,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74,
|
||||
0x75, 0x73, 0x52, 0x65, 0x71, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x23, 0x0a,
|
||||
0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6f, 0x74, 0x61, 0x61, 0x18, 0x0d,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x74,
|
||||
0x61, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63,
|
||||
0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75,
|
||||
0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x12, 0x28, 0x0a, 0x10,
|
||||
0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63,
|
||||
0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
||||
0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||
0x62, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x31,
|
||||
0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73,
|
||||
0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x62, 0x5f, 0x6b, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11,
|
||||
0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x4e, 0x62,
|
||||
0x4b, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e,
|
||||
0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x44,
|
||||
0x72, 0x12, 0x32, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e,
|
||||
0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x13, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x12, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f,
|
||||
0x74, 0x46, 0x72, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63,
|
||||
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d,
|
||||
0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x22, 0x0a,
|
||||
0x0d, 0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x31, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x15,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x62, 0x70, 0x52, 0x78, 0x31, 0x44, 0x65, 0x6c, 0x61,
|
||||
0x79, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x31, 0x5f, 0x64, 0x72, 0x5f,
|
||||
0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x61, 0x62,
|
||||
0x70, 0x52, 0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x0a,
|
||||
0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x32, 0x5f, 0x64, 0x72, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x08, 0x61, 0x62, 0x70, 0x52, 0x78, 0x32, 0x44, 0x72, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x62,
|
||||
0x70, 0x5f, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0a, 0x61, 0x62, 0x70, 0x52, 0x78, 0x32, 0x46, 0x72, 0x65, 0x71, 0x12, 0x30, 0x0a, 0x04,
|
||||
0x74, 0x61, 0x67, 0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x54,
|
||||
0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x48,
|
||||
0x0a, 0x0c, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x1b,
|
||||
0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
|
||||
0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x61, 0x73,
|
||||
0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f,
|
||||
0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d,
|
||||
0x65, 0x6e, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x75, 0x74, 0x6f,
|
||||
0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e,
|
||||
0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65,
|
||||
0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
|
||||
0x69, 0x73, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
|
||||
0x69, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1e, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x5f, 0x65, 0x64, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
|
||||
0x52, 0x65, 0x6c, 0x61, 0x79, 0x45, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x79,
|
||||
0x5f, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x20,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x45, 0x64, 0x52, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f,
|
||||
0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x15, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x61, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69,
|
||||
0x63, 0x69, 0x74, 0x79, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x43, 0x61, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x69, 0x74, 0x79, 0x52,
|
||||
0x13, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x43, 0x61, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69,
|
||||
0x63, 0x69, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x1b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65,
|
||||
0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x18, 0x23, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x72, 0x65, 0x6c, 0x61, 0x79,
|
||||
0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e,
|
||||
0x64, 0x65, 0x78, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63,
|
||||
0x6f, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x72, 0x65, 0x71,
|
||||
0x18, 0x24, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63,
|
||||
0x6f, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x72, 0x65, 0x71, 0x12, 0x35,
|
||||
0x0a, 0x17, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x63,
|
||||
0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x72, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x14, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e,
|
||||
0x6e, 0x65, 0x6c, 0x44, 0x72, 0x12, 0x5c, 0x0a, 0x1f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x73,
|
||||
0x65, 0x63, 0x6f, 0x6e, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x63,
|
||||
0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x43, 0x68, 0x41, 0x63, 0x6b,
|
||||
0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x52, 0x1b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x63,
|
||||
0x6f, 0x6e, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x6b, 0x4f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x12, 0x51, 0x0a, 0x18, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x64, 0x5f,
|
||||
0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18,
|
||||
0x27, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61,
|
||||
0x79, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x15, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x45, 0x64, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x1b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f,
|
||||
0x65, 0x64, 0x5f, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f,
|
||||
0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x72, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x45, 0x64, 0x53, 0x6d, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c,
|
||||
0x65, 0x76, 0x65, 0x6c, 0x12, 0x29, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x64,
|
||||
0x5f, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 0x66, 0x18, 0x29, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0e, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x45, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x12,
|
||||
0x47, 0x0a, 0x21, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x69,
|
||||
0x6e, 0x6b, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f,
|
||||
0x73, 0x69, 0x7a, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1c, 0x72, 0x65, 0x6c, 0x61,
|
||||
0x79, 0x45, 0x64, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x75,
|
||||
0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x47, 0x0a, 0x21, 0x72, 0x65, 0x6c, 0x61,
|
||||
0x79, 0x5f, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x69, 0x6d, 0x69,
|
||||
0x74, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2b, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x1c, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x45, 0x64, 0x55, 0x70, 0x6c, 0x69,
|
||||
0x6e, 0x6b, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x74,
|
||||
0x65, 0x12, 0x45, 0x0a, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6a, 0x6f, 0x69, 0x6e, 0x5f,
|
||||
0x72, 0x65, 0x71, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64,
|
||||
0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x72, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x1e, 0x72, 0x65, 0x6c, 0x61,
|
||||
0x79, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72,
|
||||
0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x1a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c, 0x69, 0x6d,
|
||||
0x69, 0x74, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x25,
|
||||
0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x75, 0x70, 0x6c,
|
||||
0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64,
|
||||
0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x20, 0x72, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x69,
|
||||
0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a,
|
||||
0x1f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x6c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x72, 0x61, 0x74, 0x65,
|
||||
0x18, 0x2f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4f, 0x76, 0x65,
|
||||
0x72, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x6f, 0x61, 0x64, 0x52,
|
||||
0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6a, 0x6f, 0x69,
|
||||
0x6e, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b,
|
||||
0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x30, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x4a, 0x6f, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x4c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x42, 0x0a, 0x1e, 0x72, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x31, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x1a, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x4c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x4f,
|
||||
0x0a, 0x25, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x75,
|
||||
0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b,
|
||||
0x65, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x20, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b,
|
||||
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12,
|
||||
0x44, 0x0a, 0x1f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c,
|
||||
0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x69,
|
||||
0x7a, 0x65, 0x18, 0x33, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x4f,
|
||||
0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65,
|
||||
0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72,
|
||||
0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x34, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c,
|
||||
0x6c, 0x6f, 0x77, 0x52, 0x6f, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x78,
|
||||
0x31, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72,
|
||||
0x78, 0x31, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x3d, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x5f, 0x6c,
|
||||
0x61, 0x79, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x70, 0x70, 0x4c, 0x61, 0x79, 0x65, 0x72,
|
||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x0e, 0x61, 0x70, 0x70, 0x4c, 0x61, 0x79, 0x65, 0x72,
|
||||
0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||
0x51, 0x0a, 0x11, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x73,
|
||||
0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
|
||||
0x38, 0x01, 0x22, 0x4b, 0x0a, 0x0b, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e,
|
||||
0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72,
|
||||
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22,
|
||||
0x9e, 0x02, 0x0a, 0x0e, 0x41, 0x70, 0x70, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x12, 0x36, 0x0a, 0x0d, 0x74, 0x73, 0x30, 0x30, 0x33, 0x5f, 0x76, 0x65, 0x72, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x54, 0x73, 0x30, 0x30, 0x33, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x73,
|
||||
0x30, 0x30, 0x33, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x73,
|
||||
0x30, 0x30, 0x33, 0x5f, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0a, 0x74, 0x73, 0x30, 0x30, 0x33, 0x46, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x0d,
|
||||
0x74, 0x73, 0x30, 0x30, 0x34, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x73, 0x30, 0x30, 0x34, 0x56,
|
||||
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x73, 0x30, 0x30, 0x34, 0x56, 0x65, 0x72,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x73, 0x30, 0x30, 0x34, 0x5f, 0x66, 0x5f,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x30, 0x30,
|
||||
0x34, 0x46, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x74, 0x73, 0x30, 0x30, 0x35, 0x5f,
|
||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x54, 0x73, 0x30, 0x30, 0x35, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x0c, 0x74, 0x73, 0x30, 0x30, 0x35, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20,
|
||||
0x0a, 0x0c, 0x74, 0x73, 0x30, 0x30, 0x35, 0x5f, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x73, 0x30, 0x30, 0x35, 0x46, 0x50, 0x6f, 0x72, 0x74,
|
||||
0x22, 0xd2, 0x03, 0x0a, 0x15, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65,
|
||||
0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0b,
|
||||
0x6d, 0x61, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||
0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x63, 0x56, 0x65,
|
||||
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x12, 0x49, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f,
|
||||
0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d,
|
||||
0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x72, 0x65, 0x67, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d,
|
||||
0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6f, 0x74, 0x61, 0x61, 0x18, 0x08, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x74, 0x61,
|
||||
0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c,
|
||||
0x61, 0x73, 0x73, 0x5f, 0x62, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70,
|
||||
0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x12, 0x28, 0x0a, 0x10, 0x73,
|
||||
0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x18,
|
||||
0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43,
|
||||
0x6c, 0x61, 0x73, 0x73, 0x43, 0x22, 0x57, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52,
|
||||
0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x2d,
|
||||
0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x29, 0x0a,
|
||||
0x17, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xcb, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
|
||||
0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02,
|
||||
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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x57, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x52, 0x0d, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22,
|
||||
0x2c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x7e, 0x0a,
|
||||
0x19, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69,
|
||||
0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72,
|
||||
0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68,
|
||||
0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x71, 0x0a,
|
||||
0x1a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74,
|
||||
0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x06,
|
||||
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
|
||||
0x22, 0x7c, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x41, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68,
|
||||
0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f,
|
||||
0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x72,
|
||||
0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x41, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x3a,
|
||||
0x0a, 0x14, 0x41, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x2a, 0x31, 0x0a, 0x0c, 0x43, 0x6f,
|
||||
0x64, 0x65, 0x63, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f,
|
||||
0x4e, 0x45, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x41, 0x59, 0x45, 0x4e, 0x4e, 0x45, 0x5f,
|
||||
0x4c, 0x50, 0x50, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x53, 0x10, 0x02, 0x2a, 0x50, 0x0a,
|
||||
0x0f, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x69, 0x6e, 0x64,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a,
|
||||
0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x42,
|
||||
0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x47, 0x41, 0x55, 0x47,
|
||||
0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x2a,
|
||||
0x55, 0x0a, 0x0e, 0x43, 0x61, 0x64, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x69, 0x74,
|
||||
0x79, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x45, 0x43, 0x5f, 0x31, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
|
||||
0x4d, 0x53, 0x5f, 0x35, 0x30, 0x30, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x53, 0x5f, 0x32,
|
||||
0x35, 0x30, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x53, 0x5f, 0x31, 0x30, 0x30, 0x10, 0x03,
|
||||
0x12, 0x09, 0x0a, 0x05, 0x4d, 0x53, 0x5f, 0x35, 0x30, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x4d,
|
||||
0x53, 0x5f, 0x32, 0x30, 0x10, 0x05, 0x2a, 0x61, 0x0a, 0x11, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64,
|
||||
0x43, 0x68, 0x41, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x09, 0x0a, 0x05, 0x4b,
|
||||
0x48, 0x5a, 0x5f, 0x30, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x48, 0x5a, 0x5f, 0x32, 0x30,
|
||||
0x30, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x48, 0x5a, 0x5f, 0x34, 0x30, 0x30, 0x10, 0x02,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x4b, 0x48, 0x5a, 0x5f, 0x38, 0x30, 0x30, 0x10, 0x03, 0x12, 0x0c, 0x0a,
|
||||
0x08, 0x4b, 0x48, 0x5a, 0x5f, 0x31, 0x36, 0x30, 0x30, 0x10, 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x4b,
|
||||
0x48, 0x5a, 0x5f, 0x33, 0x32, 0x30, 0x30, 0x10, 0x05, 0x2a, 0x6c, 0x0a, 0x13, 0x52, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x12, 0x16, 0x0a, 0x12, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41,
|
||||
0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x41, 0x42,
|
||||
0x4c, 0x45, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12,
|
||||
0x0b, 0x0a, 0x07, 0x44, 0x59, 0x4e, 0x41, 0x4d, 0x49, 0x43, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15,
|
||||
0x45, 0x4e, 0x44, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52,
|
||||
0x4f, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x49, 0x0a, 0x0c, 0x54, 0x73, 0x30, 0x30, 0x33,
|
||||
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x53, 0x30, 0x30, 0x33,
|
||||
0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44,
|
||||
0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x53, 0x30, 0x30, 0x33, 0x5f, 0x56, 0x31, 0x30, 0x30,
|
||||
0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x53, 0x30, 0x30, 0x33, 0x5f, 0x76, 0x32, 0x30, 0x30,
|
||||
0x10, 0x02, 0x2a, 0x49, 0x0a, 0x0c, 0x54, 0x73, 0x30, 0x30, 0x34, 0x56, 0x65, 0x72, 0x73, 0x69,
|
||||
0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x15, 0x54, 0x53, 0x30, 0x30, 0x34, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
|
||||
0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a,
|
||||
0x0a, 0x54, 0x53, 0x30, 0x30, 0x34, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x10, 0x01, 0x12, 0x0e, 0x0a,
|
||||
0x0a, 0x54, 0x53, 0x30, 0x30, 0x34, 0x5f, 0x56, 0x32, 0x30, 0x30, 0x10, 0x02, 0x2a, 0x49, 0x0a,
|
||||
0x0c, 0x54, 0x73, 0x30, 0x30, 0x35, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a,
|
||||
0x15, 0x54, 0x53, 0x30, 0x30, 0x35, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x45,
|
||||
0x4d, 0x45, 0x4e, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x53, 0x30, 0x30,
|
||||
0x35, 0x5f, 0x56, 0x31, 0x30, 0x30, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x53, 0x30, 0x30,
|
||||
0x35, 0x5f, 0x56, 0x32, 0x30, 0x30, 0x10, 0x02, 0x32, 0xb8, 0x05, 0x0a, 0x14, 0x44, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x12, 0x6c, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12,
|
||||
0x65, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x12, 0x19, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x76, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x33, 0x82, 0xd3, 0xe4, 0x93, 0x02,
|
||||
0x2d, 0x3a, 0x01, 0x2a, 0x1a, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x64,
|
||||
0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x2a, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f,
|
||||
0x7b, 0x69, 0x64, 0x7d, 0x12, 0x65, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x11,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
|
||||
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, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x41, 0x64, 0x72, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23,
|
||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x73, 0x2f, 0x61, 0x64, 0x72, 0x2d, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
|
||||
0x68, 0x6d, 0x73, 0x42, 0x98, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70,
|
||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x12, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||
0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63,
|
||||
0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa,
|
||||
0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69,
|
||||
0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70,
|
||||
0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c,
|
||||
0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_api_device_profile_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x18api/device_profile.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x13common/common.proto\"\xbe\x17\n" +
|
||||
"\rDeviceProfile\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x02 \x01(\tR\btenantId\x12\x12\n" +
|
||||
"\x04name\x18\x03 \x01(\tR\x04name\x12 \n" +
|
||||
"\vdescription\x18\x1a \x01(\tR\vdescription\x12&\n" +
|
||||
"\x06region\x18\x04 \x01(\x0e2\x0e.common.RegionR\x06region\x123\n" +
|
||||
"\vmac_version\x18\x05 \x01(\x0e2\x12.common.MacVersionR\n" +
|
||||
"macVersion\x12I\n" +
|
||||
"\x13reg_params_revision\x18\x06 \x01(\x0e2\x19.common.RegParamsRevisionR\x11regParamsRevision\x12(\n" +
|
||||
"\x10adr_algorithm_id\x18\a \x01(\tR\x0eadrAlgorithmId\x12E\n" +
|
||||
"\x15payload_codec_runtime\x18\b \x01(\x0e2\x11.api.CodecRuntimeR\x13payloadCodecRuntime\x120\n" +
|
||||
"\x14payload_codec_script\x18\t \x01(\tR\x12payloadCodecScript\x125\n" +
|
||||
"\x17flush_queue_on_activate\x18\n" +
|
||||
" \x01(\bR\x14flushQueueOnActivate\x12'\n" +
|
||||
"\x0fuplink_interval\x18\v \x01(\rR\x0euplinkInterval\x12;\n" +
|
||||
"\x1adevice_status_req_interval\x18\f \x01(\rR\x17deviceStatusReqInterval\x12#\n" +
|
||||
"\rsupports_otaa\x18\r \x01(\bR\fsupportsOtaa\x12(\n" +
|
||||
"\x10supports_class_b\x18\x0e \x01(\bR\x0esupportsClassB\x12(\n" +
|
||||
"\x10supports_class_c\x18\x0f \x01(\bR\x0esupportsClassC\x12&\n" +
|
||||
"\x0fclass_b_timeout\x18\x10 \x01(\rR\rclassBTimeout\x12@\n" +
|
||||
"\x1dclass_b_ping_slot_periodicity\x18\x11 \x01(\rR\x19classBPingSlotPeriodicity\x12.\n" +
|
||||
"\x14class_b_ping_slot_dr\x18\x12 \x01(\rR\x10classBPingSlotDr\x122\n" +
|
||||
"\x16class_b_ping_slot_freq\x18\x13 \x01(\rR\x12classBPingSlotFreq\x12&\n" +
|
||||
"\x0fclass_c_timeout\x18\x14 \x01(\rR\rclassCTimeout\x12\"\n" +
|
||||
"\rabp_rx1_delay\x18\x15 \x01(\rR\vabpRx1Delay\x12)\n" +
|
||||
"\x11abp_rx1_dr_offset\x18\x16 \x01(\rR\x0eabpRx1DrOffset\x12\x1c\n" +
|
||||
"\n" +
|
||||
"abp_rx2_dr\x18\x17 \x01(\rR\babpRx2Dr\x12 \n" +
|
||||
"\fabp_rx2_freq\x18\x18 \x01(\rR\n" +
|
||||
"abpRx2Freq\x120\n" +
|
||||
"\x04tags\x18\x19 \x03(\v2\x1c.api.DeviceProfile.TagsEntryR\x04tags\x12H\n" +
|
||||
"\fmeasurements\x18\x1b \x03(\v2$.api.DeviceProfile.MeasurementsEntryR\fmeasurements\x128\n" +
|
||||
"\x18auto_detect_measurements\x18\x1c \x01(\bR\x16autoDetectMeasurements\x12(\n" +
|
||||
"\x10region_config_id\x18\x1d \x01(\tR\x0eregionConfigId\x12\x19\n" +
|
||||
"\bis_relay\x18\x1e \x01(\bR\aisRelay\x12\x1e\n" +
|
||||
"\vis_relay_ed\x18\x1f \x01(\bR\tisRelayEd\x12-\n" +
|
||||
"\x13relay_ed_relay_only\x18 \x01(\bR\x10relayEdRelayOnly\x12#\n" +
|
||||
"\rrelay_enabled\x18! \x01(\bR\frelayEnabled\x12G\n" +
|
||||
"\x15relay_cad_periodicity\x18\" \x01(\x0e2\x13.api.CadPeriodicityR\x13relayCadPeriodicity\x12=\n" +
|
||||
"\x1brelay_default_channel_index\x18# \x01(\rR\x18relayDefaultChannelIndex\x129\n" +
|
||||
"\x19relay_second_channel_freq\x18$ \x01(\rR\x16relaySecondChannelFreq\x125\n" +
|
||||
"\x17relay_second_channel_dr\x18% \x01(\rR\x14relaySecondChannelDr\x12\\\n" +
|
||||
"\x1frelay_second_channel_ack_offset\x18& \x01(\x0e2\x16.api.SecondChAckOffsetR\x1brelaySecondChannelAckOffset\x12Q\n" +
|
||||
"\x18relay_ed_activation_mode\x18' \x01(\x0e2\x18.api.RelayModeActivationR\x15relayEdActivationMode\x12<\n" +
|
||||
"\x1brelay_ed_smart_enable_level\x18( \x01(\rR\x17relayEdSmartEnableLevel\x12)\n" +
|
||||
"\x11relay_ed_back_off\x18) \x01(\rR\x0erelayEdBackOff\x12G\n" +
|
||||
"!relay_ed_uplink_limit_bucket_size\x18* \x01(\rR\x1crelayEdUplinkLimitBucketSize\x12G\n" +
|
||||
"!relay_ed_uplink_limit_reload_rate\x18+ \x01(\rR\x1crelayEdUplinkLimitReloadRate\x12E\n" +
|
||||
" relay_join_req_limit_reload_rate\x18, \x01(\rR\x1brelayJoinReqLimitReloadRate\x12B\n" +
|
||||
"\x1erelay_notify_limit_reload_rate\x18- \x01(\rR\x1arelayNotifyLimitReloadRate\x12O\n" +
|
||||
"%relay_global_uplink_limit_reload_rate\x18. \x01(\rR relayGlobalUplinkLimitReloadRate\x12D\n" +
|
||||
"\x1frelay_overall_limit_reload_rate\x18/ \x01(\rR\x1brelayOverallLimitReloadRate\x12E\n" +
|
||||
" relay_join_req_limit_bucket_size\x180 \x01(\rR\x1brelayJoinReqLimitBucketSize\x12B\n" +
|
||||
"\x1erelay_notify_limit_bucket_size\x181 \x01(\rR\x1arelayNotifyLimitBucketSize\x12O\n" +
|
||||
"%relay_global_uplink_limit_bucket_size\x182 \x01(\rR relayGlobalUplinkLimitBucketSize\x12D\n" +
|
||||
"\x1frelay_overall_limit_bucket_size\x183 \x01(\rR\x1brelayOverallLimitBucketSize\x12#\n" +
|
||||
"\rallow_roaming\x184 \x01(\bR\fallowRoaming\x12\x1b\n" +
|
||||
"\trx1_delay\x185 \x01(\rR\brx1Delay\x12=\n" +
|
||||
"\x10app_layer_params\x186 \x01(\v2\x13.api.AppLayerParamsR\x0eappLayerParams\x1a7\n" +
|
||||
"\tTagsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aQ\n" +
|
||||
"\x11MeasurementsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12&\n" +
|
||||
"\x05value\x18\x02 \x01(\v2\x10.api.MeasurementR\x05value:\x028\x01\"K\n" +
|
||||
"\vMeasurement\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12(\n" +
|
||||
"\x04kind\x18\x03 \x01(\x0e2\x14.api.MeasurementKindR\x04kind\"\x9e\x02\n" +
|
||||
"\x0eAppLayerParams\x126\n" +
|
||||
"\rts003_version\x18\x01 \x01(\x0e2\x11.api.Ts003VersionR\fts003Version\x12 \n" +
|
||||
"\fts003_f_port\x18\x02 \x01(\rR\n" +
|
||||
"ts003FPort\x126\n" +
|
||||
"\rts004_version\x18\x03 \x01(\x0e2\x11.api.Ts004VersionR\fts004Version\x12 \n" +
|
||||
"\fts004_f_port\x18\x04 \x01(\rR\n" +
|
||||
"ts004FPort\x126\n" +
|
||||
"\rts005_version\x18\x05 \x01(\x0e2\x11.api.Ts005VersionR\fts005Version\x12 \n" +
|
||||
"\fts005_f_port\x18\x06 \x01(\rR\n" +
|
||||
"ts005FPort\"\xd2\x03\n" +
|
||||
"\x15DeviceProfileListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" +
|
||||
"\x04name\x18\x04 \x01(\tR\x04name\x12&\n" +
|
||||
"\x06region\x18\x05 \x01(\x0e2\x0e.common.RegionR\x06region\x123\n" +
|
||||
"\vmac_version\x18\x06 \x01(\x0e2\x12.common.MacVersionR\n" +
|
||||
"macVersion\x12I\n" +
|
||||
"\x13reg_params_revision\x18\a \x01(\x0e2\x19.common.RegParamsRevisionR\x11regParamsRevision\x12#\n" +
|
||||
"\rsupports_otaa\x18\b \x01(\bR\fsupportsOtaa\x12(\n" +
|
||||
"\x10supports_class_b\x18\t \x01(\bR\x0esupportsClassB\x12(\n" +
|
||||
"\x10supports_class_c\x18\n" +
|
||||
" \x01(\bR\x0esupportsClassC\"W\n" +
|
||||
"\x1aCreateDeviceProfileRequest\x129\n" +
|
||||
"\x0edevice_profile\x18\x01 \x01(\v2\x12.api.DeviceProfileR\rdeviceProfile\"-\n" +
|
||||
"\x1bCreateDeviceProfileResponse\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\")\n" +
|
||||
"\x17GetDeviceProfileRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\xcb\x01\n" +
|
||||
"\x18GetDeviceProfileResponse\x129\n" +
|
||||
"\x0edevice_profile\x18\x01 \x01(\v2\x12.api.DeviceProfileR\rdeviceProfile\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"W\n" +
|
||||
"\x1aUpdateDeviceProfileRequest\x129\n" +
|
||||
"\x0edevice_profile\x18\x01 \x01(\v2\x12.api.DeviceProfileR\rdeviceProfile\",\n" +
|
||||
"\x1aDeleteDeviceProfileRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"~\n" +
|
||||
"\x19ListDeviceProfilesRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\x12\x16\n" +
|
||||
"\x06search\x18\x03 \x01(\tR\x06search\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x04 \x01(\tR\btenantId\"q\n" +
|
||||
"\x1aListDeviceProfilesResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x122\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x1a.api.DeviceProfileListItemR\x06result\"|\n" +
|
||||
"&ListDeviceProfileAdrAlgorithmsResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x121\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x19.api.AdrAlgorithmListItemR\x06result\":\n" +
|
||||
"\x14AdrAlgorithmListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name*1\n" +
|
||||
"\fCodecRuntime\x12\b\n" +
|
||||
"\x04NONE\x10\x00\x12\x0f\n" +
|
||||
"\vCAYENNE_LPP\x10\x01\x12\x06\n" +
|
||||
"\x02JS\x10\x02*P\n" +
|
||||
"\x0fMeasurementKind\x12\v\n" +
|
||||
"\aUNKNOWN\x10\x00\x12\v\n" +
|
||||
"\aCOUNTER\x10\x01\x12\f\n" +
|
||||
"\bABSOLUTE\x10\x02\x12\t\n" +
|
||||
"\x05GAUGE\x10\x03\x12\n" +
|
||||
"\n" +
|
||||
"\x06STRING\x10\x04*U\n" +
|
||||
"\x0eCadPeriodicity\x12\t\n" +
|
||||
"\x05SEC_1\x10\x00\x12\n" +
|
||||
"\n" +
|
||||
"\x06MS_500\x10\x01\x12\n" +
|
||||
"\n" +
|
||||
"\x06MS_250\x10\x02\x12\n" +
|
||||
"\n" +
|
||||
"\x06MS_100\x10\x03\x12\t\n" +
|
||||
"\x05MS_50\x10\x04\x12\t\n" +
|
||||
"\x05MS_20\x10\x05*a\n" +
|
||||
"\x11SecondChAckOffset\x12\t\n" +
|
||||
"\x05KHZ_0\x10\x00\x12\v\n" +
|
||||
"\aKHZ_200\x10\x01\x12\v\n" +
|
||||
"\aKHZ_400\x10\x02\x12\v\n" +
|
||||
"\aKHZ_800\x10\x03\x12\f\n" +
|
||||
"\bKHZ_1600\x10\x04\x12\f\n" +
|
||||
"\bKHZ_3200\x10\x05*l\n" +
|
||||
"\x13RelayModeActivation\x12\x16\n" +
|
||||
"\x12DISABLE_RELAY_MODE\x10\x00\x12\x15\n" +
|
||||
"\x11ENABLE_RELAY_MODE\x10\x01\x12\v\n" +
|
||||
"\aDYNAMIC\x10\x02\x12\x19\n" +
|
||||
"\x15END_DEVICE_CONTROLLED\x10\x03*I\n" +
|
||||
"\fTs003Version\x12\x19\n" +
|
||||
"\x15TS003_NOT_IMPLEMENTED\x10\x00\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS003_V100\x10\x01\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS003_v200\x10\x02*I\n" +
|
||||
"\fTs004Version\x12\x19\n" +
|
||||
"\x15TS004_NOT_IMPLEMENTED\x10\x00\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS004_V100\x10\x01\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS004_V200\x10\x02*I\n" +
|
||||
"\fTs005Version\x12\x19\n" +
|
||||
"\x15TS005_NOT_IMPLEMENTED\x10\x00\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS005_V100\x10\x01\x12\x0e\n" +
|
||||
"\n" +
|
||||
"TS005_V200\x10\x022\xb8\x05\n" +
|
||||
"\x14DeviceProfileService\x12l\n" +
|
||||
"\x06Create\x12\x1f.api.CreateDeviceProfileRequest\x1a .api.CreateDeviceProfileResponse\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/device-profiles\x12e\n" +
|
||||
"\x03Get\x12\x1c.api.GetDeviceProfileRequest\x1a\x1d.api.GetDeviceProfileResponse\"!\x82\xd3\xe4\x93\x02\x1b\x12\x19/api/device-profiles/{id}\x12v\n" +
|
||||
"\x06Update\x12\x1f.api.UpdateDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"3\x82\xd3\xe4\x93\x02-:\x01*\x1a(/api/device-profiles/{device_profile.id}\x12d\n" +
|
||||
"\x06Delete\x12\x1f.api.DeleteDeviceProfileRequest\x1a\x16.google.protobuf.Empty\"!\x82\xd3\xe4\x93\x02\x1b*\x19/api/device-profiles/{id}\x12e\n" +
|
||||
"\x04List\x12\x1e.api.ListDeviceProfilesRequest\x1a\x1f.api.ListDeviceProfilesResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/api/device-profiles\x12\x85\x01\n" +
|
||||
"\x11ListAdrAlgorithms\x12\x16.google.protobuf.Empty\x1a+.api.ListDeviceProfileAdrAlgorithmsResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/device-profiles/adr-algorithmsB\x98\x01\n" +
|
||||
"\x11io.chirpstack.apiB\x12DeviceProfileProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_device_profile_proto_rawDescOnce sync.Once
|
||||
file_api_device_profile_proto_rawDescData = file_api_device_profile_proto_rawDesc
|
||||
file_api_device_profile_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_device_profile_proto_rawDescGZIP() []byte {
|
||||
file_api_device_profile_proto_rawDescOnce.Do(func() {
|
||||
file_api_device_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_device_profile_proto_rawDescData)
|
||||
file_api_device_profile_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_device_profile_proto_rawDesc), len(file_api_device_profile_proto_rawDesc)))
|
||||
})
|
||||
return file_api_device_profile_proto_rawDescData
|
||||
}
|
||||
@ -2435,7 +2208,7 @@ func file_api_device_profile_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_device_profile_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_device_profile_proto_rawDesc), len(file_api_device_profile_proto_rawDesc)),
|
||||
NumEnums: 8,
|
||||
NumMessages: 16,
|
||||
NumExtensions: 0,
|
||||
@ -2447,7 +2220,6 @@ func file_api_device_profile_proto_init() {
|
||||
MessageInfos: file_api_device_profile_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_device_profile_proto = out.File
|
||||
file_api_device_profile_proto_rawDesc = nil
|
||||
file_api_device_profile_proto_goTypes = nil
|
||||
file_api_device_profile_proto_depIdxs = nil
|
||||
}
|
||||
|
51
api/go/api/device_profile_grpc.pb.go
vendored
51
api/go/api/device_profile_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/device_profile.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
DeviceProfileService_Create_FullMethodName = "/api.DeviceProfileService/Create"
|
||||
@ -31,6 +31,9 @@ const (
|
||||
// DeviceProfileServiceClient is the client API for DeviceProfileService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// DeviceProfileService is the service providing API methods for managing
|
||||
// device-profiles.
|
||||
type DeviceProfileServiceClient interface {
|
||||
// Create the given device-profile.
|
||||
Create(ctx context.Context, in *CreateDeviceProfileRequest, opts ...grpc.CallOption) (*CreateDeviceProfileResponse, error)
|
||||
@ -55,8 +58,9 @@ func NewDeviceProfileServiceClient(cc grpc.ClientConnInterface) DeviceProfileSer
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) Create(ctx context.Context, in *CreateDeviceProfileRequest, opts ...grpc.CallOption) (*CreateDeviceProfileResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateDeviceProfileResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -64,8 +68,9 @@ func (c *deviceProfileServiceClient) Create(ctx context.Context, in *CreateDevic
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) Get(ctx context.Context, in *GetDeviceProfileRequest, opts ...grpc.CallOption) (*GetDeviceProfileResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceProfileResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -73,8 +78,9 @@ func (c *deviceProfileServiceClient) Get(ctx context.Context, in *GetDeviceProfi
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) Update(ctx context.Context, in *UpdateDeviceProfileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -82,8 +88,9 @@ func (c *deviceProfileServiceClient) Update(ctx context.Context, in *UpdateDevic
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) Delete(ctx context.Context, in *DeleteDeviceProfileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -91,8 +98,9 @@ func (c *deviceProfileServiceClient) Delete(ctx context.Context, in *DeleteDevic
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) List(ctx context.Context, in *ListDeviceProfilesRequest, opts ...grpc.CallOption) (*ListDeviceProfilesResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListDeviceProfilesResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -100,8 +108,9 @@ func (c *deviceProfileServiceClient) List(ctx context.Context, in *ListDevicePro
|
||||
}
|
||||
|
||||
func (c *deviceProfileServiceClient) ListAdrAlgorithms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListDeviceProfileAdrAlgorithmsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListDeviceProfileAdrAlgorithmsResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_ListAdrAlgorithms_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileService_ListAdrAlgorithms_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -110,7 +119,10 @@ func (c *deviceProfileServiceClient) ListAdrAlgorithms(ctx context.Context, in *
|
||||
|
||||
// DeviceProfileServiceServer is the server API for DeviceProfileService service.
|
||||
// All implementations must embed UnimplementedDeviceProfileServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// DeviceProfileService is the service providing API methods for managing
|
||||
// device-profiles.
|
||||
type DeviceProfileServiceServer interface {
|
||||
// Create the given device-profile.
|
||||
Create(context.Context, *CreateDeviceProfileRequest) (*CreateDeviceProfileResponse, error)
|
||||
@ -127,9 +139,12 @@ type DeviceProfileServiceServer interface {
|
||||
mustEmbedUnimplementedDeviceProfileServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedDeviceProfileServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedDeviceProfileServiceServer struct {
|
||||
}
|
||||
// UnimplementedDeviceProfileServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedDeviceProfileServiceServer struct{}
|
||||
|
||||
func (UnimplementedDeviceProfileServiceServer) Create(context.Context, *CreateDeviceProfileRequest) (*CreateDeviceProfileResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -150,6 +165,7 @@ func (UnimplementedDeviceProfileServiceServer) ListAdrAlgorithms(context.Context
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListAdrAlgorithms not implemented")
|
||||
}
|
||||
func (UnimplementedDeviceProfileServiceServer) mustEmbedUnimplementedDeviceProfileServiceServer() {}
|
||||
func (UnimplementedDeviceProfileServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeDeviceProfileServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to DeviceProfileServiceServer will
|
||||
@ -159,6 +175,13 @@ type UnsafeDeviceProfileServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterDeviceProfileServiceServer(s grpc.ServiceRegistrar, srv DeviceProfileServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedDeviceProfileServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&DeviceProfileService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
432
api/go/api/device_profile_template.pb.go
vendored
432
api/go/api/device_profile_template.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/device_profile_template.proto
|
||||
|
||||
package api
|
||||
@ -15,6 +15,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -25,10 +26,7 @@ const (
|
||||
)
|
||||
|
||||
type DeviceProfileTemplate struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile template ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Name.
|
||||
@ -71,11 +69,15 @@ type DeviceProfileTemplate struct {
|
||||
// Class-B timeout (seconds).
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested).
|
||||
ClassBTimeout uint32 `protobuf:"varint,18,opt,name=class_b_timeout,json=classBTimeout,proto3" json:"class_b_timeout,omitempty"`
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
ClassBPingSlotNbK uint32 `protobuf:"varint,19,opt,name=class_b_ping_slot_nb_k,json=classBPingSlotNbK,proto3" json:"class_b_ping_slot_nb_k,omitempty"`
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
ClassBPingSlotPeriodicity uint32 `protobuf:"varint,19,opt,name=class_b_ping_slot_periodicity,json=classBPingSlotPeriodicity,proto3" json:"class_b_ping_slot_periodicity,omitempty"`
|
||||
// Class-B ping-slot DR.
|
||||
ClassBPingSlotDr uint32 `protobuf:"varint,20,opt,name=class_b_ping_slot_dr,json=classBPingSlotDr,proto3" json:"class_b_ping_slot_dr,omitempty"`
|
||||
// Class-B ping-slot freq (Hz).
|
||||
@ -92,15 +94,17 @@ type DeviceProfileTemplate struct {
|
||||
// RX2 frequency (for ABP, Hz).
|
||||
AbpRx2Freq uint32 `protobuf:"varint,26,opt,name=abp_rx2_freq,json=abpRx2Freq,proto3" json:"abp_rx2_freq,omitempty"`
|
||||
// User defined tags.
|
||||
Tags map[string]string `protobuf:"bytes,27,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,27,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
// Measurements.
|
||||
// If defined, ChirpStack will visualize these metrics in the web-interface.
|
||||
Measurements map[string]*Measurement `protobuf:"bytes,28,rep,name=measurements,proto3" json:"measurements,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Measurements map[string]*Measurement `protobuf:"bytes,28,rep,name=measurements,proto3" json:"measurements,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
// Auto-detect measurements.
|
||||
// If set to true, measurements will be automatically added based on the
|
||||
// keys of the decoded payload. In cases where the decoded payload contains
|
||||
// random keys in the data, you want to set this to false.
|
||||
AutoDetectMeasurements bool `protobuf:"varint,29,opt,name=auto_detect_measurements,json=autoDetectMeasurements,proto3" json:"auto_detect_measurements,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeviceProfileTemplate) Reset() {
|
||||
@ -259,9 +263,9 @@ func (x *DeviceProfileTemplate) GetClassBTimeout() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DeviceProfileTemplate) GetClassBPingSlotNbK() uint32 {
|
||||
func (x *DeviceProfileTemplate) GetClassBPingSlotPeriodicity() uint32 {
|
||||
if x != nil {
|
||||
return x.ClassBPingSlotNbK
|
||||
return x.ClassBPingSlotPeriodicity
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -337,10 +341,7 @@ func (x *DeviceProfileTemplate) GetAutoDetectMeasurements() bool {
|
||||
}
|
||||
|
||||
type DeviceProfileTemplateListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile template ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Created at timestamp.
|
||||
@ -365,6 +366,8 @@ type DeviceProfileTemplateListItem struct {
|
||||
SupportsClassB bool `protobuf:"varint,11,opt,name=supports_class_b,json=supportsClassB,proto3" json:"supports_class_b,omitempty"`
|
||||
// Supports Class-C.
|
||||
SupportsClassC bool `protobuf:"varint,12,opt,name=supports_class_c,json=supportsClassC,proto3" json:"supports_class_c,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeviceProfileTemplateListItem) Reset() {
|
||||
@ -482,12 +485,11 @@ func (x *DeviceProfileTemplateListItem) GetSupportsClassC() bool {
|
||||
}
|
||||
|
||||
type CreateDeviceProfileTemplateRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Object to create.
|
||||
DeviceProfileTemplate *DeviceProfileTemplate `protobuf:"bytes,1,opt,name=device_profile_template,json=deviceProfileTemplate,proto3" json:"device_profile_template,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateDeviceProfileTemplateRequest) Reset() {
|
||||
@ -528,12 +530,11 @@ func (x *CreateDeviceProfileTemplateRequest) GetDeviceProfileTemplate() *DeviceP
|
||||
}
|
||||
|
||||
type GetDeviceProfileTemplateRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetDeviceProfileTemplateRequest) Reset() {
|
||||
@ -574,16 +575,15 @@ func (x *GetDeviceProfileTemplateRequest) GetId() string {
|
||||
}
|
||||
|
||||
type GetDeviceProfileTemplateResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device-profile template object.
|
||||
DeviceProfileTemplate *DeviceProfileTemplate `protobuf:"bytes,1,opt,name=device_profile_template,json=deviceProfileTemplate,proto3" json:"device_profile_template,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetDeviceProfileTemplateResponse) Reset() {
|
||||
@ -638,12 +638,11 @@ func (x *GetDeviceProfileTemplateResponse) GetUpdatedAt() *timestamppb.Timestamp
|
||||
}
|
||||
|
||||
type UpdateDeviceProfileTemplateRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Object to update.
|
||||
DeviceProfileTemplate *DeviceProfileTemplate `protobuf:"bytes,1,opt,name=device_profile_template,json=deviceProfileTemplate,proto3" json:"device_profile_template,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateDeviceProfileTemplateRequest) Reset() {
|
||||
@ -684,12 +683,11 @@ func (x *UpdateDeviceProfileTemplateRequest) GetDeviceProfileTemplate() *DeviceP
|
||||
}
|
||||
|
||||
type DeleteDeviceProfileTemplateRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteDeviceProfileTemplateRequest) Reset() {
|
||||
@ -730,15 +728,14 @@ func (x *DeleteDeviceProfileTemplateRequest) GetId() string {
|
||||
}
|
||||
|
||||
type ListDeviceProfileTemplatesRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of device-profile templates to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
// Offset in the result-set (for pagination).
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListDeviceProfileTemplatesRequest) Reset() {
|
||||
@ -786,14 +783,13 @@ func (x *ListDeviceProfileTemplatesRequest) GetOffset() uint32 {
|
||||
}
|
||||
|
||||
type ListDeviceProfileTemplatesResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of device-profile templates.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*DeviceProfileTemplateListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*DeviceProfileTemplateListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListDeviceProfileTemplatesResponse) Reset() {
|
||||
@ -842,256 +838,103 @@ func (x *ListDeviceProfileTemplatesResponse) GetResult() []*DeviceProfileTemplat
|
||||
|
||||
var File_api_device_profile_template_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_device_profile_template_proto_rawDesc = []byte{
|
||||
0x0a, 0x21, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||
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,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x61, 0x70, 0x69, 0x2f, 0x64,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x22, 0xba, 0x0b, 0x0a, 0x15, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x66,
|
||||
0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66,
|
||||
0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61,
|
||||
0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x56, 0x65, 0x72,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x13, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61,
|
||||
0x6d, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x50, 0x61,
|
||||
0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x72, 0x65,
|
||||
0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x28, 0x0a, 0x10, 0x61, 0x64, 0x72, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x72, 0x41, 0x6c,
|
||||
0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x15, 0x70, 0x61, 0x79,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43,
|
||||
0x6f, 0x64, 0x65, 0x63, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x13, 0x70, 0x61, 0x79,
|
||||
0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65,
|
||||
0x63, 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
|
||||
0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x53, 0x63, 0x72, 0x69,
|
||||
0x70, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x5f, 0x71, 0x75, 0x65, 0x75,
|
||||
0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x14, 0x66, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75, 0x65, 0x75, 0x65, 0x4f,
|
||||
0x6e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x6c,
|
||||
0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x0e, 0x75, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76,
|
||||
0x61, 0x6c, 0x12, 0x3b, 0x0a, 0x1a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x75, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
|
||||
0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x74,
|
||||
0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12,
|
||||
0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6f, 0x74, 0x61, 0x61,
|
||||
0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
||||
0x4f, 0x74, 0x61, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73,
|
||||
0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e,
|
||||
0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x12, 0x28,
|
||||
0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
|
||||
0x5f, 0x63, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72,
|
||||
0x74, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73,
|
||||
0x73, 0x5f, 0x62, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
|
||||
0x12, 0x31, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67,
|
||||
0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x62, 0x5f, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x11, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74,
|
||||
0x4e, 0x62, 0x4b, 0x12, 0x2e, 0x0a, 0x14, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70,
|
||||
0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x64, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x10, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f,
|
||||
0x74, 0x44, 0x72, 0x12, 0x32, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70,
|
||||
0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x15, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53,
|
||||
0x6c, 0x6f, 0x74, 0x46, 0x72, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x61, 0x73, 0x73,
|
||||
0x5f, 0x63, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0d, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x43, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12,
|
||||
0x22, 0x0a, 0x0d, 0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x31, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
|
||||
0x18, 0x17, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x62, 0x70, 0x52, 0x78, 0x31, 0x44, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x12, 0x29, 0x0a, 0x11, 0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x31, 0x5f, 0x64,
|
||||
0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e,
|
||||
0x61, 0x62, 0x70, 0x52, 0x78, 0x31, 0x44, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1c,
|
||||
0x0a, 0x0a, 0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x32, 0x5f, 0x64, 0x72, 0x18, 0x19, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x08, 0x61, 0x62, 0x70, 0x52, 0x78, 0x32, 0x44, 0x72, 0x12, 0x20, 0x0a, 0x0c,
|
||||
0x61, 0x62, 0x70, 0x5f, 0x72, 0x78, 0x32, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x1a, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x0a, 0x61, 0x62, 0x70, 0x52, 0x78, 0x32, 0x46, 0x72, 0x65, 0x71, 0x12, 0x38,
|
||||
0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x50, 0x0a, 0x0c, 0x6d, 0x65, 0x61, 0x73,
|
||||
0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75,
|
||||
0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x6d, 0x65,
|
||||
0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x75,
|
||||
0x74, 0x6f, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72,
|
||||
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x75,
|
||||
0x74, 0x6f, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d,
|
||||
0x65, 0x6e, 0x74, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x51, 0x0a,
|
||||
0x11, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x61, 0x73, 0x75, 0x72,
|
||||
0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
|
||||
0x22, 0x8e, 0x04, 0x0a, 0x1d, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74,
|
||||
0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||
0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
|
||||
0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a,
|
||||
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06,
|
||||
0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65,
|
||||
0x6e, 0x64, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x72, 0x6d, 0x77, 0x61, 0x72, 0x65,
|
||||
0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x0b, 0x6d, 0x61, 0x63, 0x5f,
|
||||
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
|
||||
0x6e, 0x52, 0x0a, 0x6d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a,
|
||||
0x13, 0x72, 0x65, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69,
|
||||
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76,
|
||||
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x72, 0x65, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
|
||||
0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x70, 0x70,
|
||||
0x6f, 0x72, 0x74, 0x73, 0x5f, 0x6f, 0x74, 0x61, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x0c, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x4f, 0x74, 0x61, 0x61, 0x12, 0x28, 0x0a,
|
||||
0x10, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f,
|
||||
0x62, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x73, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x75, 0x70, 0x70, 0x6f,
|
||||
0x72, 0x74, 0x73, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x43, 0x6c, 0x61, 0x73, 0x73,
|
||||
0x43, 0x22, 0x78, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61,
|
||||
0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70,
|
||||
0x6c, 0x61, 0x74, 0x65, 0x52, 0x15, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x1f, 0x47,
|
||||
0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54,
|
||||
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xec,
|
||||
0x01, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||
0x52, 0x15, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54,
|
||||
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
|
||||
0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x78, 0x0a,
|
||||
0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||
0x52, 0x15, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54,
|
||||
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x34, 0x0a, 0x22, 0x44, 0x65, 0x6c, 0x65, 0x74,
|
||||
0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65,
|
||||
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a,
|
||||
0x21, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
|
||||
0x22, 0x81, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c,
|
||||
0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f,
|
||||
0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
|
||||
0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70,
|
||||
0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x32, 0x9d, 0x05, 0x0a, 0x1c, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x73, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12,
|
||||
0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79,
|
||||
0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x7e, 0x0a, 0x03, 0x47, 0x65,
|
||||
0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65,
|
||||
0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2d, 0x74, 0x65, 0x6d, 0x70,
|
||||
0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x90, 0x01, 0x0a, 0x06, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54,
|
||||
0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x3a, 0x01,
|
||||
0x2a, 0x1a, 0x3a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73,
|
||||
0x2f, 0x7b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x75, 0x0a,
|
||||
0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24,
|
||||
0x2a, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x2d, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x2f,
|
||||
0x7b, 0x69, 0x64, 0x7d, 0x12, 0x7e, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70,
|
||||
0x6c, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2d, 0x74, 0x65, 0x6d, 0x70, 0x6c,
|
||||
0x61, 0x74, 0x65, 0x73, 0x42, 0xa0, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x1a, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f,
|
||||
0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
|
||||
0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70,
|
||||
0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42,
|
||||
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74,
|
||||
0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_api_device_profile_template_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"!api/device_profile_template.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x13common/common.proto\x1a\x18api/device_profile.proto\"\xc9\v\n" +
|
||||
"\x15DeviceProfileTemplate\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
|
||||
"\vdescription\x18\x03 \x01(\tR\vdescription\x12\x16\n" +
|
||||
"\x06vendor\x18\x04 \x01(\tR\x06vendor\x12\x1a\n" +
|
||||
"\bfirmware\x18\x05 \x01(\tR\bfirmware\x12&\n" +
|
||||
"\x06region\x18\x06 \x01(\x0e2\x0e.common.RegionR\x06region\x123\n" +
|
||||
"\vmac_version\x18\a \x01(\x0e2\x12.common.MacVersionR\n" +
|
||||
"macVersion\x12I\n" +
|
||||
"\x13reg_params_revision\x18\b \x01(\x0e2\x19.common.RegParamsRevisionR\x11regParamsRevision\x12(\n" +
|
||||
"\x10adr_algorithm_id\x18\t \x01(\tR\x0eadrAlgorithmId\x12E\n" +
|
||||
"\x15payload_codec_runtime\x18\n" +
|
||||
" \x01(\x0e2\x11.api.CodecRuntimeR\x13payloadCodecRuntime\x120\n" +
|
||||
"\x14payload_codec_script\x18\v \x01(\tR\x12payloadCodecScript\x125\n" +
|
||||
"\x17flush_queue_on_activate\x18\f \x01(\bR\x14flushQueueOnActivate\x12'\n" +
|
||||
"\x0fuplink_interval\x18\r \x01(\rR\x0euplinkInterval\x12;\n" +
|
||||
"\x1adevice_status_req_interval\x18\x0e \x01(\rR\x17deviceStatusReqInterval\x12#\n" +
|
||||
"\rsupports_otaa\x18\x0f \x01(\bR\fsupportsOtaa\x12(\n" +
|
||||
"\x10supports_class_b\x18\x10 \x01(\bR\x0esupportsClassB\x12(\n" +
|
||||
"\x10supports_class_c\x18\x11 \x01(\bR\x0esupportsClassC\x12&\n" +
|
||||
"\x0fclass_b_timeout\x18\x12 \x01(\rR\rclassBTimeout\x12@\n" +
|
||||
"\x1dclass_b_ping_slot_periodicity\x18\x13 \x01(\rR\x19classBPingSlotPeriodicity\x12.\n" +
|
||||
"\x14class_b_ping_slot_dr\x18\x14 \x01(\rR\x10classBPingSlotDr\x122\n" +
|
||||
"\x16class_b_ping_slot_freq\x18\x15 \x01(\rR\x12classBPingSlotFreq\x12&\n" +
|
||||
"\x0fclass_c_timeout\x18\x16 \x01(\rR\rclassCTimeout\x12\"\n" +
|
||||
"\rabp_rx1_delay\x18\x17 \x01(\rR\vabpRx1Delay\x12)\n" +
|
||||
"\x11abp_rx1_dr_offset\x18\x18 \x01(\rR\x0eabpRx1DrOffset\x12\x1c\n" +
|
||||
"\n" +
|
||||
"abp_rx2_dr\x18\x19 \x01(\rR\babpRx2Dr\x12 \n" +
|
||||
"\fabp_rx2_freq\x18\x1a \x01(\rR\n" +
|
||||
"abpRx2Freq\x128\n" +
|
||||
"\x04tags\x18\x1b \x03(\v2$.api.DeviceProfileTemplate.TagsEntryR\x04tags\x12P\n" +
|
||||
"\fmeasurements\x18\x1c \x03(\v2,.api.DeviceProfileTemplate.MeasurementsEntryR\fmeasurements\x128\n" +
|
||||
"\x18auto_detect_measurements\x18\x1d \x01(\bR\x16autoDetectMeasurements\x1a7\n" +
|
||||
"\tTagsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1aQ\n" +
|
||||
"\x11MeasurementsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12&\n" +
|
||||
"\x05value\x18\x02 \x01(\v2\x10.api.MeasurementR\x05value:\x028\x01\"\x8e\x04\n" +
|
||||
"\x1dDeviceProfileTemplateListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" +
|
||||
"\x04name\x18\x04 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06vendor\x18\x05 \x01(\tR\x06vendor\x12\x1a\n" +
|
||||
"\bfirmware\x18\x06 \x01(\tR\bfirmware\x12&\n" +
|
||||
"\x06region\x18\a \x01(\x0e2\x0e.common.RegionR\x06region\x123\n" +
|
||||
"\vmac_version\x18\b \x01(\x0e2\x12.common.MacVersionR\n" +
|
||||
"macVersion\x12I\n" +
|
||||
"\x13reg_params_revision\x18\t \x01(\x0e2\x19.common.RegParamsRevisionR\x11regParamsRevision\x12#\n" +
|
||||
"\rsupports_otaa\x18\n" +
|
||||
" \x01(\bR\fsupportsOtaa\x12(\n" +
|
||||
"\x10supports_class_b\x18\v \x01(\bR\x0esupportsClassB\x12(\n" +
|
||||
"\x10supports_class_c\x18\f \x01(\bR\x0esupportsClassC\"x\n" +
|
||||
"\"CreateDeviceProfileTemplateRequest\x12R\n" +
|
||||
"\x17device_profile_template\x18\x01 \x01(\v2\x1a.api.DeviceProfileTemplateR\x15deviceProfileTemplate\"1\n" +
|
||||
"\x1fGetDeviceProfileTemplateRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\xec\x01\n" +
|
||||
" GetDeviceProfileTemplateResponse\x12R\n" +
|
||||
"\x17device_profile_template\x18\x01 \x01(\v2\x1a.api.DeviceProfileTemplateR\x15deviceProfileTemplate\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"x\n" +
|
||||
"\"UpdateDeviceProfileTemplateRequest\x12R\n" +
|
||||
"\x17device_profile_template\x18\x01 \x01(\v2\x1a.api.DeviceProfileTemplateR\x15deviceProfileTemplate\"4\n" +
|
||||
"\"DeleteDeviceProfileTemplateRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"Q\n" +
|
||||
"!ListDeviceProfileTemplatesRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\"\x81\x01\n" +
|
||||
"\"ListDeviceProfileTemplatesResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x12:\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\".api.DeviceProfileTemplateListItemR\x06result2\x9d\x05\n" +
|
||||
"\x1cDeviceProfileTemplateService\x12s\n" +
|
||||
"\x06Create\x12'.api.CreateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/api/device-profile-templates\x12~\n" +
|
||||
"\x03Get\x12$.api.GetDeviceProfileTemplateRequest\x1a%.api.GetDeviceProfileTemplateResponse\"*\x82\xd3\xe4\x93\x02$\x12\"/api/device-profile-templates/{id}\x12\x90\x01\n" +
|
||||
"\x06Update\x12'.api.UpdateDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"E\x82\xd3\xe4\x93\x02?:\x01*\x1a:/api/device-profile-templates/{device_profile_template.id}\x12u\n" +
|
||||
"\x06Delete\x12'.api.DeleteDeviceProfileTemplateRequest\x1a\x16.google.protobuf.Empty\"*\x82\xd3\xe4\x93\x02$*\"/api/device-profile-templates/{id}\x12~\n" +
|
||||
"\x04List\x12&.api.ListDeviceProfileTemplatesRequest\x1a'.api.ListDeviceProfileTemplatesResponse\"%\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/device-profile-templatesB\xa0\x01\n" +
|
||||
"\x11io.chirpstack.apiB\x1aDeviceProfileTemplateProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_device_profile_template_proto_rawDescOnce sync.Once
|
||||
file_api_device_profile_template_proto_rawDescData = file_api_device_profile_template_proto_rawDesc
|
||||
file_api_device_profile_template_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_device_profile_template_proto_rawDescGZIP() []byte {
|
||||
file_api_device_profile_template_proto_rawDescOnce.Do(func() {
|
||||
file_api_device_profile_template_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_device_profile_template_proto_rawDescData)
|
||||
file_api_device_profile_template_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_device_profile_template_proto_rawDesc), len(file_api_device_profile_template_proto_rawDesc)))
|
||||
})
|
||||
return file_api_device_profile_template_proto_rawDescData
|
||||
}
|
||||
@ -1163,7 +1006,7 @@ func file_api_device_profile_template_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_device_profile_template_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_device_profile_template_proto_rawDesc), len(file_api_device_profile_template_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 11,
|
||||
NumExtensions: 0,
|
||||
@ -1174,7 +1017,6 @@ func file_api_device_profile_template_proto_init() {
|
||||
MessageInfos: file_api_device_profile_template_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_device_profile_template_proto = out.File
|
||||
file_api_device_profile_template_proto_rawDesc = nil
|
||||
file_api_device_profile_template_proto_goTypes = nil
|
||||
file_api_device_profile_template_proto_depIdxs = nil
|
||||
}
|
||||
|
46
api/go/api/device_profile_template_grpc.pb.go
vendored
46
api/go/api/device_profile_template_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/device_profile_template.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
DeviceProfileTemplateService_Create_FullMethodName = "/api.DeviceProfileTemplateService/Create"
|
||||
@ -30,6 +30,8 @@ const (
|
||||
// DeviceProfileTemplateServiceClient is the client API for DeviceProfileTemplateService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// DeviceProfileTemplateService is the service providing API methods for managing device-profile templates.
|
||||
type DeviceProfileTemplateServiceClient interface {
|
||||
// Create the given device-profile template.
|
||||
Create(ctx context.Context, in *CreateDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
|
||||
@ -52,8 +54,9 @@ func NewDeviceProfileTemplateServiceClient(cc grpc.ClientConnInterface) DevicePr
|
||||
}
|
||||
|
||||
func (c *deviceProfileTemplateServiceClient) Create(ctx context.Context, in *CreateDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -61,8 +64,9 @@ func (c *deviceProfileTemplateServiceClient) Create(ctx context.Context, in *Cre
|
||||
}
|
||||
|
||||
func (c *deviceProfileTemplateServiceClient) Get(ctx context.Context, in *GetDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*GetDeviceProfileTemplateResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDeviceProfileTemplateResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -70,8 +74,9 @@ func (c *deviceProfileTemplateServiceClient) Get(ctx context.Context, in *GetDev
|
||||
}
|
||||
|
||||
func (c *deviceProfileTemplateServiceClient) Update(ctx context.Context, in *UpdateDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -79,8 +84,9 @@ func (c *deviceProfileTemplateServiceClient) Update(ctx context.Context, in *Upd
|
||||
}
|
||||
|
||||
func (c *deviceProfileTemplateServiceClient) Delete(ctx context.Context, in *DeleteDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -88,8 +94,9 @@ func (c *deviceProfileTemplateServiceClient) Delete(ctx context.Context, in *Del
|
||||
}
|
||||
|
||||
func (c *deviceProfileTemplateServiceClient) List(ctx context.Context, in *ListDeviceProfileTemplatesRequest, opts ...grpc.CallOption) (*ListDeviceProfileTemplatesResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListDeviceProfileTemplatesResponse)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -98,7 +105,9 @@ func (c *deviceProfileTemplateServiceClient) List(ctx context.Context, in *ListD
|
||||
|
||||
// DeviceProfileTemplateServiceServer is the server API for DeviceProfileTemplateService service.
|
||||
// All implementations must embed UnimplementedDeviceProfileTemplateServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// DeviceProfileTemplateService is the service providing API methods for managing device-profile templates.
|
||||
type DeviceProfileTemplateServiceServer interface {
|
||||
// Create the given device-profile template.
|
||||
Create(context.Context, *CreateDeviceProfileTemplateRequest) (*emptypb.Empty, error)
|
||||
@ -113,9 +122,12 @@ type DeviceProfileTemplateServiceServer interface {
|
||||
mustEmbedUnimplementedDeviceProfileTemplateServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedDeviceProfileTemplateServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedDeviceProfileTemplateServiceServer struct {
|
||||
}
|
||||
// UnimplementedDeviceProfileTemplateServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedDeviceProfileTemplateServiceServer struct{}
|
||||
|
||||
func (UnimplementedDeviceProfileTemplateServiceServer) Create(context.Context, *CreateDeviceProfileTemplateRequest) (*emptypb.Empty, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -134,6 +146,7 @@ func (UnimplementedDeviceProfileTemplateServiceServer) List(context.Context, *Li
|
||||
}
|
||||
func (UnimplementedDeviceProfileTemplateServiceServer) mustEmbedUnimplementedDeviceProfileTemplateServiceServer() {
|
||||
}
|
||||
func (UnimplementedDeviceProfileTemplateServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeDeviceProfileTemplateServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to DeviceProfileTemplateServiceServer will
|
||||
@ -143,6 +156,13 @@ type UnsafeDeviceProfileTemplateServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterDeviceProfileTemplateServiceServer(s grpc.ServiceRegistrar, srv DeviceProfileTemplateServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedDeviceProfileTemplateServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&DeviceProfileTemplateService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
786
api/go/api/gateway.pb.go
vendored
786
api/go/api/gateway.pb.go
vendored
File diff suppressed because it is too large
Load Diff
67
api/go/api/gateway_grpc.pb.go
vendored
67
api/go/api/gateway_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/gateway.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
GatewayService_Create_FullMethodName = "/api.GatewayService/Create"
|
||||
@ -37,6 +37,8 @@ const (
|
||||
// GatewayServiceClient is the client API for GatewayService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// GatewayService is the service providing API methods for managing gateways.
|
||||
type GatewayServiceClient interface {
|
||||
// Create creates the given gateway.
|
||||
Create(ctx context.Context, in *CreateGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
|
||||
@ -74,8 +76,9 @@ func NewGatewayServiceClient(cc grpc.ClientConnInterface) GatewayServiceClient {
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) Create(ctx context.Context, in *CreateGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -83,8 +86,9 @@ func (c *gatewayServiceClient) Create(ctx context.Context, in *CreateGatewayRequ
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) Get(ctx context.Context, in *GetGatewayRequest, opts ...grpc.CallOption) (*GetGatewayResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetGatewayResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -92,8 +96,9 @@ func (c *gatewayServiceClient) Get(ctx context.Context, in *GetGatewayRequest, o
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) Update(ctx context.Context, in *UpdateGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -101,8 +106,9 @@ func (c *gatewayServiceClient) Update(ctx context.Context, in *UpdateGatewayRequ
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) Delete(ctx context.Context, in *DeleteGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -110,8 +116,9 @@ func (c *gatewayServiceClient) Delete(ctx context.Context, in *DeleteGatewayRequ
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) List(ctx context.Context, in *ListGatewaysRequest, opts ...grpc.CallOption) (*ListGatewaysResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListGatewaysResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -119,8 +126,9 @@ func (c *gatewayServiceClient) List(ctx context.Context, in *ListGatewaysRequest
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) GenerateClientCertificate(ctx context.Context, in *GenerateGatewayClientCertificateRequest, opts ...grpc.CallOption) (*GenerateGatewayClientCertificateResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GenerateGatewayClientCertificateResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GenerateClientCertificate_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GenerateClientCertificate_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -128,8 +136,9 @@ func (c *gatewayServiceClient) GenerateClientCertificate(ctx context.Context, in
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) GetMetrics(ctx context.Context, in *GetGatewayMetricsRequest, opts ...grpc.CallOption) (*GetGatewayMetricsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetGatewayMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetMetrics_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetMetrics_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -137,8 +146,9 @@ func (c *gatewayServiceClient) GetMetrics(ctx context.Context, in *GetGatewayMet
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) GetDutyCycleMetrics(ctx context.Context, in *GetGatewayDutyCycleMetricsRequest, opts ...grpc.CallOption) (*GetGatewayDutyCycleMetricsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetGatewayDutyCycleMetricsResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetDutyCycleMetrics_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetDutyCycleMetrics_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -146,8 +156,9 @@ func (c *gatewayServiceClient) GetDutyCycleMetrics(ctx context.Context, in *GetG
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) GetRelayGateway(ctx context.Context, in *GetRelayGatewayRequest, opts ...grpc.CallOption) (*GetRelayGatewayResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetRelayGatewayResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetRelayGateway_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_GetRelayGateway_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -155,8 +166,9 @@ func (c *gatewayServiceClient) GetRelayGateway(ctx context.Context, in *GetRelay
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) ListRelayGateways(ctx context.Context, in *ListRelayGatewaysRequest, opts ...grpc.CallOption) (*ListRelayGatewaysResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListRelayGatewaysResponse)
|
||||
err := c.cc.Invoke(ctx, GatewayService_ListRelayGateways_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_ListRelayGateways_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -164,8 +176,9 @@ func (c *gatewayServiceClient) ListRelayGateways(ctx context.Context, in *ListRe
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) UpdateRelayGateway(ctx context.Context, in *UpdateRelayGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, GatewayService_UpdateRelayGateway_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_UpdateRelayGateway_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -173,8 +186,9 @@ func (c *gatewayServiceClient) UpdateRelayGateway(ctx context.Context, in *Updat
|
||||
}
|
||||
|
||||
func (c *gatewayServiceClient) DeleteRelayGateway(ctx context.Context, in *DeleteRelayGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, GatewayService_DeleteRelayGateway_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, GatewayService_DeleteRelayGateway_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -183,7 +197,9 @@ func (c *gatewayServiceClient) DeleteRelayGateway(ctx context.Context, in *Delet
|
||||
|
||||
// GatewayServiceServer is the server API for GatewayService service.
|
||||
// All implementations must embed UnimplementedGatewayServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// GatewayService is the service providing API methods for managing gateways.
|
||||
type GatewayServiceServer interface {
|
||||
// Create creates the given gateway.
|
||||
Create(context.Context, *CreateGatewayRequest) (*emptypb.Empty, error)
|
||||
@ -213,9 +229,12 @@ type GatewayServiceServer interface {
|
||||
mustEmbedUnimplementedGatewayServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedGatewayServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedGatewayServiceServer struct {
|
||||
}
|
||||
// UnimplementedGatewayServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedGatewayServiceServer struct{}
|
||||
|
||||
func (UnimplementedGatewayServiceServer) Create(context.Context, *CreateGatewayRequest) (*emptypb.Empty, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -254,6 +273,7 @@ func (UnimplementedGatewayServiceServer) DeleteRelayGateway(context.Context, *De
|
||||
return nil, status.Errorf(codes.Unimplemented, "method DeleteRelayGateway not implemented")
|
||||
}
|
||||
func (UnimplementedGatewayServiceServer) mustEmbedUnimplementedGatewayServiceServer() {}
|
||||
func (UnimplementedGatewayServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeGatewayServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to GatewayServiceServer will
|
||||
@ -263,6 +283,13 @@ type UnsafeGatewayServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterGatewayServiceServer(s grpc.ServiceRegistrar, srv GatewayServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedGatewayServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&GatewayService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
827
api/go/api/internal.pb.go
vendored
827
api/go/api/internal.pb.go
vendored
File diff suppressed because it is too large
Load Diff
214
api/go/api/internal_grpc.pb.go
vendored
214
api/go/api/internal_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/internal.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
InternalService_Login_FullMethodName = "/api.InternalService/Login"
|
||||
@ -42,6 +42,8 @@ const (
|
||||
// InternalServiceClient is the client API for InternalService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// InternalService is the service providing API endpoints for internal usage.
|
||||
type InternalServiceClient interface {
|
||||
// Log in a user
|
||||
Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error)
|
||||
@ -66,11 +68,11 @@ type InternalServiceClient interface {
|
||||
// GetGatewaysSummary returns an aggregated summary of the gateways.
|
||||
GetGatewaysSummary(ctx context.Context, in *GetGatewaysSummaryRequest, opts ...grpc.CallOption) (*GetGatewaysSummaryResponse, error)
|
||||
// Stream frame for the given Gateway ID.
|
||||
StreamGatewayFrames(ctx context.Context, in *StreamGatewayFramesRequest, opts ...grpc.CallOption) (InternalService_StreamGatewayFramesClient, error)
|
||||
StreamGatewayFrames(ctx context.Context, in *StreamGatewayFramesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error)
|
||||
// Stream frames for the given Device EUI.
|
||||
StreamDeviceFrames(ctx context.Context, in *StreamDeviceFramesRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceFramesClient, error)
|
||||
StreamDeviceFrames(ctx context.Context, in *StreamDeviceFramesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error)
|
||||
// Stream events for the given Device EUI.
|
||||
StreamDeviceEvents(ctx context.Context, in *StreamDeviceEventsRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceEventsClient, error)
|
||||
StreamDeviceEvents(ctx context.Context, in *StreamDeviceEventsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error)
|
||||
// ListRegions lists the available (configured) regions.
|
||||
ListRegions(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListRegionsResponse, error)
|
||||
// GetRegion returns the region details for the given region.
|
||||
@ -88,8 +90,9 @@ func NewInternalServiceClient(cc grpc.ClientConnInterface) InternalServiceClient
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(LoginResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_Login_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_Login_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -97,8 +100,9 @@ func (c *internalServiceClient) Login(ctx context.Context, in *LoginRequest, opt
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) Profile(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ProfileResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ProfileResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_Profile_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_Profile_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -106,8 +110,9 @@ func (c *internalServiceClient) Profile(ctx context.Context, in *emptypb.Empty,
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) GlobalSearch(ctx context.Context, in *GlobalSearchRequest, opts ...grpc.CallOption) (*GlobalSearchResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GlobalSearchResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_GlobalSearch_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_GlobalSearch_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -115,8 +120,9 @@ func (c *internalServiceClient) GlobalSearch(ctx context.Context, in *GlobalSear
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) CreateApiKey(ctx context.Context, in *CreateApiKeyRequest, opts ...grpc.CallOption) (*CreateApiKeyResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateApiKeyResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_CreateApiKey_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_CreateApiKey_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -124,8 +130,9 @@ func (c *internalServiceClient) CreateApiKey(ctx context.Context, in *CreateApiK
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) DeleteApiKey(ctx context.Context, in *DeleteApiKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, InternalService_DeleteApiKey_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_DeleteApiKey_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -133,8 +140,9 @@ func (c *internalServiceClient) DeleteApiKey(ctx context.Context, in *DeleteApiK
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) ListApiKeys(ctx context.Context, in *ListApiKeysRequest, opts ...grpc.CallOption) (*ListApiKeysResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListApiKeysResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_ListApiKeys_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_ListApiKeys_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -142,8 +150,9 @@ func (c *internalServiceClient) ListApiKeys(ctx context.Context, in *ListApiKeys
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) Settings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SettingsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(SettingsResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_Settings_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_Settings_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -151,8 +160,9 @@ func (c *internalServiceClient) Settings(ctx context.Context, in *emptypb.Empty,
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) OpenIdConnectLogin(ctx context.Context, in *OpenIdConnectLoginRequest, opts ...grpc.CallOption) (*OpenIdConnectLoginResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(OpenIdConnectLoginResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_OpenIdConnectLogin_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_OpenIdConnectLogin_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -160,8 +170,9 @@ func (c *internalServiceClient) OpenIdConnectLogin(ctx context.Context, in *Open
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) OAuth2Login(ctx context.Context, in *OAuth2LoginRequest, opts ...grpc.CallOption) (*OAuth2LoginResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(OAuth2LoginResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_OAuth2Login_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_OAuth2Login_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -169,8 +180,9 @@ func (c *internalServiceClient) OAuth2Login(ctx context.Context, in *OAuth2Login
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) GetDevicesSummary(ctx context.Context, in *GetDevicesSummaryRequest, opts ...grpc.CallOption) (*GetDevicesSummaryResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetDevicesSummaryResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetDevicesSummary_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetDevicesSummary_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -178,20 +190,22 @@ func (c *internalServiceClient) GetDevicesSummary(ctx context.Context, in *GetDe
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) GetGatewaysSummary(ctx context.Context, in *GetGatewaysSummaryRequest, opts ...grpc.CallOption) (*GetGatewaysSummaryResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetGatewaysSummaryResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetGatewaysSummary_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetGatewaysSummary_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) StreamGatewayFrames(ctx context.Context, in *StreamGatewayFramesRequest, opts ...grpc.CallOption) (InternalService_StreamGatewayFramesClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[0], InternalService_StreamGatewayFrames_FullMethodName, opts...)
|
||||
func (c *internalServiceClient) StreamGatewayFrames(ctx context.Context, in *StreamGatewayFramesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[0], InternalService_StreamGatewayFrames_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &internalServiceStreamGatewayFramesClient{stream}
|
||||
x := &grpc.GenericClientStream[StreamGatewayFramesRequest, LogItem]{ClientStream: stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -201,29 +215,16 @@ func (c *internalServiceClient) StreamGatewayFrames(ctx context.Context, in *Str
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type InternalService_StreamGatewayFramesClient interface {
|
||||
Recv() (*LogItem, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamGatewayFramesClient = grpc.ServerStreamingClient[LogItem]
|
||||
|
||||
type internalServiceStreamGatewayFramesClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamGatewayFramesClient) Recv() (*LogItem, error) {
|
||||
m := new(LogItem)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) StreamDeviceFrames(ctx context.Context, in *StreamDeviceFramesRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceFramesClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[1], InternalService_StreamDeviceFrames_FullMethodName, opts...)
|
||||
func (c *internalServiceClient) StreamDeviceFrames(ctx context.Context, in *StreamDeviceFramesRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[1], InternalService_StreamDeviceFrames_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &internalServiceStreamDeviceFramesClient{stream}
|
||||
x := &grpc.GenericClientStream[StreamDeviceFramesRequest, LogItem]{ClientStream: stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -233,29 +234,16 @@ func (c *internalServiceClient) StreamDeviceFrames(ctx context.Context, in *Stre
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type InternalService_StreamDeviceFramesClient interface {
|
||||
Recv() (*LogItem, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamDeviceFramesClient = grpc.ServerStreamingClient[LogItem]
|
||||
|
||||
type internalServiceStreamDeviceFramesClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamDeviceFramesClient) Recv() (*LogItem, error) {
|
||||
m := new(LogItem)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) StreamDeviceEvents(ctx context.Context, in *StreamDeviceEventsRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceEventsClient, error) {
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[2], InternalService_StreamDeviceEvents_FullMethodName, opts...)
|
||||
func (c *internalServiceClient) StreamDeviceEvents(ctx context.Context, in *StreamDeviceEventsRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LogItem], error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[2], InternalService_StreamDeviceEvents_FullMethodName, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
x := &internalServiceStreamDeviceEventsClient{stream}
|
||||
x := &grpc.GenericClientStream[StreamDeviceEventsRequest, LogItem]{ClientStream: stream}
|
||||
if err := x.ClientStream.SendMsg(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -265,26 +253,13 @@ func (c *internalServiceClient) StreamDeviceEvents(ctx context.Context, in *Stre
|
||||
return x, nil
|
||||
}
|
||||
|
||||
type InternalService_StreamDeviceEventsClient interface {
|
||||
Recv() (*LogItem, error)
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
type internalServiceStreamDeviceEventsClient struct {
|
||||
grpc.ClientStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamDeviceEventsClient) Recv() (*LogItem, error) {
|
||||
m := new(LogItem)
|
||||
if err := x.ClientStream.RecvMsg(m); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamDeviceEventsClient = grpc.ServerStreamingClient[LogItem]
|
||||
|
||||
func (c *internalServiceClient) ListRegions(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListRegionsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListRegionsResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_ListRegions_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_ListRegions_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -292,8 +267,9 @@ func (c *internalServiceClient) ListRegions(ctx context.Context, in *emptypb.Emp
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetRegionResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetRegion_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetRegion_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -301,8 +277,9 @@ func (c *internalServiceClient) GetRegion(ctx context.Context, in *GetRegionRequ
|
||||
}
|
||||
|
||||
func (c *internalServiceClient) GetVersion(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetVersionResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetVersionResponse)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetVersion_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, InternalService_GetVersion_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -311,7 +288,9 @@ func (c *internalServiceClient) GetVersion(ctx context.Context, in *emptypb.Empt
|
||||
|
||||
// InternalServiceServer is the server API for InternalService service.
|
||||
// All implementations must embed UnimplementedInternalServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// InternalService is the service providing API endpoints for internal usage.
|
||||
type InternalServiceServer interface {
|
||||
// Log in a user
|
||||
Login(context.Context, *LoginRequest) (*LoginResponse, error)
|
||||
@ -336,11 +315,11 @@ type InternalServiceServer interface {
|
||||
// GetGatewaysSummary returns an aggregated summary of the gateways.
|
||||
GetGatewaysSummary(context.Context, *GetGatewaysSummaryRequest) (*GetGatewaysSummaryResponse, error)
|
||||
// Stream frame for the given Gateway ID.
|
||||
StreamGatewayFrames(*StreamGatewayFramesRequest, InternalService_StreamGatewayFramesServer) error
|
||||
StreamGatewayFrames(*StreamGatewayFramesRequest, grpc.ServerStreamingServer[LogItem]) error
|
||||
// Stream frames for the given Device EUI.
|
||||
StreamDeviceFrames(*StreamDeviceFramesRequest, InternalService_StreamDeviceFramesServer) error
|
||||
StreamDeviceFrames(*StreamDeviceFramesRequest, grpc.ServerStreamingServer[LogItem]) error
|
||||
// Stream events for the given Device EUI.
|
||||
StreamDeviceEvents(*StreamDeviceEventsRequest, InternalService_StreamDeviceEventsServer) error
|
||||
StreamDeviceEvents(*StreamDeviceEventsRequest, grpc.ServerStreamingServer[LogItem]) error
|
||||
// ListRegions lists the available (configured) regions.
|
||||
ListRegions(context.Context, *emptypb.Empty) (*ListRegionsResponse, error)
|
||||
// GetRegion returns the region details for the given region.
|
||||
@ -350,9 +329,12 @@ type InternalServiceServer interface {
|
||||
mustEmbedUnimplementedInternalServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedInternalServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedInternalServiceServer struct {
|
||||
}
|
||||
// UnimplementedInternalServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedInternalServiceServer struct{}
|
||||
|
||||
func (UnimplementedInternalServiceServer) Login(context.Context, *LoginRequest) (*LoginResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Login not implemented")
|
||||
@ -387,13 +369,13 @@ func (UnimplementedInternalServiceServer) GetDevicesSummary(context.Context, *Ge
|
||||
func (UnimplementedInternalServiceServer) GetGatewaysSummary(context.Context, *GetGatewaysSummaryRequest) (*GetGatewaysSummaryResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetGatewaysSummary not implemented")
|
||||
}
|
||||
func (UnimplementedInternalServiceServer) StreamGatewayFrames(*StreamGatewayFramesRequest, InternalService_StreamGatewayFramesServer) error {
|
||||
func (UnimplementedInternalServiceServer) StreamGatewayFrames(*StreamGatewayFramesRequest, grpc.ServerStreamingServer[LogItem]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method StreamGatewayFrames not implemented")
|
||||
}
|
||||
func (UnimplementedInternalServiceServer) StreamDeviceFrames(*StreamDeviceFramesRequest, InternalService_StreamDeviceFramesServer) error {
|
||||
func (UnimplementedInternalServiceServer) StreamDeviceFrames(*StreamDeviceFramesRequest, grpc.ServerStreamingServer[LogItem]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method StreamDeviceFrames not implemented")
|
||||
}
|
||||
func (UnimplementedInternalServiceServer) StreamDeviceEvents(*StreamDeviceEventsRequest, InternalService_StreamDeviceEventsServer) error {
|
||||
func (UnimplementedInternalServiceServer) StreamDeviceEvents(*StreamDeviceEventsRequest, grpc.ServerStreamingServer[LogItem]) error {
|
||||
return status.Errorf(codes.Unimplemented, "method StreamDeviceEvents not implemented")
|
||||
}
|
||||
func (UnimplementedInternalServiceServer) ListRegions(context.Context, *emptypb.Empty) (*ListRegionsResponse, error) {
|
||||
@ -406,6 +388,7 @@ func (UnimplementedInternalServiceServer) GetVersion(context.Context, *emptypb.E
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetVersion not implemented")
|
||||
}
|
||||
func (UnimplementedInternalServiceServer) mustEmbedUnimplementedInternalServiceServer() {}
|
||||
func (UnimplementedInternalServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeInternalServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to InternalServiceServer will
|
||||
@ -415,6 +398,13 @@ type UnsafeInternalServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterInternalServiceServer(s grpc.ServiceRegistrar, srv InternalServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedInternalServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&InternalService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
@ -621,63 +611,33 @@ func _InternalService_StreamGatewayFrames_Handler(srv interface{}, stream grpc.S
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(InternalServiceServer).StreamGatewayFrames(m, &internalServiceStreamGatewayFramesServer{stream})
|
||||
return srv.(InternalServiceServer).StreamGatewayFrames(m, &grpc.GenericServerStream[StreamGatewayFramesRequest, LogItem]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type InternalService_StreamGatewayFramesServer interface {
|
||||
Send(*LogItem) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type internalServiceStreamGatewayFramesServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamGatewayFramesServer) Send(m *LogItem) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamGatewayFramesServer = grpc.ServerStreamingServer[LogItem]
|
||||
|
||||
func _InternalService_StreamDeviceFrames_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(StreamDeviceFramesRequest)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(InternalServiceServer).StreamDeviceFrames(m, &internalServiceStreamDeviceFramesServer{stream})
|
||||
return srv.(InternalServiceServer).StreamDeviceFrames(m, &grpc.GenericServerStream[StreamDeviceFramesRequest, LogItem]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type InternalService_StreamDeviceFramesServer interface {
|
||||
Send(*LogItem) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type internalServiceStreamDeviceFramesServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamDeviceFramesServer) Send(m *LogItem) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamDeviceFramesServer = grpc.ServerStreamingServer[LogItem]
|
||||
|
||||
func _InternalService_StreamDeviceEvents_Handler(srv interface{}, stream grpc.ServerStream) error {
|
||||
m := new(StreamDeviceEventsRequest)
|
||||
if err := stream.RecvMsg(m); err != nil {
|
||||
return err
|
||||
}
|
||||
return srv.(InternalServiceServer).StreamDeviceEvents(m, &internalServiceStreamDeviceEventsServer{stream})
|
||||
return srv.(InternalServiceServer).StreamDeviceEvents(m, &grpc.GenericServerStream[StreamDeviceEventsRequest, LogItem]{ServerStream: stream})
|
||||
}
|
||||
|
||||
type InternalService_StreamDeviceEventsServer interface {
|
||||
Send(*LogItem) error
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
type internalServiceStreamDeviceEventsServer struct {
|
||||
grpc.ServerStream
|
||||
}
|
||||
|
||||
func (x *internalServiceStreamDeviceEventsServer) Send(m *LogItem) error {
|
||||
return x.ServerStream.SendMsg(m)
|
||||
}
|
||||
// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
|
||||
type InternalService_StreamDeviceEventsServer = grpc.ServerStreamingServer[LogItem]
|
||||
|
||||
func _InternalService_ListRegions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(emptypb.Empty)
|
||||
|
610
api/go/api/multicast_group.pb.go
vendored
610
api/go/api/multicast_group.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/multicast_group.proto
|
||||
|
||||
package api
|
||||
@ -15,6 +15,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -126,10 +127,7 @@ func (MulticastGroupSchedulingType) EnumDescriptor() ([]byte, []int) {
|
||||
}
|
||||
|
||||
type MulticastGroup struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID (UUID).
|
||||
// This will be generated automatically on create.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
@ -154,16 +152,19 @@ type MulticastGroup struct {
|
||||
Dr uint32 `protobuf:"varint,10,opt,name=dr,proto3" json:"dr,omitempty"`
|
||||
// Frequency (Hz).
|
||||
Frequency uint32 `protobuf:"varint,11,opt,name=frequency,proto3" json:"frequency,omitempty"`
|
||||
// Ping-slot period (only for Class-B).
|
||||
// Deprecated: use class_b_ping_slot_nb_k.
|
||||
ClassBPingSlotPeriod uint32 `protobuf:"varint,12,opt,name=class_b_ping_slot_period,json=classBPingSlotPeriod,proto3" json:"class_b_ping_slot_period,omitempty"`
|
||||
// Class-B ping-slots per beacon period (only for Class-B).
|
||||
// Valid options are: 0 - 7;
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
ClassBPingSlotNbK uint32 `protobuf:"varint,14,opt,name=class_b_ping_slot_nb_k,json=classBPingSlotNbK,proto3" json:"class_b_ping_slot_nb_k,omitempty"`
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
ClassBPingSlotPeriodicity uint32 `protobuf:"varint,14,opt,name=class_b_ping_slot_periodicity,json=classBPingSlotPeriodicity,proto3" json:"class_b_ping_slot_periodicity,omitempty"`
|
||||
// Scheduling type (only for Class-C).
|
||||
ClassCSchedulingType MulticastGroupSchedulingType `protobuf:"varint,13,opt,name=class_c_scheduling_type,json=classCSchedulingType,proto3,enum=api.MulticastGroupSchedulingType" json:"class_c_scheduling_type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MulticastGroup) Reset() {
|
||||
@ -273,16 +274,9 @@ func (x *MulticastGroup) GetFrequency() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MulticastGroup) GetClassBPingSlotPeriod() uint32 {
|
||||
func (x *MulticastGroup) GetClassBPingSlotPeriodicity() uint32 {
|
||||
if x != nil {
|
||||
return x.ClassBPingSlotPeriod
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *MulticastGroup) GetClassBPingSlotNbK() uint32 {
|
||||
if x != nil {
|
||||
return x.ClassBPingSlotNbK
|
||||
return x.ClassBPingSlotPeriodicity
|
||||
}
|
||||
return 0
|
||||
}
|
||||
@ -295,10 +289,7 @@ func (x *MulticastGroup) GetClassCSchedulingType() MulticastGroupSchedulingType
|
||||
}
|
||||
|
||||
type MulticastGroupListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Created at timestamp.
|
||||
@ -310,7 +301,9 @@ type MulticastGroupListItem struct {
|
||||
// Region.
|
||||
Region common.Region `protobuf:"varint,5,opt,name=region,proto3,enum=common.Region" json:"region,omitempty"`
|
||||
// Multicast group type.
|
||||
GroupType MulticastGroupType `protobuf:"varint,6,opt,name=group_type,json=groupType,proto3,enum=api.MulticastGroupType" json:"group_type,omitempty"`
|
||||
GroupType MulticastGroupType `protobuf:"varint,6,opt,name=group_type,json=groupType,proto3,enum=api.MulticastGroupType" json:"group_type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MulticastGroupListItem) Reset() {
|
||||
@ -386,12 +379,11 @@ func (x *MulticastGroupListItem) GetGroupType() MulticastGroupType {
|
||||
}
|
||||
|
||||
type CreateMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group to create.
|
||||
MulticastGroup *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateMulticastGroupRequest) Reset() {
|
||||
@ -432,12 +424,11 @@ func (x *CreateMulticastGroupRequest) GetMulticastGroup() *MulticastGroup {
|
||||
}
|
||||
|
||||
type CreateMulticastGroupResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID of created multicast group (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateMulticastGroupResponse) Reset() {
|
||||
@ -478,12 +469,11 @@ func (x *CreateMulticastGroupResponse) GetId() string {
|
||||
}
|
||||
|
||||
type GetMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetMulticastGroupRequest) Reset() {
|
||||
@ -524,16 +514,15 @@ func (x *GetMulticastGroupRequest) GetId() string {
|
||||
}
|
||||
|
||||
type GetMulticastGroupResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group object.
|
||||
MulticastGroup *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetMulticastGroupResponse) Reset() {
|
||||
@ -588,12 +577,11 @@ func (x *GetMulticastGroupResponse) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type UpdateMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group object to update.
|
||||
MulticastGroup *MulticastGroup `protobuf:"bytes,1,opt,name=multicast_group,json=multicastGroup,proto3" json:"multicast_group,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateMulticastGroupRequest) Reset() {
|
||||
@ -634,12 +622,11 @@ func (x *UpdateMulticastGroupRequest) GetMulticastGroup() *MulticastGroup {
|
||||
}
|
||||
|
||||
type DeleteMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group iD.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteMulticastGroupRequest) Reset() {
|
||||
@ -680,10 +667,7 @@ func (x *DeleteMulticastGroupRequest) GetId() string {
|
||||
}
|
||||
|
||||
type ListMulticastGroupsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of multicast groups to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
@ -693,6 +677,8 @@ type ListMulticastGroupsRequest struct {
|
||||
Search string `protobuf:"bytes,3,opt,name=search,proto3" json:"search,omitempty"`
|
||||
// Application ID to list the multicast groups for.
|
||||
ApplicationId string `protobuf:"bytes,4,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListMulticastGroupsRequest) Reset() {
|
||||
@ -754,14 +740,13 @@ func (x *ListMulticastGroupsRequest) GetApplicationId() string {
|
||||
}
|
||||
|
||||
type ListMulticastGroupsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of multicast groups.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-test.
|
||||
Result []*MulticastGroupListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*MulticastGroupListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListMulticastGroupsResponse) Reset() {
|
||||
@ -809,14 +794,13 @@ func (x *ListMulticastGroupsResponse) GetResult() []*MulticastGroupListItem {
|
||||
}
|
||||
|
||||
type AddDeviceToMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
// Device EUI (HEX encoded).
|
||||
DevEui string `protobuf:"bytes,2,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
DevEui string `protobuf:"bytes,2,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AddDeviceToMulticastGroupRequest) Reset() {
|
||||
@ -864,14 +848,13 @@ func (x *AddDeviceToMulticastGroupRequest) GetDevEui() string {
|
||||
}
|
||||
|
||||
type RemoveDeviceFromMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
// Device EUI (HEX encoded).
|
||||
DevEui string `protobuf:"bytes,2,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
DevEui string `protobuf:"bytes,2,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RemoveDeviceFromMulticastGroupRequest) Reset() {
|
||||
@ -919,14 +902,13 @@ func (x *RemoveDeviceFromMulticastGroupRequest) GetDevEui() string {
|
||||
}
|
||||
|
||||
type AddGatewayToMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
// Gateway ID (HEX encoded).
|
||||
GatewayId string `protobuf:"bytes,2,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
GatewayId string `protobuf:"bytes,2,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AddGatewayToMulticastGroupRequest) Reset() {
|
||||
@ -974,14 +956,13 @@ func (x *AddGatewayToMulticastGroupRequest) GetGatewayId() string {
|
||||
}
|
||||
|
||||
type RemoveGatewayFromMulticastGroupRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
// Gateway ID (HEX encoded).
|
||||
GatewayId string `protobuf:"bytes,2,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
GatewayId string `protobuf:"bytes,2,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RemoveGatewayFromMulticastGroupRequest) Reset() {
|
||||
@ -1029,10 +1010,7 @@ func (x *RemoveGatewayFromMulticastGroupRequest) GetGatewayId() string {
|
||||
}
|
||||
|
||||
type MulticastGroupQueueItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
// Downlink frame-counter.
|
||||
@ -1044,7 +1022,9 @@ type MulticastGroupQueueItem struct {
|
||||
Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
|
||||
// Expires at (optional).
|
||||
// Expired queue-items will be automatically removed from the queue.
|
||||
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
|
||||
ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MulticastGroupQueueItem) Reset() {
|
||||
@ -1113,12 +1093,11 @@ func (x *MulticastGroupQueueItem) GetExpiresAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type EnqueueMulticastGroupQueueItemRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast queue-item to enqueue.
|
||||
QueueItem *MulticastGroupQueueItem `protobuf:"bytes,1,opt,name=queue_item,json=queueItem,proto3" json:"queue_item,omitempty"`
|
||||
QueueItem *MulticastGroupQueueItem `protobuf:"bytes,1,opt,name=queue_item,json=queueItem,proto3" json:"queue_item,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *EnqueueMulticastGroupQueueItemRequest) Reset() {
|
||||
@ -1159,12 +1138,11 @@ func (x *EnqueueMulticastGroupQueueItemRequest) GetQueueItem() *MulticastGroupQu
|
||||
}
|
||||
|
||||
type EnqueueMulticastGroupQueueItemResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Frame-counter of the enqueued payload.
|
||||
FCnt uint32 `protobuf:"varint,1,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
|
||||
FCnt uint32 `protobuf:"varint,1,opt,name=f_cnt,json=fCnt,proto3" json:"f_cnt,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *EnqueueMulticastGroupQueueItemResponse) Reset() {
|
||||
@ -1205,12 +1183,11 @@ func (x *EnqueueMulticastGroupQueueItemResponse) GetFCnt() uint32 {
|
||||
}
|
||||
|
||||
type FlushMulticastGroupQueueRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *FlushMulticastGroupQueueRequest) Reset() {
|
||||
@ -1251,12 +1228,11 @@ func (x *FlushMulticastGroupQueueRequest) GetMulticastGroupId() string {
|
||||
}
|
||||
|
||||
type ListMulticastGroupQueueRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Multicast group ID.
|
||||
MulticastGroupId string `protobuf:"bytes,1,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListMulticastGroupQueueRequest) Reset() {
|
||||
@ -1297,11 +1273,10 @@ func (x *ListMulticastGroupQueueRequest) GetMulticastGroupId() string {
|
||||
}
|
||||
|
||||
type ListMulticastGroupQueueResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Items []*MulticastGroupQueueItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Items []*MulticastGroupQueueItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListMulticastGroupQueueResponse) Reset() {
|
||||
@ -1343,313 +1318,123 @@ func (x *ListMulticastGroupQueueResponse) GetItems() []*MulticastGroupQueueItem
|
||||
|
||||
var File_api_multicast_group_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_multicast_group_proto_rawDesc = []byte{
|
||||
0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f,
|
||||
0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69,
|
||||
0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
|
||||
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 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, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x22, 0x9e, 0x04, 0x0a, 0x0e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c,
|
||||
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12,
|
||||
0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x63, 0x5f, 0x61, 0x64,
|
||||
0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x41, 0x64, 0x64, 0x72,
|
||||
0x12, 0x1f, 0x0a, 0x0c, 0x6d, 0x63, 0x5f, 0x6e, 0x77, 0x6b, 0x5f, 0x73, 0x5f, 0x6b, 0x65, 0x79,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x63, 0x4e, 0x77, 0x6b, 0x53, 0x4b, 0x65,
|
||||
0x79, 0x12, 0x1f, 0x0a, 0x0c, 0x6d, 0x63, 0x5f, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x5f, 0x6b, 0x65,
|
||||
0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x63, 0x41, 0x70, 0x70, 0x53, 0x4b,
|
||||
0x65, 0x79, 0x12, 0x13, 0x0a, 0x05, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x04, 0x66, 0x43, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x64, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x64, 0x72, 0x12,
|
||||
0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x36, 0x0a,
|
||||
0x18, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c,
|
||||
0x6f, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52,
|
||||
0x14, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e, 0x67, 0x53, 0x6c, 0x6f, 0x74, 0x50,
|
||||
0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x31, 0x0a, 0x16, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x62,
|
||||
0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x6e, 0x62, 0x5f, 0x6b, 0x18,
|
||||
0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x50, 0x69, 0x6e,
|
||||
0x67, 0x53, 0x6c, 0x6f, 0x74, 0x4e, 0x62, 0x4b, 0x12, 0x58, 0x0a, 0x17, 0x63, 0x6c, 0x61, 0x73,
|
||||
0x73, 0x5f, 0x63, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63,
|
||||
0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x14, 0x63, 0x6c,
|
||||
0x61, 0x73, 0x73, 0x43, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x79,
|
||||
0x70, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x16, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a,
|
||||
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
|
||||
0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12,
|
||||
0x36, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x22, 0x2e, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69,
|
||||
0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
|
||||
0x22, 0xcf, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
|
||||
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c,
|
||||
0x0a, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x39, 0x0a, 0x0a,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x22, 0x5b, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74,
|
||||
0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x3c, 0x0a, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
||||
0x0e, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22,
|
||||
0x2d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x89,
|
||||
0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69,
|
||||
0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73,
|
||||
0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x61,
|
||||
0x72, 0x63, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70,
|
||||
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x73, 0x0a, 0x1b, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
|
||||
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x72, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22,
|
||||
0x69, 0x0a, 0x20, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f, 0x4d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
|
||||
0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
|
||||
0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x6e, 0x0a, 0x25, 0x52, 0x65,
|
||||
0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
|
||||
0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49,
|
||||
0x64, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x70, 0x0a, 0x21, 0x41, 0x64,
|
||||
0x64, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c,
|
||||
0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a,
|
||||
0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x26,
|
||||
0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x6f,
|
||||
0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
|
||||
0x79, 0x49, 0x64, 0x22, 0xc2, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
|
||||
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12,
|
||||
0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c,
|
||||
0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x13, 0x0a,
|
||||
0x05, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x43,
|
||||
0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x05, 0x66, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x39, 0x0a,
|
||||
0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x05, 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, 0x09, 0x65,
|
||||
0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0x64, 0x0a, 0x25, 0x45, 0x6e, 0x71, 0x75,
|
||||
0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74,
|
||||
0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x52, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x3d,
|
||||
0x0a, 0x26, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x66, 0x5f, 0x63, 0x6e,
|
||||
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x66, 0x43, 0x6e, 0x74, 0x22, 0x4f, 0x0a,
|
||||
0x1f, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x4e,
|
||||
0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x22, 0x55,
|
||||
0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74,
|
||||
0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x2e, 0x0a, 0x12, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x43,
|
||||
0x4c, 0x41, 0x53, 0x53, 0x5f, 0x43, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x41, 0x53,
|
||||
0x53, 0x5f, 0x42, 0x10, 0x01, 0x2a, 0x37, 0x0a, 0x1c, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e,
|
||||
0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x4c, 0x41, 0x59, 0x10, 0x00,
|
||||
0x12, 0x0c, 0x0a, 0x08, 0x47, 0x50, 0x53, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x01, 0x32, 0xdd,
|
||||
0x0c, 0x0a, 0x15, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x6f, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d,
|
||||
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a,
|
||||
0x01, 0x2a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x68, 0x0a, 0x03, 0x47, 0x65, 0x74,
|
||||
0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x1e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
||||
0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b,
|
||||
0x69, 0x64, 0x7d, 0x12, 0x79, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a,
|
||||
0x01, 0x2a, 0x1a, 0x2a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69,
|
||||
0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x66,
|
||||
0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72,
|
||||
0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x68, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1f,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x20, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||
0x12, 0x89, 0x01, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x25,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x6f,
|
||||
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3d, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x37, 0x3a, 0x01, 0x2a, 0x22, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d,
|
||||
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f,
|
||||
0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
|
||||
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x98, 0x01, 0x0a,
|
||||
0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x46, 0x72, 0x6f, 0x6d, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x2a, 0x3c, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||
0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64,
|
||||
0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12, 0x8c, 0x01, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x47,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64,
|
||||
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x54, 0x6f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x3e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01,
|
||||
0x2a, 0x22, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73,
|
||||
0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x67, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76,
|
||||
0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52,
|
||||
0x65, 0x6d, 0x6f, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x46, 0x72, 0x6f, 0x6d,
|
||||
0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x48, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x42, 0x2a, 0x40, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74,
|
||||
0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64,
|
||||
0x7d, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xaa, 0x01, 0x0a, 0x07, 0x45, 0x6e, 0x71, 0x75,
|
||||
0x65, 0x75, 0x65, 0x12, 0x2a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75,
|
||||
0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51,
|
||||
0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x2b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x4d, 0x75, 0x6c,
|
||||
0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65,
|
||||
0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x22, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x75,
|
||||
0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b,
|
||||
0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69,
|
||||
0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71,
|
||||
0x75, 0x65, 0x75, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x0a, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x51, 0x75,
|
||||
0x65, 0x75, 0x65, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x6c, 0x75, 0x73, 0x68, 0x4d,
|
||||
0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65,
|
||||
0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x2a, 0x30, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73,
|
||||
0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75,
|
||||
0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x12, 0x90, 0x01, 0x0a, 0x09,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x75, 0x65, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
|
||||
0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x51, 0x75, 0x65, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x12, 0x30, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x2d, 0x67, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x67,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x42, 0x99,
|
||||
0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x42, 0x13, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47,
|
||||
0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
|
||||
0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x68,
|
||||
0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a,
|
||||
0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
}
|
||||
const file_api_multicast_group_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x19api/multicast_group.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x13common/common.proto\"\xf5\x03\n" +
|
||||
"\x0eMulticastGroup\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12%\n" +
|
||||
"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\x12&\n" +
|
||||
"\x06region\x18\x04 \x01(\x0e2\x0e.common.RegionR\x06region\x12\x17\n" +
|
||||
"\amc_addr\x18\x05 \x01(\tR\x06mcAddr\x12\x1f\n" +
|
||||
"\fmc_nwk_s_key\x18\x06 \x01(\tR\tmcNwkSKey\x12\x1f\n" +
|
||||
"\fmc_app_s_key\x18\a \x01(\tR\tmcAppSKey\x12\x13\n" +
|
||||
"\x05f_cnt\x18\b \x01(\rR\x04fCnt\x126\n" +
|
||||
"\n" +
|
||||
"group_type\x18\t \x01(\x0e2\x17.api.MulticastGroupTypeR\tgroupType\x12\x0e\n" +
|
||||
"\x02dr\x18\n" +
|
||||
" \x01(\rR\x02dr\x12\x1c\n" +
|
||||
"\tfrequency\x18\v \x01(\rR\tfrequency\x12@\n" +
|
||||
"\x1dclass_b_ping_slot_periodicity\x18\x0e \x01(\rR\x19classBPingSlotPeriodicity\x12X\n" +
|
||||
"\x17class_c_scheduling_type\x18\r \x01(\x0e2!.api.MulticastGroupSchedulingTypeR\x14classCSchedulingType\"\x92\x02\n" +
|
||||
"\x16MulticastGroupListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" +
|
||||
"\x04name\x18\x04 \x01(\tR\x04name\x12&\n" +
|
||||
"\x06region\x18\x05 \x01(\x0e2\x0e.common.RegionR\x06region\x126\n" +
|
||||
"\n" +
|
||||
"group_type\x18\x06 \x01(\x0e2\x17.api.MulticastGroupTypeR\tgroupType\"[\n" +
|
||||
"\x1bCreateMulticastGroupRequest\x12<\n" +
|
||||
"\x0fmulticast_group\x18\x01 \x01(\v2\x13.api.MulticastGroupR\x0emulticastGroup\".\n" +
|
||||
"\x1cCreateMulticastGroupResponse\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"*\n" +
|
||||
"\x18GetMulticastGroupRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\xcf\x01\n" +
|
||||
"\x19GetMulticastGroupResponse\x12<\n" +
|
||||
"\x0fmulticast_group\x18\x01 \x01(\v2\x13.api.MulticastGroupR\x0emulticastGroup\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"[\n" +
|
||||
"\x1bUpdateMulticastGroupRequest\x12<\n" +
|
||||
"\x0fmulticast_group\x18\x01 \x01(\v2\x13.api.MulticastGroupR\x0emulticastGroup\"-\n" +
|
||||
"\x1bDeleteMulticastGroupRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\x89\x01\n" +
|
||||
"\x1aListMulticastGroupsRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\x12\x16\n" +
|
||||
"\x06search\x18\x03 \x01(\tR\x06search\x12%\n" +
|
||||
"\x0eapplication_id\x18\x04 \x01(\tR\rapplicationId\"s\n" +
|
||||
"\x1bListMulticastGroupsResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x123\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x1b.api.MulticastGroupListItemR\x06result\"i\n" +
|
||||
" AddDeviceToMulticastGroupRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\x12\x17\n" +
|
||||
"\adev_eui\x18\x02 \x01(\tR\x06devEui\"n\n" +
|
||||
"%RemoveDeviceFromMulticastGroupRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\x12\x17\n" +
|
||||
"\adev_eui\x18\x02 \x01(\tR\x06devEui\"p\n" +
|
||||
"!AddGatewayToMulticastGroupRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\x12\x1d\n" +
|
||||
"\n" +
|
||||
"gateway_id\x18\x02 \x01(\tR\tgatewayId\"u\n" +
|
||||
"&RemoveGatewayFromMulticastGroupRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\x12\x1d\n" +
|
||||
"\n" +
|
||||
"gateway_id\x18\x02 \x01(\tR\tgatewayId\"\xc2\x01\n" +
|
||||
"\x17MulticastGroupQueueItem\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\x12\x13\n" +
|
||||
"\x05f_cnt\x18\x02 \x01(\rR\x04fCnt\x12\x15\n" +
|
||||
"\x06f_port\x18\x03 \x01(\rR\x05fPort\x12\x12\n" +
|
||||
"\x04data\x18\x04 \x01(\fR\x04data\x129\n" +
|
||||
"\n" +
|
||||
"expires_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\"d\n" +
|
||||
"%EnqueueMulticastGroupQueueItemRequest\x12;\n" +
|
||||
"\n" +
|
||||
"queue_item\x18\x01 \x01(\v2\x1c.api.MulticastGroupQueueItemR\tqueueItem\"=\n" +
|
||||
"&EnqueueMulticastGroupQueueItemResponse\x12\x13\n" +
|
||||
"\x05f_cnt\x18\x01 \x01(\rR\x04fCnt\"O\n" +
|
||||
"\x1fFlushMulticastGroupQueueRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\"N\n" +
|
||||
"\x1eListMulticastGroupQueueRequest\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x01 \x01(\tR\x10multicastGroupId\"U\n" +
|
||||
"\x1fListMulticastGroupQueueResponse\x122\n" +
|
||||
"\x05items\x18\x01 \x03(\v2\x1c.api.MulticastGroupQueueItemR\x05items*.\n" +
|
||||
"\x12MulticastGroupType\x12\v\n" +
|
||||
"\aCLASS_C\x10\x00\x12\v\n" +
|
||||
"\aCLASS_B\x10\x01*7\n" +
|
||||
"\x1cMulticastGroupSchedulingType\x12\t\n" +
|
||||
"\x05DELAY\x10\x00\x12\f\n" +
|
||||
"\bGPS_TIME\x10\x012\xdd\f\n" +
|
||||
"\x15MulticastGroupService\x12o\n" +
|
||||
"\x06Create\x12 .api.CreateMulticastGroupRequest\x1a!.api.CreateMulticastGroupResponse\" \x82\xd3\xe4\x93\x02\x1a:\x01*\"\x15/api/multicast-groups\x12h\n" +
|
||||
"\x03Get\x12\x1d.api.GetMulticastGroupRequest\x1a\x1e.api.GetMulticastGroupResponse\"\"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/api/multicast-groups/{id}\x12y\n" +
|
||||
"\x06Update\x12 .api.UpdateMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/:\x01*\x1a*/api/multicast-groups/{multicast_group.id}\x12f\n" +
|
||||
"\x06Delete\x12 .api.DeleteMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"\"\x82\xd3\xe4\x93\x02\x1c*\x1a/api/multicast-groups/{id}\x12h\n" +
|
||||
"\x04List\x12\x1f.api.ListMulticastGroupsRequest\x1a .api.ListMulticastGroupsResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/api/multicast-groups\x12\x89\x01\n" +
|
||||
"\tAddDevice\x12%.api.AddDeviceToMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"=\x82\xd3\xe4\x93\x027:\x01*\"2/api/multicast-groups/{multicast_group_id}/devices\x12\x98\x01\n" +
|
||||
"\fRemoveDevice\x12*.api.RemoveDeviceFromMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"D\x82\xd3\xe4\x93\x02>*</api/multicast-groups/{multicast_group_id}/devices/{dev_eui}\x12\x8c\x01\n" +
|
||||
"\n" +
|
||||
"AddGateway\x12&.api.AddGatewayToMulticastGroupRequest\x1a\x16.google.protobuf.Empty\">\x82\xd3\xe4\x93\x028:\x01*\"3/api/multicast-groups/{multicast_group_id}/gateways\x12\x9e\x01\n" +
|
||||
"\rRemoveGateway\x12+.api.RemoveGatewayFromMulticastGroupRequest\x1a\x16.google.protobuf.Empty\"H\x82\xd3\xe4\x93\x02B*@/api/multicast-groups/{multicast_group_id}/gateways/{gateway_id}\x12\xaa\x01\n" +
|
||||
"\aEnqueue\x12*.api.EnqueueMulticastGroupQueueItemRequest\x1a+.api.EnqueueMulticastGroupQueueItemResponse\"F\x82\xd3\xe4\x93\x02@:\x01*\";/api/multicast-groups/{queue_item.multicast_group_id}/queue\x12\x84\x01\n" +
|
||||
"\n" +
|
||||
"FlushQueue\x12$.api.FlushMulticastGroupQueueRequest\x1a\x16.google.protobuf.Empty\"8\x82\xd3\xe4\x93\x022*0/api/multicast-groups/{multicast_group_id}/queue\x12\x90\x01\n" +
|
||||
"\tListQueue\x12#.api.ListMulticastGroupQueueRequest\x1a$.api.ListMulticastGroupQueueResponse\"8\x82\xd3\xe4\x93\x022\x120/api/multicast-groups/{multicast_group_id}/queueB\x99\x01\n" +
|
||||
"\x11io.chirpstack.apiB\x13MulticastGroupProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_multicast_group_proto_rawDescOnce sync.Once
|
||||
file_api_multicast_group_proto_rawDescData = file_api_multicast_group_proto_rawDesc
|
||||
file_api_multicast_group_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_multicast_group_proto_rawDescGZIP() []byte {
|
||||
file_api_multicast_group_proto_rawDescOnce.Do(func() {
|
||||
file_api_multicast_group_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_multicast_group_proto_rawDescData)
|
||||
file_api_multicast_group_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_multicast_group_proto_rawDesc), len(file_api_multicast_group_proto_rawDesc)))
|
||||
})
|
||||
return file_api_multicast_group_proto_rawDescData
|
||||
}
|
||||
@ -1740,7 +1525,7 @@ func file_api_multicast_group_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_multicast_group_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_multicast_group_proto_rawDesc), len(file_api_multicast_group_proto_rawDesc)),
|
||||
NumEnums: 2,
|
||||
NumMessages: 20,
|
||||
NumExtensions: 0,
|
||||
@ -1752,7 +1537,6 @@ func file_api_multicast_group_proto_init() {
|
||||
MessageInfos: file_api_multicast_group_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_multicast_group_proto = out.File
|
||||
file_api_multicast_group_proto_rawDesc = nil
|
||||
file_api_multicast_group_proto_goTypes = nil
|
||||
file_api_multicast_group_proto_depIdxs = nil
|
||||
}
|
||||
|
67
api/go/api/multicast_group_grpc.pb.go
vendored
67
api/go/api/multicast_group_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/multicast_group.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
MulticastGroupService_Create_FullMethodName = "/api.MulticastGroupService/Create"
|
||||
@ -37,6 +37,8 @@ const (
|
||||
// MulticastGroupServiceClient is the client API for MulticastGroupService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// MulticastGroupService is the service managing multicast-groups.
|
||||
type MulticastGroupServiceClient interface {
|
||||
// Create the given multicast group.
|
||||
Create(ctx context.Context, in *CreateMulticastGroupRequest, opts ...grpc.CallOption) (*CreateMulticastGroupResponse, error)
|
||||
@ -73,8 +75,9 @@ func NewMulticastGroupServiceClient(cc grpc.ClientConnInterface) MulticastGroupS
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) Create(ctx context.Context, in *CreateMulticastGroupRequest, opts ...grpc.CallOption) (*CreateMulticastGroupResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateMulticastGroupResponse)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -82,8 +85,9 @@ func (c *multicastGroupServiceClient) Create(ctx context.Context, in *CreateMult
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) Get(ctx context.Context, in *GetMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastGroupResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetMulticastGroupResponse)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -91,8 +95,9 @@ func (c *multicastGroupServiceClient) Get(ctx context.Context, in *GetMulticastG
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) Update(ctx context.Context, in *UpdateMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -100,8 +105,9 @@ func (c *multicastGroupServiceClient) Update(ctx context.Context, in *UpdateMult
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) Delete(ctx context.Context, in *DeleteMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -109,8 +115,9 @@ func (c *multicastGroupServiceClient) Delete(ctx context.Context, in *DeleteMult
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) List(ctx context.Context, in *ListMulticastGroupsRequest, opts ...grpc.CallOption) (*ListMulticastGroupsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListMulticastGroupsResponse)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -118,8 +125,9 @@ func (c *multicastGroupServiceClient) List(ctx context.Context, in *ListMulticas
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) AddDevice(ctx context.Context, in *AddDeviceToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_AddDevice_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_AddDevice_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -127,8 +135,9 @@ func (c *multicastGroupServiceClient) AddDevice(ctx context.Context, in *AddDevi
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) RemoveDevice(ctx context.Context, in *RemoveDeviceFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveDevice_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveDevice_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -136,8 +145,9 @@ func (c *multicastGroupServiceClient) RemoveDevice(ctx context.Context, in *Remo
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) AddGateway(ctx context.Context, in *AddGatewayToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_AddGateway_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_AddGateway_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -145,8 +155,9 @@ func (c *multicastGroupServiceClient) AddGateway(ctx context.Context, in *AddGat
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) RemoveGateway(ctx context.Context, in *RemoveGatewayFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveGateway_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveGateway_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -154,8 +165,9 @@ func (c *multicastGroupServiceClient) RemoveGateway(ctx context.Context, in *Rem
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) Enqueue(ctx context.Context, in *EnqueueMulticastGroupQueueItemRequest, opts ...grpc.CallOption) (*EnqueueMulticastGroupQueueItemResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(EnqueueMulticastGroupQueueItemResponse)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Enqueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_Enqueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -163,8 +175,9 @@ func (c *multicastGroupServiceClient) Enqueue(ctx context.Context, in *EnqueueMu
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) FlushQueue(ctx context.Context, in *FlushMulticastGroupQueueRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_FlushQueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_FlushQueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -172,8 +185,9 @@ func (c *multicastGroupServiceClient) FlushQueue(ctx context.Context, in *FlushM
|
||||
}
|
||||
|
||||
func (c *multicastGroupServiceClient) ListQueue(ctx context.Context, in *ListMulticastGroupQueueRequest, opts ...grpc.CallOption) (*ListMulticastGroupQueueResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListMulticastGroupQueueResponse)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_ListQueue_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, MulticastGroupService_ListQueue_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -182,7 +196,9 @@ func (c *multicastGroupServiceClient) ListQueue(ctx context.Context, in *ListMul
|
||||
|
||||
// MulticastGroupServiceServer is the server API for MulticastGroupService service.
|
||||
// All implementations must embed UnimplementedMulticastGroupServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// MulticastGroupService is the service managing multicast-groups.
|
||||
type MulticastGroupServiceServer interface {
|
||||
// Create the given multicast group.
|
||||
Create(context.Context, *CreateMulticastGroupRequest) (*CreateMulticastGroupResponse, error)
|
||||
@ -211,9 +227,12 @@ type MulticastGroupServiceServer interface {
|
||||
mustEmbedUnimplementedMulticastGroupServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedMulticastGroupServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedMulticastGroupServiceServer struct {
|
||||
}
|
||||
// UnimplementedMulticastGroupServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedMulticastGroupServiceServer struct{}
|
||||
|
||||
func (UnimplementedMulticastGroupServiceServer) Create(context.Context, *CreateMulticastGroupRequest) (*CreateMulticastGroupResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -252,6 +271,7 @@ func (UnimplementedMulticastGroupServiceServer) ListQueue(context.Context, *List
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListQueue not implemented")
|
||||
}
|
||||
func (UnimplementedMulticastGroupServiceServer) mustEmbedUnimplementedMulticastGroupServiceServer() {}
|
||||
func (UnimplementedMulticastGroupServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeMulticastGroupServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to MulticastGroupServiceServer will
|
||||
@ -261,6 +281,13 @@ type UnsafeMulticastGroupServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterMulticastGroupServiceServer(s grpc.ServiceRegistrar, srv MulticastGroupServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedMulticastGroupServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&MulticastGroupService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
221
api/go/api/relay.pb.go
vendored
221
api/go/api/relay.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/relay.proto
|
||||
|
||||
package api
|
||||
@ -14,6 +14,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -24,14 +25,13 @@ const (
|
||||
)
|
||||
|
||||
type RelayListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// DevEUI (EUI64).
|
||||
DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
// Name.
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RelayListItem) Reset() {
|
||||
@ -79,10 +79,7 @@ func (x *RelayListItem) GetName() string {
|
||||
}
|
||||
|
||||
type ListRelaysRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of devices to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
@ -90,6 +87,8 @@ type ListRelaysRequest struct {
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
// Application ID (UUID).
|
||||
ApplicationId string `protobuf:"bytes,3,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListRelaysRequest) Reset() {
|
||||
@ -144,14 +143,13 @@ func (x *ListRelaysRequest) GetApplicationId() string {
|
||||
}
|
||||
|
||||
type ListRelaysResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of relays.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*RelayListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*RelayListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListRelaysResponse) Reset() {
|
||||
@ -199,14 +197,13 @@ func (x *ListRelaysResponse) GetResult() []*RelayListItem {
|
||||
}
|
||||
|
||||
type AddRelayDeviceRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Relay DevEUI (EUI64).
|
||||
RelayDevEui string `protobuf:"bytes,1,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
|
||||
// Device DevEUI (EUI64).
|
||||
DeviceDevEui string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
|
||||
DeviceDevEui string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AddRelayDeviceRequest) Reset() {
|
||||
@ -254,14 +251,13 @@ func (x *AddRelayDeviceRequest) GetDeviceDevEui() string {
|
||||
}
|
||||
|
||||
type RemoveRelayDeviceRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Relay DevEUI (EUI64).
|
||||
RelayDevEui string `protobuf:"bytes,1,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
|
||||
// Device DevEUI (EUI64).
|
||||
DeviceDevEui string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
|
||||
DeviceDevEui string `protobuf:"bytes,2,opt,name=device_dev_eui,json=deviceDevEui,proto3" json:"device_dev_eui,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RemoveRelayDeviceRequest) Reset() {
|
||||
@ -309,17 +305,16 @@ func (x *RemoveRelayDeviceRequest) GetDeviceDevEui() string {
|
||||
}
|
||||
|
||||
type ListRelayDevicesRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of multicast groups to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
// Offset in the result-set (for pagination).
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
// Relay DevEUI (EUI64).
|
||||
RelayDevEui string `protobuf:"bytes,3,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
|
||||
RelayDevEui string `protobuf:"bytes,3,opt,name=relay_dev_eui,json=relayDevEui,proto3" json:"relay_dev_eui,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListRelayDevicesRequest) Reset() {
|
||||
@ -374,16 +369,15 @@ func (x *ListRelayDevicesRequest) GetRelayDevEui() string {
|
||||
}
|
||||
|
||||
type RelayDeviceListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// DevEUI (EUI64).
|
||||
DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Device name.
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RelayDeviceListItem) Reset() {
|
||||
@ -438,14 +432,13 @@ func (x *RelayDeviceListItem) GetName() string {
|
||||
}
|
||||
|
||||
type ListRelayDevicesResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of devices.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*RelayDeviceListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*RelayDeviceListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListRelayDevicesResponse) Reset() {
|
||||
@ -494,114 +487,55 @@ func (x *ListRelayDevicesResponse) GetResult() []*RelayDeviceListItem {
|
||||
|
||||
var File_api_relay_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_relay_proto_rawDesc = []byte{
|
||||
0x0a, 0x0f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49,
|
||||
0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x22, 0x68, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
|
||||
0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70,
|
||||
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x12, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x61, 0x0a,
|
||||
0x15, 0x41, 0x64, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f,
|
||||
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x76, 0x45, 0x75, 0x69,
|
||||
0x22, 0x64, 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d,
|
||||
0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x45, 0x75, 0x69,
|
||||
0x12, 0x24, 0x0a, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65,
|
||||
0x75, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x44, 0x65, 0x76, 0x45, 0x75, 0x69, 0x22, 0x6b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||
0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12,
|
||||
0x22, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76,
|
||||
0x45, 0x75, 0x69, 0x22, 0x7d, 0x0a, 0x13, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65,
|
||||
0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76,
|
||||
0x45, 0x75, 0x69, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61,
|
||||
0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f,
|
||||
0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12,
|
||||
0x30, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x32, 0xc4, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x12, 0x4c, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x13, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x0d, 0x12, 0x0b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73,
|
||||
0x12, 0x6f, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x6c, 0x61, 0x79,
|
||||
0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x73, 0x12, 0x7c, 0x0a, 0x0c, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65,
|
||||
0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f,
|
||||
0x2a, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x2f, 0x64, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d, 0x12,
|
||||
0x77, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1c,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4,
|
||||
0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73,
|
||||
0x2f, 0x7b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x7d,
|
||||
0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x90, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e,
|
||||
0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0a,
|
||||
0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69,
|
||||
0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74,
|
||||
0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e,
|
||||
0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02,
|
||||
0x1a, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_api_relay_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x0fapi/relay.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"<\n" +
|
||||
"\rRelayListItem\x12\x17\n" +
|
||||
"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\"h\n" +
|
||||
"\x11ListRelaysRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\x12%\n" +
|
||||
"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\"a\n" +
|
||||
"\x12ListRelaysResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x12*\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x12.api.RelayListItemR\x06result\"a\n" +
|
||||
"\x15AddRelayDeviceRequest\x12\"\n" +
|
||||
"\rrelay_dev_eui\x18\x01 \x01(\tR\vrelayDevEui\x12$\n" +
|
||||
"\x0edevice_dev_eui\x18\x02 \x01(\tR\fdeviceDevEui\"d\n" +
|
||||
"\x18RemoveRelayDeviceRequest\x12\"\n" +
|
||||
"\rrelay_dev_eui\x18\x01 \x01(\tR\vrelayDevEui\x12$\n" +
|
||||
"\x0edevice_dev_eui\x18\x02 \x01(\tR\fdeviceDevEui\"k\n" +
|
||||
"\x17ListRelayDevicesRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\x12\"\n" +
|
||||
"\rrelay_dev_eui\x18\x03 \x01(\tR\vrelayDevEui\"}\n" +
|
||||
"\x13RelayDeviceListItem\x12\x17\n" +
|
||||
"\adev_eui\x18\x01 \x01(\tR\x06devEui\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x12\n" +
|
||||
"\x04name\x18\x03 \x01(\tR\x04name\"m\n" +
|
||||
"\x18ListRelayDevicesResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x120\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x18.api.RelayDeviceListItemR\x06result2\xc4\x03\n" +
|
||||
"\fRelayService\x12L\n" +
|
||||
"\x04List\x12\x16.api.ListRelaysRequest\x1a\x17.api.ListRelaysResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\v/api/relays\x12o\n" +
|
||||
"\tAddDevice\x12\x1a.api.AddRelayDeviceRequest\x1a\x16.google.protobuf.Empty\".\x82\xd3\xe4\x93\x02(:\x01*\"#/api/relays/{relay_dev_eui}/devices\x12|\n" +
|
||||
"\fRemoveDevice\x12\x1d.api.RemoveRelayDeviceRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/*-/api/relays/{relay_dev_eui}/devices/{dev_eui}\x12w\n" +
|
||||
"\vListDevices\x12\x1c.api.ListRelayDevicesRequest\x1a\x1d.api.ListRelayDevicesResponse\"+\x82\xd3\xe4\x93\x02%\x12#/api/relays/{relay_dev_eui}/devicesB\x90\x01\n" +
|
||||
"\x11io.chirpstack.apiB\n" +
|
||||
"RelayProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_relay_proto_rawDescOnce sync.Once
|
||||
file_api_relay_proto_rawDescData = file_api_relay_proto_rawDesc
|
||||
file_api_relay_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_relay_proto_rawDescGZIP() []byte {
|
||||
file_api_relay_proto_rawDescOnce.Do(func() {
|
||||
file_api_relay_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_relay_proto_rawDescData)
|
||||
file_api_relay_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_relay_proto_rawDesc), len(file_api_relay_proto_rawDesc)))
|
||||
})
|
||||
return file_api_relay_proto_rawDescData
|
||||
}
|
||||
@ -647,7 +581,7 @@ func file_api_relay_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_relay_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_relay_proto_rawDesc), len(file_api_relay_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 8,
|
||||
NumExtensions: 0,
|
||||
@ -658,7 +592,6 @@ func file_api_relay_proto_init() {
|
||||
MessageInfos: file_api_relay_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_relay_proto = out.File
|
||||
file_api_relay_proto_rawDesc = nil
|
||||
file_api_relay_proto_goTypes = nil
|
||||
file_api_relay_proto_depIdxs = nil
|
||||
}
|
||||
|
43
api/go/api/relay_grpc.pb.go
vendored
43
api/go/api/relay_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/relay.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
RelayService_List_FullMethodName = "/api.RelayService/List"
|
||||
@ -29,6 +29,8 @@ const (
|
||||
// RelayServiceClient is the client API for RelayService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// RelayService is the service providing API methos for managing relays.
|
||||
type RelayServiceClient interface {
|
||||
// List lists the relays for the given application id.
|
||||
List(ctx context.Context, in *ListRelaysRequest, opts ...grpc.CallOption) (*ListRelaysResponse, error)
|
||||
@ -49,8 +51,9 @@ func NewRelayServiceClient(cc grpc.ClientConnInterface) RelayServiceClient {
|
||||
}
|
||||
|
||||
func (c *relayServiceClient) List(ctx context.Context, in *ListRelaysRequest, opts ...grpc.CallOption) (*ListRelaysResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListRelaysResponse)
|
||||
err := c.cc.Invoke(ctx, RelayService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, RelayService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -58,8 +61,9 @@ func (c *relayServiceClient) List(ctx context.Context, in *ListRelaysRequest, op
|
||||
}
|
||||
|
||||
func (c *relayServiceClient) AddDevice(ctx context.Context, in *AddRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, RelayService_AddDevice_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, RelayService_AddDevice_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -67,8 +71,9 @@ func (c *relayServiceClient) AddDevice(ctx context.Context, in *AddRelayDeviceRe
|
||||
}
|
||||
|
||||
func (c *relayServiceClient) RemoveDevice(ctx context.Context, in *RemoveRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, RelayService_RemoveDevice_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, RelayService_RemoveDevice_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -76,8 +81,9 @@ func (c *relayServiceClient) RemoveDevice(ctx context.Context, in *RemoveRelayDe
|
||||
}
|
||||
|
||||
func (c *relayServiceClient) ListDevices(ctx context.Context, in *ListRelayDevicesRequest, opts ...grpc.CallOption) (*ListRelayDevicesResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListRelayDevicesResponse)
|
||||
err := c.cc.Invoke(ctx, RelayService_ListDevices_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, RelayService_ListDevices_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -86,7 +92,9 @@ func (c *relayServiceClient) ListDevices(ctx context.Context, in *ListRelayDevic
|
||||
|
||||
// RelayServiceServer is the server API for RelayService service.
|
||||
// All implementations must embed UnimplementedRelayServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// RelayService is the service providing API methos for managing relays.
|
||||
type RelayServiceServer interface {
|
||||
// List lists the relays for the given application id.
|
||||
List(context.Context, *ListRelaysRequest) (*ListRelaysResponse, error)
|
||||
@ -99,9 +107,12 @@ type RelayServiceServer interface {
|
||||
mustEmbedUnimplementedRelayServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedRelayServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedRelayServiceServer struct {
|
||||
}
|
||||
// UnimplementedRelayServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedRelayServiceServer struct{}
|
||||
|
||||
func (UnimplementedRelayServiceServer) List(context.Context, *ListRelaysRequest) (*ListRelaysResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
|
||||
@ -116,6 +127,7 @@ func (UnimplementedRelayServiceServer) ListDevices(context.Context, *ListRelayDe
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListDevices not implemented")
|
||||
}
|
||||
func (UnimplementedRelayServiceServer) mustEmbedUnimplementedRelayServiceServer() {}
|
||||
func (UnimplementedRelayServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeRelayServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to RelayServiceServer will
|
||||
@ -125,6 +137,13 @@ type UnsafeRelayServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterRelayServiceServer(s grpc.ServiceRegistrar, srv RelayServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedRelayServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&RelayService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
545
api/go/api/tenant.pb.go
vendored
545
api/go/api/tenant.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/tenant.proto
|
||||
|
||||
package api
|
||||
@ -14,6 +14,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -24,10 +25,7 @@ const (
|
||||
)
|
||||
|
||||
type Tenant struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
// Note: this value will be automatically generated on create.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
@ -55,7 +53,9 @@ type Tenant struct {
|
||||
// Tags (user defined).
|
||||
// These tags can be used to add additional information to the tenant. These
|
||||
// tags are NOT exposed in the integration events.
|
||||
Tags map[string]string `protobuf:"bytes,9,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,9,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Tenant) Reset() {
|
||||
@ -152,10 +152,7 @@ func (x *Tenant) GetTags() map[string]string {
|
||||
}
|
||||
|
||||
type TenantListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Created at timestamp.
|
||||
@ -176,6 +173,8 @@ type TenantListItem struct {
|
||||
// Max device count.
|
||||
// 0 = unlimited.
|
||||
MaxDeviceCount uint32 `protobuf:"varint,8,opt,name=max_device_count,json=maxDeviceCount,proto3" json:"max_device_count,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *TenantListItem) Reset() {
|
||||
@ -272,12 +271,11 @@ func (x *TenantListItem) GetMaxDeviceCount() uint32 {
|
||||
}
|
||||
|
||||
type CreateTenantRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant object to create.
|
||||
Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
|
||||
Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateTenantRequest) Reset() {
|
||||
@ -318,12 +316,11 @@ func (x *CreateTenantRequest) GetTenant() *Tenant {
|
||||
}
|
||||
|
||||
type CreateTenantResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateTenantResponse) Reset() {
|
||||
@ -364,12 +361,11 @@ func (x *CreateTenantResponse) GetId() string {
|
||||
}
|
||||
|
||||
type GetTenantRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetTenantRequest) Reset() {
|
||||
@ -410,16 +406,15 @@ func (x *GetTenantRequest) GetId() string {
|
||||
}
|
||||
|
||||
type GetTenantResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant object.
|
||||
Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetTenantResponse) Reset() {
|
||||
@ -474,12 +469,11 @@ func (x *GetTenantResponse) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type UpdateTenantRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant object.
|
||||
Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
|
||||
Tenant *Tenant `protobuf:"bytes,1,opt,name=tenant,proto3" json:"tenant,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateTenantRequest) Reset() {
|
||||
@ -520,12 +514,11 @@ func (x *UpdateTenantRequest) GetTenant() *Tenant {
|
||||
}
|
||||
|
||||
type DeleteTenantRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteTenantRequest) Reset() {
|
||||
@ -566,10 +559,7 @@ func (x *DeleteTenantRequest) GetId() string {
|
||||
}
|
||||
|
||||
type ListTenantsRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of tenants to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
@ -579,7 +569,9 @@ type ListTenantsRequest struct {
|
||||
Search string `protobuf:"bytes,3,opt,name=search,proto3" json:"search,omitempty"`
|
||||
// If set, filters the result set to the tenants of the user.
|
||||
// Only global API keys are able to filter by this field.
|
||||
UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListTenantsRequest) Reset() {
|
||||
@ -641,14 +633,13 @@ func (x *ListTenantsRequest) GetUserId() string {
|
||||
}
|
||||
|
||||
type ListTenantsResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of tenants.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*TenantListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*TenantListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListTenantsResponse) Reset() {
|
||||
@ -696,10 +687,7 @@ func (x *ListTenantsResponse) GetResult() []*TenantListItem {
|
||||
}
|
||||
|
||||
type TenantUser struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// User ID (UUID).
|
||||
@ -713,7 +701,9 @@ type TenantUser struct {
|
||||
// User is able to modify gateways.
|
||||
IsGatewayAdmin bool `protobuf:"varint,5,opt,name=is_gateway_admin,json=isGatewayAdmin,proto3" json:"is_gateway_admin,omitempty"`
|
||||
// Email (only used on get and when adding a user to a tenant).
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *TenantUser) Reset() {
|
||||
@ -789,10 +779,7 @@ func (x *TenantUser) GetEmail() string {
|
||||
}
|
||||
|
||||
type TenantUserListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// User ID (UUID).
|
||||
@ -811,6 +798,8 @@ type TenantUserListItem struct {
|
||||
IsDeviceAdmin bool `protobuf:"varint,7,opt,name=is_device_admin,json=isDeviceAdmin,proto3" json:"is_device_admin,omitempty"`
|
||||
// User is able to modify gateways.
|
||||
IsGatewayAdmin bool `protobuf:"varint,8,opt,name=is_gateway_admin,json=isGatewayAdmin,proto3" json:"is_gateway_admin,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *TenantUserListItem) Reset() {
|
||||
@ -900,12 +889,11 @@ func (x *TenantUserListItem) GetIsGatewayAdmin() bool {
|
||||
}
|
||||
|
||||
type AddTenantUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant user object.
|
||||
TenantUser *TenantUser `protobuf:"bytes,1,opt,name=tenant_user,json=tenantUser,proto3" json:"tenant_user,omitempty"`
|
||||
TenantUser *TenantUser `protobuf:"bytes,1,opt,name=tenant_user,json=tenantUser,proto3" json:"tenant_user,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AddTenantUserRequest) Reset() {
|
||||
@ -946,14 +934,13 @@ func (x *AddTenantUserRequest) GetTenantUser() *TenantUser {
|
||||
}
|
||||
|
||||
type GetTenantUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// User ID (UUID).
|
||||
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetTenantUserRequest) Reset() {
|
||||
@ -1001,16 +988,15 @@ func (x *GetTenantUserRequest) GetUserId() string {
|
||||
}
|
||||
|
||||
type GetTenantUserResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant user object.
|
||||
TenantUser *TenantUser `protobuf:"bytes,1,opt,name=tenant_user,json=tenantUser,proto3" json:"tenant_user,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetTenantUserResponse) Reset() {
|
||||
@ -1065,12 +1051,11 @@ func (x *GetTenantUserResponse) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type UpdateTenantUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant user object.
|
||||
TenantUser *TenantUser `protobuf:"bytes,1,opt,name=tenant_user,json=tenantUser,proto3" json:"tenant_user,omitempty"`
|
||||
TenantUser *TenantUser `protobuf:"bytes,1,opt,name=tenant_user,json=tenantUser,proto3" json:"tenant_user,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateTenantUserRequest) Reset() {
|
||||
@ -1111,14 +1096,13 @@ func (x *UpdateTenantUserRequest) GetTenantUser() *TenantUser {
|
||||
}
|
||||
|
||||
type DeleteTenantUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// User ID (UUID).
|
||||
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteTenantUserRequest) Reset() {
|
||||
@ -1166,17 +1150,16 @@ func (x *DeleteTenantUserRequest) GetUserId() string {
|
||||
}
|
||||
|
||||
type ListTenantUsersRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// Max number of tenants to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
// Offset in the result-set (for pagination).
|
||||
Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
Offset uint32 `protobuf:"varint,3,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListTenantUsersRequest) Reset() {
|
||||
@ -1231,14 +1214,13 @@ func (x *ListTenantUsersRequest) GetOffset() uint32 {
|
||||
}
|
||||
|
||||
type ListTenantUsersResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of tenants.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*TenantUserListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*TenantUserListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListTenantUsersResponse) Reset() {
|
||||
@ -1287,268 +1269,128 @@ func (x *ListTenantUsersResponse) GetResult() []*TenantUserListItem {
|
||||
|
||||
var File_api_tenant_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_tenant_proto_rawDesc = []byte{
|
||||
0x0a, 0x10, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
|
||||
0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x22, 0x98, 0x03, 0x0a, 0x06, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x6e, 0x5f, 0x68, 0x61, 0x76, 0x65,
|
||||
0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
|
||||
0x0f, 0x63, 0x61, 0x6e, 0x48, 0x61, 0x76, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78,
|
||||
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10,
|
||||
0x6d, 0x61, 0x78, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63,
|
||||
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x18, 0x07, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x73, 0x55, 0x70, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
|
||||
0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x47, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x61,
|
||||
0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54,
|
||||
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
|
||||
0x04, 0x74, 0x61, 0x67, 0x73, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x90,
|
||||
0x03, 0x0a, 0x0e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65,
|
||||
0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
|
||||
0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a,
|
||||
0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63,
|
||||
0x61, 0x6e, 0x5f, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x63, 0x61, 0x6e, 0x48, 0x61, 0x76, 0x65, 0x47,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61,
|
||||
0x74, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x75, 0x70, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x73, 0x55, 0x70, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x72, 0x69, 0x76, 0x61,
|
||||
0x74, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x64, 0x6f, 0x77, 0x6e,
|
||||
0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x47,
|
||||
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d,
|
||||
0x61, 0x78, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x47, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x64,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e,
|
||||
0x74, 0x22, 0x3a, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e,
|
||||
0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54,
|
||||
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x26, 0x0a,
|
||||
0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x22, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xae, 0x01, 0x0a, 0x11, 0x47, 0x65,
|
||||
0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x23, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x74, 0x65,
|
||||
0x6e, 0x61, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
||||
0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12,
|
||||
0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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,
|
||||
0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x3a, 0x0a, 0x13, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x23, 0x0a, 0x06, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x06,
|
||||
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x22, 0x25, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||
0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x73, 0x0a,
|
||||
0x12, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||
0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x06, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65,
|
||||
0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72,
|
||||
0x49, 0x64, 0x22, 0x63, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a,
|
||||
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x06, 0x72, 0x65,
|
||||
0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52,
|
||||
0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0xc5, 0x01, 0x0a, 0x0a, 0x54, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 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, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
|
||||
0x69, 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
|
||||
0x69, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x64, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x0d, 0x69, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
|
||||
0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61,
|
||||
0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22,
|
||||
0xc3, 0x02, 0x0a, 0x12, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 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, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x63, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x69,
|
||||
0x73, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x48, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x54, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a,
|
||||
0x0b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22,
|
||||
0x4c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
|
||||
0x52, 0x65, 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, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0xbf, 0x01,
|
||||
0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x0b, 0x74, 0x65, 0x6e, 0x61, 0x6e,
|
||||
0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x0a, 0x74,
|
||||
0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
||||
0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22,
|
||||
0x4b, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x0b, 0x74, 0x65,
|
||||
0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x0f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
|
||||
0x52, 0x0a, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x22, 0x4f, 0x0a, 0x17,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72,
|
||||
0x52, 0x65, 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, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x63, 0x0a,
|
||||
0x16, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73,
|
||||
0x52, 0x65, 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, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66,
|
||||
0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x22, 0x6b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f,
|
||||
0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32,
|
||||
0xa2, 0x08, 0x0a, 0x0d, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x12, 0x56, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x03, 0x47, 0x65, 0x74,
|
||||
0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65,
|
||||
0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
||||
0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65,
|
||||
0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x5f, 0x0a, 0x06, 0x55, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,
|
||||
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01,
|
||||
0x2a, 0x1a, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f,
|
||||
0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x55, 0x0a, 0x06, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a,
|
||||
0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69,
|
||||
0x64, 0x7d, 0x12, 0x4f, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65,
|
||||
0x6e, 0x61, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82,
|
||||
0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x73, 0x12, 0x73, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x12, 0x19,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x64, 0x64, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x01, 0x2a, 0x22, 0x2a, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e,
|
||||
0x61, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93,
|
||||
0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73,
|
||||
0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x8f, 0x01, 0x0a,
|
||||
0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
|
||||
0x79, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x3a, 0x01, 0x2a, 0x1a, 0x40, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69,
|
||||
0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x5f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x74,
|
||||
0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70,
|
||||
0x74, 0x79, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x61, 0x70, 0x69,
|
||||
0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74,
|
||||
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72,
|
||||
0x5f, 0x69, 0x64, 0x7d, 0x12, 0x6e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72,
|
||||
0x73, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x55,
|
||||
0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3,
|
||||
0xe4, 0x93, 0x02, 0x20, 0x12, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x74, 0x65, 0x6e, 0x61, 0x6e,
|
||||
0x74, 0x73, 0x2f, 0x7b, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75,
|
||||
0x73, 0x65, 0x72, 0x73, 0x42, 0x91, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0b, 0x54, 0x65, 0x6e, 0x61,
|
||||
0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75,
|
||||
0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50,
|
||||
0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73,
|
||||
0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_api_tenant_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x10api/tenant.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x98\x03\n" +
|
||||
"\x06Tenant\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
|
||||
"\vdescription\x18\x03 \x01(\tR\vdescription\x12*\n" +
|
||||
"\x11can_have_gateways\x18\x04 \x01(\bR\x0fcanHaveGateways\x12*\n" +
|
||||
"\x11max_gateway_count\x18\x05 \x01(\rR\x0fmaxGatewayCount\x12(\n" +
|
||||
"\x10max_device_count\x18\x06 \x01(\rR\x0emaxDeviceCount\x12.\n" +
|
||||
"\x13private_gateways_up\x18\a \x01(\bR\x11privateGatewaysUp\x122\n" +
|
||||
"\x15private_gateways_down\x18\b \x01(\bR\x13privateGatewaysDown\x12)\n" +
|
||||
"\x04tags\x18\t \x03(\v2\x15.api.Tenant.TagsEntryR\x04tags\x1a7\n" +
|
||||
"\tTagsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x90\x03\n" +
|
||||
"\x0eTenantListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" +
|
||||
"\x04name\x18\x04 \x01(\tR\x04name\x12*\n" +
|
||||
"\x11can_have_gateways\x18\x05 \x01(\bR\x0fcanHaveGateways\x12.\n" +
|
||||
"\x13private_gateways_up\x18\x06 \x01(\bR\x11privateGatewaysUp\x122\n" +
|
||||
"\x15private_gateways_down\x18\t \x01(\bR\x13privateGatewaysDown\x12*\n" +
|
||||
"\x11max_gateway_count\x18\a \x01(\rR\x0fmaxGatewayCount\x12(\n" +
|
||||
"\x10max_device_count\x18\b \x01(\rR\x0emaxDeviceCount\":\n" +
|
||||
"\x13CreateTenantRequest\x12#\n" +
|
||||
"\x06tenant\x18\x01 \x01(\v2\v.api.TenantR\x06tenant\"&\n" +
|
||||
"\x14CreateTenantResponse\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\"\n" +
|
||||
"\x10GetTenantRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\xae\x01\n" +
|
||||
"\x11GetTenantResponse\x12#\n" +
|
||||
"\x06tenant\x18\x01 \x01(\v2\v.api.TenantR\x06tenant\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\":\n" +
|
||||
"\x13UpdateTenantRequest\x12#\n" +
|
||||
"\x06tenant\x18\x01 \x01(\v2\v.api.TenantR\x06tenant\"%\n" +
|
||||
"\x13DeleteTenantRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"s\n" +
|
||||
"\x12ListTenantsRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\x12\x16\n" +
|
||||
"\x06search\x18\x03 \x01(\tR\x06search\x12\x17\n" +
|
||||
"\auser_id\x18\x04 \x01(\tR\x06userId\"c\n" +
|
||||
"\x13ListTenantsResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x12+\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x13.api.TenantListItemR\x06result\"\xc5\x01\n" +
|
||||
"\n" +
|
||||
"TenantUser\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x17\n" +
|
||||
"\auser_id\x18\x02 \x01(\tR\x06userId\x12\x19\n" +
|
||||
"\bis_admin\x18\x03 \x01(\bR\aisAdmin\x12&\n" +
|
||||
"\x0fis_device_admin\x18\x04 \x01(\bR\risDeviceAdmin\x12(\n" +
|
||||
"\x10is_gateway_admin\x18\x05 \x01(\bR\x0eisGatewayAdmin\x12\x14\n" +
|
||||
"\x05email\x18\x06 \x01(\tR\x05email\"\xc3\x02\n" +
|
||||
"\x12TenantUserListItem\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x17\n" +
|
||||
"\auser_id\x18\x02 \x01(\tR\x06userId\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x14\n" +
|
||||
"\x05email\x18\x05 \x01(\tR\x05email\x12\x19\n" +
|
||||
"\bis_admin\x18\x06 \x01(\bR\aisAdmin\x12&\n" +
|
||||
"\x0fis_device_admin\x18\a \x01(\bR\risDeviceAdmin\x12(\n" +
|
||||
"\x10is_gateway_admin\x18\b \x01(\bR\x0eisGatewayAdmin\"H\n" +
|
||||
"\x14AddTenantUserRequest\x120\n" +
|
||||
"\vtenant_user\x18\x01 \x01(\v2\x0f.api.TenantUserR\n" +
|
||||
"tenantUser\"L\n" +
|
||||
"\x14GetTenantUserRequest\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x17\n" +
|
||||
"\auser_id\x18\x02 \x01(\tR\x06userId\"\xbf\x01\n" +
|
||||
"\x15GetTenantUserResponse\x120\n" +
|
||||
"\vtenant_user\x18\x01 \x01(\v2\x0f.api.TenantUserR\n" +
|
||||
"tenantUser\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"K\n" +
|
||||
"\x17UpdateTenantUserRequest\x120\n" +
|
||||
"\vtenant_user\x18\x01 \x01(\v2\x0f.api.TenantUserR\n" +
|
||||
"tenantUser\"O\n" +
|
||||
"\x17DeleteTenantUserRequest\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x17\n" +
|
||||
"\auser_id\x18\x02 \x01(\tR\x06userId\"c\n" +
|
||||
"\x16ListTenantUsersRequest\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x14\n" +
|
||||
"\x05limit\x18\x02 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x03 \x01(\rR\x06offset\"k\n" +
|
||||
"\x17ListTenantUsersResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x12/\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x17.api.TenantUserListItemR\x06result2\xa2\b\n" +
|
||||
"\rTenantService\x12V\n" +
|
||||
"\x06Create\x12\x18.api.CreateTenantRequest\x1a\x19.api.CreateTenantResponse\"\x17\x82\xd3\xe4\x93\x02\x11:\x01*\"\f/api/tenants\x12O\n" +
|
||||
"\x03Get\x12\x15.api.GetTenantRequest\x1a\x16.api.GetTenantResponse\"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/api/tenants/{id}\x12_\n" +
|
||||
"\x06Update\x12\x18.api.UpdateTenantRequest\x1a\x16.google.protobuf.Empty\"#\x82\xd3\xe4\x93\x02\x1d:\x01*\x1a\x18/api/tenants/{tenant.id}\x12U\n" +
|
||||
"\x06Delete\x12\x18.api.DeleteTenantRequest\x1a\x16.google.protobuf.Empty\"\x19\x82\xd3\xe4\x93\x02\x13*\x11/api/tenants/{id}\x12O\n" +
|
||||
"\x04List\x12\x17.api.ListTenantsRequest\x1a\x18.api.ListTenantsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\f/api/tenants\x12s\n" +
|
||||
"\aAddUser\x12\x19.api.AddTenantUserRequest\x1a\x16.google.protobuf.Empty\"5\x82\xd3\xe4\x93\x02/:\x01*\"*/api/tenants/{tenant_user.tenant_id}/users\x12r\n" +
|
||||
"\aGetUser\x12\x19.api.GetTenantUserRequest\x1a\x1a.api.GetTenantUserResponse\"0\x82\xd3\xe4\x93\x02*\x12(/api/tenants/{tenant_id}/users/{user_id}\x12\x8f\x01\n" +
|
||||
"\n" +
|
||||
"UpdateUser\x12\x1c.api.UpdateTenantUserRequest\x1a\x16.google.protobuf.Empty\"K\x82\xd3\xe4\x93\x02E:\x01*\x1a@/api/tenants/{tenant_user.tenant_id}/users/{tenant_user.user_id}\x12t\n" +
|
||||
"\n" +
|
||||
"DeleteUser\x12\x1c.api.DeleteTenantUserRequest\x1a\x16.google.protobuf.Empty\"0\x82\xd3\xe4\x93\x02**(/api/tenants/{tenant_id}/users/{user_id}\x12n\n" +
|
||||
"\tListUsers\x12\x1b.api.ListTenantUsersRequest\x1a\x1c.api.ListTenantUsersResponse\"&\x82\xd3\xe4\x93\x02 \x12\x1e/api/tenants/{tenant_id}/usersB\x91\x01\n" +
|
||||
"\x11io.chirpstack.apiB\vTenantProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_tenant_proto_rawDescOnce sync.Once
|
||||
file_api_tenant_proto_rawDescData = file_api_tenant_proto_rawDesc
|
||||
file_api_tenant_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_tenant_proto_rawDescGZIP() []byte {
|
||||
file_api_tenant_proto_rawDescOnce.Do(func() {
|
||||
file_api_tenant_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_tenant_proto_rawDescData)
|
||||
file_api_tenant_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_tenant_proto_rawDesc), len(file_api_tenant_proto_rawDesc)))
|
||||
})
|
||||
return file_api_tenant_proto_rawDescData
|
||||
}
|
||||
@ -1632,7 +1474,7 @@ func file_api_tenant_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_tenant_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_tenant_proto_rawDesc), len(file_api_tenant_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 20,
|
||||
NumExtensions: 0,
|
||||
@ -1643,7 +1485,6 @@ func file_api_tenant_proto_init() {
|
||||
MessageInfos: file_api_tenant_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_tenant_proto = out.File
|
||||
file_api_tenant_proto_rawDesc = nil
|
||||
file_api_tenant_proto_goTypes = nil
|
||||
file_api_tenant_proto_depIdxs = nil
|
||||
}
|
||||
|
61
api/go/api/tenant_grpc.pb.go
vendored
61
api/go/api/tenant_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/tenant.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
TenantService_Create_FullMethodName = "/api.TenantService/Create"
|
||||
@ -35,6 +35,8 @@ const (
|
||||
// TenantServiceClient is the client API for TenantService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// TenantService is the service providing API methods for managing tenants.
|
||||
type TenantServiceClient interface {
|
||||
// Create a new tenant.
|
||||
Create(ctx context.Context, in *CreateTenantRequest, opts ...grpc.CallOption) (*CreateTenantResponse, error)
|
||||
@ -68,8 +70,9 @@ func NewTenantServiceClient(cc grpc.ClientConnInterface) TenantServiceClient {
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) Create(ctx context.Context, in *CreateTenantRequest, opts ...grpc.CallOption) (*CreateTenantResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateTenantResponse)
|
||||
err := c.cc.Invoke(ctx, TenantService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -77,8 +80,9 @@ func (c *tenantServiceClient) Create(ctx context.Context, in *CreateTenantReques
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) Get(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetTenantResponse)
|
||||
err := c.cc.Invoke(ctx, TenantService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -86,8 +90,9 @@ func (c *tenantServiceClient) Get(ctx context.Context, in *GetTenantRequest, opt
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) Update(ctx context.Context, in *UpdateTenantRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, TenantService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -95,8 +100,9 @@ func (c *tenantServiceClient) Update(ctx context.Context, in *UpdateTenantReques
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) Delete(ctx context.Context, in *DeleteTenantRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, TenantService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -104,8 +110,9 @@ func (c *tenantServiceClient) Delete(ctx context.Context, in *DeleteTenantReques
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) List(ctx context.Context, in *ListTenantsRequest, opts ...grpc.CallOption) (*ListTenantsResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListTenantsResponse)
|
||||
err := c.cc.Invoke(ctx, TenantService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -113,8 +120,9 @@ func (c *tenantServiceClient) List(ctx context.Context, in *ListTenantsRequest,
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) AddUser(ctx context.Context, in *AddTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, TenantService_AddUser_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_AddUser_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -122,8 +130,9 @@ func (c *tenantServiceClient) AddUser(ctx context.Context, in *AddTenantUserRequ
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) GetUser(ctx context.Context, in *GetTenantUserRequest, opts ...grpc.CallOption) (*GetTenantUserResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetTenantUserResponse)
|
||||
err := c.cc.Invoke(ctx, TenantService_GetUser_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_GetUser_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -131,8 +140,9 @@ func (c *tenantServiceClient) GetUser(ctx context.Context, in *GetTenantUserRequ
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) UpdateUser(ctx context.Context, in *UpdateTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, TenantService_UpdateUser_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_UpdateUser_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -140,8 +150,9 @@ func (c *tenantServiceClient) UpdateUser(ctx context.Context, in *UpdateTenantUs
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) DeleteUser(ctx context.Context, in *DeleteTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, TenantService_DeleteUser_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_DeleteUser_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -149,8 +160,9 @@ func (c *tenantServiceClient) DeleteUser(ctx context.Context, in *DeleteTenantUs
|
||||
}
|
||||
|
||||
func (c *tenantServiceClient) ListUsers(ctx context.Context, in *ListTenantUsersRequest, opts ...grpc.CallOption) (*ListTenantUsersResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListTenantUsersResponse)
|
||||
err := c.cc.Invoke(ctx, TenantService_ListUsers_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, TenantService_ListUsers_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -159,7 +171,9 @@ func (c *tenantServiceClient) ListUsers(ctx context.Context, in *ListTenantUsers
|
||||
|
||||
// TenantServiceServer is the server API for TenantService service.
|
||||
// All implementations must embed UnimplementedTenantServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// TenantService is the service providing API methods for managing tenants.
|
||||
type TenantServiceServer interface {
|
||||
// Create a new tenant.
|
||||
Create(context.Context, *CreateTenantRequest) (*CreateTenantResponse, error)
|
||||
@ -185,9 +199,12 @@ type TenantServiceServer interface {
|
||||
mustEmbedUnimplementedTenantServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedTenantServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedTenantServiceServer struct {
|
||||
}
|
||||
// UnimplementedTenantServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedTenantServiceServer struct{}
|
||||
|
||||
func (UnimplementedTenantServiceServer) Create(context.Context, *CreateTenantRequest) (*CreateTenantResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -220,6 +237,7 @@ func (UnimplementedTenantServiceServer) ListUsers(context.Context, *ListTenantUs
|
||||
return nil, status.Errorf(codes.Unimplemented, "method ListUsers not implemented")
|
||||
}
|
||||
func (UnimplementedTenantServiceServer) mustEmbedUnimplementedTenantServiceServer() {}
|
||||
func (UnimplementedTenantServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeTenantServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to TenantServiceServer will
|
||||
@ -229,6 +247,13 @@ type UnsafeTenantServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterTenantServiceServer(s grpc.ServiceRegistrar, srv TenantServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedTenantServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&TenantService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
308
api/go/api/user.pb.go
vendored
308
api/go/api/user.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: api/user.proto
|
||||
|
||||
package api
|
||||
@ -14,6 +14,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -24,10 +25,7 @@ const (
|
||||
)
|
||||
|
||||
type User struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID (UUID).
|
||||
// Will be set automatically on create.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
@ -38,7 +36,9 @@ type User struct {
|
||||
// E-mail of the user.
|
||||
Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
|
||||
// Optional note to store with the user.
|
||||
Note string `protobuf:"bytes,7,opt,name=note,proto3" json:"note,omitempty"`
|
||||
Note string `protobuf:"bytes,7,opt,name=note,proto3" json:"note,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *User) Reset() {
|
||||
@ -107,10 +107,7 @@ func (x *User) GetNote() string {
|
||||
}
|
||||
|
||||
type UserListItem struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID (UUID).
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
// Created at timestamp.
|
||||
@ -122,7 +119,9 @@ type UserListItem struct {
|
||||
// Set to true to make the user a global administrator.
|
||||
IsAdmin bool `protobuf:"varint,5,opt,name=is_admin,json=isAdmin,proto3" json:"is_admin,omitempty"`
|
||||
// Set to false to disable the user.
|
||||
IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
|
||||
IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UserListItem) Reset() {
|
||||
@ -198,10 +197,7 @@ func (x *UserListItem) GetIsActive() bool {
|
||||
}
|
||||
|
||||
type UserTenant struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID.
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// User is admin within the context of the tenant.
|
||||
@ -212,6 +208,8 @@ type UserTenant struct {
|
||||
IsDeviceAdmin bool `protobuf:"varint,3,opt,name=is_device_admin,json=isDeviceAdmin,proto3" json:"is_device_admin,omitempty"`
|
||||
// User is able to modify gateways.
|
||||
IsGatewayAdmin bool `protobuf:"varint,4,opt,name=is_gateway_admin,json=isGatewayAdmin,proto3" json:"is_gateway_admin,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UserTenant) Reset() {
|
||||
@ -273,16 +271,15 @@ func (x *UserTenant) GetIsGatewayAdmin() bool {
|
||||
}
|
||||
|
||||
type CreateUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User object to create.
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
||||
// Password to set for the user.
|
||||
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
|
||||
// Add the user to the following tenants.
|
||||
Tenants []*UserTenant `protobuf:"bytes,3,rep,name=tenants,proto3" json:"tenants,omitempty"`
|
||||
Tenants []*UserTenant `protobuf:"bytes,3,rep,name=tenants,proto3" json:"tenants,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateUserRequest) Reset() {
|
||||
@ -337,12 +334,11 @@ func (x *CreateUserRequest) GetTenants() []*UserTenant {
|
||||
}
|
||||
|
||||
type CreateUserResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateUserResponse) Reset() {
|
||||
@ -383,12 +379,11 @@ func (x *CreateUserResponse) GetId() string {
|
||||
}
|
||||
|
||||
type GetUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetUserRequest) Reset() {
|
||||
@ -429,16 +424,15 @@ func (x *GetUserRequest) GetId() string {
|
||||
}
|
||||
|
||||
type GetUserResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User object.
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
||||
// Created at timestamp.
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
// Last update timestamp.
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetUserResponse) Reset() {
|
||||
@ -493,12 +487,11 @@ func (x *GetUserResponse) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
}
|
||||
|
||||
type UpdateUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User object.
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
||||
User *User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateUserRequest) Reset() {
|
||||
@ -539,12 +532,11 @@ func (x *UpdateUserRequest) GetUser() *User {
|
||||
}
|
||||
|
||||
type DeleteUserRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteUserRequest) Reset() {
|
||||
@ -585,15 +577,14 @@ func (x *DeleteUserRequest) GetId() string {
|
||||
}
|
||||
|
||||
type ListUsersRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Max number of tenants to return in the result-set.
|
||||
// If not set, it will be treated as 0, and the response will only return the total_count.
|
||||
Limit uint32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"`
|
||||
// Offset in the result-set (for pagination).
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListUsersRequest) Reset() {
|
||||
@ -641,14 +632,13 @@ func (x *ListUsersRequest) GetOffset() uint32 {
|
||||
}
|
||||
|
||||
type ListUsersResponse struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Total number of users.
|
||||
TotalCount uint32 `protobuf:"varint,1,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
// Result-set.
|
||||
Result []*UserListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
Result []*UserListItem `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListUsersResponse) Reset() {
|
||||
@ -696,14 +686,13 @@ func (x *ListUsersResponse) GetResult() []*UserListItem {
|
||||
}
|
||||
|
||||
type UpdateUserPasswordRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// User ID.
|
||||
UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
||||
// Password to set.
|
||||
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
|
||||
Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateUserPasswordRequest) Reset() {
|
||||
@ -752,143 +741,77 @@ func (x *UpdateUserPasswordRequest) GetPassword() string {
|
||||
|
||||
var File_api_user_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_api_user_proto_rawDesc = []byte{
|
||||
0x0a, 0x0e, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x22, 0x78, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f,
|
||||
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76,
|
||||
0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18,
|
||||
0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x22, 0xe2, 0x01, 0x0a, 0x0c,
|
||||
0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x0a,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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, 0x09, 0x63, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65,
|
||||
0x22, 0x96, 0x01, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6e, 0x61, 0x6e, 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, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08,
|
||||
0x69, 0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
|
||||
0x69, 0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x64, 0x65,
|
||||
0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x0d, 0x69, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12,
|
||||
0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x61, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x47, 0x61, 0x74,
|
||||
0x65, 0x77, 0x61, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x79, 0x0a, 0x11, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
|
||||
0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x65, 0x6e,
|
||||
0x61, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x55, 0x73, 0x65, 0x72, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x52, 0x07, 0x74, 0x65, 0x6e,
|
||||
0x61, 0x6e, 0x74, 0x73, 0x22, 0x24, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65,
|
||||
0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xa6, 0x01, 0x0a,
|
||||
0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x1d, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09,
|
||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12,
|
||||
0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x02, 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,
|
||||
0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 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, 0x09, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x32, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x04, 0x75, 0x73,
|
||||
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x23, 0x0a, 0x11, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x40,
|
||||
0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73,
|
||||
0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
|
||||
0x22, 0x5f, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
|
||||
0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x55, 0x73, 0x65,
|
||||
0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c,
|
||||
0x74, 0x22, 0x50, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50,
|
||||
0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17,
|
||||
0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
|
||||
0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77,
|
||||
0x6f, 0x72, 0x64, 0x32, 0x97, 0x04, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15,
|
||||
0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x3a, 0x01, 0x2a, 0x22, 0x0a, 0x2f, 0x61, 0x70, 0x69, 0x2f,
|
||||
0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x49, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x13, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x12,
|
||||
0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d,
|
||||
0x12, 0x59, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69,
|
||||
0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93,
|
||||
0x02, 0x19, 0x3a, 0x01, 0x2a, 0x1a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72,
|
||||
0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x69, 0x64, 0x7d, 0x12, 0x51, 0x0a, 0x06, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x2a, 0x0f, 0x2f,
|
||||
0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x49,
|
||||
0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x12, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0c, 0x12, 0x0a, 0x2f,
|
||||
0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x72, 0x0a, 0x0e, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1e, 0x2e, 0x61, 0x70,
|
||||
0x69, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73,
|
||||
0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
|
||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
|
||||
0x70, 0x74, 0x79, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d,
|
||||
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72,
|
||||
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x8f, 0x01,
|
||||
0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x42, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||
0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
|
||||
0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69,
|
||||
0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70,
|
||||
0x69, 0xca, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41,
|
||||
0x70, 0x69, 0xe2, 0x02, 0x1a, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
||||
0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x41, 0x70, 0x69, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_api_user_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x0eapi/user.proto\x12\x03api\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"x\n" +
|
||||
"\x04User\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x19\n" +
|
||||
"\bis_admin\x18\x04 \x01(\bR\aisAdmin\x12\x1b\n" +
|
||||
"\tis_active\x18\x05 \x01(\bR\bisActive\x12\x14\n" +
|
||||
"\x05email\x18\x06 \x01(\tR\x05email\x12\x12\n" +
|
||||
"\x04note\x18\a \x01(\tR\x04note\"\xe2\x01\n" +
|
||||
"\fUserListItem\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x14\n" +
|
||||
"\x05email\x18\x04 \x01(\tR\x05email\x12\x19\n" +
|
||||
"\bis_admin\x18\x05 \x01(\bR\aisAdmin\x12\x1b\n" +
|
||||
"\tis_active\x18\x06 \x01(\bR\bisActive\"\x96\x01\n" +
|
||||
"\n" +
|
||||
"UserTenant\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x19\n" +
|
||||
"\bis_admin\x18\x02 \x01(\bR\aisAdmin\x12&\n" +
|
||||
"\x0fis_device_admin\x18\x03 \x01(\bR\risDeviceAdmin\x12(\n" +
|
||||
"\x10is_gateway_admin\x18\x04 \x01(\bR\x0eisGatewayAdmin\"y\n" +
|
||||
"\x11CreateUserRequest\x12\x1d\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\t.api.UserR\x04user\x12\x1a\n" +
|
||||
"\bpassword\x18\x02 \x01(\tR\bpassword\x12)\n" +
|
||||
"\atenants\x18\x03 \x03(\v2\x0f.api.UserTenantR\atenants\"$\n" +
|
||||
"\x12CreateUserResponse\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\" \n" +
|
||||
"\x0eGetUserRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\xa6\x01\n" +
|
||||
"\x0fGetUserResponse\x12\x1d\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\t.api.UserR\x04user\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"2\n" +
|
||||
"\x11UpdateUserRequest\x12\x1d\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\t.api.UserR\x04user\"#\n" +
|
||||
"\x11DeleteUserRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"@\n" +
|
||||
"\x10ListUsersRequest\x12\x14\n" +
|
||||
"\x05limit\x18\x01 \x01(\rR\x05limit\x12\x16\n" +
|
||||
"\x06offset\x18\x02 \x01(\rR\x06offset\"_\n" +
|
||||
"\x11ListUsersResponse\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x01 \x01(\rR\n" +
|
||||
"totalCount\x12)\n" +
|
||||
"\x06result\x18\x02 \x03(\v2\x11.api.UserListItemR\x06result\"P\n" +
|
||||
"\x19UpdateUserPasswordRequest\x12\x17\n" +
|
||||
"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x1a\n" +
|
||||
"\bpassword\x18\x02 \x01(\tR\bpassword2\x97\x04\n" +
|
||||
"\vUserService\x12P\n" +
|
||||
"\x06Create\x12\x16.api.CreateUserRequest\x1a\x17.api.CreateUserResponse\"\x15\x82\xd3\xe4\x93\x02\x0f:\x01*\"\n" +
|
||||
"/api/users\x12I\n" +
|
||||
"\x03Get\x12\x13.api.GetUserRequest\x1a\x14.api.GetUserResponse\"\x17\x82\xd3\xe4\x93\x02\x11\x12\x0f/api/users/{id}\x12Y\n" +
|
||||
"\x06Update\x12\x16.api.UpdateUserRequest\x1a\x16.google.protobuf.Empty\"\x1f\x82\xd3\xe4\x93\x02\x19:\x01*\x1a\x14/api/users/{user.id}\x12Q\n" +
|
||||
"\x06Delete\x12\x16.api.DeleteUserRequest\x1a\x16.google.protobuf.Empty\"\x17\x82\xd3\xe4\x93\x02\x11*\x0f/api/users/{id}\x12I\n" +
|
||||
"\x04List\x12\x15.api.ListUsersRequest\x1a\x16.api.ListUsersResponse\"\x12\x82\xd3\xe4\x93\x02\f\x12\n" +
|
||||
"/api/users\x12r\n" +
|
||||
"\x0eUpdatePassword\x12\x1e.api.UpdateUserPasswordRequest\x1a\x16.google.protobuf.Empty\"(\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/api/users/{user_id}/passwordB\x8f\x01\n" +
|
||||
"\x11io.chirpstack.apiB\tUserProtoP\x01Z.github.com/chirpstack/chirpstack/api/go/v4/api\xaa\x02\x0eChirpstack.Api\xca\x02\x0eChirpstack\\Api\xe2\x02\x1aGPBMetadata\\Chirpstack\\Apib\x06proto3"
|
||||
|
||||
var (
|
||||
file_api_user_proto_rawDescOnce sync.Once
|
||||
file_api_user_proto_rawDescData = file_api_user_proto_rawDesc
|
||||
file_api_user_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_api_user_proto_rawDescGZIP() []byte {
|
||||
file_api_user_proto_rawDescOnce.Do(func() {
|
||||
file_api_user_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_user_proto_rawDescData)
|
||||
file_api_user_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_api_user_proto_rawDesc), len(file_api_user_proto_rawDesc)))
|
||||
})
|
||||
return file_api_user_proto_rawDescData
|
||||
}
|
||||
@ -948,7 +871,7 @@ func file_api_user_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_api_user_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_api_user_proto_rawDesc), len(file_api_user_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 12,
|
||||
NumExtensions: 0,
|
||||
@ -959,7 +882,6 @@ func file_api_user_proto_init() {
|
||||
MessageInfos: file_api_user_proto_msgTypes,
|
||||
}.Build()
|
||||
File_api_user_proto = out.File
|
||||
file_api_user_proto_rawDesc = nil
|
||||
file_api_user_proto_goTypes = nil
|
||||
file_api_user_proto_depIdxs = nil
|
||||
}
|
||||
|
49
api/go/api/user_grpc.pb.go
vendored
49
api/go/api/user_grpc.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.3.0
|
||||
// - protoc v5.28.3
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v6.30.2
|
||||
// source: api/user.proto
|
||||
|
||||
package api
|
||||
@ -16,8 +16,8 @@ import (
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.32.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion7
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
UserService_Create_FullMethodName = "/api.UserService/Create"
|
||||
@ -31,6 +31,8 @@ const (
|
||||
// UserServiceClient is the client API for UserService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
//
|
||||
// UserService is the service providing API methods for managing users.
|
||||
type UserServiceClient interface {
|
||||
// Create a new user.
|
||||
Create(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error)
|
||||
@ -55,8 +57,9 @@ func NewUserServiceClient(cc grpc.ClientConnInterface) UserServiceClient {
|
||||
}
|
||||
|
||||
func (c *userServiceClient) Create(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(CreateUserResponse)
|
||||
err := c.cc.Invoke(ctx, UserService_Create_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_Create_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -64,8 +67,9 @@ func (c *userServiceClient) Create(ctx context.Context, in *CreateUserRequest, o
|
||||
}
|
||||
|
||||
func (c *userServiceClient) Get(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetUserResponse)
|
||||
err := c.cc.Invoke(ctx, UserService_Get_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_Get_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -73,8 +77,9 @@ func (c *userServiceClient) Get(ctx context.Context, in *GetUserRequest, opts ..
|
||||
}
|
||||
|
||||
func (c *userServiceClient) Update(ctx context.Context, in *UpdateUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, UserService_Update_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_Update_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -82,8 +87,9 @@ func (c *userServiceClient) Update(ctx context.Context, in *UpdateUserRequest, o
|
||||
}
|
||||
|
||||
func (c *userServiceClient) Delete(ctx context.Context, in *DeleteUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, UserService_Delete_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_Delete_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -91,8 +97,9 @@ func (c *userServiceClient) Delete(ctx context.Context, in *DeleteUserRequest, o
|
||||
}
|
||||
|
||||
func (c *userServiceClient) List(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*ListUsersResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(ListUsersResponse)
|
||||
err := c.cc.Invoke(ctx, UserService_List_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_List_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -100,8 +107,9 @@ func (c *userServiceClient) List(ctx context.Context, in *ListUsersRequest, opts
|
||||
}
|
||||
|
||||
func (c *userServiceClient) UpdatePassword(ctx context.Context, in *UpdateUserPasswordRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(emptypb.Empty)
|
||||
err := c.cc.Invoke(ctx, UserService_UpdatePassword_FullMethodName, in, out, opts...)
|
||||
err := c.cc.Invoke(ctx, UserService_UpdatePassword_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -110,7 +118,9 @@ func (c *userServiceClient) UpdatePassword(ctx context.Context, in *UpdateUserPa
|
||||
|
||||
// UserServiceServer is the server API for UserService service.
|
||||
// All implementations must embed UnimplementedUserServiceServer
|
||||
// for forward compatibility
|
||||
// for forward compatibility.
|
||||
//
|
||||
// UserService is the service providing API methods for managing users.
|
||||
type UserServiceServer interface {
|
||||
// Create a new user.
|
||||
Create(context.Context, *CreateUserRequest) (*CreateUserResponse, error)
|
||||
@ -127,9 +137,12 @@ type UserServiceServer interface {
|
||||
mustEmbedUnimplementedUserServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedUserServiceServer must be embedded to have forward compatible implementations.
|
||||
type UnimplementedUserServiceServer struct {
|
||||
}
|
||||
// UnimplementedUserServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedUserServiceServer struct{}
|
||||
|
||||
func (UnimplementedUserServiceServer) Create(context.Context, *CreateUserRequest) (*CreateUserResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
|
||||
@ -150,6 +163,7 @@ func (UnimplementedUserServiceServer) UpdatePassword(context.Context, *UpdateUse
|
||||
return nil, status.Errorf(codes.Unimplemented, "method UpdatePassword not implemented")
|
||||
}
|
||||
func (UnimplementedUserServiceServer) mustEmbedUnimplementedUserServiceServer() {}
|
||||
func (UnimplementedUserServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeUserServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to UserServiceServer will
|
||||
@ -159,6 +173,13 @@ type UnsafeUserServiceServer interface {
|
||||
}
|
||||
|
||||
func RegisterUserServiceServer(s grpc.ServiceRegistrar, srv UserServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedUserServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&UserService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
|
316
api/go/common/common.pb.go
vendored
316
api/go/common/common.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: common/common.proto
|
||||
|
||||
package common
|
||||
@ -12,6 +12,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -169,30 +170,30 @@ func (Region) EnumDescriptor() ([]byte, []int) {
|
||||
return file_common_common_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type MType int32
|
||||
type FType int32
|
||||
|
||||
const (
|
||||
// JoinRequest.
|
||||
MType_JOIN_REQUEST MType = 0
|
||||
FType_JOIN_REQUEST FType = 0
|
||||
// JoinAccept.
|
||||
MType_JOIN_ACCEPT MType = 1
|
||||
FType_JOIN_ACCEPT FType = 1
|
||||
// UnconfirmedDataUp.
|
||||
MType_UNCONFIRMED_DATA_UP MType = 2
|
||||
FType_UNCONFIRMED_DATA_UP FType = 2
|
||||
// UnconfirmedDataDown.
|
||||
MType_UNCONFIRMED_DATA_DOWN MType = 3
|
||||
FType_UNCONFIRMED_DATA_DOWN FType = 3
|
||||
// ConfirmedDataUp.
|
||||
MType_CONFIRMED_DATA_UP MType = 4
|
||||
FType_CONFIRMED_DATA_UP FType = 4
|
||||
// ConfirmedDataDown.
|
||||
MType_CONFIRMED_DATA_DOWN MType = 5
|
||||
FType_CONFIRMED_DATA_DOWN FType = 5
|
||||
// RejoinRequest.
|
||||
MType_REJOIN_REQUEST MType = 6
|
||||
FType_REJOIN_REQUEST FType = 6
|
||||
// Proprietary.
|
||||
MType_PROPRIETARY MType = 7
|
||||
FType_PROPRIETARY FType = 7
|
||||
)
|
||||
|
||||
// Enum value maps for MType.
|
||||
// Enum value maps for FType.
|
||||
var (
|
||||
MType_name = map[int32]string{
|
||||
FType_name = map[int32]string{
|
||||
0: "JOIN_REQUEST",
|
||||
1: "JOIN_ACCEPT",
|
||||
2: "UNCONFIRMED_DATA_UP",
|
||||
@ -202,7 +203,7 @@ var (
|
||||
6: "REJOIN_REQUEST",
|
||||
7: "PROPRIETARY",
|
||||
}
|
||||
MType_value = map[string]int32{
|
||||
FType_value = map[string]int32{
|
||||
"JOIN_REQUEST": 0,
|
||||
"JOIN_ACCEPT": 1,
|
||||
"UNCONFIRMED_DATA_UP": 2,
|
||||
@ -214,30 +215,30 @@ var (
|
||||
}
|
||||
)
|
||||
|
||||
func (x MType) Enum() *MType {
|
||||
p := new(MType)
|
||||
func (x FType) Enum() *FType {
|
||||
p := new(FType)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x MType) String() string {
|
||||
func (x FType) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (MType) Descriptor() protoreflect.EnumDescriptor {
|
||||
func (FType) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_common_common_proto_enumTypes[2].Descriptor()
|
||||
}
|
||||
|
||||
func (MType) Type() protoreflect.EnumType {
|
||||
func (FType) Type() protoreflect.EnumType {
|
||||
return &file_common_common_proto_enumTypes[2]
|
||||
}
|
||||
|
||||
func (x MType) Number() protoreflect.EnumNumber {
|
||||
func (x FType) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use MType.Descriptor instead.
|
||||
func (MType) EnumDescriptor() ([]byte, []int) {
|
||||
// Deprecated: Use FType.Descriptor instead.
|
||||
func (FType) EnumDescriptor() ([]byte, []int) {
|
||||
return file_common_common_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
@ -638,10 +639,7 @@ func (DeviceClass) EnumDescriptor() ([]byte, []int) {
|
||||
}
|
||||
|
||||
type Location struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Latitude.
|
||||
Latitude float64 `protobuf:"fixed64,1,opt,name=latitude,proto3" json:"latitude,omitempty"`
|
||||
// Longitude.
|
||||
@ -651,7 +649,9 @@ type Location struct {
|
||||
// Location source.
|
||||
Source LocationSource `protobuf:"varint,4,opt,name=source,proto3,enum=common.LocationSource" json:"source,omitempty"`
|
||||
// Accuracy.
|
||||
Accuracy float32 `protobuf:"fixed32,5,opt,name=accuracy,proto3" json:"accuracy,omitempty"`
|
||||
Accuracy float32 `protobuf:"fixed32,5,opt,name=accuracy,proto3" json:"accuracy,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Location) Reset() {
|
||||
@ -720,14 +720,13 @@ func (x *Location) GetAccuracy() float32 {
|
||||
}
|
||||
|
||||
type KeyEnvelope struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// KEK label.
|
||||
KekLabel string `protobuf:"bytes,1,opt,name=kek_label,json=kekLabel,proto3" json:"kek_label,omitempty"`
|
||||
// AES key (when the kek_label is set, this value must first be decrypted).
|
||||
AesKey []byte `protobuf:"bytes,2,opt,name=aes_key,json=aesKey,proto3" json:"aes_key,omitempty"`
|
||||
AesKey []byte `protobuf:"bytes,2,opt,name=aes_key,json=aesKey,proto3" json:"aes_key,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *KeyEnvelope) Reset() {
|
||||
@ -775,10 +774,7 @@ func (x *KeyEnvelope) GetAesKey() []byte {
|
||||
}
|
||||
|
||||
type Metric struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Name.
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
// Timestamps.
|
||||
@ -786,7 +782,9 @@ type Metric struct {
|
||||
// Datasets.
|
||||
Datasets []*MetricDataset `protobuf:"bytes,3,rep,name=datasets,proto3" json:"datasets,omitempty"`
|
||||
// Kind.
|
||||
Kind MetricKind `protobuf:"varint,4,opt,name=kind,proto3,enum=common.MetricKind" json:"kind,omitempty"`
|
||||
Kind MetricKind `protobuf:"varint,4,opt,name=kind,proto3,enum=common.MetricKind" json:"kind,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Metric) Reset() {
|
||||
@ -848,15 +846,14 @@ func (x *Metric) GetKind() MetricKind {
|
||||
}
|
||||
|
||||
type MetricDataset struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Label.
|
||||
Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"`
|
||||
// Data.
|
||||
// Each value index corresponds with the same timestamp index of the Metric.
|
||||
Data []float32 `protobuf:"fixed32,2,rep,packed,name=data,proto3" json:"data,omitempty"`
|
||||
Data []float32 `protobuf:"fixed32,2,rep,packed,name=data,proto3" json:"data,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *MetricDataset) Reset() {
|
||||
@ -905,14 +902,13 @@ func (x *MetricDataset) GetData() []float32 {
|
||||
|
||||
// Join-Server context.
|
||||
type JoinServerContext struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Session-key ID.
|
||||
SessionKeyId string `protobuf:"bytes,1,opt,name=session_key_id,json=sessionKeyId,proto3" json:"session_key_id,omitempty"`
|
||||
// AppSKey envelope.
|
||||
AppSKey *KeyEnvelope `protobuf:"bytes,2,opt,name=app_s_key,json=appSKey,proto3" json:"app_s_key,omitempty"`
|
||||
AppSKey *KeyEnvelope `protobuf:"bytes,2,opt,name=app_s_key,json=appSKey,proto3" json:"app_s_key,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *JoinServerContext) Reset() {
|
||||
@ -961,132 +957,115 @@ func (x *JoinServerContext) GetAppSKey() *KeyEnvelope {
|
||||
|
||||
var File_common_common_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_common_common_proto_rawDesc = []byte{
|
||||
0x0a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x1a, 0x1f, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xac,
|
||||
0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c,
|
||||
0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x6c,
|
||||
0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69,
|
||||
0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67,
|
||||
0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64,
|
||||
0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x61, 0x6c, 0x74, 0x69, 0x74, 0x75, 0x64,
|
||||
0x65, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x0e, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63,
|
||||
0x65, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x75, 0x72, 0x61, 0x63, 0x79, 0x22, 0x43, 0x0a,
|
||||
0x0b, 0x4b, 0x65, 0x79, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09,
|
||||
0x6b, 0x65, 0x6b, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x08, 0x6b, 0x65, 0x6b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x65, 0x73,
|
||||
0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x61, 0x65, 0x73, 0x4b,
|
||||
0x65, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18,
|
||||
0x02, 0x20, 0x03, 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, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x12, 0x31, 0x0a,
|
||||
0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x15, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x44,
|
||||
0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x73,
|
||||
0x12, 0x26, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69,
|
||||
0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0x39, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x72,
|
||||
0x69, 0x63, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62,
|
||||
0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x02, 0x52, 0x04, 0x64,
|
||||
0x61, 0x74, 0x61, 0x22, 0x6a, 0x0a, 0x11, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65,
|
||||
0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x73, 0x73,
|
||||
0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0c, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x2f,
|
||||
0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x45, 0x6e,
|
||||
0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x07, 0x61, 0x70, 0x70, 0x53, 0x4b, 0x65, 0x79, 0x2a,
|
||||
0x2c, 0x0a, 0x0a, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a,
|
||||
0x04, 0x4c, 0x4f, 0x52, 0x41, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x46, 0x53, 0x4b, 0x10, 0x01,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x4c, 0x52, 0x5f, 0x46, 0x48, 0x53, 0x53, 0x10, 0x02, 0x2a, 0xaa, 0x01,
|
||||
0x0a, 0x06, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x55, 0x38, 0x36,
|
||||
0x38, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x53, 0x39, 0x31, 0x35, 0x10, 0x02, 0x12, 0x09,
|
||||
0x0a, 0x05, 0x43, 0x4e, 0x37, 0x37, 0x39, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x55, 0x34,
|
||||
0x33, 0x33, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x39, 0x31, 0x35, 0x10, 0x05, 0x12,
|
||||
0x09, 0x0a, 0x05, 0x43, 0x4e, 0x34, 0x37, 0x30, 0x10, 0x06, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x53,
|
||||
0x39, 0x32, 0x33, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x53, 0x39, 0x32, 0x33, 0x5f, 0x32,
|
||||
0x10, 0x0c, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x53, 0x39, 0x32, 0x33, 0x5f, 0x33, 0x10, 0x0d, 0x12,
|
||||
0x0b, 0x0a, 0x07, 0x41, 0x53, 0x39, 0x32, 0x33, 0x5f, 0x34, 0x10, 0x0e, 0x12, 0x09, 0x0a, 0x05,
|
||||
0x4b, 0x52, 0x39, 0x32, 0x30, 0x10, 0x08, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x38, 0x36, 0x35,
|
||||
0x10, 0x09, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x55, 0x38, 0x36, 0x34, 0x10, 0x0a, 0x12, 0x0b, 0x0a,
|
||||
0x07, 0x49, 0x53, 0x4d, 0x32, 0x34, 0x30, 0x30, 0x10, 0x0b, 0x2a, 0xb3, 0x01, 0x0a, 0x05, 0x4d,
|
||||
0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51,
|
||||
0x55, 0x45, 0x53, 0x54, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x41,
|
||||
0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x43, 0x4f, 0x4e,
|
||||
0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x55, 0x50, 0x10, 0x02,
|
||||
0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x43,
|
||||
0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x55, 0x50,
|
||||
0x10, 0x04, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x5f,
|
||||
0x44, 0x41, 0x54, 0x41, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x52,
|
||||
0x45, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x06, 0x12,
|
||||
0x0f, 0x0a, 0x0b, 0x50, 0x52, 0x4f, 0x50, 0x52, 0x49, 0x45, 0x54, 0x41, 0x52, 0x59, 0x10, 0x07,
|
||||
0x2a, 0x7e, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x11,
|
||||
0x0a, 0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x57, 0x41, 0x4e, 0x5f, 0x31, 0x5f, 0x30, 0x5f, 0x30, 0x10,
|
||||
0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x57, 0x41, 0x4e, 0x5f, 0x31, 0x5f, 0x30,
|
||||
0x5f, 0x31, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x57, 0x41, 0x4e, 0x5f,
|
||||
0x31, 0x5f, 0x30, 0x5f, 0x32, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x57,
|
||||
0x41, 0x4e, 0x5f, 0x31, 0x5f, 0x30, 0x5f, 0x33, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x4f,
|
||||
0x52, 0x41, 0x57, 0x41, 0x4e, 0x5f, 0x31, 0x5f, 0x30, 0x5f, 0x34, 0x10, 0x04, 0x12, 0x11, 0x0a,
|
||||
0x0d, 0x4c, 0x4f, 0x52, 0x41, 0x57, 0x41, 0x4e, 0x5f, 0x31, 0x5f, 0x31, 0x5f, 0x30, 0x10, 0x05,
|
||||
0x2a, 0x76, 0x0a, 0x11, 0x52, 0x65, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x76,
|
||||
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x05, 0x0a, 0x01, 0x41, 0x10, 0x00, 0x12, 0x05, 0x0a, 0x01,
|
||||
0x42, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x30, 0x30, 0x32, 0x5f, 0x31, 0x5f, 0x30,
|
||||
0x5f, 0x30, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x30, 0x30, 0x32, 0x5f, 0x31, 0x5f,
|
||||
0x30, 0x5f, 0x31, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x30, 0x30, 0x32, 0x5f, 0x31,
|
||||
0x5f, 0x30, 0x5f, 0x32, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x30, 0x30, 0x32, 0x5f,
|
||||
0x31, 0x5f, 0x30, 0x5f, 0x33, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x30, 0x30, 0x32,
|
||||
0x5f, 0x31, 0x5f, 0x30, 0x5f, 0x34, 0x10, 0x06, 0x2a, 0x8e, 0x01, 0x0a, 0x0e, 0x4c, 0x6f, 0x63,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55,
|
||||
0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x50, 0x53, 0x10,
|
||||
0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x10, 0x02, 0x12, 0x15, 0x0a,
|
||||
0x11, 0x47, 0x45, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x52, 0x5f, 0x54, 0x44,
|
||||
0x4f, 0x41, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x45, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f,
|
||||
0x4c, 0x56, 0x45, 0x52, 0x5f, 0x52, 0x53, 0x53, 0x49, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x47,
|
||||
0x45, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x52, 0x5f, 0x47, 0x4e, 0x53, 0x53,
|
||||
0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x45, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56,
|
||||
0x45, 0x52, 0x5f, 0x57, 0x49, 0x46, 0x49, 0x10, 0x06, 0x2a, 0x37, 0x0a, 0x0b, 0x41, 0x67, 0x67,
|
||||
0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x4f, 0x55, 0x52,
|
||||
0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x4d,
|
||||
0x4f, 0x4e, 0x54, 0x48, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45,
|
||||
0x10, 0x03, 0x2a, 0x32, 0x0a, 0x0a, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4b, 0x69, 0x6e, 0x64,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0c, 0x0a,
|
||||
0x08, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x47,
|
||||
0x41, 0x55, 0x47, 0x45, 0x10, 0x02, 0x2a, 0x39, 0x0a, 0x0a, 0x52, 0x65, 0x67, 0x75, 0x6c, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x47, 0x55, 0x4c, 0x41, 0x54, 0x49,
|
||||
0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f,
|
||||
0x45, 0x54, 0x53, 0x49, 0x5f, 0x45, 0x4e, 0x5f, 0x33, 0x30, 0x30, 0x5f, 0x32, 0x32, 0x30, 0x10,
|
||||
0x01, 0x2a, 0x34, 0x0a, 0x0b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73,
|
||||
0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x41, 0x10, 0x00, 0x12, 0x0b, 0x0a,
|
||||
0x07, 0x43, 0x4c, 0x41, 0x53, 0x53, 0x5f, 0x42, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x4c,
|
||||
0x41, 0x53, 0x53, 0x5f, 0x43, 0x10, 0x02, 0x42, 0x9d, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0b, 0x43,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 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, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xaa,
|
||||
0x02, 0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x43, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0xca, 0x02, 0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0xe2, 0x02, 0x1d, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74,
|
||||
0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b,
|
||||
0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_common_common_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x13common/common.proto\x12\x06common\x1a\x1fgoogle/protobuf/timestamp.proto\"\xac\x01\n" +
|
||||
"\bLocation\x12\x1a\n" +
|
||||
"\blatitude\x18\x01 \x01(\x01R\blatitude\x12\x1c\n" +
|
||||
"\tlongitude\x18\x02 \x01(\x01R\tlongitude\x12\x1a\n" +
|
||||
"\baltitude\x18\x03 \x01(\x01R\baltitude\x12.\n" +
|
||||
"\x06source\x18\x04 \x01(\x0e2\x16.common.LocationSourceR\x06source\x12\x1a\n" +
|
||||
"\baccuracy\x18\x05 \x01(\x02R\baccuracy\"C\n" +
|
||||
"\vKeyEnvelope\x12\x1b\n" +
|
||||
"\tkek_label\x18\x01 \x01(\tR\bkekLabel\x12\x17\n" +
|
||||
"\aaes_key\x18\x02 \x01(\fR\x06aesKey\"\xb3\x01\n" +
|
||||
"\x06Metric\x12\x12\n" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12:\n" +
|
||||
"\n" +
|
||||
"timestamps\x18\x02 \x03(\v2\x1a.google.protobuf.TimestampR\n" +
|
||||
"timestamps\x121\n" +
|
||||
"\bdatasets\x18\x03 \x03(\v2\x15.common.MetricDatasetR\bdatasets\x12&\n" +
|
||||
"\x04kind\x18\x04 \x01(\x0e2\x12.common.MetricKindR\x04kind\"9\n" +
|
||||
"\rMetricDataset\x12\x14\n" +
|
||||
"\x05label\x18\x01 \x01(\tR\x05label\x12\x12\n" +
|
||||
"\x04data\x18\x02 \x03(\x02R\x04data\"j\n" +
|
||||
"\x11JoinServerContext\x12$\n" +
|
||||
"\x0esession_key_id\x18\x01 \x01(\tR\fsessionKeyId\x12/\n" +
|
||||
"\tapp_s_key\x18\x02 \x01(\v2\x13.common.KeyEnvelopeR\aappSKey*,\n" +
|
||||
"\n" +
|
||||
"Modulation\x12\b\n" +
|
||||
"\x04LORA\x10\x00\x12\a\n" +
|
||||
"\x03FSK\x10\x01\x12\v\n" +
|
||||
"\aLR_FHSS\x10\x02*\xaa\x01\n" +
|
||||
"\x06Region\x12\t\n" +
|
||||
"\x05EU868\x10\x00\x12\t\n" +
|
||||
"\x05US915\x10\x02\x12\t\n" +
|
||||
"\x05CN779\x10\x03\x12\t\n" +
|
||||
"\x05EU433\x10\x04\x12\t\n" +
|
||||
"\x05AU915\x10\x05\x12\t\n" +
|
||||
"\x05CN470\x10\x06\x12\t\n" +
|
||||
"\x05AS923\x10\a\x12\v\n" +
|
||||
"\aAS923_2\x10\f\x12\v\n" +
|
||||
"\aAS923_3\x10\r\x12\v\n" +
|
||||
"\aAS923_4\x10\x0e\x12\t\n" +
|
||||
"\x05KR920\x10\b\x12\t\n" +
|
||||
"\x05IN865\x10\t\x12\t\n" +
|
||||
"\x05RU864\x10\n" +
|
||||
"\x12\v\n" +
|
||||
"\aISM2400\x10\v*\xb3\x01\n" +
|
||||
"\x05FType\x12\x10\n" +
|
||||
"\fJOIN_REQUEST\x10\x00\x12\x0f\n" +
|
||||
"\vJOIN_ACCEPT\x10\x01\x12\x17\n" +
|
||||
"\x13UNCONFIRMED_DATA_UP\x10\x02\x12\x19\n" +
|
||||
"\x15UNCONFIRMED_DATA_DOWN\x10\x03\x12\x15\n" +
|
||||
"\x11CONFIRMED_DATA_UP\x10\x04\x12\x17\n" +
|
||||
"\x13CONFIRMED_DATA_DOWN\x10\x05\x12\x12\n" +
|
||||
"\x0eREJOIN_REQUEST\x10\x06\x12\x0f\n" +
|
||||
"\vPROPRIETARY\x10\a*~\n" +
|
||||
"\n" +
|
||||
"MacVersion\x12\x11\n" +
|
||||
"\rLORAWAN_1_0_0\x10\x00\x12\x11\n" +
|
||||
"\rLORAWAN_1_0_1\x10\x01\x12\x11\n" +
|
||||
"\rLORAWAN_1_0_2\x10\x02\x12\x11\n" +
|
||||
"\rLORAWAN_1_0_3\x10\x03\x12\x11\n" +
|
||||
"\rLORAWAN_1_0_4\x10\x04\x12\x11\n" +
|
||||
"\rLORAWAN_1_1_0\x10\x05*v\n" +
|
||||
"\x11RegParamsRevision\x12\x05\n" +
|
||||
"\x01A\x10\x00\x12\x05\n" +
|
||||
"\x01B\x10\x01\x12\x0f\n" +
|
||||
"\vRP002_1_0_0\x10\x02\x12\x0f\n" +
|
||||
"\vRP002_1_0_1\x10\x03\x12\x0f\n" +
|
||||
"\vRP002_1_0_2\x10\x04\x12\x0f\n" +
|
||||
"\vRP002_1_0_3\x10\x05\x12\x0f\n" +
|
||||
"\vRP002_1_0_4\x10\x06*\x8e\x01\n" +
|
||||
"\x0eLocationSource\x12\v\n" +
|
||||
"\aUNKNOWN\x10\x00\x12\a\n" +
|
||||
"\x03GPS\x10\x01\x12\n" +
|
||||
"\n" +
|
||||
"\x06CONFIG\x10\x02\x12\x15\n" +
|
||||
"\x11GEO_RESOLVER_TDOA\x10\x03\x12\x15\n" +
|
||||
"\x11GEO_RESOLVER_RSSI\x10\x04\x12\x15\n" +
|
||||
"\x11GEO_RESOLVER_GNSS\x10\x05\x12\x15\n" +
|
||||
"\x11GEO_RESOLVER_WIFI\x10\x06*7\n" +
|
||||
"\vAggregation\x12\b\n" +
|
||||
"\x04HOUR\x10\x00\x12\a\n" +
|
||||
"\x03DAY\x10\x01\x12\t\n" +
|
||||
"\x05MONTH\x10\x02\x12\n" +
|
||||
"\n" +
|
||||
"\x06MINUTE\x10\x03*2\n" +
|
||||
"\n" +
|
||||
"MetricKind\x12\v\n" +
|
||||
"\aCOUNTER\x10\x00\x12\f\n" +
|
||||
"\bABSOLUTE\x10\x01\x12\t\n" +
|
||||
"\x05GAUGE\x10\x02*9\n" +
|
||||
"\n" +
|
||||
"Regulation\x12\x16\n" +
|
||||
"\x12REGULATION_UNKNOWN\x10\x00\x12\x13\n" +
|
||||
"\x0fETSI_EN_300_220\x10\x01*4\n" +
|
||||
"\vDeviceClass\x12\v\n" +
|
||||
"\aCLASS_A\x10\x00\x12\v\n" +
|
||||
"\aCLASS_B\x10\x01\x12\v\n" +
|
||||
"\aCLASS_C\x10\x02B\x9d\x01\n" +
|
||||
"\x11io.chirpstack.apiB\vCommonProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/common\xaa\x02\x11Chirpstack.Common\xca\x02\x11Chirpstack\\Common\xe2\x02\x1dGPBMetadata\\Chirpstack\\Commonb\x06proto3"
|
||||
|
||||
var (
|
||||
file_common_common_proto_rawDescOnce sync.Once
|
||||
file_common_common_proto_rawDescData = file_common_common_proto_rawDesc
|
||||
file_common_common_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_common_common_proto_rawDescGZIP() []byte {
|
||||
file_common_common_proto_rawDescOnce.Do(func() {
|
||||
file_common_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_common_common_proto_rawDescData)
|
||||
file_common_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_common_common_proto_rawDesc), len(file_common_common_proto_rawDesc)))
|
||||
})
|
||||
return file_common_common_proto_rawDescData
|
||||
}
|
||||
@ -1096,7 +1075,7 @@ var file_common_common_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_common_common_proto_goTypes = []any{
|
||||
(Modulation)(0), // 0: common.Modulation
|
||||
(Region)(0), // 1: common.Region
|
||||
(MType)(0), // 2: common.MType
|
||||
(FType)(0), // 2: common.FType
|
||||
(MacVersion)(0), // 3: common.MacVersion
|
||||
(RegParamsRevision)(0), // 4: common.RegParamsRevision
|
||||
(LocationSource)(0), // 5: common.LocationSource
|
||||
@ -1133,7 +1112,7 @@ func file_common_common_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_common_common_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_common_common_proto_rawDesc), len(file_common_common_proto_rawDesc)),
|
||||
NumEnums: 10,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
@ -1145,7 +1124,6 @@ func file_common_common_proto_init() {
|
||||
MessageInfos: file_common_common_proto_msgTypes,
|
||||
}.Build()
|
||||
File_common_common_proto = out.File
|
||||
file_common_common_proto_rawDesc = nil
|
||||
file_common_common_proto_goTypes = nil
|
||||
file_common_common_proto_depIdxs = nil
|
||||
}
|
||||
|
6
api/go/go.mod
vendored
6
api/go/go.mod
vendored
@ -11,8 +11,8 @@ require (
|
||||
|
||||
require (
|
||||
github.com/golang/protobuf v1.5.4 // indirect
|
||||
golang.org/x/net v0.36.0 // indirect
|
||||
golang.org/x/sys v0.30.0 // indirect
|
||||
golang.org/x/text v0.22.0 // indirect
|
||||
golang.org/x/net v0.38.0 // indirect
|
||||
golang.org/x/sys v0.31.0 // indirect
|
||||
golang.org/x/text v0.23.0 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa // indirect
|
||||
)
|
||||
|
12
api/go/go.sum
vendored
12
api/go/go.sum
vendored
@ -2,12 +2,12 @@ github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek
|
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
|
||||
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
|
||||
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
golang.org/x/net v0.36.0 h1:vWF2fRbw4qslQsQzgFqZff+BItCvGFQqKzKIzx1rmoA=
|
||||
golang.org/x/net v0.36.0/go.mod h1:bFmbeoIPfrw4sMHNhb4J9f6+tPziuGjq7Jk/38fxi1I=
|
||||
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
|
||||
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
|
||||
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
|
||||
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
|
||||
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
|
||||
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
|
||||
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
|
||||
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa h1:Jt1XW5PaLXF1/ePZrznsh/aAUvI7Adfc3LY1dAKlzRs=
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20240325203815-454cdb8f5daa/go.mod h1:K4kfzHtI0kqWA79gecJarFtDn/Mls+GxQcg3Zox91Ac=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa h1:RBgMaUMP+6soRkik4VoN8ojR2nex2TqZwjSSogic+eo=
|
||||
|
2948
api/go/gw/gw.pb.go
vendored
2948
api/go/gw/gw.pb.go
vendored
File diff suppressed because it is too large
Load Diff
518
api/go/integration/integration.pb.go
vendored
518
api/go/integration/integration.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: integration/integration.proto
|
||||
|
||||
package integration
|
||||
@ -15,6 +15,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -167,10 +168,7 @@ func (LogCode) EnumDescriptor() ([]byte, []int) {
|
||||
|
||||
// Device information.
|
||||
type DeviceInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Tenant ID (UUID).
|
||||
TenantId string `protobuf:"bytes,1,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
|
||||
// Tenant name.
|
||||
@ -190,7 +188,9 @@ type DeviceInfo struct {
|
||||
// Device class.
|
||||
DeviceClassEnabled common.DeviceClass `protobuf:"varint,10,opt,name=device_class_enabled,json=deviceClassEnabled,proto3,enum=common.DeviceClass" json:"device_class_enabled,omitempty"`
|
||||
// Device-profile and device tags.
|
||||
Tags map[string]string `protobuf:"bytes,9,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,9,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeviceInfo) Reset() {
|
||||
@ -295,10 +295,7 @@ func (x *DeviceInfo) GetTags() map[string]string {
|
||||
|
||||
// Uplink relay RX information.
|
||||
type UplinkRelayRxInfo struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Relay DevEUI.
|
||||
DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
// Frequency.
|
||||
@ -310,7 +307,9 @@ type UplinkRelayRxInfo struct {
|
||||
// RSSI.
|
||||
Rssi int32 `protobuf:"varint,5,opt,name=rssi,proto3" json:"rssi,omitempty"`
|
||||
// WOR channel.
|
||||
WorChannel uint32 `protobuf:"varint,6,opt,name=wor_channel,json=worChannel,proto3" json:"wor_channel,omitempty"`
|
||||
WorChannel uint32 `protobuf:"varint,6,opt,name=wor_channel,json=worChannel,proto3" json:"wor_channel,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UplinkRelayRxInfo) Reset() {
|
||||
@ -387,10 +386,7 @@ func (x *UplinkRelayRxInfo) GetWorChannel() uint32 {
|
||||
|
||||
// UplinkEvent is the message sent when an uplink payload has been received.
|
||||
type UplinkEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -428,6 +424,8 @@ type UplinkEvent struct {
|
||||
// Region config ID.
|
||||
// This contains the region config ID which reported the uplink.
|
||||
RegionConfigId string `protobuf:"bytes,16,opt,name=region_config_id,json=regionConfigId,proto3" json:"region_config_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UplinkEvent) Reset() {
|
||||
@ -575,10 +573,7 @@ func (x *UplinkEvent) GetRegionConfigId() string {
|
||||
// JoinEvent is the message sent when a device joined the network.
|
||||
// Note: this event is sent at the first uplink after OTAA.
|
||||
type JoinEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -597,6 +592,8 @@ type JoinEvent struct {
|
||||
// Region config ID.
|
||||
// This contains the region config ID which reported the uplink.
|
||||
RegionConfigId string `protobuf:"bytes,7,opt,name=region_config_id,json=regionConfigId,proto3" json:"region_config_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *JoinEvent) Reset() {
|
||||
@ -681,10 +678,7 @@ func (x *JoinEvent) GetRegionConfigId() string {
|
||||
// AckEvent is the message sent when a confirmation on a confirmed downlink
|
||||
// has been received -or- when the downlink timed out.
|
||||
type AckEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -696,7 +690,9 @@ type AckEvent struct {
|
||||
// Frame was acknowledged.
|
||||
Acknowledged bool `protobuf:"varint,5,opt,name=acknowledged,proto3" json:"acknowledged,omitempty"`
|
||||
// Downlink frame counter to which the acknowledgement relates.
|
||||
FCntDown uint32 `protobuf:"varint,6,opt,name=f_cnt_down,json=fCntDown,proto3" json:"f_cnt_down,omitempty"`
|
||||
FCntDown uint32 `protobuf:"varint,6,opt,name=f_cnt_down,json=fCntDown,proto3" json:"f_cnt_down,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *AckEvent) Reset() {
|
||||
@ -775,10 +771,7 @@ func (x *AckEvent) GetFCntDown() uint32 {
|
||||
// gateway for transmission. As a downlink can be scheduled in the future, this
|
||||
// event does not confirm that the message has already been transmitted.
|
||||
type TxAckEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Downlink ID.
|
||||
DownlinkId uint32 `protobuf:"varint,1,opt,name=downlink_id,json=downlinkId,proto3" json:"downlink_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -792,7 +785,9 @@ type TxAckEvent struct {
|
||||
// Gateway ID.
|
||||
GatewayId string `protobuf:"bytes,6,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
// TX info.
|
||||
TxInfo *gw.DownlinkTxInfo `protobuf:"bytes,7,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
|
||||
TxInfo *gw.DownlinkTxInfo `protobuf:"bytes,7,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *TxAckEvent) Reset() {
|
||||
@ -876,10 +871,7 @@ func (x *TxAckEvent) GetTxInfo() *gw.DownlinkTxInfo {
|
||||
|
||||
// LogEvent is the message sent when a device-related log was sent.
|
||||
type LogEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Timestamp.
|
||||
Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
|
||||
// Device info.
|
||||
@ -891,7 +883,9 @@ type LogEvent struct {
|
||||
// Description message.
|
||||
Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
|
||||
// Context map.
|
||||
Context map[string]string `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Context map[string]string `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *LogEvent) Reset() {
|
||||
@ -969,10 +963,7 @@ func (x *LogEvent) GetContext() map[string]string {
|
||||
// StatusEvent is the message sent when a device-status mac-command was sent
|
||||
// by the device.
|
||||
type StatusEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -987,7 +978,9 @@ type StatusEvent struct {
|
||||
// Battery level is not available.
|
||||
BatteryLevelUnavailable bool `protobuf:"varint,7,opt,name=battery_level_unavailable,json=batteryLevelUnavailable,proto3" json:"battery_level_unavailable,omitempty"`
|
||||
// Battery level.
|
||||
BatteryLevel float32 `protobuf:"fixed32,8,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"`
|
||||
BatteryLevel float32 `protobuf:"fixed32,8,opt,name=battery_level,json=batteryLevel,proto3" json:"battery_level,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *StatusEvent) Reset() {
|
||||
@ -1071,10 +1064,7 @@ func (x *StatusEvent) GetBatteryLevel() float32 {
|
||||
|
||||
// LocationEvent is the message sent when a geolocation resolve was returned.
|
||||
type LocationEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -1082,7 +1072,9 @@ type LocationEvent struct {
|
||||
// Device info.
|
||||
DeviceInfo *DeviceInfo `protobuf:"bytes,3,opt,name=device_info,json=deviceInfo,proto3" json:"device_info,omitempty"`
|
||||
// Location.
|
||||
Location *common.Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
|
||||
Location *common.Location `protobuf:"bytes,4,opt,name=location,proto3" json:"location,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *LocationEvent) Reset() {
|
||||
@ -1147,10 +1139,7 @@ func (x *LocationEvent) GetLocation() *common.Location {
|
||||
// It allows for sending events which are provided by an external integration
|
||||
// which are "not native" to ChirpStack.
|
||||
type IntegrationEvent struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Deduplication ID (UUID).
|
||||
DeduplicationId string `protobuf:"bytes,1,opt,name=deduplication_id,json=deduplicationId,proto3" json:"deduplication_id,omitempty"`
|
||||
// Timestamp.
|
||||
@ -1162,7 +1151,9 @@ type IntegrationEvent struct {
|
||||
// Event type.
|
||||
EventType string `protobuf:"bytes,5,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"`
|
||||
// Struct containing the event object.
|
||||
Object *structpb.Struct `protobuf:"bytes,6,opt,name=object,proto3" json:"object,omitempty"`
|
||||
Object *structpb.Struct `protobuf:"bytes,6,opt,name=object,proto3" json:"object,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *IntegrationEvent) Reset() {
|
||||
@ -1240,10 +1231,7 @@ func (x *IntegrationEvent) GetObject() *structpb.Struct {
|
||||
// DownlinkCommand is the command to enqueue a downlink payload for the given
|
||||
// device.
|
||||
type DownlinkCommand struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// ID (UUID).
|
||||
// If left blank, a random UUID will be generated.
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
@ -1258,7 +1246,9 @@ type DownlinkCommand struct {
|
||||
Data []byte `protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"`
|
||||
// Only use this when a codec has been configured that can encode this
|
||||
// object to bytes.
|
||||
Object *structpb.Struct `protobuf:"bytes,6,opt,name=object,proto3" json:"object,omitempty"`
|
||||
Object *structpb.Struct `protobuf:"bytes,6,opt,name=object,proto3" json:"object,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DownlinkCommand) Reset() {
|
||||
@ -1335,284 +1325,157 @@ func (x *DownlinkCommand) GetObject() *structpb.Struct {
|
||||
|
||||
var File_integration_integration_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_integration_integration_proto_rawDesc = []byte{
|
||||
0x0a, 0x1d, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x69, 0x6e,
|
||||
0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
||||
0x0b, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x13, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
||||
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x03,
|
||||
0x0a, 0x0a, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 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, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x65, 0x6e,
|
||||
0x61, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x70,
|
||||
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0d, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49,
|
||||
0x64, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70,
|
||||
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11,
|
||||
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64,
|
||||
0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76,
|
||||
0x5f, 0x65, 0x75, 0x69, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45,
|
||||
0x75, 0x69, 0x12, 0x45, 0x0a, 0x14, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x61,
|
||||
0x73, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x43, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6c, 0x61,
|
||||
0x73, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x35, 0x0a, 0x04, 0x74, 0x61, 0x67,
|
||||
0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
|
||||
0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x11, 0x55, 0x70,
|
||||
0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
||||
0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x72, 0x65, 0x71,
|
||||
0x75, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x65,
|
||||
0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x02, 0x64, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x6e, 0x72, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x6e, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x73, 0x73, 0x69,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x72, 0x73, 0x73, 0x69, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x77, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xfd, 0x04,
|
||||
0x0a, 0x0b, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a,
|
||||
0x10, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69,
|
||||
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x18, 0x02, 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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
||||
0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x61, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x64, 0x72, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x64, 0x72, 0x12,
|
||||
0x13, 0x0a, 0x05, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
|
||||
0x66, 0x43, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x08,
|
||||
0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63,
|
||||
0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09,
|
||||
0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74,
|
||||
0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a,
|
||||
0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x29,
|
||||
0x0a, 0x07, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x10, 0x2e, 0x67, 0x77, 0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x78, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x06, 0x72, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x78, 0x5f,
|
||||
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x77, 0x2e,
|
||||
0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x42, 0x0a, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x78,
|
||||
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e,
|
||||
0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b,
|
||||
0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x72, 0x65, 0x6c,
|
||||
0x61, 0x79, 0x52, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x49, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e,
|
||||
0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
|
||||
0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4a,
|
||||
0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74,
|
||||
0x52, 0x11, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74,
|
||||
0x65, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72,
|
||||
0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x22, 0xf4, 0x02,
|
||||
0x0a, 0x09, 0x4a, 0x6f, 0x69, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64,
|
||||
0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02,
|
||||
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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e,
|
||||
0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x12, 0x19, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x42, 0x0a, 0x0d, 0x72,
|
||||
0x65, 0x6c, 0x61, 0x79, 0x5f, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x78, 0x49, 0x6e,
|
||||
0x66, 0x6f, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x52, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
||||
0x49, 0x0a, 0x13, 0x6a, 0x6f, 0x69, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63,
|
||||
0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x11, 0x6a, 0x6f, 0x69, 0x6e, 0x53, 0x65, 0x72,
|
||||
0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65,
|
||||
0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x07,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x49, 0x64, 0x22, 0x85, 0x02, 0x0a, 0x08, 0x41, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e,
|
||||
0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x64,
|
||||
0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b,
|
||||
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71,
|
||||
0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x63,
|
||||
0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
|
||||
0x52, 0x0c, 0x61, 0x63, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x64, 0x12, 0x1c,
|
||||
0x0a, 0x0a, 0x66, 0x5f, 0x63, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x06, 0x20, 0x01,
|
||||
0x28, 0x0d, 0x52, 0x08, 0x66, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x22, 0xa5, 0x02, 0x0a,
|
||||
0x0a, 0x54, 0x78, 0x41, 0x63, 0x6b, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64,
|
||||
0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04,
|
||||
0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b,
|
||||
0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
|
||||
0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69,
|
||||
0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0d, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f,
|
||||
0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71,
|
||||
0x75, 0x65, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x5f,
|
||||
0x63, 0x6e, 0x74, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
|
||||
0x66, 0x43, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65,
|
||||
0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61,
|
||||
0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x69, 0x6e,
|
||||
0x66, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x77, 0x2e, 0x44, 0x6f,
|
||||
0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x22, 0xe7, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e,
|
||||
0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 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, 0x04, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52,
|
||||
0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x05, 0x6c,
|
||||
0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x69, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65,
|
||||
0x6c, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f,
|
||||
0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18,
|
||||
0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,
|
||||
0x78, 0x74, 0x1a, 0x3a, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xcf,
|
||||
0x02, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x29,
|
||||
0x0a, 0x10, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c,
|
||||
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d,
|
||||
0x65, 0x18, 0x02, 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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17,
|
||||
0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x12, 0x32, 0x0a, 0x15, 0x65,
|
||||
0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x6f,
|
||||
0x75, 0x72, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x78, 0x74, 0x65,
|
||||
0x72, 0x6e, 0x61, 0x6c, 0x50, 0x6f, 0x77, 0x65, 0x72, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12,
|
||||
0x3a, 0x0a, 0x19, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c,
|
||||
0x5f, 0x75, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01,
|
||||
0x28, 0x08, 0x52, 0x17, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||
0x55, 0x6e, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62,
|
||||
0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01,
|
||||
0x28, 0x02, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x76, 0x65, 0x6c,
|
||||
0x22, 0xd2, 0x01, 0x0a, 0x0d, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65,
|
||||
0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65,
|
||||
0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a,
|
||||
0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a,
|
||||
0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76,
|
||||
0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2c, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa2, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65,
|
||||
0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 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,
|
||||
0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
|
||||
0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x69, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12,
|
||||
0x29, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x67,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76,
|
||||
0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
||||
0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a,
|
||||
0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75,
|
||||
0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xb4, 0x01, 0x0a, 0x0f, 0x44,
|
||||
0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17,
|
||||
0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69,
|
||||
0x72, 0x6d, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18,
|
||||
0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x12, 0x2f, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
||||
0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63,
|
||||
0x74, 0x2a, 0x2c, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x08, 0x0a,
|
||||
0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52, 0x4e, 0x49,
|
||||
0x4e, 0x47, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x2a,
|
||||
0xf7, 0x01, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55,
|
||||
0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x44, 0x4f, 0x57, 0x4e,
|
||||
0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x53, 0x49, 0x5a,
|
||||
0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x50, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x43, 0x4f,
|
||||
0x44, 0x45, 0x43, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x49, 0x4e,
|
||||
0x4b, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x43, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x54, 0x41,
|
||||
0x41, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x50, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x5f,
|
||||
0x43, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x45, 0x54, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x55,
|
||||
0x50, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4d, 0x49, 0x43, 0x10, 0x06, 0x12, 0x1f, 0x0a, 0x1b, 0x55,
|
||||
0x50, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x46, 0x5f, 0x43, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x54, 0x52,
|
||||
0x41, 0x4e, 0x53, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10,
|
||||
0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x47, 0x41, 0x54, 0x45, 0x57, 0x41, 0x59,
|
||||
0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x4c, 0x41, 0x59, 0x5f, 0x4e, 0x45, 0x57, 0x5f,
|
||||
0x45, 0x4e, 0x44, 0x5f, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x10, 0x09, 0x12, 0x0e, 0x0a, 0x0a,
|
||||
0x46, 0x5f, 0x43, 0x4e, 0x54, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x0a, 0x12, 0x0b, 0x0a, 0x07,
|
||||
0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x0b, 0x42, 0xbf, 0x01, 0x0a, 0x1d, 0x69, 0x6f,
|
||||
0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
||||
0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x49, 0x6e, 0x74,
|
||||
0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||
0x33, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x72, 0x6f, 0x63,
|
||||
0x61, 0x61, 0x72, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61,
|
||||
0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0xaa, 0x02, 0x16, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63,
|
||||
0x6b, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xca, 0x02, 0x16,
|
||||
0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x49, 0x6e, 0x74, 0x65, 0x67,
|
||||
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xe2, 0x02, 0x22, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c,
|
||||
0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_integration_integration_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x1dintegration/integration.proto\x12\vintegration\x1a\x13common/common.proto\x1a\vgw/gw.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xe9\x03\n" +
|
||||
"\n" +
|
||||
"DeviceInfo\x12\x1b\n" +
|
||||
"\ttenant_id\x18\x01 \x01(\tR\btenantId\x12\x1f\n" +
|
||||
"\vtenant_name\x18\x02 \x01(\tR\n" +
|
||||
"tenantName\x12%\n" +
|
||||
"\x0eapplication_id\x18\x03 \x01(\tR\rapplicationId\x12)\n" +
|
||||
"\x10application_name\x18\x04 \x01(\tR\x0fapplicationName\x12*\n" +
|
||||
"\x11device_profile_id\x18\x05 \x01(\tR\x0fdeviceProfileId\x12.\n" +
|
||||
"\x13device_profile_name\x18\x06 \x01(\tR\x11deviceProfileName\x12\x1f\n" +
|
||||
"\vdevice_name\x18\a \x01(\tR\n" +
|
||||
"deviceName\x12\x17\n" +
|
||||
"\adev_eui\x18\b \x01(\tR\x06devEui\x12E\n" +
|
||||
"\x14device_class_enabled\x18\n" +
|
||||
" \x01(\x0e2\x13.common.DeviceClassR\x12deviceClassEnabled\x125\n" +
|
||||
"\x04tags\x18\t \x03(\v2!.integration.DeviceInfo.TagsEntryR\x04tags\x1a7\n" +
|
||||
"\tTagsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa1\x01\n" +
|
||||
"\x11UplinkRelayRxInfo\x12\x17\n" +
|
||||
"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12\x1c\n" +
|
||||
"\tfrequency\x18\x02 \x01(\rR\tfrequency\x12\x0e\n" +
|
||||
"\x02dr\x18\x03 \x01(\rR\x02dr\x12\x10\n" +
|
||||
"\x03snr\x18\x04 \x01(\x05R\x03snr\x12\x12\n" +
|
||||
"\x04rssi\x18\x05 \x01(\x05R\x04rssi\x12\x1f\n" +
|
||||
"\vwor_channel\x18\x06 \x01(\rR\n" +
|
||||
"worChannel\"\xfd\x04\n" +
|
||||
"\vUplinkEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12\x19\n" +
|
||||
"\bdev_addr\x18\x04 \x01(\tR\adevAddr\x12\x10\n" +
|
||||
"\x03adr\x18\x05 \x01(\bR\x03adr\x12\x0e\n" +
|
||||
"\x02dr\x18\x06 \x01(\rR\x02dr\x12\x13\n" +
|
||||
"\x05f_cnt\x18\a \x01(\rR\x04fCnt\x12\x15\n" +
|
||||
"\x06f_port\x18\b \x01(\rR\x05fPort\x12\x1c\n" +
|
||||
"\tconfirmed\x18\t \x01(\bR\tconfirmed\x12\x12\n" +
|
||||
"\x04data\x18\n" +
|
||||
" \x01(\fR\x04data\x12/\n" +
|
||||
"\x06object\x18\v \x01(\v2\x17.google.protobuf.StructR\x06object\x12)\n" +
|
||||
"\arx_info\x18\f \x03(\v2\x10.gw.UplinkRxInfoR\x06rxInfo\x12)\n" +
|
||||
"\atx_info\x18\r \x01(\v2\x10.gw.UplinkTxInfoR\x06txInfo\x12B\n" +
|
||||
"\rrelay_rx_info\x18\x0e \x01(\v2\x1e.integration.UplinkRelayRxInfoR\vrelayRxInfo\x12I\n" +
|
||||
"\x13join_server_context\x18\x0f \x01(\v2\x19.common.JoinServerContextR\x11joinServerContext\x12(\n" +
|
||||
"\x10region_config_id\x18\x10 \x01(\tR\x0eregionConfigId\"\xf4\x02\n" +
|
||||
"\tJoinEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12\x19\n" +
|
||||
"\bdev_addr\x18\x04 \x01(\tR\adevAddr\x12B\n" +
|
||||
"\rrelay_rx_info\x18\x05 \x01(\v2\x1e.integration.UplinkRelayRxInfoR\vrelayRxInfo\x12I\n" +
|
||||
"\x13join_server_context\x18\x06 \x01(\v2\x19.common.JoinServerContextR\x11joinServerContext\x12(\n" +
|
||||
"\x10region_config_id\x18\a \x01(\tR\x0eregionConfigId\"\x85\x02\n" +
|
||||
"\bAckEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12\"\n" +
|
||||
"\rqueue_item_id\x18\x04 \x01(\tR\vqueueItemId\x12\"\n" +
|
||||
"\facknowledged\x18\x05 \x01(\bR\facknowledged\x12\x1c\n" +
|
||||
"\n" +
|
||||
"f_cnt_down\x18\x06 \x01(\rR\bfCntDown\"\xa5\x02\n" +
|
||||
"\n" +
|
||||
"TxAckEvent\x12\x1f\n" +
|
||||
"\vdownlink_id\x18\x01 \x01(\rR\n" +
|
||||
"downlinkId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12\"\n" +
|
||||
"\rqueue_item_id\x18\x04 \x01(\tR\vqueueItemId\x12\x1c\n" +
|
||||
"\n" +
|
||||
"f_cnt_down\x18\x05 \x01(\rR\bfCntDown\x12\x1d\n" +
|
||||
"\n" +
|
||||
"gateway_id\x18\x06 \x01(\tR\tgatewayId\x12+\n" +
|
||||
"\atx_info\x18\a \x01(\v2\x12.gw.DownlinkTxInfoR\x06txInfo\"\xe7\x02\n" +
|
||||
"\bLogEvent\x12.\n" +
|
||||
"\x04time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x02 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12+\n" +
|
||||
"\x05level\x18\x03 \x01(\x0e2\x15.integration.LogLevelR\x05level\x12(\n" +
|
||||
"\x04code\x18\x04 \x01(\x0e2\x14.integration.LogCodeR\x04code\x12 \n" +
|
||||
"\vdescription\x18\x05 \x01(\tR\vdescription\x12<\n" +
|
||||
"\acontext\x18\x06 \x03(\v2\".integration.LogEvent.ContextEntryR\acontext\x1a:\n" +
|
||||
"\fContextEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xcf\x02\n" +
|
||||
"\vStatusEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12\x16\n" +
|
||||
"\x06margin\x18\x05 \x01(\x05R\x06margin\x122\n" +
|
||||
"\x15external_power_source\x18\x06 \x01(\bR\x13externalPowerSource\x12:\n" +
|
||||
"\x19battery_level_unavailable\x18\a \x01(\bR\x17batteryLevelUnavailable\x12#\n" +
|
||||
"\rbattery_level\x18\b \x01(\x02R\fbatteryLevel\"\xd2\x01\n" +
|
||||
"\rLocationEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12,\n" +
|
||||
"\blocation\x18\x04 \x01(\v2\x10.common.LocationR\blocation\"\xa2\x02\n" +
|
||||
"\x10IntegrationEvent\x12)\n" +
|
||||
"\x10deduplication_id\x18\x01 \x01(\tR\x0fdeduplicationId\x12.\n" +
|
||||
"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
|
||||
"\vdevice_info\x18\x03 \x01(\v2\x17.integration.DeviceInfoR\n" +
|
||||
"deviceInfo\x12)\n" +
|
||||
"\x10integration_name\x18\x04 \x01(\tR\x0fintegrationName\x12\x1d\n" +
|
||||
"\n" +
|
||||
"event_type\x18\x05 \x01(\tR\teventType\x12/\n" +
|
||||
"\x06object\x18\x06 \x01(\v2\x17.google.protobuf.StructR\x06object\"\xb4\x01\n" +
|
||||
"\x0fDownlinkCommand\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
|
||||
"\adev_eui\x18\x02 \x01(\tR\x06devEui\x12\x1c\n" +
|
||||
"\tconfirmed\x18\x03 \x01(\bR\tconfirmed\x12\x15\n" +
|
||||
"\x06f_port\x18\x04 \x01(\rR\x05fPort\x12\x12\n" +
|
||||
"\x04data\x18\x05 \x01(\fR\x04data\x12/\n" +
|
||||
"\x06object\x18\x06 \x01(\v2\x17.google.protobuf.StructR\x06object*,\n" +
|
||||
"\bLogLevel\x12\b\n" +
|
||||
"\x04INFO\x10\x00\x12\v\n" +
|
||||
"\aWARNING\x10\x01\x12\t\n" +
|
||||
"\x05ERROR\x10\x02*\xf7\x01\n" +
|
||||
"\aLogCode\x12\v\n" +
|
||||
"\aUNKNOWN\x10\x00\x12\x19\n" +
|
||||
"\x15DOWNLINK_PAYLOAD_SIZE\x10\x01\x12\x10\n" +
|
||||
"\fUPLINK_CODEC\x10\x02\x12\x12\n" +
|
||||
"\x0eDOWNLINK_CODEC\x10\x03\x12\b\n" +
|
||||
"\x04OTAA\x10\x04\x12\x16\n" +
|
||||
"\x12UPLINK_F_CNT_RESET\x10\x05\x12\x0e\n" +
|
||||
"\n" +
|
||||
"UPLINK_MIC\x10\x06\x12\x1f\n" +
|
||||
"\x1bUPLINK_F_CNT_RETRANSMISSION\x10\a\x12\x14\n" +
|
||||
"\x10DOWNLINK_GATEWAY\x10\b\x12\x18\n" +
|
||||
"\x14RELAY_NEW_END_DEVICE\x10\t\x12\x0e\n" +
|
||||
"\n" +
|
||||
"F_CNT_DOWN\x10\n" +
|
||||
"\x12\v\n" +
|
||||
"\aEXPIRED\x10\vB\xbf\x01\n" +
|
||||
"\x1dio.chirpstack.api.integrationB\x10IntegrationProtoP\x01Z3github.com/brocaar/chirpstack/api/go/v4/integration\xaa\x02\x16Chirpstack.Integration\xca\x02\x16Chirpstack\\Integration\xe2\x02\"GPBMetadata\\Chirpstack\\Integrationb\x06proto3"
|
||||
|
||||
var (
|
||||
file_integration_integration_proto_rawDescOnce sync.Once
|
||||
file_integration_integration_proto_rawDescData = file_integration_integration_proto_rawDesc
|
||||
file_integration_integration_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_integration_integration_proto_rawDescGZIP() []byte {
|
||||
file_integration_integration_proto_rawDescOnce.Do(func() {
|
||||
file_integration_integration_proto_rawDescData = protoimpl.X.CompressGZIP(file_integration_integration_proto_rawDescData)
|
||||
file_integration_integration_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_integration_integration_proto_rawDesc), len(file_integration_integration_proto_rawDesc)))
|
||||
})
|
||||
return file_integration_integration_proto_rawDescData
|
||||
}
|
||||
@ -1693,7 +1556,7 @@ func file_integration_integration_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_integration_integration_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_integration_integration_proto_rawDesc), len(file_integration_integration_proto_rawDesc)),
|
||||
NumEnums: 2,
|
||||
NumMessages: 13,
|
||||
NumExtensions: 0,
|
||||
@ -1705,7 +1568,6 @@ func file_integration_integration_proto_init() {
|
||||
MessageInfos: file_integration_integration_proto_msgTypes,
|
||||
}.Build()
|
||||
File_integration_integration_proto = out.File
|
||||
file_integration_integration_proto_rawDesc = nil
|
||||
file_integration_integration_proto_goTypes = nil
|
||||
file_integration_integration_proto_depIdxs = nil
|
||||
}
|
||||
|
64
api/go/stream/api_request.pb.go
vendored
64
api/go/stream/api_request.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: stream/api_request.proto
|
||||
|
||||
package stream
|
||||
@ -14,6 +14,7 @@ import (
|
||||
_ "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -24,16 +25,15 @@ const (
|
||||
)
|
||||
|
||||
type ApiRequestLog struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// API service name.
|
||||
Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
|
||||
// API method name.
|
||||
Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
|
||||
// Metadata.
|
||||
Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
||||
Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ApiRequestLog) Reset() {
|
||||
@ -89,47 +89,26 @@ func (x *ApiRequestLog) GetMetadata() map[string]string {
|
||||
|
||||
var File_stream_api_request_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_stream_api_request_proto_rawDesc = []byte{
|
||||
0x0a, 0x18, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x72, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf, 0x01, 0x0a, 0x0d, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74,
|
||||
0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x74,
|
||||
0x72, 0x65, 0x61, 0x6d, 0x2e, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c,
|
||||
0x6f, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65,
|
||||
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
|
||||
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
|
||||
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
|
||||
0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0xa8, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74,
|
||||
0x72, 0x65, 0x61, 0x6d, 0x42, 0x0f, 0x41, 0x70, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f,
|
||||
0x2f, 0x76, 0x34, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xca, 0x02,
|
||||
0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0xe2, 0x02, 0x1d, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
||||
0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_stream_api_request_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x18stream/api_request.proto\x12\x06stream\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13common/common.proto\x1a\vgw/gw.proto\"\xbf\x01\n" +
|
||||
"\rApiRequestLog\x12\x18\n" +
|
||||
"\aservice\x18\x01 \x01(\tR\aservice\x12\x16\n" +
|
||||
"\x06method\x18\x02 \x01(\tR\x06method\x12?\n" +
|
||||
"\bmetadata\x18\x03 \x03(\v2#.stream.ApiRequestLog.MetadataEntryR\bmetadata\x1a;\n" +
|
||||
"\rMetadataEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\xa8\x01\n" +
|
||||
"\x18io.chirpstack.api.streamB\x0fApiRequestProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/stream\xaa\x02\x11Chirpstack.Stream\xca\x02\x11Chirpstack\\Stream\xe2\x02\x1dGPBMetadata\\Chirpstack\\Streamb\x06proto3"
|
||||
|
||||
var (
|
||||
file_stream_api_request_proto_rawDescOnce sync.Once
|
||||
file_stream_api_request_proto_rawDescData = file_stream_api_request_proto_rawDesc
|
||||
file_stream_api_request_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_stream_api_request_proto_rawDescGZIP() []byte {
|
||||
file_stream_api_request_proto_rawDescOnce.Do(func() {
|
||||
file_stream_api_request_proto_rawDescData = protoimpl.X.CompressGZIP(file_stream_api_request_proto_rawDescData)
|
||||
file_stream_api_request_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_stream_api_request_proto_rawDesc), len(file_stream_api_request_proto_rawDesc)))
|
||||
})
|
||||
return file_stream_api_request_proto_rawDescData
|
||||
}
|
||||
@ -157,7 +136,7 @@ func file_stream_api_request_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_stream_api_request_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_stream_api_request_proto_rawDesc), len(file_stream_api_request_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
@ -168,7 +147,6 @@ func file_stream_api_request_proto_init() {
|
||||
MessageInfos: file_stream_api_request_proto_msgTypes,
|
||||
}.Build()
|
||||
File_stream_api_request_proto = out.File
|
||||
file_stream_api_request_proto_rawDesc = nil
|
||||
file_stream_api_request_proto_goTypes = nil
|
||||
file_stream_api_request_proto_depIdxs = nil
|
||||
}
|
||||
|
78
api/go/stream/backend_interfaces.pb.go
vendored
78
api/go/stream/backend_interfaces.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: stream/backend_interfaces.proto
|
||||
|
||||
package stream
|
||||
@ -12,6 +12,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -22,10 +23,7 @@ const (
|
||||
)
|
||||
|
||||
type BackendInterfacesRequest struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Sender ID.
|
||||
SenderId string `protobuf:"bytes,1,opt,name=sender_id,json=senderId,proto3" json:"sender_id,omitempty"`
|
||||
// Receiver ID.
|
||||
@ -43,7 +41,9 @@ type BackendInterfacesRequest struct {
|
||||
// Request error.
|
||||
RequestError string `protobuf:"bytes,8,opt,name=request_error,json=requestError,proto3" json:"request_error,omitempty"`
|
||||
// Response body.
|
||||
ResponseBody string `protobuf:"bytes,9,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
|
||||
ResponseBody string `protobuf:"bytes,9,opt,name=response_body,json=responseBody,proto3" json:"response_body,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *BackendInterfacesRequest) Reset() {
|
||||
@ -141,56 +141,31 @@ func (x *BackendInterfacesRequest) GetResponseBody() string {
|
||||
|
||||
var File_stream_backend_interfaces_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_stream_backend_interfaces_proto_rawDesc = []byte{
|
||||
0x0a, 0x1f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64,
|
||||
0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x12, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe0, 0x02, 0x0a, 0x18, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65,
|
||||
0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64,
|
||||
0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69,
|
||||
0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 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,
|
||||
0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74,
|
||||
0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c,
|
||||
0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x64, 0x65,
|
||||
0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42,
|
||||
0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x65,
|
||||
0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x42, 0xaf, 0x01,
|
||||
0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e,
|
||||
0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x16, 0x42, 0x61, 0x63, 0x6b,
|
||||
0x65, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
|
||||
0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72,
|
||||
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34,
|
||||
0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73,
|
||||
0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xca, 0x02, 0x11, 0x43, 0x68,
|
||||
0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xe2,
|
||||
0x02, 0x1d, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68,
|
||||
0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x62,
|
||||
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_stream_backend_interfaces_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x1fstream/backend_interfaces.proto\x12\x06stream\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe0\x02\n" +
|
||||
"\x18BackendInterfacesRequest\x12\x1b\n" +
|
||||
"\tsender_id\x18\x01 \x01(\tR\bsenderId\x12\x1f\n" +
|
||||
"\vreceiver_id\x18\x02 \x01(\tR\n" +
|
||||
"receiverId\x12.\n" +
|
||||
"\x04time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x12%\n" +
|
||||
"\x0etransaction_id\x18\x04 \x01(\rR\rtransactionId\x12!\n" +
|
||||
"\fmessage_type\x18\x05 \x01(\tR\vmessageType\x12\x1f\n" +
|
||||
"\vresult_code\x18\x06 \x01(\tR\n" +
|
||||
"resultCode\x12!\n" +
|
||||
"\frequest_body\x18\a \x01(\tR\vrequestBody\x12#\n" +
|
||||
"\rrequest_error\x18\b \x01(\tR\frequestError\x12#\n" +
|
||||
"\rresponse_body\x18\t \x01(\tR\fresponseBodyB\xaf\x01\n" +
|
||||
"\x18io.chirpstack.api.streamB\x16BackendInterfacesProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/stream\xaa\x02\x11Chirpstack.Stream\xca\x02\x11Chirpstack\\Stream\xe2\x02\x1dGPBMetadata\\Chirpstack\\Streamb\x06proto3"
|
||||
|
||||
var (
|
||||
file_stream_backend_interfaces_proto_rawDescOnce sync.Once
|
||||
file_stream_backend_interfaces_proto_rawDescData = file_stream_backend_interfaces_proto_rawDesc
|
||||
file_stream_backend_interfaces_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_stream_backend_interfaces_proto_rawDescGZIP() []byte {
|
||||
file_stream_backend_interfaces_proto_rawDescOnce.Do(func() {
|
||||
file_stream_backend_interfaces_proto_rawDescData = protoimpl.X.CompressGZIP(file_stream_backend_interfaces_proto_rawDescData)
|
||||
file_stream_backend_interfaces_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_stream_backend_interfaces_proto_rawDesc), len(file_stream_backend_interfaces_proto_rawDesc)))
|
||||
})
|
||||
return file_stream_backend_interfaces_proto_rawDescData
|
||||
}
|
||||
@ -218,7 +193,7 @@ func file_stream_backend_interfaces_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_stream_backend_interfaces_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_stream_backend_interfaces_proto_rawDesc), len(file_stream_backend_interfaces_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 1,
|
||||
NumExtensions: 0,
|
||||
@ -229,7 +204,6 @@ func file_stream_backend_interfaces_proto_init() {
|
||||
MessageInfos: file_stream_backend_interfaces_proto_msgTypes,
|
||||
}.Build()
|
||||
File_stream_backend_interfaces_proto = out.File
|
||||
file_stream_backend_interfaces_proto_rawDesc = nil
|
||||
file_stream_backend_interfaces_proto_goTypes = nil
|
||||
file_stream_backend_interfaces_proto_depIdxs = nil
|
||||
}
|
||||
|
150
api/go/stream/frame.pb.go
vendored
150
api/go/stream/frame.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: stream/frame.proto
|
||||
|
||||
package stream
|
||||
@ -14,6 +14,7 @@ import (
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -24,18 +25,15 @@ const (
|
||||
)
|
||||
|
||||
type UplinkFrameLog struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// PHYPayload.
|
||||
PhyPayload []byte `protobuf:"bytes,1,opt,name=phy_payload,json=phyPayload,proto3" json:"phy_payload,omitempty"`
|
||||
// TX meta-data.
|
||||
TxInfo *gw.UplinkTxInfo `protobuf:"bytes,2,opt,name=tx_info,json=txInfo,proto3" json:"tx_info,omitempty"`
|
||||
// RX meta-data.
|
||||
RxInfo []*gw.UplinkRxInfo `protobuf:"bytes,3,rep,name=rx_info,json=rxInfo,proto3" json:"rx_info,omitempty"`
|
||||
// Message type.
|
||||
MType common.MType `protobuf:"varint,4,opt,name=m_type,json=mType,proto3,enum=common.MType" json:"m_type,omitempty"`
|
||||
// Frame type.
|
||||
FType common.FType `protobuf:"varint,4,opt,name=f_type,json=fType,proto3,enum=common.FType" json:"f_type,omitempty"`
|
||||
// Device address (optional).
|
||||
DevAddr string `protobuf:"bytes,5,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
|
||||
// Device EUI (optional).
|
||||
@ -46,6 +44,8 @@ type UplinkFrameLog struct {
|
||||
PlaintextFOpts bool `protobuf:"varint,8,opt,name=plaintext_f_opts,json=plaintextFOpts,proto3" json:"plaintext_f_opts,omitempty"`
|
||||
// Plaintext frm_payload.
|
||||
PlaintextFrmPayload bool `protobuf:"varint,9,opt,name=plaintext_frm_payload,json=plaintextFrmPayload,proto3" json:"plaintext_frm_payload,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UplinkFrameLog) Reset() {
|
||||
@ -99,11 +99,11 @@ func (x *UplinkFrameLog) GetRxInfo() []*gw.UplinkRxInfo {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *UplinkFrameLog) GetMType() common.MType {
|
||||
func (x *UplinkFrameLog) GetFType() common.FType {
|
||||
if x != nil {
|
||||
return x.MType
|
||||
return x.FType
|
||||
}
|
||||
return common.MType(0)
|
||||
return common.FType(0)
|
||||
}
|
||||
|
||||
func (x *UplinkFrameLog) GetDevAddr() string {
|
||||
@ -142,10 +142,7 @@ func (x *UplinkFrameLog) GetPlaintextFrmPayload() bool {
|
||||
}
|
||||
|
||||
type DownlinkFrameLog struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Time.
|
||||
Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
|
||||
// PHYPayload.
|
||||
@ -156,8 +153,8 @@ type DownlinkFrameLog struct {
|
||||
DownlinkId uint32 `protobuf:"varint,4,opt,name=downlink_id,json=downlinkId,proto3" json:"downlink_id,omitempty"`
|
||||
// Gateway ID (EUI64).
|
||||
GatewayId string `protobuf:"bytes,5,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
// Message type.
|
||||
MType common.MType `protobuf:"varint,6,opt,name=m_type,json=mType,proto3,enum=common.MType" json:"m_type,omitempty"`
|
||||
// Frame type.
|
||||
FType common.FType `protobuf:"varint,6,opt,name=f_type,json=fType,proto3,enum=common.FType" json:"f_type,omitempty"`
|
||||
// Device address (optional).
|
||||
DevAddr string `protobuf:"bytes,7,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
|
||||
// Device EUI (optional).
|
||||
@ -166,6 +163,8 @@ type DownlinkFrameLog struct {
|
||||
PlaintextFOpts bool `protobuf:"varint,9,opt,name=plaintext_f_opts,json=plaintextFOpts,proto3" json:"plaintext_f_opts,omitempty"`
|
||||
// Plaintext frm_payload.
|
||||
PlaintextFrmPayload bool `protobuf:"varint,10,opt,name=plaintext_frm_payload,json=plaintextFrmPayload,proto3" json:"plaintext_frm_payload,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DownlinkFrameLog) Reset() {
|
||||
@ -233,11 +232,11 @@ func (x *DownlinkFrameLog) GetGatewayId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *DownlinkFrameLog) GetMType() common.MType {
|
||||
func (x *DownlinkFrameLog) GetFType() common.FType {
|
||||
if x != nil {
|
||||
return x.MType
|
||||
return x.FType
|
||||
}
|
||||
return common.MType(0)
|
||||
return common.FType(0)
|
||||
}
|
||||
|
||||
func (x *DownlinkFrameLog) GetDevAddr() string {
|
||||
@ -270,82 +269,46 @@ func (x *DownlinkFrameLog) GetPlaintextFrmPayload() bool {
|
||||
|
||||
var File_stream_frame_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_stream_frame_proto_rawDesc = []byte{
|
||||
0x0a, 0x12, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x1f, 0x67, 0x6f,
|
||||
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
|
||||
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63,
|
||||
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
|
||||
0xef, 0x02, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c,
|
||||
0x6f, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x68, 0x79, 0x50, 0x61, 0x79, 0x6c,
|
||||
0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x77, 0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b,
|
||||
0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29,
|
||||
0x0a, 0x07, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x10, 0x2e, 0x67, 0x77, 0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x78, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x52, 0x06, 0x72, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x06, 0x6d, 0x5f, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
|
||||
0x6f, 0x6e, 0x2e, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12,
|
||||
0x19, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x07, 0x64, 0x65, 0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65,
|
||||
0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76,
|
||||
0x45, 0x75, 0x69, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 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, 0x04, 0x74,
|
||||
0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74,
|
||||
0x5f, 0x66, 0x5f, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70,
|
||||
0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x32, 0x0a,
|
||||
0x15, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x72, 0x6d, 0x5f, 0x70,
|
||||
0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6c,
|
||||
0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x46, 0x72, 0x6d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x22, 0x88, 0x03, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x46, 0x72,
|
||||
0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x67, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
|
||||
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, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x68, 0x79, 0x5f, 0x70, 0x61,
|
||||
0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x70, 0x68, 0x79,
|
||||
0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x69, 0x6e,
|
||||
0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x77, 0x2e, 0x44, 0x6f,
|
||||
0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x6c,
|
||||
0x69, 0x6e, 0x6b, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
|
||||
0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
|
||||
0x61, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x06, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06,
|
||||
0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x54,
|
||||
0x79, 0x70, 0x65, 0x52, 0x05, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x64, 0x65,
|
||||
0x76, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65,
|
||||
0x76, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x28,
|
||||
0x0a, 0x10, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x5f, 0x6f, 0x70,
|
||||
0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74,
|
||||
0x65, 0x78, 0x74, 0x46, 0x4f, 0x70, 0x74, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6c, 0x61, 0x69,
|
||||
0x6e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x70, 0x6c, 0x61, 0x69, 0x6e, 0x74, 0x65,
|
||||
0x78, 0x74, 0x46, 0x72, 0x6d, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0xa3, 0x01, 0x0a,
|
||||
0x18, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61,
|
||||
0x70, 0x69, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x0a, 0x46, 0x72, 0x61, 0x6d, 0x65,
|
||||
0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
||||
0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63,
|
||||
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f,
|
||||
0x2f, 0x76, 0x34, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xaa, 0x02, 0x11, 0x43, 0x68, 0x69,
|
||||
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xca, 0x02,
|
||||
0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0xe2, 0x02, 0x1d, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
||||
0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_stream_frame_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x12stream/frame.proto\x12\x06stream\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x13common/common.proto\x1a\vgw/gw.proto\"\xef\x02\n" +
|
||||
"\x0eUplinkFrameLog\x12\x1f\n" +
|
||||
"\vphy_payload\x18\x01 \x01(\fR\n" +
|
||||
"phyPayload\x12)\n" +
|
||||
"\atx_info\x18\x02 \x01(\v2\x10.gw.UplinkTxInfoR\x06txInfo\x12)\n" +
|
||||
"\arx_info\x18\x03 \x03(\v2\x10.gw.UplinkRxInfoR\x06rxInfo\x12$\n" +
|
||||
"\x06f_type\x18\x04 \x01(\x0e2\r.common.FTypeR\x05fType\x12\x19\n" +
|
||||
"\bdev_addr\x18\x05 \x01(\tR\adevAddr\x12\x17\n" +
|
||||
"\adev_eui\x18\x06 \x01(\tR\x06devEui\x12.\n" +
|
||||
"\x04time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x12(\n" +
|
||||
"\x10plaintext_f_opts\x18\b \x01(\bR\x0eplaintextFOpts\x122\n" +
|
||||
"\x15plaintext_frm_payload\x18\t \x01(\bR\x13plaintextFrmPayload\"\x88\x03\n" +
|
||||
"\x10DownlinkFrameLog\x12.\n" +
|
||||
"\x04time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n" +
|
||||
"\vphy_payload\x18\x02 \x01(\fR\n" +
|
||||
"phyPayload\x12+\n" +
|
||||
"\atx_info\x18\x03 \x01(\v2\x12.gw.DownlinkTxInfoR\x06txInfo\x12\x1f\n" +
|
||||
"\vdownlink_id\x18\x04 \x01(\rR\n" +
|
||||
"downlinkId\x12\x1d\n" +
|
||||
"\n" +
|
||||
"gateway_id\x18\x05 \x01(\tR\tgatewayId\x12$\n" +
|
||||
"\x06f_type\x18\x06 \x01(\x0e2\r.common.FTypeR\x05fType\x12\x19\n" +
|
||||
"\bdev_addr\x18\a \x01(\tR\adevAddr\x12\x17\n" +
|
||||
"\adev_eui\x18\b \x01(\tR\x06devEui\x12(\n" +
|
||||
"\x10plaintext_f_opts\x18\t \x01(\bR\x0eplaintextFOpts\x122\n" +
|
||||
"\x15plaintext_frm_payload\x18\n" +
|
||||
" \x01(\bR\x13plaintextFrmPayloadB\xa3\x01\n" +
|
||||
"\x18io.chirpstack.api.streamB\n" +
|
||||
"FrameProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/stream\xaa\x02\x11Chirpstack.Stream\xca\x02\x11Chirpstack\\Stream\xe2\x02\x1dGPBMetadata\\Chirpstack\\Streamb\x06proto3"
|
||||
|
||||
var (
|
||||
file_stream_frame_proto_rawDescOnce sync.Once
|
||||
file_stream_frame_proto_rawDescData = file_stream_frame_proto_rawDesc
|
||||
file_stream_frame_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_stream_frame_proto_rawDescGZIP() []byte {
|
||||
file_stream_frame_proto_rawDescOnce.Do(func() {
|
||||
file_stream_frame_proto_rawDescData = protoimpl.X.CompressGZIP(file_stream_frame_proto_rawDescData)
|
||||
file_stream_frame_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_stream_frame_proto_rawDesc), len(file_stream_frame_proto_rawDesc)))
|
||||
})
|
||||
return file_stream_frame_proto_rawDescData
|
||||
}
|
||||
@ -356,18 +319,18 @@ var file_stream_frame_proto_goTypes = []any{
|
||||
(*DownlinkFrameLog)(nil), // 1: stream.DownlinkFrameLog
|
||||
(*gw.UplinkTxInfo)(nil), // 2: gw.UplinkTxInfo
|
||||
(*gw.UplinkRxInfo)(nil), // 3: gw.UplinkRxInfo
|
||||
(common.MType)(0), // 4: common.MType
|
||||
(common.FType)(0), // 4: common.FType
|
||||
(*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp
|
||||
(*gw.DownlinkTxInfo)(nil), // 6: gw.DownlinkTxInfo
|
||||
}
|
||||
var file_stream_frame_proto_depIdxs = []int32{
|
||||
2, // 0: stream.UplinkFrameLog.tx_info:type_name -> gw.UplinkTxInfo
|
||||
3, // 1: stream.UplinkFrameLog.rx_info:type_name -> gw.UplinkRxInfo
|
||||
4, // 2: stream.UplinkFrameLog.m_type:type_name -> common.MType
|
||||
4, // 2: stream.UplinkFrameLog.f_type:type_name -> common.FType
|
||||
5, // 3: stream.UplinkFrameLog.time:type_name -> google.protobuf.Timestamp
|
||||
5, // 4: stream.DownlinkFrameLog.time:type_name -> google.protobuf.Timestamp
|
||||
6, // 5: stream.DownlinkFrameLog.tx_info:type_name -> gw.DownlinkTxInfo
|
||||
4, // 6: stream.DownlinkFrameLog.m_type:type_name -> common.MType
|
||||
4, // 6: stream.DownlinkFrameLog.f_type:type_name -> common.FType
|
||||
7, // [7:7] is the sub-list for method output_type
|
||||
7, // [7:7] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
@ -384,7 +347,7 @@ func file_stream_frame_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_stream_frame_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_stream_frame_proto_rawDesc), len(file_stream_frame_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
@ -395,7 +358,6 @@ func file_stream_frame_proto_init() {
|
||||
MessageInfos: file_stream_frame_proto_msgTypes,
|
||||
}.Build()
|
||||
File_stream_frame_proto = out.File
|
||||
file_stream_frame_proto_rawDesc = nil
|
||||
file_stream_frame_proto_goTypes = nil
|
||||
file_stream_frame_proto_depIdxs = nil
|
||||
}
|
||||
|
142
api/go/stream/meta.pb.go
vendored
142
api/go/stream/meta.pb.go
vendored
@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.35.1
|
||||
// protoc v5.28.3
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v6.30.2
|
||||
// source: stream/meta.proto
|
||||
|
||||
package stream
|
||||
@ -13,6 +13,7 @@ import (
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -23,10 +24,7 @@ const (
|
||||
)
|
||||
|
||||
type UplinkMeta struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device EUI (EUI64).
|
||||
DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
// TX meta-data.
|
||||
@ -39,8 +37,10 @@ type UplinkMeta struct {
|
||||
MacCommandByteCount uint32 `protobuf:"varint,5,opt,name=mac_command_byte_count,json=macCommandByteCount,proto3" json:"mac_command_byte_count,omitempty"`
|
||||
// Application payload byte count.
|
||||
ApplicationPayloadByteCount uint32 `protobuf:"varint,6,opt,name=application_payload_byte_count,json=applicationPayloadByteCount,proto3" json:"application_payload_byte_count,omitempty"`
|
||||
// Message type.
|
||||
MessageType common.MType `protobuf:"varint,7,opt,name=message_type,json=messageType,proto3,enum=common.MType" json:"message_type,omitempty"`
|
||||
// Frame type.
|
||||
FrameType common.FType `protobuf:"varint,7,opt,name=frame_type,json=frameType,proto3,enum=common.FType" json:"frame_type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UplinkMeta) Reset() {
|
||||
@ -115,18 +115,15 @@ func (x *UplinkMeta) GetApplicationPayloadByteCount() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *UplinkMeta) GetMessageType() common.MType {
|
||||
func (x *UplinkMeta) GetFrameType() common.FType {
|
||||
if x != nil {
|
||||
return x.MessageType
|
||||
return x.FrameType
|
||||
}
|
||||
return common.MType(0)
|
||||
return common.FType(0)
|
||||
}
|
||||
|
||||
type DownlinkMeta struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
// Device EUI (EUI64).
|
||||
DevEui string `protobuf:"bytes,1,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
|
||||
// Multicast Group ID (UUID).
|
||||
@ -139,10 +136,12 @@ type DownlinkMeta struct {
|
||||
MacCommandByteCount uint32 `protobuf:"varint,5,opt,name=mac_command_byte_count,json=macCommandByteCount,proto3" json:"mac_command_byte_count,omitempty"`
|
||||
// Application payload byte count.
|
||||
ApplicationPayloadByteCount uint32 `protobuf:"varint,6,opt,name=application_payload_byte_count,json=applicationPayloadByteCount,proto3" json:"application_payload_byte_count,omitempty"`
|
||||
// Message type.
|
||||
MessageType common.MType `protobuf:"varint,7,opt,name=message_type,json=messageType,proto3,enum=common.MType" json:"message_type,omitempty"`
|
||||
// Frame type.
|
||||
FrameType common.FType `protobuf:"varint,7,opt,name=frame_type,json=frameType,proto3,enum=common.FType" json:"frame_type,omitempty"`
|
||||
// Gateway ID (EUI64).
|
||||
GatewayId string `protobuf:"bytes,8,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
GatewayId string `protobuf:"bytes,8,opt,name=gateway_id,json=gatewayId,proto3" json:"gateway_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DownlinkMeta) Reset() {
|
||||
@ -217,11 +216,11 @@ func (x *DownlinkMeta) GetApplicationPayloadByteCount() uint32 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *DownlinkMeta) GetMessageType() common.MType {
|
||||
func (x *DownlinkMeta) GetFrameType() common.FType {
|
||||
if x != nil {
|
||||
return x.MessageType
|
||||
return x.FrameType
|
||||
}
|
||||
return common.MType(0)
|
||||
return common.FType(0)
|
||||
}
|
||||
|
||||
func (x *DownlinkMeta) GetGatewayId() string {
|
||||
@ -233,78 +232,40 @@ func (x *DownlinkMeta) GetGatewayId() string {
|
||||
|
||||
var File_stream_meta_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_stream_meta_proto_rawDesc = []byte{
|
||||
0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x1a, 0x13, 0x63, 0x6f, 0x6d,
|
||||
0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x02,
|
||||
0x0a, 0x0a, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a, 0x07,
|
||||
0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
|
||||
0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x29, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x67, 0x77, 0x2e, 0x55, 0x70, 0x6c, 0x69,
|
||||
0x6e, 0x6b, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78, 0x49, 0x6e, 0x66, 0x6f,
|
||||
0x12, 0x29, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x10, 0x2e, 0x67, 0x77, 0x2e, 0x55, 0x70, 0x6c, 0x69, 0x6e, 0x6b, 0x52, 0x78, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x52, 0x06, 0x72, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x33, 0x0a, 0x16, 0x70,
|
||||
0x68, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f,
|
||||
0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x70, 0x68, 0x79,
|
||||
0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f,
|
||||
0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d,
|
||||
0x52, 0x13, 0x6d, 0x61, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x79, 0x74, 0x65,
|
||||
0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x62, 0x79, 0x74,
|
||||
0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61,
|
||||
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x0c, 0x6d, 0x65,
|
||||
0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x52,
|
||||
0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x82, 0x03, 0x0a,
|
||||
0x0c, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x17, 0x0a,
|
||||
0x07, 0x64, 0x65, 0x76, 0x5f, 0x65, 0x75, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
|
||||
0x64, 0x65, 0x76, 0x45, 0x75, 0x69, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63,
|
||||
0x61, 0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f,
|
||||
0x75, 0x70, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x77, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c,
|
||||
0x69, 0x6e, 0x6b, 0x54, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x78, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x12, 0x33, 0x0a, 0x16, 0x70, 0x68, 0x79, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
|
||||
0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x0d, 0x52, 0x13, 0x70, 0x68, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74,
|
||||
0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x63, 0x5f, 0x63, 0x6f,
|
||||
0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6d, 0x61, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x61,
|
||||
0x6e, 0x64, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x61,
|
||||
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f,
|
||||
0x61, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x79, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
||||
0x12, 0x30, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65,
|
||||
0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
|
||||
0x4d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79,
|
||||
0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49,
|
||||
0x64, 0x42, 0xa2, 0x01, 0x0a, 0x18, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74,
|
||||
0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09,
|
||||
0x4d, 0x65, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x31, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
|
||||
0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70,
|
||||
0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xaa, 0x02,
|
||||
0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x53, 0x74, 0x72, 0x65,
|
||||
0x61, 0x6d, 0xca, 0x02, 0x11, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c,
|
||||
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0xe2, 0x02, 0x1d, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61,
|
||||
0x64, 0x61, 0x74, 0x61, 0x5c, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5c,
|
||||
0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
const file_stream_meta_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x11stream/meta.proto\x12\x06stream\x1a\x13common/common.proto\x1a\vgw/gw.proto\"\xd8\x02\n" +
|
||||
"\n" +
|
||||
"UplinkMeta\x12\x17\n" +
|
||||
"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12)\n" +
|
||||
"\atx_info\x18\x02 \x01(\v2\x10.gw.UplinkTxInfoR\x06txInfo\x12)\n" +
|
||||
"\arx_info\x18\x03 \x03(\v2\x10.gw.UplinkRxInfoR\x06rxInfo\x123\n" +
|
||||
"\x16phy_payload_byte_count\x18\x04 \x01(\rR\x13phyPayloadByteCount\x123\n" +
|
||||
"\x16mac_command_byte_count\x18\x05 \x01(\rR\x13macCommandByteCount\x12C\n" +
|
||||
"\x1eapplication_payload_byte_count\x18\x06 \x01(\rR\x1bapplicationPayloadByteCount\x12,\n" +
|
||||
"\n" +
|
||||
"frame_type\x18\a \x01(\x0e2\r.common.FTypeR\tframeType\"\xfe\x02\n" +
|
||||
"\fDownlinkMeta\x12\x17\n" +
|
||||
"\adev_eui\x18\x01 \x01(\tR\x06devEui\x12,\n" +
|
||||
"\x12multicast_group_id\x18\x02 \x01(\tR\x10multicastGroupId\x12+\n" +
|
||||
"\atx_info\x18\x03 \x01(\v2\x12.gw.DownlinkTxInfoR\x06txInfo\x123\n" +
|
||||
"\x16phy_payload_byte_count\x18\x04 \x01(\rR\x13phyPayloadByteCount\x123\n" +
|
||||
"\x16mac_command_byte_count\x18\x05 \x01(\rR\x13macCommandByteCount\x12C\n" +
|
||||
"\x1eapplication_payload_byte_count\x18\x06 \x01(\rR\x1bapplicationPayloadByteCount\x12,\n" +
|
||||
"\n" +
|
||||
"frame_type\x18\a \x01(\x0e2\r.common.FTypeR\tframeType\x12\x1d\n" +
|
||||
"\n" +
|
||||
"gateway_id\x18\b \x01(\tR\tgatewayIdB\xa2\x01\n" +
|
||||
"\x18io.chirpstack.api.streamB\tMetaProtoP\x01Z1github.com/chirpstack/chirpstack/api/go/v4/stream\xaa\x02\x11Chirpstack.Stream\xca\x02\x11Chirpstack\\Stream\xe2\x02\x1dGPBMetadata\\Chirpstack\\Streamb\x06proto3"
|
||||
|
||||
var (
|
||||
file_stream_meta_proto_rawDescOnce sync.Once
|
||||
file_stream_meta_proto_rawDescData = file_stream_meta_proto_rawDesc
|
||||
file_stream_meta_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_stream_meta_proto_rawDescGZIP() []byte {
|
||||
file_stream_meta_proto_rawDescOnce.Do(func() {
|
||||
file_stream_meta_proto_rawDescData = protoimpl.X.CompressGZIP(file_stream_meta_proto_rawDescData)
|
||||
file_stream_meta_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_stream_meta_proto_rawDesc), len(file_stream_meta_proto_rawDesc)))
|
||||
})
|
||||
return file_stream_meta_proto_rawDescData
|
||||
}
|
||||
@ -315,15 +276,15 @@ var file_stream_meta_proto_goTypes = []any{
|
||||
(*DownlinkMeta)(nil), // 1: stream.DownlinkMeta
|
||||
(*gw.UplinkTxInfo)(nil), // 2: gw.UplinkTxInfo
|
||||
(*gw.UplinkRxInfo)(nil), // 3: gw.UplinkRxInfo
|
||||
(common.MType)(0), // 4: common.MType
|
||||
(common.FType)(0), // 4: common.FType
|
||||
(*gw.DownlinkTxInfo)(nil), // 5: gw.DownlinkTxInfo
|
||||
}
|
||||
var file_stream_meta_proto_depIdxs = []int32{
|
||||
2, // 0: stream.UplinkMeta.tx_info:type_name -> gw.UplinkTxInfo
|
||||
3, // 1: stream.UplinkMeta.rx_info:type_name -> gw.UplinkRxInfo
|
||||
4, // 2: stream.UplinkMeta.message_type:type_name -> common.MType
|
||||
4, // 2: stream.UplinkMeta.frame_type:type_name -> common.FType
|
||||
5, // 3: stream.DownlinkMeta.tx_info:type_name -> gw.DownlinkTxInfo
|
||||
4, // 4: stream.DownlinkMeta.message_type:type_name -> common.MType
|
||||
4, // 4: stream.DownlinkMeta.frame_type:type_name -> common.FType
|
||||
5, // [5:5] is the sub-list for method output_type
|
||||
5, // [5:5] is the sub-list for method input_type
|
||||
5, // [5:5] is the sub-list for extension type_name
|
||||
@ -340,7 +301,7 @@ func file_stream_meta_proto_init() {
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_stream_meta_proto_rawDesc,
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_stream_meta_proto_rawDesc), len(file_stream_meta_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
@ -351,7 +312,6 @@ func file_stream_meta_proto_init() {
|
||||
MessageInfos: file_stream_meta_proto_msgTypes,
|
||||
}.Build()
|
||||
File_stream_meta_proto = out.File
|
||||
file_stream_meta_proto_rawDesc = nil
|
||||
file_stream_meta_proto_goTypes = nil
|
||||
file_stream_meta_proto_depIdxs = nil
|
||||
}
|
||||
|
2
api/grpc-web/package.json
vendored
2
api/grpc-web/package.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@chirpstack/chirpstack-api-grpc-web",
|
||||
"version": "4.12.1",
|
||||
"version": "4.13.0",
|
||||
"description": "Chirpstack gRPC-web API",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
|
2
api/java/build.gradle.kts
vendored
2
api/java/build.gradle.kts
vendored
@ -8,7 +8,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "io.chirpstack"
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
2
api/js/package.json
vendored
2
api/js/package.json
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@chirpstack/chirpstack-api",
|
||||
"version": "4.12.1",
|
||||
"version": "4.13.0",
|
||||
"description": "Chirpstack JS and TS API",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
|
6
api/js/yarn.lock
vendored
6
api/js/yarn.lock
vendored
@ -146,9 +146,9 @@ balanced-match@^1.0.0:
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
brace-expansion@^1.1.7:
|
||||
version "1.1.11"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
|
||||
version "1.1.12"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
|
||||
integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
2
api/kotlin/build.gradle.kts
vendored
2
api/kotlin/build.gradle.kts
vendored
@ -9,7 +9,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "io.chirpstack"
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
|
2
api/php/composer.json
vendored
2
api/php/composer.json
vendored
@ -3,7 +3,7 @@
|
||||
"description": "Chirpstack PHP API",
|
||||
"license": "MIT",
|
||||
"type": "library",
|
||||
"version": "4.12.1",
|
||||
"version": "4.13.0",
|
||||
"require": {
|
||||
"php": ">=7.0.0",
|
||||
"grpc/grpc": "^v1.57.0",
|
||||
|
5
api/proto/api/device.proto
vendored
5
api/proto/api/device.proto
vendored
@ -412,14 +412,15 @@ message DeviceActivation {
|
||||
string app_s_key = 3;
|
||||
|
||||
// Network session encryption key (HEX encoded).
|
||||
// Note: For ABP in LoRaWAN 1.0.x, use this, the serving and the forwarding
|
||||
// network session integrity key fields with the LoRaWAN 1.0.x 'NwkSKey`!
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string nwk_s_enc_key = 4;
|
||||
|
||||
// Serving network session integrity key (HEX encoded).
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string s_nwk_s_int_key = 8;
|
||||
|
||||
// Forwarding network session integrity key (HEX encoded).
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string f_nwk_s_int_key = 9;
|
||||
|
||||
// Uplink frame-counter.
|
||||
|
10
api/proto/api/device_profile.proto
vendored
10
api/proto/api/device_profile.proto
vendored
@ -240,11 +240,15 @@ message DeviceProfile {
|
||||
// from the device (if requested).
|
||||
uint32 class_b_timeout = 16;
|
||||
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity.
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 17;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 17;
|
||||
|
||||
// Class-B ping-slot DR.
|
||||
uint32 class_b_ping_slot_dr = 18;
|
||||
|
10
api/proto/api/device_profile_template.proto
vendored
10
api/proto/api/device_profile_template.proto
vendored
@ -117,11 +117,15 @@ message DeviceProfileTemplate {
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested).
|
||||
uint32 class_b_timeout = 18;
|
||||
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 19;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 19;
|
||||
|
||||
// Class-B ping-slot DR.
|
||||
uint32 class_b_ping_slot_dr = 20;
|
||||
|
9
api/proto/api/fuota.proto
vendored
9
api/proto/api/fuota.proto
vendored
@ -104,7 +104,14 @@ message FuotaDeployment {
|
||||
uint32 multicast_dr = 7;
|
||||
|
||||
// Multicast ping-slot period (Class-B only).
|
||||
uint32 multicast_class_b_ping_slot_nb_k = 8;
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 multicast_class_b_ping_slot_periodicity = 8;
|
||||
|
||||
// Multicast frequency (Hz).
|
||||
uint32 multicast_frequency = 9;
|
||||
|
16
api/proto/api/multicast_group.proto
vendored
16
api/proto/api/multicast_group.proto
vendored
@ -165,15 +165,15 @@ message MulticastGroup {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 11;
|
||||
|
||||
// Ping-slot period (only for Class-B).
|
||||
// Deprecated: use class_b_ping_slot_nb_k.
|
||||
uint32 class_b_ping_slot_period = 12;
|
||||
|
||||
// Class-B ping-slots per beacon period (only for Class-B).
|
||||
// Valid options are: 0 - 7;
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 14;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 14;
|
||||
|
||||
// Scheduling type (only for Class-C).
|
||||
MulticastGroupSchedulingType class_c_scheduling_type = 13;
|
||||
|
2
api/proto/common/common.proto
vendored
2
api/proto/common/common.proto
vendored
@ -67,7 +67,7 @@ enum Region {
|
||||
ISM2400 = 11;
|
||||
}
|
||||
|
||||
enum MType {
|
||||
enum FType {
|
||||
// JoinRequest.
|
||||
JOIN_REQUEST = 0;
|
||||
|
||||
|
125
api/proto/gw/gw.proto
vendored
125
api/proto/gw/gw.proto
vendored
@ -104,6 +104,82 @@ enum TxAckStatus {
|
||||
DUTY_CYCLE_OVERFLOW = 11;
|
||||
}
|
||||
|
||||
// Gateway events as reported by the ChirpStack Concentratord ZMQ interface.
|
||||
message Event {
|
||||
oneof event {
|
||||
// Uplink frame.
|
||||
UplinkFrame uplink_frame = 1;
|
||||
|
||||
// Gateway stats.
|
||||
GatewayStats gateway_stats = 2;
|
||||
|
||||
// Gateway Mesh Event.
|
||||
MeshEvent mesh = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Commands that can be sent to the ChirpStack Concentratord ZMQ interface.
|
||||
message Command {
|
||||
oneof command {
|
||||
// Downlink frame.
|
||||
DownlinkFrame send_downlink_frame = 1;
|
||||
|
||||
// Gateway configuration.
|
||||
GatewayConfiguration set_gateway_configuration = 2;
|
||||
|
||||
// Get Gateway ID.
|
||||
GetGatewayIdRequest get_gateway_id = 3;
|
||||
|
||||
// Get location.
|
||||
GetLocationRequest get_location = 4;
|
||||
|
||||
// Gateway Mesh Command.
|
||||
MeshCommand mesh = 5;
|
||||
}
|
||||
}
|
||||
|
||||
message MeshEvent {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Timestamp (second precision).
|
||||
google.protobuf.Timestamp time = 3;
|
||||
|
||||
// Mesh events.
|
||||
repeated MeshEventItem events = 4;
|
||||
}
|
||||
|
||||
message MeshEventItem {
|
||||
oneof event {
|
||||
// Proprietary Mesh event.
|
||||
MeshEventProprietary proprietary = 1;
|
||||
|
||||
// Mesh heartbeat.
|
||||
MeshEventHeartbeat heartbeat = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message MeshCommand {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Mesh events.
|
||||
repeated MeshCommandItem commands = 3;
|
||||
}
|
||||
|
||||
message MeshCommandItem {
|
||||
oneof command {
|
||||
// Proprietary Mesh command.
|
||||
MeshCommandProprietary proprietary = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message Modulation {
|
||||
oneof parameters {
|
||||
// LoRa modulation information.
|
||||
@ -611,6 +687,23 @@ message GatewayConfiguration {
|
||||
google.protobuf.Duration stats_interval = 4;
|
||||
}
|
||||
|
||||
message GetGatewayIdRequest {}
|
||||
|
||||
message GetGatewayIdResponse {
|
||||
// Gateway ID.
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message GetLocationRequest {}
|
||||
|
||||
message GetLocationResponse {
|
||||
// Location.
|
||||
common.Location location = 1;
|
||||
|
||||
// Last updated at.
|
||||
google.protobuf.Timestamp updated_at = 2;
|
||||
}
|
||||
|
||||
message ChannelConfiguration {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
@ -751,21 +844,13 @@ message ConnState {
|
||||
}
|
||||
|
||||
// Gateway Mesh heartbeat (sent periodically by the Relay Gateways).
|
||||
message MeshHeartbeat {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Timestamp (second precision).
|
||||
google.protobuf.Timestamp time = 3;
|
||||
message MeshEventHeartbeat {
|
||||
|
||||
// Relay path.
|
||||
repeated MeshHeartbeatRelayPath relay_path = 4;
|
||||
repeated MeshEventHeartbeatRelayPath relay_path = 4;
|
||||
}
|
||||
|
||||
message MeshHeartbeatRelayPath {
|
||||
message MeshEventHeartbeatRelayPath {
|
||||
// Relay ID.
|
||||
string relay_id = 1;
|
||||
|
||||
@ -775,3 +860,21 @@ message MeshHeartbeatRelayPath {
|
||||
// SNR.
|
||||
int32 snr = 3;
|
||||
}
|
||||
|
||||
// Proprietary mesh event.
|
||||
message MeshEventProprietary {
|
||||
// Event type.
|
||||
uint32 event_type = 1;
|
||||
|
||||
// Payload.
|
||||
bytes payload = 2;
|
||||
}
|
||||
|
||||
// Proprietary mesh command.
|
||||
message MeshCommandProprietary {
|
||||
// Command type.
|
||||
uint32 command_type = 1;
|
||||
|
||||
// Payload.
|
||||
bytes payload = 2;
|
||||
}
|
||||
|
3
api/proto/internal/internal.proto
vendored
3
api/proto/internal/internal.proto
vendored
@ -142,6 +142,9 @@ message DeviceSession {
|
||||
|
||||
// Relay state.
|
||||
Relay relay = 41;
|
||||
|
||||
// Pending mac-commands.
|
||||
map<uint32, bytes> mac_command_pending = 43;
|
||||
}
|
||||
|
||||
message UplinkAdrHistory {
|
||||
|
8
api/proto/stream/frame.proto
vendored
8
api/proto/stream/frame.proto
vendored
@ -24,8 +24,8 @@ message UplinkFrameLog {
|
||||
// RX meta-data.
|
||||
repeated gw.UplinkRxInfo rx_info = 3;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 4;
|
||||
// Frame type.
|
||||
common.FType f_type = 4;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 5;
|
||||
@ -59,8 +59,8 @@ message DownlinkFrameLog {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 5;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 6;
|
||||
// Frame type.
|
||||
common.FType f_type = 6;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 7;
|
||||
|
8
api/proto/stream/meta.proto
vendored
8
api/proto/stream/meta.proto
vendored
@ -32,8 +32,8 @@ message UplinkMeta {
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
// Frame type.
|
||||
common.FType frame_type = 7;
|
||||
}
|
||||
|
||||
message DownlinkMeta {
|
||||
@ -55,8 +55,8 @@ message DownlinkMeta {
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
// Frame type.
|
||||
common.FType frame_type = 7;
|
||||
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 8;
|
||||
|
2
api/python/src/setup.py
vendored
2
api/python/src/setup.py
vendored
@ -18,7 +18,7 @@ CLASSIFIERS = [
|
||||
|
||||
setup(
|
||||
name='chirpstack-api',
|
||||
version = "4.12.1",
|
||||
version = "4.13.0",
|
||||
url='https://github.com/brocaar/chirpstack-api',
|
||||
author='Orne Brocaar',
|
||||
author_email='info@brocaar.com',
|
||||
|
2
api/rust/Cargo.toml
vendored
2
api/rust/Cargo.toml
vendored
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
name = "chirpstack_api"
|
||||
description = "ChirpStack Protobuf / gRPC API definitions."
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
authors = ["Orne Brocaar <info@brocaar.com>"]
|
||||
license = "MIT"
|
||||
homepage = "https://www.chirpstack.io"
|
||||
|
5
api/rust/proto/chirpstack/api/device.proto
vendored
5
api/rust/proto/chirpstack/api/device.proto
vendored
@ -412,14 +412,15 @@ message DeviceActivation {
|
||||
string app_s_key = 3;
|
||||
|
||||
// Network session encryption key (HEX encoded).
|
||||
// Note: For ABP in LoRaWAN 1.0.x, use this, the serving and the forwarding
|
||||
// network session integrity key fields with the LoRaWAN 1.0.x 'NwkSKey`!
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string nwk_s_enc_key = 4;
|
||||
|
||||
// Serving network session integrity key (HEX encoded).
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string s_nwk_s_int_key = 8;
|
||||
|
||||
// Forwarding network session integrity key (HEX encoded).
|
||||
// Note: For LoRaWAN 1.0.x devices, set this to the NwkSKey.
|
||||
string f_nwk_s_int_key = 9;
|
||||
|
||||
// Uplink frame-counter.
|
||||
|
@ -240,11 +240,15 @@ message DeviceProfile {
|
||||
// from the device (if requested).
|
||||
uint32 class_b_timeout = 16;
|
||||
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity.
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 17;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 17;
|
||||
|
||||
// Class-B ping-slot DR.
|
||||
uint32 class_b_ping_slot_dr = 18;
|
||||
|
@ -117,11 +117,15 @@ message DeviceProfileTemplate {
|
||||
// This is the maximum time ChirpStack will wait to receive an acknowledgement from the device (if requested).
|
||||
uint32 class_b_timeout = 18;
|
||||
|
||||
// Class-B ping-slots per beacon period.
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 19;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 19;
|
||||
|
||||
// Class-B ping-slot DR.
|
||||
uint32 class_b_ping_slot_dr = 20;
|
||||
|
9
api/rust/proto/chirpstack/api/fuota.proto
vendored
9
api/rust/proto/chirpstack/api/fuota.proto
vendored
@ -104,7 +104,14 @@ message FuotaDeployment {
|
||||
uint32 multicast_dr = 7;
|
||||
|
||||
// Multicast ping-slot period (Class-B only).
|
||||
uint32 multicast_class_b_ping_slot_nb_k = 8;
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 multicast_class_b_ping_slot_periodicity = 8;
|
||||
|
||||
// Multicast frequency (Hz).
|
||||
uint32 multicast_frequency = 9;
|
||||
|
@ -165,15 +165,15 @@ message MulticastGroup {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 11;
|
||||
|
||||
// Ping-slot period (only for Class-B).
|
||||
// Deprecated: use class_b_ping_slot_nb_k.
|
||||
uint32 class_b_ping_slot_period = 12;
|
||||
|
||||
// Class-B ping-slots per beacon period (only for Class-B).
|
||||
// Valid options are: 0 - 7;
|
||||
// Class-B ping-slot periodicity (only for Class-B).
|
||||
// Valid options are: 0 - 7.
|
||||
//
|
||||
// The actual number of ping-slots per beacon period equals to 2^k.
|
||||
uint32 class_b_ping_slot_nb_k = 14;
|
||||
// Number of ping-slots per beacon-period:
|
||||
// pingNb = 2^(7-periodicity)
|
||||
//
|
||||
// Periodicity: 0 = 128 ping-slots per beacon period = ~ every 1 sec
|
||||
// Periodicity: 7 = 1 ping-slot per beacon period = ~ every 128 sec
|
||||
uint32 class_b_ping_slot_periodicity = 14;
|
||||
|
||||
// Scheduling type (only for Class-C).
|
||||
MulticastGroupSchedulingType class_c_scheduling_type = 13;
|
||||
|
@ -67,7 +67,7 @@ enum Region {
|
||||
ISM2400 = 11;
|
||||
}
|
||||
|
||||
enum MType {
|
||||
enum FType {
|
||||
// JoinRequest.
|
||||
JOIN_REQUEST = 0;
|
||||
|
||||
|
125
api/rust/proto/chirpstack/gw/gw.proto
vendored
125
api/rust/proto/chirpstack/gw/gw.proto
vendored
@ -104,6 +104,82 @@ enum TxAckStatus {
|
||||
DUTY_CYCLE_OVERFLOW = 11;
|
||||
}
|
||||
|
||||
// Gateway events as reported by the ChirpStack Concentratord ZMQ interface.
|
||||
message Event {
|
||||
oneof event {
|
||||
// Uplink frame.
|
||||
UplinkFrame uplink_frame = 1;
|
||||
|
||||
// Gateway stats.
|
||||
GatewayStats gateway_stats = 2;
|
||||
|
||||
// Gateway Mesh Event.
|
||||
MeshEvent mesh = 3;
|
||||
}
|
||||
}
|
||||
|
||||
// Commands that can be sent to the ChirpStack Concentratord ZMQ interface.
|
||||
message Command {
|
||||
oneof command {
|
||||
// Downlink frame.
|
||||
DownlinkFrame send_downlink_frame = 1;
|
||||
|
||||
// Gateway configuration.
|
||||
GatewayConfiguration set_gateway_configuration = 2;
|
||||
|
||||
// Get Gateway ID.
|
||||
GetGatewayIdRequest get_gateway_id = 3;
|
||||
|
||||
// Get location.
|
||||
GetLocationRequest get_location = 4;
|
||||
|
||||
// Gateway Mesh Command.
|
||||
MeshCommand mesh = 5;
|
||||
}
|
||||
}
|
||||
|
||||
message MeshEvent {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Timestamp (second precision).
|
||||
google.protobuf.Timestamp time = 3;
|
||||
|
||||
// Mesh events.
|
||||
repeated MeshEventItem events = 4;
|
||||
}
|
||||
|
||||
message MeshEventItem {
|
||||
oneof event {
|
||||
// Proprietary Mesh event.
|
||||
MeshEventProprietary proprietary = 1;
|
||||
|
||||
// Mesh heartbeat.
|
||||
MeshEventHeartbeat heartbeat = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message MeshCommand {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Mesh events.
|
||||
repeated MeshCommandItem commands = 3;
|
||||
}
|
||||
|
||||
message MeshCommandItem {
|
||||
oneof command {
|
||||
// Proprietary Mesh command.
|
||||
MeshCommandProprietary proprietary = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message Modulation {
|
||||
oneof parameters {
|
||||
// LoRa modulation information.
|
||||
@ -611,6 +687,23 @@ message GatewayConfiguration {
|
||||
google.protobuf.Duration stats_interval = 4;
|
||||
}
|
||||
|
||||
message GetGatewayIdRequest {}
|
||||
|
||||
message GetGatewayIdResponse {
|
||||
// Gateway ID.
|
||||
string gateway_id = 1;
|
||||
}
|
||||
|
||||
message GetLocationRequest {}
|
||||
|
||||
message GetLocationResponse {
|
||||
// Location.
|
||||
common.Location location = 1;
|
||||
|
||||
// Last updated at.
|
||||
google.protobuf.Timestamp updated_at = 2;
|
||||
}
|
||||
|
||||
message ChannelConfiguration {
|
||||
// Frequency (Hz).
|
||||
uint32 frequency = 1;
|
||||
@ -751,21 +844,13 @@ message ConnState {
|
||||
}
|
||||
|
||||
// Gateway Mesh heartbeat (sent periodically by the Relay Gateways).
|
||||
message MeshHeartbeat {
|
||||
// Gateway ID (of the Border Gateway).
|
||||
string gateway_id = 1;
|
||||
|
||||
// Relay ID.
|
||||
string relay_id = 2;
|
||||
|
||||
// Timestamp (second precision).
|
||||
google.protobuf.Timestamp time = 3;
|
||||
message MeshEventHeartbeat {
|
||||
|
||||
// Relay path.
|
||||
repeated MeshHeartbeatRelayPath relay_path = 4;
|
||||
repeated MeshEventHeartbeatRelayPath relay_path = 4;
|
||||
}
|
||||
|
||||
message MeshHeartbeatRelayPath {
|
||||
message MeshEventHeartbeatRelayPath {
|
||||
// Relay ID.
|
||||
string relay_id = 1;
|
||||
|
||||
@ -775,3 +860,21 @@ message MeshHeartbeatRelayPath {
|
||||
// SNR.
|
||||
int32 snr = 3;
|
||||
}
|
||||
|
||||
// Proprietary mesh event.
|
||||
message MeshEventProprietary {
|
||||
// Event type.
|
||||
uint32 event_type = 1;
|
||||
|
||||
// Payload.
|
||||
bytes payload = 2;
|
||||
}
|
||||
|
||||
// Proprietary mesh command.
|
||||
message MeshCommandProprietary {
|
||||
// Command type.
|
||||
uint32 command_type = 1;
|
||||
|
||||
// Payload.
|
||||
bytes payload = 2;
|
||||
}
|
||||
|
@ -142,6 +142,9 @@ message DeviceSession {
|
||||
|
||||
// Relay state.
|
||||
Relay relay = 41;
|
||||
|
||||
// Pending mac-commands.
|
||||
map<uint32, bytes> mac_command_pending = 43;
|
||||
}
|
||||
|
||||
message UplinkAdrHistory {
|
||||
|
8
api/rust/proto/chirpstack/stream/frame.proto
vendored
8
api/rust/proto/chirpstack/stream/frame.proto
vendored
@ -24,8 +24,8 @@ message UplinkFrameLog {
|
||||
// RX meta-data.
|
||||
repeated gw.UplinkRxInfo rx_info = 3;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 4;
|
||||
// Frame type.
|
||||
common.FType f_type = 4;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 5;
|
||||
@ -59,8 +59,8 @@ message DownlinkFrameLog {
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 5;
|
||||
|
||||
// Message type.
|
||||
common.MType m_type = 6;
|
||||
// Frame type.
|
||||
common.FType f_type = 6;
|
||||
|
||||
// Device address (optional).
|
||||
string dev_addr = 7;
|
||||
|
8
api/rust/proto/chirpstack/stream/meta.proto
vendored
8
api/rust/proto/chirpstack/stream/meta.proto
vendored
@ -32,8 +32,8 @@ message UplinkMeta {
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
// Frame type.
|
||||
common.FType frame_type = 7;
|
||||
}
|
||||
|
||||
message DownlinkMeta {
|
||||
@ -55,8 +55,8 @@ message DownlinkMeta {
|
||||
// Application payload byte count.
|
||||
uint32 application_payload_byte_count = 6;
|
||||
|
||||
// Message type.
|
||||
common.MType message_type = 7;
|
||||
// Frame type.
|
||||
common.FType frame_type = 7;
|
||||
|
||||
// Gateway ID (EUI64).
|
||||
string gateway_id = 8;
|
||||
|
18
api/rust/src/common.rs
vendored
18
api/rust/src/common.rs
vendored
@ -7,17 +7,17 @@ include!(concat!(env!("OUT_DIR"), "/common/common.rs"));
|
||||
include!(concat!(env!("OUT_DIR"), "/common/common.serde.rs"));
|
||||
|
||||
#[allow(clippy::from_over_into)]
|
||||
impl Into<String> for MType {
|
||||
impl Into<String> for FType {
|
||||
fn into(self) -> String {
|
||||
match self {
|
||||
MType::JoinRequest => "JoinRequest",
|
||||
MType::JoinAccept => "JoinAccept",
|
||||
MType::UnconfirmedDataUp => "UnconfirmedDataUp",
|
||||
MType::UnconfirmedDataDown => "UnconfirmedDataDown",
|
||||
MType::ConfirmedDataUp => "ConfirmedDataUp",
|
||||
MType::ConfirmedDataDown => "ConfirmedDataDown",
|
||||
MType::RejoinRequest => "RejoinRequest",
|
||||
MType::Proprietary => "Proprietary",
|
||||
FType::JoinRequest => "JoinRequest",
|
||||
FType::JoinAccept => "JoinAccept",
|
||||
FType::UnconfirmedDataUp => "UnconfirmedDataUp",
|
||||
FType::UnconfirmedDataDown => "UnconfirmedDataDown",
|
||||
FType::ConfirmedDataUp => "ConfirmedDataUp",
|
||||
FType::ConfirmedDataDown => "ConfirmedDataDown",
|
||||
FType::RejoinRequest => "RejoinRequest",
|
||||
FType::Proprietary => "Proprietary",
|
||||
}
|
||||
.to_string()
|
||||
}
|
||||
|
9
api/rust/src/lib.rs
vendored
9
api/rust/src/lib.rs
vendored
@ -1,14 +1,17 @@
|
||||
pub use prost;
|
||||
pub use prost_types;
|
||||
|
||||
#[cfg(feature = "json")]
|
||||
pub use pbjson_types;
|
||||
pub use prost;
|
||||
#[cfg(feature = "api")]
|
||||
pub use tonic;
|
||||
|
||||
#[cfg(feature = "api")]
|
||||
pub mod api;
|
||||
#[cfg(feature = "internal")]
|
||||
pub mod internal;
|
||||
|
||||
pub mod common;
|
||||
pub mod gw;
|
||||
pub mod integration;
|
||||
#[cfg(feature = "internal")]
|
||||
pub mod internal;
|
||||
pub mod stream;
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "backend"
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
authors = ["Orne Brocaar <info@brocaar.com>"]
|
||||
edition = "2018"
|
||||
publish = false
|
||||
|
@ -3,14 +3,14 @@
|
||||
description = "Library for building external ChirpStack integrations"
|
||||
homepage = "https://www.chirpstack.io/"
|
||||
license = "MIT"
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
authors = ["Orne Brocaar <info@brocaar.com>"]
|
||||
edition = "2021"
|
||||
repository = "https://github.com/chirpstack/chirpstack"
|
||||
|
||||
[dependencies]
|
||||
chirpstack_api = { path = "../api/rust", version = "4.12.1" }
|
||||
redis = { version = "0.29", features = [
|
||||
chirpstack_api = { path = "../api/rust", version = "4.13.0" }
|
||||
redis = { version = "0.31", features = [
|
||||
"cluster-async",
|
||||
"tokio-rustls-comp",
|
||||
] }
|
||||
|
@ -3,7 +3,7 @@
|
||||
description = "ChirpStack is an open-source LoRaWAN(TM) Network Server"
|
||||
repository = "https://github.com/chirpstack/chirpstack"
|
||||
homepage = "https://www.chirpstack.io/"
|
||||
version = "4.12.1"
|
||||
version = "4.13.0"
|
||||
authors = ["Orne Brocaar <info@brocaar.com>"]
|
||||
edition = "2021"
|
||||
publish = false
|
||||
@ -34,8 +34,8 @@
|
||||
tokio-postgres = { version = "0.7", optional = true }
|
||||
tokio-postgres-rustls = { version = "0.13", optional = true }
|
||||
bigdecimal = "0.4"
|
||||
redis = { version = "0.29", features = ["tls-rustls", "tokio-rustls-comp"] }
|
||||
deadpool-redis = { version = "0.20", features = ["cluster", "serde"] }
|
||||
redis = { version = "0.31", features = ["tls-rustls", "tokio-rustls-comp"] }
|
||||
deadpool-redis = { version = "0.21", features = ["cluster", "serde"] }
|
||||
|
||||
# Logging
|
||||
tracing = "0.1"
|
||||
@ -137,7 +137,7 @@
|
||||
] }
|
||||
|
||||
# Misc
|
||||
uuid = { version = "1.16", features = ["v4", "serde"] }
|
||||
uuid = { version = "1.17", features = ["v4", "serde"] }
|
||||
chrono = "0.4"
|
||||
async-trait = "0.1"
|
||||
aes = "0.8"
|
||||
|
@ -0,0 +1,8 @@
|
||||
alter table fuota_deployment
|
||||
rename column multicast_class_b_ping_slot_periodicity to multicast_class_b_ping_slot_nb_k;
|
||||
|
||||
alter table multicast_group
|
||||
rename column class_b_ping_slot_periodicity to class_b_ping_slot_nb_k;
|
||||
|
||||
alter table device_profile_template
|
||||
rename column class_b_ping_slot_periodicity to class_b_ping_slot_nb_k;
|
@ -0,0 +1,8 @@
|
||||
alter table device_profile_template
|
||||
rename column class_b_ping_slot_nb_k to class_b_ping_slot_periodicity;
|
||||
|
||||
alter table multicast_group
|
||||
rename column class_b_ping_slot_nb_k to class_b_ping_slot_periodicity;
|
||||
|
||||
alter table fuota_deployment
|
||||
rename column multicast_class_b_ping_slot_nb_k to multicast_class_b_ping_slot_periodicity;
|
@ -0,0 +1,8 @@
|
||||
alter table fuota_deployment
|
||||
rename column multicast_class_b_ping_slot_periodicity to multicast_class_b_ping_slot_nb_k;
|
||||
|
||||
alter table multicast_group
|
||||
rename column class_b_ping_slot_periodicity to class_b_ping_slot_nb_k;
|
||||
|
||||
alter table device_profile_template
|
||||
rename column class_b_ping_slot_periodicity to class_b_ping_slot_nb_k;
|
@ -0,0 +1,8 @@
|
||||
alter table device_profile_template
|
||||
rename column class_b_ping_slot_nb_k to class_b_ping_slot_periodicity;
|
||||
|
||||
alter table multicast_group
|
||||
rename column class_b_ping_slot_nb_k to class_b_ping_slot_periodicity;
|
||||
|
||||
alter table fuota_deployment
|
||||
rename column multicast_class_b_ping_slot_nb_k to multicast_class_b_ping_slot_periodicity;
|
@ -252,7 +252,7 @@ async fn _handle_pr_start_req(b: &[u8]) -> Result<backend::PRStartAnsPayload> {
|
||||
let pl: backend::PRStartReqPayload = serde_json::from_slice(b)?;
|
||||
let phy = lrwn::PhyPayload::from_slice(&pl.phy_payload)?;
|
||||
|
||||
if phy.mhdr.m_type == lrwn::MType::JoinRequest {
|
||||
if phy.mhdr.f_type == lrwn::FType::JoinRequest {
|
||||
_handle_pr_start_req_join(pl, phy).await
|
||||
} else {
|
||||
_handle_pr_start_req_data(pl, phy).await
|
||||
|
@ -94,7 +94,7 @@ impl DeviceProfileService for DeviceProfile {
|
||||
class_b_params: if req_dp.supports_class_b {
|
||||
Some(fields::ClassBParams {
|
||||
timeout: req_dp.class_b_timeout as u16,
|
||||
ping_slot_nb_k: req_dp.class_b_ping_slot_nb_k as u8,
|
||||
ping_slot_periodicity: req_dp.class_b_ping_slot_periodicity as u8,
|
||||
ping_slot_dr: req_dp.class_b_ping_slot_dr as u8,
|
||||
ping_slot_freq: req_dp.class_b_ping_slot_freq,
|
||||
})
|
||||
@ -205,7 +205,7 @@ impl DeviceProfileService for DeviceProfile {
|
||||
supports_class_b: dp.supports_class_b,
|
||||
supports_class_c: dp.supports_class_c,
|
||||
class_b_timeout: class_b_params.timeout as u32,
|
||||
class_b_ping_slot_nb_k: class_b_params.ping_slot_nb_k as u32,
|
||||
class_b_ping_slot_periodicity: class_b_params.ping_slot_periodicity as u32,
|
||||
class_b_ping_slot_dr: class_b_params.ping_slot_dr as u32,
|
||||
class_b_ping_slot_freq: class_b_params.ping_slot_freq as u32,
|
||||
class_c_timeout: class_c_params.timeout as u32,
|
||||
@ -350,7 +350,7 @@ impl DeviceProfileService for DeviceProfile {
|
||||
class_b_params: if req_dp.supports_class_b {
|
||||
Some(fields::ClassBParams {
|
||||
timeout: req_dp.class_b_timeout as u16,
|
||||
ping_slot_nb_k: req_dp.class_b_ping_slot_nb_k as u8,
|
||||
ping_slot_periodicity: req_dp.class_b_ping_slot_periodicity as u8,
|
||||
ping_slot_dr: req_dp.class_b_ping_slot_dr as u8,
|
||||
ping_slot_freq: req_dp.class_b_ping_slot_freq,
|
||||
})
|
||||
|
@ -60,7 +60,7 @@ impl DeviceProfileTemplateService for DeviceProfileTemplate {
|
||||
supports_class_b: req_dp.supports_class_b,
|
||||
supports_class_c: req_dp.supports_class_c,
|
||||
class_b_timeout: req_dp.class_b_timeout as i32,
|
||||
class_b_ping_slot_nb_k: req_dp.class_b_ping_slot_nb_k as i32,
|
||||
class_b_ping_slot_periodicity: req_dp.class_b_ping_slot_periodicity as i32,
|
||||
class_b_ping_slot_dr: req_dp.class_b_ping_slot_dr as i16,
|
||||
class_b_ping_slot_freq: req_dp.class_b_ping_slot_freq as i64,
|
||||
class_c_timeout: req_dp.class_c_timeout as i32,
|
||||
@ -132,7 +132,7 @@ impl DeviceProfileTemplateService for DeviceProfileTemplate {
|
||||
supports_class_b: dp.supports_class_b,
|
||||
supports_class_c: dp.supports_class_c,
|
||||
class_b_timeout: dp.class_b_timeout as u32,
|
||||
class_b_ping_slot_nb_k: dp.class_b_ping_slot_nb_k as u32,
|
||||
class_b_ping_slot_periodicity: dp.class_b_ping_slot_periodicity as u32,
|
||||
class_b_ping_slot_dr: dp.class_b_ping_slot_dr as u32,
|
||||
class_b_ping_slot_freq: dp.class_b_ping_slot_freq as u32,
|
||||
class_c_timeout: dp.class_c_timeout as u32,
|
||||
@ -201,7 +201,7 @@ impl DeviceProfileTemplateService for DeviceProfileTemplate {
|
||||
supports_class_b: req_dp.supports_class_b,
|
||||
supports_class_c: req_dp.supports_class_c,
|
||||
class_b_timeout: req_dp.class_b_timeout as i32,
|
||||
class_b_ping_slot_nb_k: req_dp.class_b_ping_slot_nb_k as i32,
|
||||
class_b_ping_slot_periodicity: req_dp.class_b_ping_slot_periodicity as i32,
|
||||
class_b_ping_slot_dr: req_dp.class_b_ping_slot_dr as i16,
|
||||
class_b_ping_slot_freq: req_dp.class_b_ping_slot_freq as i64,
|
||||
class_c_timeout: req_dp.class_c_timeout as i32,
|
||||
|
@ -63,7 +63,8 @@ impl FuotaService for Fuota {
|
||||
.multicast_class_c_scheduling_type()
|
||||
.from_proto(),
|
||||
multicast_dr: req_dp.multicast_dr as i16,
|
||||
multicast_class_b_ping_slot_nb_k: req_dp.multicast_class_b_ping_slot_nb_k as i16,
|
||||
multicast_class_b_ping_slot_periodicity: req_dp.multicast_class_b_ping_slot_periodicity
|
||||
as i16,
|
||||
multicast_frequency: req_dp.multicast_frequency as i64,
|
||||
multicast_timeout: req_dp.multicast_timeout as i16,
|
||||
unicast_max_retry_count: req_dp.unicast_max_retry_count as i16,
|
||||
@ -138,7 +139,8 @@ impl FuotaService for Fuota {
|
||||
.to_proto()
|
||||
.into(),
|
||||
multicast_dr: dp.multicast_dr as u32,
|
||||
multicast_class_b_ping_slot_nb_k: dp.multicast_class_b_ping_slot_nb_k as u32,
|
||||
multicast_class_b_ping_slot_periodicity: dp.multicast_class_b_ping_slot_periodicity
|
||||
as u32,
|
||||
multicast_frequency: dp.multicast_frequency as u32,
|
||||
multicast_timeout: dp.multicast_timeout as u32,
|
||||
unicast_max_retry_count: dp.unicast_max_retry_count as u32,
|
||||
@ -217,7 +219,8 @@ impl FuotaService for Fuota {
|
||||
.multicast_class_c_scheduling_type()
|
||||
.from_proto(),
|
||||
multicast_dr: req_dp.multicast_dr as i16,
|
||||
multicast_class_b_ping_slot_nb_k: req_dp.multicast_class_b_ping_slot_nb_k as i16,
|
||||
multicast_class_b_ping_slot_periodicity: req_dp.multicast_class_b_ping_slot_periodicity
|
||||
as i16,
|
||||
multicast_frequency: req_dp.multicast_frequency as i64,
|
||||
multicast_timeout: req_dp.multicast_timeout as i16,
|
||||
unicast_max_retry_count: req_dp.unicast_max_retry_count as i16,
|
||||
|
@ -193,17 +193,17 @@ impl FromProto<Aggregation> for common::Aggregation {
|
||||
}
|
||||
}
|
||||
|
||||
impl ToProto<common::MType> for lrwn::MType {
|
||||
fn to_proto(self) -> common::MType {
|
||||
impl ToProto<common::FType> for lrwn::FType {
|
||||
fn to_proto(self) -> common::FType {
|
||||
match self {
|
||||
lrwn::MType::JoinRequest => common::MType::JoinRequest,
|
||||
lrwn::MType::JoinAccept => common::MType::JoinAccept,
|
||||
lrwn::MType::UnconfirmedDataUp => common::MType::UnconfirmedDataUp,
|
||||
lrwn::MType::UnconfirmedDataDown => common::MType::UnconfirmedDataDown,
|
||||
lrwn::MType::ConfirmedDataUp => common::MType::ConfirmedDataUp,
|
||||
lrwn::MType::ConfirmedDataDown => common::MType::ConfirmedDataDown,
|
||||
lrwn::MType::RejoinRequest => common::MType::RejoinRequest,
|
||||
lrwn::MType::Proprietary => common::MType::Proprietary,
|
||||
lrwn::FType::JoinRequest => common::FType::JoinRequest,
|
||||
lrwn::FType::JoinAccept => common::FType::JoinAccept,
|
||||
lrwn::FType::UnconfirmedDataUp => common::FType::UnconfirmedDataUp,
|
||||
lrwn::FType::UnconfirmedDataDown => common::FType::UnconfirmedDataDown,
|
||||
lrwn::FType::ConfirmedDataUp => common::FType::ConfirmedDataUp,
|
||||
lrwn::FType::ConfirmedDataDown => common::FType::ConfirmedDataDown,
|
||||
lrwn::FType::RejoinRequest => common::FType::RejoinRequest,
|
||||
lrwn::FType::Proprietary => common::FType::Proprietary,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -61,14 +61,7 @@ impl MulticastGroupService for MulticastGroup {
|
||||
.to_string(),
|
||||
dr: req_mg.dr as i16,
|
||||
frequency: req_mg.frequency as i64,
|
||||
class_b_ping_slot_nb_k: if req_mg.class_b_ping_slot_period != 0 {
|
||||
// For backwards compatibility.
|
||||
(req_mg.class_b_ping_slot_period / 32)
|
||||
.checked_ilog2()
|
||||
.unwrap_or_default()
|
||||
} else {
|
||||
req_mg.class_b_ping_slot_nb_k
|
||||
} as i16,
|
||||
class_b_ping_slot_periodicity: req_mg.class_b_ping_slot_periodicity as i16,
|
||||
class_c_scheduling_type: req_mg.class_c_scheduling_type().from_proto(),
|
||||
..Default::default()
|
||||
};
|
||||
@ -121,8 +114,7 @@ impl MulticastGroupService for MulticastGroup {
|
||||
.into(),
|
||||
dr: mg.dr as u32,
|
||||
frequency: mg.frequency as u32,
|
||||
class_b_ping_slot_period: (1 << (mg.class_b_ping_slot_nb_k as u32)) * 32,
|
||||
class_b_ping_slot_nb_k: mg.class_b_ping_slot_nb_k as u32,
|
||||
class_b_ping_slot_periodicity: mg.class_b_ping_slot_periodicity as u32,
|
||||
class_c_scheduling_type: mg.class_c_scheduling_type.to_proto().into(),
|
||||
}),
|
||||
created_at: Some(helpers::datetime_to_prost_timestamp(&mg.created_at)),
|
||||
@ -168,14 +160,7 @@ impl MulticastGroupService for MulticastGroup {
|
||||
.to_string(),
|
||||
dr: req_mg.dr as i16,
|
||||
frequency: req_mg.frequency as i64,
|
||||
class_b_ping_slot_nb_k: if req_mg.class_b_ping_slot_period != 0 {
|
||||
// For backwards compatibility.
|
||||
(req_mg.class_b_ping_slot_period / 32)
|
||||
.checked_ilog2()
|
||||
.unwrap_or_default()
|
||||
} else {
|
||||
req_mg.class_b_ping_slot_nb_k
|
||||
} as i16,
|
||||
class_b_ping_slot_periodicity: req_mg.class_b_ping_slot_periodicity as i16,
|
||||
class_c_scheduling_type: req_mg.class_c_scheduling_type().from_proto(),
|
||||
..Default::default()
|
||||
})
|
||||
@ -606,7 +591,7 @@ pub mod test {
|
||||
group_type: api::MulticastGroupType::ClassC.into(),
|
||||
dr: 3,
|
||||
frequency: 868300000,
|
||||
class_b_ping_slot_nb_k: 1,
|
||||
class_b_ping_slot_periodicity: 1,
|
||||
class_c_scheduling_type: api::MulticastGroupSchedulingType::GpsTime.into(),
|
||||
..Default::default()
|
||||
}),
|
||||
@ -636,8 +621,7 @@ pub mod test {
|
||||
group_type: api::MulticastGroupType::ClassC.into(),
|
||||
dr: 3,
|
||||
frequency: 868300000,
|
||||
class_b_ping_slot_nb_k: 1,
|
||||
class_b_ping_slot_period: 64,
|
||||
class_b_ping_slot_periodicity: 1,
|
||||
class_c_scheduling_type: api::MulticastGroupSchedulingType::GpsTime.into(),
|
||||
}),
|
||||
get_resp.get_ref().multicast_group
|
||||
@ -659,8 +643,7 @@ pub mod test {
|
||||
group_type: api::MulticastGroupType::ClassB.into(),
|
||||
dr: 2,
|
||||
frequency: 868200000,
|
||||
class_b_ping_slot_nb_k: 2,
|
||||
class_b_ping_slot_period: 0,
|
||||
class_b_ping_slot_periodicity: 2,
|
||||
class_c_scheduling_type: api::MulticastGroupSchedulingType::Delay.into(),
|
||||
}),
|
||||
},
|
||||
@ -688,8 +671,7 @@ pub mod test {
|
||||
group_type: api::MulticastGroupType::ClassB.into(),
|
||||
dr: 2,
|
||||
frequency: 868200000,
|
||||
class_b_ping_slot_nb_k: 2,
|
||||
class_b_ping_slot_period: 128,
|
||||
class_b_ping_slot_periodicity: 2,
|
||||
class_c_scheduling_type: api::MulticastGroupSchedulingType::Delay.into(),
|
||||
}),
|
||||
get_resp.get_ref().multicast_group
|
||||
|
@ -149,7 +149,9 @@ impl Flow {
|
||||
group_type: self.fuota_deployment.multicast_group_type.clone(),
|
||||
frequency: self.fuota_deployment.multicast_frequency,
|
||||
dr: self.fuota_deployment.multicast_dr,
|
||||
class_b_ping_slot_nb_k: self.fuota_deployment.multicast_class_b_ping_slot_nb_k,
|
||||
class_b_ping_slot_periodicity: self
|
||||
.fuota_deployment
|
||||
.multicast_class_b_ping_slot_periodicity,
|
||||
class_c_scheduling_type: self.fuota_deployment.multicast_class_c_scheduling_type,
|
||||
..Default::default()
|
||||
})
|
||||
@ -577,7 +579,7 @@ impl Flow {
|
||||
time_out_periodicity:
|
||||
multicastsetup::v1::McClassBSessionReqPayloadTimeOutPeriodicity {
|
||||
time_out: self.fuota_deployment.multicast_timeout as u8,
|
||||
periodicity: self.fuota_deployment.multicast_class_b_ping_slot_nb_k
|
||||
periodicity: self.fuota_deployment.multicast_class_b_ping_slot_periodicity
|
||||
as u8,
|
||||
},
|
||||
dl_frequ: self.fuota_deployment.multicast_frequency as u32,
|
||||
@ -619,7 +621,7 @@ impl Flow {
|
||||
time_out_periodicity:
|
||||
multicastsetup::v2::McClassBSessionReqPayloadTimeOutPeriodicity {
|
||||
time_out: self.fuota_deployment.multicast_timeout as u8,
|
||||
periodicity: self.fuota_deployment.multicast_class_b_ping_slot_nb_k
|
||||
periodicity: self.fuota_deployment.multicast_class_b_ping_slot_periodicity
|
||||
as u8,
|
||||
},
|
||||
dl_frequ: self.fuota_deployment.multicast_frequency as u32,
|
||||
|
@ -172,6 +172,15 @@ pub fn run() {
|
||||
# ChirpStack will be allowed.
|
||||
allow_unknown_gateways={{ gateway.allow_unknown_gateways }}
|
||||
|
||||
# RX timestamp max. drift.
|
||||
#
|
||||
# If the delta between the gateway reported RX timestamp vs ChirpStack
|
||||
# server time is bigger than the configured value, then ChirpStack will
|
||||
# ignore it. ChirpStack will then use the RX timestamp from the other
|
||||
# receiving gateways, or failing that, will fall back onto the current
|
||||
# server time.
|
||||
rx_timestamp_max_drift="{{ gateway.rx_timestamp_max_drift }}"
|
||||
|
||||
|
||||
# Network related configuration.
|
||||
[network]
|
||||
|
@ -265,7 +265,7 @@ async fn import_device(
|
||||
supports_class_b: prof.supports_class_b,
|
||||
supports_class_c: prof.supports_class_c,
|
||||
class_b_timeout: prof.class_b_timeout as i32,
|
||||
class_b_ping_slot_nb_k: match prof.ping_slot_period {
|
||||
class_b_ping_slot_periodicity: match prof.ping_slot_period {
|
||||
128 => 7,
|
||||
64 => 6,
|
||||
32 => 5,
|
||||
|
@ -94,7 +94,7 @@ pub struct ProfileAbp {
|
||||
#[derive(Default, Deserialize)]
|
||||
pub struct ProfileClassB {
|
||||
pub timeout_secs: usize,
|
||||
pub ping_slot_nb_k: usize,
|
||||
pub ping_slot_periodicity: usize,
|
||||
pub ping_slot_dr: usize,
|
||||
pub ping_slot_freq: usize,
|
||||
}
|
||||
@ -239,7 +239,7 @@ async fn handle_profile(
|
||||
supports_class_b: profile_conf.profile.supports_class_b,
|
||||
supports_class_c: profile_conf.profile.supports_class_c,
|
||||
class_b_timeout: profile_conf.profile.class_b.timeout_secs as i32,
|
||||
class_b_ping_slot_nb_k: profile_conf.profile.class_b.ping_slot_nb_k as i32,
|
||||
class_b_ping_slot_periodicity: profile_conf.profile.class_b.ping_slot_periodicity as i32,
|
||||
class_b_ping_slot_dr: profile_conf.profile.class_b.ping_slot_dr as i16,
|
||||
class_b_ping_slot_freq: profile_conf.profile.class_b.ping_slot_freq as i64,
|
||||
class_c_timeout: profile_conf.profile.class_c.timeout_secs as i32,
|
||||
|
@ -137,6 +137,8 @@ pub struct Gateway {
|
||||
pub ca_cert: String,
|
||||
pub ca_key: String,
|
||||
pub allow_unknown_gateways: bool,
|
||||
#[serde(with = "humantime_serde")]
|
||||
pub rx_timestamp_max_drift: Duration,
|
||||
}
|
||||
|
||||
impl Default for Gateway {
|
||||
@ -146,6 +148,7 @@ impl Default for Gateway {
|
||||
ca_cert: "".to_string(),
|
||||
ca_key: "".to_string(),
|
||||
allow_unknown_gateways: false,
|
||||
rx_timestamp_max_drift: Duration::from_secs(30),
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -352,6 +355,7 @@ pub struct AmqpIntegration {
|
||||
pub url: String,
|
||||
pub json: bool,
|
||||
pub event_routing_key: String,
|
||||
pub exchange: String,
|
||||
}
|
||||
|
||||
impl Default for AmqpIntegration {
|
||||
@ -361,6 +365,7 @@ impl Default for AmqpIntegration {
|
||||
json: true,
|
||||
event_routing_key: "application.{{application_id}}.device.{{dev_eui}}.event.{{event}}"
|
||||
.to_string(),
|
||||
exchange: "amq.topic".to_string(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -707,7 +707,8 @@ impl Data {
|
||||
fn set_phy_payloads(&mut self) -> Result<()> {
|
||||
trace!("Setting downlink PHYPayloads");
|
||||
let mut f_pending = self.more_device_queue_items;
|
||||
let ds = self.device.get_device_session()?;
|
||||
let dev_addr = self.device.get_dev_addr()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
for item in self.downlink_frame_items.iter_mut() {
|
||||
let mut mac_size: usize = 0;
|
||||
@ -729,18 +730,20 @@ impl Data {
|
||||
for mac in &**mac_set {
|
||||
mac_commands.push(mac.clone());
|
||||
}
|
||||
|
||||
mac_command::set_pending(ds, mac_set)?;
|
||||
}
|
||||
|
||||
// LoRaWAN MHDR
|
||||
let mut mhdr = lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataDown,
|
||||
f_type: lrwn::FType::UnconfirmedDataDown,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
};
|
||||
|
||||
// LoRaWAN MAC payload
|
||||
let mut mac_pl = lrwn::MACPayload {
|
||||
fhdr: lrwn::FHDR {
|
||||
devaddr: self.device.get_dev_addr()?,
|
||||
devaddr: dev_addr,
|
||||
f_cnt: ds.n_f_cnt_down,
|
||||
f_ctrl: lrwn::FCtrl {
|
||||
adr: !self.network_conf.adr_disabled,
|
||||
@ -791,7 +794,7 @@ impl Data {
|
||||
mac_pl.frm_payload = Some(lrwn::FRMPayload::Raw(qi.data.clone()));
|
||||
|
||||
if qi.confirmed {
|
||||
mhdr.m_type = lrwn::MType::ConfirmedDataDown;
|
||||
mhdr.f_type = lrwn::FType::ConfirmedDataDown;
|
||||
}
|
||||
|
||||
item.remaining_payload_size -= qi.data.len();
|
||||
@ -864,7 +867,7 @@ impl Data {
|
||||
for item in self.downlink_frame.items.iter_mut() {
|
||||
let mut relay_phy = lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataDown,
|
||||
f_type: lrwn::FType::UnconfirmedDataDown,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
@ -912,7 +915,7 @@ impl Data {
|
||||
for item in self.downlink_frame_items.iter_mut() {
|
||||
let mut relay_phy = lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataDown,
|
||||
f_type: lrwn::FType::UnconfirmedDataDown,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
@ -1196,8 +1199,6 @@ impl Data {
|
||||
if let Some(block) =
|
||||
maccommand::new_channel::request(3, ¤t_channels, &wanted_channels)
|
||||
{
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::NewChannelReq, &block)
|
||||
.await?;
|
||||
self.mac_commands.push(block);
|
||||
}
|
||||
|
||||
@ -1207,7 +1208,7 @@ impl Data {
|
||||
// Note: this must come before ADR!
|
||||
async fn _request_channel_mask_reconfiguration(&mut self) -> Result<()> {
|
||||
trace!("Requesting channel-mask reconfiguration");
|
||||
let ds = self.device.get_device_session()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
let enabled_uplink_channel_indices: Vec<usize> = ds
|
||||
.enabled_uplink_channel_indices
|
||||
@ -1239,7 +1240,6 @@ impl Data {
|
||||
.collect(),
|
||||
);
|
||||
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::LinkADRReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
Ok(())
|
||||
@ -1257,12 +1257,15 @@ impl Data {
|
||||
.get_data_rate(self.uplink_frame_set.as_ref().unwrap().dr)?;
|
||||
|
||||
let ufs = self.uplink_frame_set.as_ref().unwrap();
|
||||
let ds = self.device.get_device_session()?;
|
||||
let dev_eui = self.device.dev_eui;
|
||||
let device_variables = self.device.variables.into_hashmap();
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
let req = adr::Request {
|
||||
dev_eui,
|
||||
device_variables,
|
||||
region_config_id: ufs.region_config_id.clone(),
|
||||
region_common_name: ufs.region_common_name,
|
||||
dev_eui: self.device.dev_eui,
|
||||
mac_version: self.device_profile.mac_version,
|
||||
reg_params_revision: self.device_profile.reg_params_revision,
|
||||
adr: ds.adr,
|
||||
@ -1291,7 +1294,6 @@ impl Data {
|
||||
max_dr: self.network_conf.max_dr,
|
||||
uplink_history: ds.uplink_adr_history.clone(),
|
||||
skip_f_cnt_check: ds.skip_f_cnt_check,
|
||||
device_variables: self.device.variables.into_hashmap(),
|
||||
};
|
||||
|
||||
let resp = adr::handle(&self.device_profile.adr_algorithm_id, &req).await;
|
||||
@ -1304,24 +1306,14 @@ impl Data {
|
||||
{
|
||||
let mut adr_set = false;
|
||||
for set in self.mac_commands.iter_mut() {
|
||||
let mut is_link_adr_set = false;
|
||||
|
||||
for mac in &mut **set {
|
||||
if let lrwn::MACCommand::LinkADRReq(pl) = mac {
|
||||
pl.dr = resp.dr;
|
||||
pl.tx_power = resp.tx_power_index;
|
||||
pl.redundancy.nb_rep = resp.nb_trans;
|
||||
|
||||
adr_set = true;
|
||||
is_link_adr_set = true;
|
||||
}
|
||||
}
|
||||
|
||||
if is_link_adr_set {
|
||||
// We need to update the pending mac-command.
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::LinkADRReq, set)
|
||||
.await?;
|
||||
}
|
||||
}
|
||||
|
||||
// There was no existing LinkADRReq to be sent, we need to construct a new one.
|
||||
@ -1358,7 +1350,6 @@ impl Data {
|
||||
},
|
||||
)]);
|
||||
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::LinkADRReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
}
|
||||
@ -1406,7 +1397,7 @@ impl Data {
|
||||
async fn _request_rejoin_param_setup(&mut self) -> Result<()> {
|
||||
trace!("Requesting rejoin param setup");
|
||||
|
||||
let ds = self.device.get_device_session()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
// Rejoin-request is disabled or device does not support LoRaWAN 1.1.
|
||||
if !self.network_conf.rejoin_request.enabled
|
||||
@ -1423,8 +1414,6 @@ impl Data {
|
||||
self.network_conf.rejoin_request.max_time_n,
|
||||
self.network_conf.rejoin_request.max_count_n,
|
||||
);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::RejoinParamSetupReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1434,7 +1423,7 @@ impl Data {
|
||||
async fn _set_ping_slot_parameters(&mut self) -> Result<()> {
|
||||
trace!("Setting ping-slot parameters");
|
||||
|
||||
let ds = self.device.get_device_session()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
if !self.device_profile.supports_class_b {
|
||||
return Ok(());
|
||||
@ -1447,8 +1436,6 @@ impl Data {
|
||||
self.network_conf.class_b.ping_slot_dr,
|
||||
self.network_conf.class_b.ping_slot_frequency,
|
||||
);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::PingSlotChannelReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1457,7 +1444,7 @@ impl Data {
|
||||
|
||||
async fn _set_rx_parameters(&mut self) -> Result<()> {
|
||||
trace!("Setting rx parameters");
|
||||
let ds = self.device.get_device_session()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
if ds.rx2_frequency != self.network_conf.rx2_frequency
|
||||
|| ds.rx2_dr as u8 != self.network_conf.rx2_dr
|
||||
@ -1468,8 +1455,6 @@ impl Data {
|
||||
self.network_conf.rx2_frequency,
|
||||
self.network_conf.rx2_dr,
|
||||
);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::RxParamSetupReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1481,8 +1466,6 @@ impl Data {
|
||||
|
||||
if dev_rx1_delay != req_rx1_delay {
|
||||
let set = maccommand::rx_timing_setup::request(req_rx1_delay);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::RxTimingSetupReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1491,7 +1474,7 @@ impl Data {
|
||||
|
||||
async fn _set_tx_parameters(&mut self) -> Result<()> {
|
||||
trace!("Setting tx parameters");
|
||||
let ds = self.device.get_device_session()?;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
|
||||
if !self
|
||||
.region_conf
|
||||
@ -1512,8 +1495,6 @@ impl Data {
|
||||
self.network_conf.downlink_dwell_time_400ms,
|
||||
uplink_eirp_index,
|
||||
);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::TxParamSetupReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1567,8 +1548,8 @@ impl Data {
|
||||
|| rd.uplink_limit_reload_rate
|
||||
!= device.relay_ed_uplink_limit_reload_rate as u32
|
||||
{
|
||||
let d = device::get(&device.dev_eui).await?;
|
||||
let ds = match d.get_device_session() {
|
||||
let mut d = device::get(&device.dev_eui).await?;
|
||||
let ds = match d.get_device_session_mut() {
|
||||
Ok(v) => v,
|
||||
Err(_) => {
|
||||
// It is valid that the device is no longer activated.
|
||||
@ -1595,13 +1576,17 @@ impl Data {
|
||||
},
|
||||
),
|
||||
]);
|
||||
mac_command::set_pending(
|
||||
&dev_eui,
|
||||
lrwn::CID::UpdateUplinkListReq,
|
||||
&set,
|
||||
self.mac_commands.push(set);
|
||||
|
||||
// Update device-session of device.
|
||||
device::partial_update(
|
||||
d.dev_eui,
|
||||
&device::DeviceChangeset {
|
||||
device_session: Some(d.device_session.clone()),
|
||||
..Default::default()
|
||||
},
|
||||
)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
rd.dev_addr = dev_addr.to_vec();
|
||||
rd.root_wor_s_key = root_wor_s_key.to_vec();
|
||||
@ -1651,8 +1636,6 @@ impl Data {
|
||||
root_wor_s_key,
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::UpdateUplinkListReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
ds.relay
|
||||
@ -1788,8 +1771,6 @@ impl Data {
|
||||
|
||||
if !commands.is_empty() {
|
||||
let set = lrwn::MACCommandSet::new(commands);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::CtrlUplinkListReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1799,7 +1780,6 @@ impl Data {
|
||||
async fn _configure_fwd_limit_req(&mut self) -> Result<()> {
|
||||
trace!("Configuring Relay Fwd Limit");
|
||||
|
||||
let dev_eui = self.device.dev_eui;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
let relay_params = self.device_profile.relay_params.clone().unwrap_or_default();
|
||||
|
||||
@ -1843,7 +1823,6 @@ impl Data {
|
||||
},
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::ConfigureFwdLimitReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -1915,7 +1894,6 @@ impl Data {
|
||||
}
|
||||
|
||||
let set = lrwn::MACCommandSet::new(commands);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::FilterListReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
// The deletes needs to be processed before we can add new entries.
|
||||
@ -1944,8 +1922,6 @@ impl Data {
|
||||
filter_list_eui: vec![],
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&self.device.dev_eui, lrwn::CID::FilterListReq, &set)
|
||||
.await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
// Return because we can't add multiple sets and if we would combine
|
||||
@ -1977,7 +1953,6 @@ impl Data {
|
||||
filter_list_eui: eui,
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::FilterListReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
f.join_eui = device.join_eui.to_vec();
|
||||
@ -2009,7 +1984,6 @@ impl Data {
|
||||
filter_list_eui: eui,
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::FilterListReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
|
||||
ds.relay
|
||||
@ -2037,7 +2011,6 @@ impl Data {
|
||||
async fn _update_relay_conf(&mut self) -> Result<()> {
|
||||
trace!("Updating Relay Conf");
|
||||
|
||||
let dev_eui = self.device.dev_eui;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
let relay_params = self.device_profile.relay_params.clone().unwrap_or_default();
|
||||
|
||||
@ -2075,7 +2048,6 @@ impl Data {
|
||||
second_ch_freq: relay_params.second_channel_freq,
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::RelayConfReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
@ -2087,7 +2059,6 @@ impl Data {
|
||||
async fn _update_end_device_conf(&mut self) -> Result<()> {
|
||||
trace!("Updating End Device Conf");
|
||||
|
||||
let dev_eui = self.device.dev_eui;
|
||||
let ds = self.device.get_device_session_mut()?;
|
||||
let relay_params = self.device_profile.relay_params.clone().unwrap_or_default();
|
||||
|
||||
@ -2124,7 +2095,6 @@ impl Data {
|
||||
second_ch_freq: relay_params.second_channel_freq,
|
||||
},
|
||||
)]);
|
||||
mac_command::set_pending(&dev_eui, lrwn::CID::EndDeviceConfReq, &set).await?;
|
||||
self.mac_commands.push(set);
|
||||
}
|
||||
|
||||
|
@ -466,7 +466,7 @@ impl JoinAccept<'_> {
|
||||
|
||||
let mut relay_phy = lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataDown,
|
||||
f_type: lrwn::FType::UnconfirmedDataDown,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -199,7 +199,7 @@ impl Multicast {
|
||||
|
||||
let mut phy = lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataDown,
|
||||
f_type: lrwn::FType::UnconfirmedDataDown,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -3,7 +3,7 @@ use chrono::{Duration, Utc};
|
||||
use tracing::{error, info, span, trace, Instrument, Level};
|
||||
use uuid::Uuid;
|
||||
|
||||
use lrwn::{AES128Key, MType, Payload, PhyPayload, EUI64};
|
||||
use lrwn::{AES128Key, FType, Payload, PhyPayload, EUI64};
|
||||
|
||||
use crate::api::helpers::ToProto;
|
||||
use crate::storage::{
|
||||
@ -589,13 +589,13 @@ impl TxAck {
|
||||
tx_info: dfi.tx_info.clone(),
|
||||
downlink_id: gw_df.downlink_id,
|
||||
gateway_id: gw_df.gateway_id.clone(),
|
||||
m_type: match &phy.mhdr.m_type {
|
||||
MType::JoinAccept => common::MType::JoinAccept,
|
||||
MType::UnconfirmedDataDown => common::MType::UnconfirmedDataDown,
|
||||
MType::ConfirmedDataDown => common::MType::ConfirmedDataDown,
|
||||
MType::Proprietary => common::MType::Proprietary,
|
||||
f_type: match &phy.mhdr.f_type {
|
||||
FType::JoinAccept => common::FType::JoinAccept,
|
||||
FType::UnconfirmedDataDown => common::FType::UnconfirmedDataDown,
|
||||
FType::ConfirmedDataDown => common::FType::ConfirmedDataDown,
|
||||
FType::Proprietary => common::FType::Proprietary,
|
||||
_ => {
|
||||
return Err(anyhow!("Unepxected MType: {}", phy.mhdr.m_type));
|
||||
return Err(anyhow!("Unepxected FType: {}", phy.mhdr.f_type));
|
||||
}
|
||||
}
|
||||
.into(),
|
||||
@ -658,7 +658,7 @@ impl TxAck {
|
||||
tx_info: dfl.tx_info.clone(),
|
||||
downlink_id: dfl.downlink_id,
|
||||
gateway_id: dfl.gateway_id.clone(),
|
||||
m_type: dfl.m_type,
|
||||
f_type: dfl.f_type,
|
||||
dev_addr: dfl.dev_addr.clone(),
|
||||
dev_eui: dfl.dev_eui.clone(),
|
||||
plaintext_f_opts: true,
|
||||
@ -719,7 +719,7 @@ impl TxAck {
|
||||
} else {
|
||||
0
|
||||
} as u32,
|
||||
message_type: phy.mhdr.m_type.to_proto().into(),
|
||||
frame_type: phy.mhdr.f_type.to_proto().into(),
|
||||
gateway_id: df.downlink_frame.as_ref().unwrap().gateway_id.clone(),
|
||||
};
|
||||
|
||||
@ -803,15 +803,15 @@ impl TxAck {
|
||||
}
|
||||
|
||||
fn is_unconfirmed_downlink(&self) -> bool {
|
||||
if self.phy_payload.as_ref().unwrap().mhdr.m_type == lrwn::MType::UnconfirmedDataDown {
|
||||
if self.phy_payload.as_ref().unwrap().mhdr.f_type == lrwn::FType::UnconfirmedDataDown {
|
||||
return true;
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
fn is_unconfirmed_downlink_relayed(&self) -> bool {
|
||||
if self.phy_payload_relayed.as_ref().unwrap().mhdr.m_type
|
||||
== lrwn::MType::UnconfirmedDataDown
|
||||
if self.phy_payload_relayed.as_ref().unwrap().mhdr.f_type
|
||||
== lrwn::FType::UnconfirmedDataDown
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@ -819,14 +819,14 @@ impl TxAck {
|
||||
}
|
||||
|
||||
fn is_confirmed_downlink(&self) -> bool {
|
||||
if self.phy_payload.as_ref().unwrap().mhdr.m_type == lrwn::MType::ConfirmedDataDown {
|
||||
if self.phy_payload.as_ref().unwrap().mhdr.f_type == lrwn::FType::ConfirmedDataDown {
|
||||
return true;
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
fn is_confirmed_downlink_relayed(&self) -> bool {
|
||||
if self.phy_payload_relayed.as_ref().unwrap().mhdr.m_type == lrwn::MType::ConfirmedDataDown
|
||||
if self.phy_payload_relayed.as_ref().unwrap().mhdr.f_type == lrwn::FType::ConfirmedDataDown
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
use std::collections::HashMap;
|
||||
use std::io::Cursor;
|
||||
use std::sync::{LazyLock, RwLock};
|
||||
use std::time::Duration;
|
||||
|
||||
@ -352,7 +351,7 @@ async fn message_callback(
|
||||
.inc();
|
||||
let mut event = match json {
|
||||
true => serde_json::from_slice(&p.payload)?,
|
||||
false => chirpstack_api::gw::UplinkFrame::decode(&mut Cursor::new(&p.payload))?,
|
||||
false => chirpstack_api::gw::UplinkFrame::decode(p.payload.as_ref())?,
|
||||
};
|
||||
|
||||
if v4_migrate {
|
||||
@ -377,7 +376,7 @@ async fn message_callback(
|
||||
.inc();
|
||||
let mut event = match json {
|
||||
true => serde_json::from_slice(&p.payload)?,
|
||||
false => chirpstack_api::gw::GatewayStats::decode(&mut Cursor::new(&p.payload))?,
|
||||
false => chirpstack_api::gw::GatewayStats::decode(p.payload.as_ref())?,
|
||||
};
|
||||
|
||||
if v4_migrate {
|
||||
@ -401,7 +400,7 @@ async fn message_callback(
|
||||
.inc();
|
||||
let mut event = match json {
|
||||
true => serde_json::from_slice(&p.payload)?,
|
||||
false => chirpstack_api::gw::DownlinkTxAck::decode(&mut Cursor::new(&p.payload))?,
|
||||
false => chirpstack_api::gw::DownlinkTxAck::decode(p.payload.as_ref())?,
|
||||
};
|
||||
|
||||
if v4_migrate {
|
||||
@ -410,18 +409,18 @@ async fn message_callback(
|
||||
|
||||
set_gateway_json(&event.gateway_id, json);
|
||||
tokio::spawn(downlink::tx_ack::TxAck::handle(event));
|
||||
} else if topic.ends_with("/mesh-heartbeat") {
|
||||
} else if topic.ends_with("/mesh") {
|
||||
EVENT_COUNTER
|
||||
.get_or_create(&EventLabels {
|
||||
event: "mesh-heartbeat".to_string(),
|
||||
event: "mesh".to_string(),
|
||||
})
|
||||
.inc();
|
||||
let event = match json {
|
||||
true => serde_json::from_slice(&p.payload)?,
|
||||
false => chirpstack_api::gw::MeshHeartbeat::decode(&mut Cursor::new(&p.payload))?,
|
||||
false => chirpstack_api::gw::MeshEvent::decode(p.payload.as_ref())?,
|
||||
};
|
||||
|
||||
tokio::spawn(uplink::mesh::MeshHeartbeat::handle(event));
|
||||
tokio::spawn(uplink::mesh::Mesh::handle(event));
|
||||
} else {
|
||||
return Err(anyhow!("Unknown event type"));
|
||||
}
|
||||
|
@ -27,6 +27,7 @@ pub struct Integration<'a> {
|
||||
templates: Handlebars<'a>,
|
||||
json: bool,
|
||||
url: String,
|
||||
exchange: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize)]
|
||||
@ -49,6 +50,7 @@ impl<'a> Integration<'a> {
|
||||
templates,
|
||||
url: conf.url.clone(),
|
||||
json: conf.json,
|
||||
exchange: conf.exchange.clone(),
|
||||
};
|
||||
i.connect().await?;
|
||||
|
||||
@ -90,7 +92,7 @@ impl<'a> Integration<'a> {
|
||||
.as_ref()
|
||||
.unwrap()
|
||||
.basic_publish(
|
||||
"amq.topic",
|
||||
&self.exchange,
|
||||
&routing_key,
|
||||
BasicPublishOptions::default(),
|
||||
b,
|
||||
|
@ -20,6 +20,7 @@ fn get_client() -> Client {
|
||||
.get_or_init(|| {
|
||||
Client::builder()
|
||||
.timeout(Duration::from_secs(5))
|
||||
.use_rustls_tls()
|
||||
.build()
|
||||
.unwrap()
|
||||
})
|
||||
|
@ -106,7 +106,7 @@ pub mod test {
|
||||
ch: 0,
|
||||
phy_payload: lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -53,7 +53,7 @@ pub mod test {
|
||||
ch: 0,
|
||||
phy_payload: lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -338,7 +338,7 @@ pub mod test {
|
||||
ch: 0,
|
||||
phy_payload: lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -77,7 +77,7 @@ pub mod test {
|
||||
ch: 0,
|
||||
phy_payload: lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -77,7 +77,7 @@ pub async fn handle_uplink(
|
||||
);
|
||||
|
||||
// Get pending mac-command block, this could return None.
|
||||
let pending = match mac_command::get_pending(&dev.dev_eui, cid).await {
|
||||
let pending = match mac_command::get_pending(dev.get_device_session_mut()?, cid).await {
|
||||
Ok(v) => v,
|
||||
Err(e) => {
|
||||
error!(dev_eui = %dev.dev_eui, cid = %cid, error = %e, "Get pending mac-command block error");
|
||||
@ -85,13 +85,6 @@ pub async fn handle_uplink(
|
||||
}
|
||||
};
|
||||
|
||||
// Delete the pending mac-command.
|
||||
if pending.is_some() {
|
||||
if let Err(e) = mac_command::delete_pending(&dev.dev_eui, cid).await {
|
||||
error!(dev_eui = %dev.dev_eui, cid = %cid, error = %e, "Delete pending mac-command error");
|
||||
}
|
||||
}
|
||||
|
||||
// Handle the mac-command, which might return a block to answer the uplink mac-command
|
||||
// request.
|
||||
let res = match handle(
|
||||
@ -182,7 +175,7 @@ pub mod test {
|
||||
ch: 0,
|
||||
phy_payload: lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -80,7 +80,7 @@ pub mod test {
|
||||
class_b_params: Some(fields::ClassBParams {
|
||||
ping_slot_dr: 2,
|
||||
ping_slot_freq: 868100000,
|
||||
ping_slot_nb_k: 1,
|
||||
ping_slot_periodicity: 6,
|
||||
timeout: 0,
|
||||
}),
|
||||
..Default::default()
|
||||
|
@ -327,6 +327,15 @@ pub async fn get_for_phypayload_and_incr_f_cnt_up(
|
||||
return Err(Error::InvalidPayload("MacPayload".to_string()));
|
||||
};
|
||||
|
||||
// We calculate the scheduler_run_after timestamp, such that we can update
|
||||
// it directly when updating the device-session (to update the frame-counter).
|
||||
// This way, we limit the risk of overlapping Class-A downlinks with Class-B / -C
|
||||
// downlinks.
|
||||
let conf = config::get();
|
||||
let scheduler_run_after = Utc::now()
|
||||
+ Duration::from_std(conf.network.scheduler.class_a_lock_duration)
|
||||
.map_err(anyhow::Error::new)?;
|
||||
|
||||
let mut c = get_async_db_conn().await?;
|
||||
|
||||
db_transaction::<ValidationStatus, Error, _>(&mut c, |c| {
|
||||
@ -427,10 +436,20 @@ pub async fn get_for_phypayload_and_incr_f_cnt_up(
|
||||
let ds_f_cnt_up = ds.f_cnt_up;
|
||||
ds.f_cnt_up = full_f_cnt + 1;
|
||||
|
||||
let _ = diesel::update(device::dsl::device.find(d.dev_eui))
|
||||
.set(device::device_session.eq(&ds.clone()))
|
||||
.execute(c)
|
||||
.await?;
|
||||
if scheduler_run_after > d.scheduler_run_after.unwrap_or_default() {
|
||||
let _ = diesel::update(device::dsl::device.find(d.dev_eui))
|
||||
.set((
|
||||
device::device_session.eq(&ds.clone()),
|
||||
device::scheduler_run_after.eq(&scheduler_run_after),
|
||||
))
|
||||
.execute(c)
|
||||
.await?;
|
||||
} else {
|
||||
let _ = diesel::update(device::dsl::device.find(d.dev_eui))
|
||||
.set(device::device_session.eq(&ds.clone()))
|
||||
.execute(c)
|
||||
.await?;
|
||||
}
|
||||
|
||||
// We do return the device-session with original frame-counter
|
||||
ds.f_cnt_up = ds_f_cnt_up;
|
||||
@ -711,17 +730,37 @@ pub async fn list(
|
||||
true => match order_by {
|
||||
OrderBy::Name => q.order_by(device::dsl::name.desc()),
|
||||
OrderBy::DevEui => q.order_by(device::dsl::dev_eui.desc()),
|
||||
OrderBy::LastSeenAt => q
|
||||
.order_by(device::dsl::last_seen_at.desc())
|
||||
.then_order_by(device::dsl::name),
|
||||
OrderBy::LastSeenAt => {
|
||||
#[cfg(feature = "postgres")]
|
||||
{
|
||||
q.order_by(device::dsl::last_seen_at.desc().nulls_last())
|
||||
.then_order_by(device::dsl::name)
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlite")]
|
||||
{
|
||||
q.order_by(device::dsl::last_seen_at.desc())
|
||||
.then_order_by(device::dsl::name)
|
||||
}
|
||||
}
|
||||
OrderBy::DeviceProfileName => q.order_by(device_profile::dsl::name.desc()),
|
||||
},
|
||||
false => match order_by {
|
||||
OrderBy::Name => q.order_by(device::dsl::name),
|
||||
OrderBy::DevEui => q.order_by(device::dsl::dev_eui),
|
||||
OrderBy::LastSeenAt => q
|
||||
.order_by(device::dsl::last_seen_at)
|
||||
.then_order_by(device::dsl::name),
|
||||
OrderBy::LastSeenAt => {
|
||||
#[cfg(feature = "postgres")]
|
||||
{
|
||||
q.order_by(device::dsl::last_seen_at.asc().nulls_first())
|
||||
.then_order_by(device::dsl::name)
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlite")]
|
||||
{
|
||||
q.order_by(device::dsl::last_seen_at.asc())
|
||||
.then_order_by(device::dsl::name)
|
||||
}
|
||||
}
|
||||
OrderBy::DeviceProfileName => q.order_by(device_profile::dsl::name),
|
||||
},
|
||||
};
|
||||
@ -1643,7 +1682,7 @@ pub mod test {
|
||||
println!("> {}", tst.name);
|
||||
let mut phy = lrwn::PhyPayload {
|
||||
mhdr: lrwn::MHDR {
|
||||
m_type: lrwn::MType::UnconfirmedDataUp,
|
||||
f_type: lrwn::FType::UnconfirmedDataUp,
|
||||
major: lrwn::Major::LoRaWANR1,
|
||||
},
|
||||
payload: lrwn::Payload::MACPayload(lrwn::MACPayload {
|
||||
|
@ -110,7 +110,7 @@ impl DeviceProfile {
|
||||
if let Some(class_b_params) = &self.class_b_params {
|
||||
ds.class_b_ping_slot_dr = class_b_params.ping_slot_dr as u32;
|
||||
ds.class_b_ping_slot_freq = class_b_params.ping_slot_freq;
|
||||
ds.class_b_ping_slot_nb = 1 << class_b_params.ping_slot_nb_k as u32;
|
||||
ds.class_b_ping_slot_nb = 1 << (7 - class_b_params.ping_slot_periodicity) as u32;
|
||||
}
|
||||
|
||||
if let Some(relay_params) = &self.relay_params {
|
||||
|
@ -37,7 +37,7 @@ pub struct DeviceProfileTemplate {
|
||||
pub supports_class_b: bool,
|
||||
pub supports_class_c: bool,
|
||||
pub class_b_timeout: i32,
|
||||
pub class_b_ping_slot_nb_k: i32,
|
||||
pub class_b_ping_slot_periodicity: i32,
|
||||
pub class_b_ping_slot_dr: i16,
|
||||
pub class_b_ping_slot_freq: i64,
|
||||
pub class_c_timeout: i32,
|
||||
@ -100,7 +100,7 @@ impl Default for DeviceProfileTemplate {
|
||||
supports_class_b: false,
|
||||
supports_class_c: false,
|
||||
class_b_timeout: 0,
|
||||
class_b_ping_slot_nb_k: 0,
|
||||
class_b_ping_slot_periodicity: 0,
|
||||
class_b_ping_slot_dr: 0,
|
||||
class_b_ping_slot_freq: 0,
|
||||
class_c_timeout: 0,
|
||||
@ -169,7 +169,8 @@ pub async fn upsert(dp: DeviceProfileTemplate) -> Result<DeviceProfileTemplate,
|
||||
device_profile_template::supports_class_b.eq(&dp.supports_class_b),
|
||||
device_profile_template::supports_class_c.eq(&dp.supports_class_c),
|
||||
device_profile_template::class_b_timeout.eq(&dp.class_b_timeout),
|
||||
device_profile_template::class_b_ping_slot_nb_k.eq(&dp.class_b_ping_slot_nb_k),
|
||||
device_profile_template::class_b_ping_slot_periodicity
|
||||
.eq(&dp.class_b_ping_slot_periodicity),
|
||||
device_profile_template::class_b_ping_slot_dr.eq(&dp.class_b_ping_slot_dr),
|
||||
device_profile_template::class_b_ping_slot_freq.eq(&dp.class_b_ping_slot_freq),
|
||||
device_profile_template::class_c_timeout.eq(&dp.class_c_timeout),
|
||||
@ -224,7 +225,8 @@ pub async fn update(dp: DeviceProfileTemplate) -> Result<DeviceProfileTemplate,
|
||||
device_profile_template::supports_class_b.eq(&dp.supports_class_b),
|
||||
device_profile_template::supports_class_c.eq(&dp.supports_class_c),
|
||||
device_profile_template::class_b_timeout.eq(&dp.class_b_timeout),
|
||||
device_profile_template::class_b_ping_slot_nb_k.eq(&dp.class_b_ping_slot_nb_k),
|
||||
device_profile_template::class_b_ping_slot_periodicity
|
||||
.eq(&dp.class_b_ping_slot_periodicity),
|
||||
device_profile_template::class_b_ping_slot_dr.eq(&dp.class_b_ping_slot_dr),
|
||||
device_profile_template::class_b_ping_slot_freq.eq(&dp.class_b_ping_slot_freq),
|
||||
device_profile_template::class_c_timeout.eq(&dp.class_c_timeout),
|
||||
|
@ -24,7 +24,10 @@ pub async fn save(df: &internal::DownlinkFrame) -> Result<()> {
|
||||
|
||||
pub async fn get_and_del(id: u32) -> Result<internal::DownlinkFrame, Error> {
|
||||
let key = redis_key(format!("frame:{}", id));
|
||||
let v: Vec<u8> = redis::cmd("GETDEL")
|
||||
let (v, _): (Vec<u8>, u8) = redis::pipe()
|
||||
.cmd("GET")
|
||||
.arg(key.clone())
|
||||
.cmd("DEL")
|
||||
.arg(key)
|
||||
.query_async(&mut get_async_redis_conn().await?)
|
||||
.await?;
|
||||
|
@ -61,7 +61,8 @@ impl serialize::ToSql<Text, Sqlite> for AbpParams {
|
||||
#[cfg_attr(feature = "sqlite", diesel(sql_type = Text))]
|
||||
pub struct ClassBParams {
|
||||
pub timeout: u16,
|
||||
pub ping_slot_nb_k: u8,
|
||||
#[serde(alias = "ping_slot_nb_k")]
|
||||
pub ping_slot_periodicity: u8,
|
||||
pub ping_slot_dr: u8,
|
||||
pub ping_slot_freq: u32,
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ pub struct FuotaDeployment {
|
||||
pub multicast_group_type: String,
|
||||
pub multicast_class_c_scheduling_type: fields::MulticastGroupSchedulingType,
|
||||
pub multicast_dr: i16,
|
||||
pub multicast_class_b_ping_slot_nb_k: i16,
|
||||
pub multicast_class_b_ping_slot_periodicity: i16,
|
||||
pub multicast_frequency: i64,
|
||||
pub multicast_timeout: i16,
|
||||
pub multicast_session_start: Option<DateTime<Utc>>,
|
||||
@ -68,7 +68,7 @@ impl Default for FuotaDeployment {
|
||||
multicast_group_type: "".into(),
|
||||
multicast_class_c_scheduling_type: fields::MulticastGroupSchedulingType::DELAY,
|
||||
multicast_dr: 0,
|
||||
multicast_class_b_ping_slot_nb_k: 0,
|
||||
multicast_class_b_ping_slot_periodicity: 0,
|
||||
multicast_frequency: 0,
|
||||
multicast_timeout: 0,
|
||||
multicast_session_start: None,
|
||||
@ -222,8 +222,8 @@ pub async fn update_deployment(d: FuotaDeployment) -> Result<FuotaDeployment, Er
|
||||
fuota_deployment::multicast_class_c_scheduling_type
|
||||
.eq(&d.multicast_class_c_scheduling_type),
|
||||
fuota_deployment::multicast_dr.eq(&d.multicast_dr),
|
||||
fuota_deployment::multicast_class_b_ping_slot_nb_k
|
||||
.eq(&d.multicast_class_b_ping_slot_nb_k),
|
||||
fuota_deployment::multicast_class_b_ping_slot_periodicity
|
||||
.eq(&d.multicast_class_b_ping_slot_periodicity),
|
||||
fuota_deployment::multicast_frequency.eq(&d.multicast_frequency),
|
||||
fuota_deployment::multicast_timeout.eq(&d.multicast_timeout),
|
||||
fuota_deployment::multicast_session_start.eq(&d.multicast_session_start),
|
||||
@ -765,7 +765,7 @@ pub fn get_multicast_timeout(d: &FuotaDeployment) -> Result<usize> {
|
||||
match d.multicast_group_type.as_ref() {
|
||||
"B" => {
|
||||
// Calculate number of ping-slots per beacon period.
|
||||
let nb_ping_slots = 1 << (d.multicast_class_b_ping_slot_nb_k as usize);
|
||||
let nb_ping_slots = 1 << (7 - d.multicast_class_b_ping_slot_periodicity as usize);
|
||||
|
||||
// Calculate number of beacon-periods needed.
|
||||
// One beacon period is added as the first ping-slot might be in the next beacon-period.
|
||||
@ -1221,7 +1221,7 @@ mod test {
|
||||
name: "Class-B - 1 / beacon period - 15 fragments".into(),
|
||||
deployment: FuotaDeployment {
|
||||
multicast_group_type: "B".into(),
|
||||
multicast_class_b_ping_slot_nb_k: 0,
|
||||
multicast_class_b_ping_slot_periodicity: 7,
|
||||
fragmentation_fragment_size: 10,
|
||||
fragmentation_redundancy_percentage: 50,
|
||||
payload: vec![0; 100],
|
||||
@ -1234,7 +1234,7 @@ mod test {
|
||||
name: "Class-B - 1 / beacon period - 16 fragments".into(),
|
||||
deployment: FuotaDeployment {
|
||||
multicast_group_type: "B".into(),
|
||||
multicast_class_b_ping_slot_nb_k: 0,
|
||||
multicast_class_b_ping_slot_periodicity: 7,
|
||||
fragmentation_fragment_size: 10,
|
||||
fragmentation_redundancy_percentage: 60,
|
||||
payload: vec![0; 100],
|
||||
@ -1247,7 +1247,7 @@ mod test {
|
||||
name: "Class-B - 16 / beacon period - 16 fragments".into(),
|
||||
deployment: FuotaDeployment {
|
||||
multicast_group_type: "B".into(),
|
||||
multicast_class_b_ping_slot_nb_k: 4,
|
||||
multicast_class_b_ping_slot_periodicity: 3,
|
||||
fragmentation_fragment_size: 10,
|
||||
fragmentation_redundancy_percentage: 60,
|
||||
payload: vec![0; 100],
|
||||
@ -1260,7 +1260,7 @@ mod test {
|
||||
name: "Class-B - 16 / beacon period - 17 fragments".into(),
|
||||
deployment: FuotaDeployment {
|
||||
multicast_group_type: "B".into(),
|
||||
multicast_class_b_ping_slot_nb_k: 4,
|
||||
multicast_class_b_ping_slot_periodicity: 3,
|
||||
fragmentation_fragment_size: 10,
|
||||
fragmentation_redundancy_percentage: 70,
|
||||
payload: vec![0; 100],
|
||||
|
@ -365,16 +365,36 @@ pub async fn list(
|
||||
true => match order_by {
|
||||
OrderBy::Name => q.order_by(gateway::dsl::name.desc()),
|
||||
OrderBy::GatewayId => q.order_by(gateway::dsl::gateway_id.desc()),
|
||||
OrderBy::LastSeenAt => q
|
||||
.order_by(gateway::dsl::last_seen_at.desc())
|
||||
.then_order_by(gateway::dsl::name),
|
||||
OrderBy::LastSeenAt => {
|
||||
#[cfg(feature = "postgres")]
|
||||
{
|
||||
q.order_by(gateway::dsl::last_seen_at.desc().nulls_last())
|
||||
.then_order_by(gateway::dsl::name)
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlite")]
|
||||
{
|
||||
q.order_by(gateway::dsl::last_seen_at.desc())
|
||||
.then_order_by(gateway::dsl::name)
|
||||
}
|
||||
}
|
||||
},
|
||||
false => match order_by {
|
||||
OrderBy::Name => q.order_by(gateway::dsl::name),
|
||||
OrderBy::GatewayId => q.order_by(gateway::dsl::gateway_id),
|
||||
OrderBy::LastSeenAt => q
|
||||
.order_by(gateway::dsl::last_seen_at)
|
||||
.then_order_by(gateway::dsl::name),
|
||||
OrderBy::LastSeenAt => {
|
||||
#[cfg(feature = "postgres")]
|
||||
{
|
||||
q.order_by(gateway::dsl::last_seen_at.asc().nulls_first())
|
||||
.then_order_by(gateway::dsl::name)
|
||||
}
|
||||
|
||||
#[cfg(feature = "sqlite")]
|
||||
{
|
||||
q.order_by(gateway::dsl::last_seen_at.asc())
|
||||
.then_order_by(gateway::dsl::name)
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@ -599,7 +619,7 @@ pub mod test {
|
||||
group_type: "C".into(),
|
||||
dr: 1,
|
||||
frequency: 868100000,
|
||||
class_b_ping_slot_nb_k: 1,
|
||||
class_b_ping_slot_periodicity: 1,
|
||||
..Default::default()
|
||||
})
|
||||
.await
|
||||
|
@ -1,34 +1,24 @@
|
||||
use anyhow::Result;
|
||||
use tracing::info;
|
||||
|
||||
use super::{get_async_redis_conn, redis_key};
|
||||
use crate::config;
|
||||
use lrwn::EUI64;
|
||||
use chirpstack_api::internal;
|
||||
|
||||
pub async fn set_pending(dev_eui: &EUI64, cid: lrwn::CID, set: &lrwn::MACCommandSet) -> Result<()> {
|
||||
let conf = config::get();
|
||||
|
||||
let key = redis_key(format!("device:{}:mac:pending:{}", dev_eui, cid.to_u8()));
|
||||
let ttl = conf.network.device_session_ttl.as_millis() as usize;
|
||||
pub fn set_pending(ds: &mut internal::DeviceSession, set: &lrwn::MACCommandSet) -> Result<()> {
|
||||
let cid = set.cid()?;
|
||||
let b = set.to_vec()?;
|
||||
|
||||
() = redis::cmd("PSETEX")
|
||||
.arg(key)
|
||||
.arg(ttl)
|
||||
.arg(b)
|
||||
.query_async(&mut get_async_redis_conn().await?)
|
||||
.await?;
|
||||
|
||||
info!(dev_eui = %dev_eui, cid = %cid, "Pending mac-command block set");
|
||||
ds.mac_command_pending.insert(cid.to_u8().into(), b);
|
||||
info!(cid = %cid, "Pending mac-command block set");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub async fn get_pending(dev_eui: &EUI64, cid: lrwn::CID) -> Result<Option<lrwn::MACCommandSet>> {
|
||||
let key = redis_key(format!("device:{}:mac:pending:{}", dev_eui, cid.to_u8()));
|
||||
let b: Vec<u8> = redis::cmd("GET")
|
||||
.arg(key)
|
||||
.query_async(&mut get_async_redis_conn().await?)
|
||||
.await?;
|
||||
pub async fn get_pending(
|
||||
ds: &mut internal::DeviceSession,
|
||||
cid: lrwn::CID,
|
||||
) -> Result<Option<lrwn::MACCommandSet>> {
|
||||
let b = ds
|
||||
.mac_command_pending
|
||||
.remove(&cid.to_u8().into())
|
||||
.unwrap_or_default();
|
||||
|
||||
let out = if !b.is_empty() {
|
||||
let mut mac = lrwn::MACCommandSet::from_slice(&b);
|
||||
@ -44,49 +34,3 @@ pub async fn get_pending(dev_eui: &EUI64, cid: lrwn::CID) -> Result<Option<lrwn:
|
||||
|
||||
Ok(out)
|
||||
}
|
||||
|
||||
pub async fn delete_pending(dev_eui: &EUI64, cid: lrwn::CID) -> Result<()> {
|
||||
let key = redis_key(format!("device:{}:mac:pending:{}", dev_eui, cid.to_u8()));
|
||||
|
||||
() = redis::cmd("DEL")
|
||||
.arg(key)
|
||||
.query_async(&mut get_async_redis_conn().await?)
|
||||
.await?;
|
||||
|
||||
info!(dev_eui = %dev_eui, cid = %cid, "Pending mac-command block deleted");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub mod test {
|
||||
use super::*;
|
||||
use crate::test;
|
||||
|
||||
#[tokio::test]
|
||||
async fn test_mac_command() {
|
||||
let _guard = test::prepare().await;
|
||||
|
||||
let dev_eui = EUI64::from_be_bytes([1, 2, 3, 4, 5, 6, 7, 8]);
|
||||
let mac = lrwn::MACCommandSet::new(vec![lrwn::MACCommand::DevStatusReq]);
|
||||
|
||||
// set
|
||||
set_pending(&dev_eui, lrwn::CID::DevStatusReq, &mac)
|
||||
.await
|
||||
.unwrap();
|
||||
|
||||
// get
|
||||
let mac_get = get_pending(&dev_eui, lrwn::CID::DevStatusReq)
|
||||
.await
|
||||
.unwrap();
|
||||
assert_eq!(mac, mac_get.unwrap());
|
||||
|
||||
// delete
|
||||
delete_pending(&dev_eui, lrwn::CID::DevStatusReq)
|
||||
.await
|
||||
.unwrap();
|
||||
let resp = get_pending(&dev_eui, lrwn::CID::DevStatusReq)
|
||||
.await
|
||||
.unwrap();
|
||||
assert!(resp.is_none());
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user