Compare commits

...

332 Commits

Author SHA1 Message Date
295cd5e4b1 Bump version to 4.5.0-test.1 2023-09-04 15:06:38 +01:00
76858bd610 ui: Update dependencies. 2023-09-04 14:29:23 +01:00
81df990fd0 Bump redis from 0.23.1 to 0.23.3 (#269)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.23.1 to 0.23.3.
- [Release notes](https://github.com/redis-rs/redis-rs/releases)
- [Commits](https://github.com/redis-rs/redis-rs/compare/redis-0.23.1...redis-0.23.3)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 14:12:06 +01:00
ee0597f500 lrwn: Fix compiler warnings. 2023-09-04 14:11:05 +01:00
570a1fb07b chirpstack: Fix compiler warnings. 2023-09-04 14:10:55 +01:00
cd57929b43 Update dependencies. 2023-09-04 14:10:27 +01:00
2bc2dde0ba Fix resolver version warning. 2023-09-04 13:27:08 +01:00
5b8ff67016 Update Rust toolchain version. 2023-09-04 13:26:50 +01:00
be035f16b5 chirpstack: add rediss:// config example.
See #219.
2023-09-04 10:56:53 +01:00
582cf9f257 chirpstack: Do not set empty username / password in MQTT.
Closes #257.
2023-08-10 13:44:14 +01:00
d15a180a39 examples: Bump google.golang.org/grpc in /examples/frame_log/go (#227)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.45.0 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.45.0...v1.53.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 13:32:12 +01:00
85864be5ed examples: Bump google.golang.org/grpc in /examples/request_log/go (#228)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.45.0 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.45.0...v1.53.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-08 13:31:53 +01:00
d3b2d6a824 chirpstack: Update rdkafka dependency. 2023-08-08 13:29:42 +01:00
582df0dc8f api: Update js dependencies. 2023-08-08 12:22:45 +01:00
5ce2b636ca api: Update grpc-web dependencies. 2023-08-08 12:17:58 +01:00
cc5b27f299 ui: Update dependencies. 2023-08-08 12:07:29 +01:00
443d3a4db9 api: Update Go gRPC dependencies + generate code. 2023-08-08 11:59:51 +01:00
e2d82134de Update dependencies. 2023-08-08 11:53:56 +01:00
8f40b6dca3 Fix ADR plugin variable mapping (maxRr > maxDr) (#256) 2023-08-07 14:24:11 +01:00
ae8c732895 Send CtrlUplinkAction=1 for deleted Relay devices. 2023-08-01 14:39:48 +01:00
4359e90613 Implement removing device from Relay filter list. 2023-07-31 16:00:08 +01:00
050610de55 Fix clippy warnings. 2023-07-31 12:58:14 +01:00
a433c7dd14 Cleanup dead code warnings. 2023-07-31 11:49:45 +01:00
dac4f15f40 Fix showing initial InfluxDB integration form.
Closes #254.
2023-07-31 10:51:23 +01:00
651fcfce43 Fix gRPC stream handling after UI refactor.
This moves the onMessage handler out of useEffect and it fixes
appending the the array. The .unshift() method does not work
well using React.useState. It would prepend, but since it would not
change the array (it adds an item to the array), the update would
not propagate.
2023-07-27 16:39:29 +01:00
6f1638e87a Refactor UI to function elements & update React + Ant.
This refactor the UI components from class based element into function
based elements. This makes it possible to use hooks that are used now
by most React components. This also updates React and Ant to the latest
versions (+ other dependencies).
2023-07-27 13:07:00 +01:00
afc196095d Make it possible to use DeviceModeInd for LW 1.0.x devices.
This change makes it possible to use the DeviceModeInd mac-command to
switch between Class-A / C for LoRaWAN 1.0.x devices. In such a case the
Supports Class-C would be disabled for LoRaWAN 1.0.x devices, meaning
that on OTAA the device is marked as Class-A. If the device then sends a
DeviceModeInd mac-command, this will cause the to be marked as
Class-C, event.

This was (unintentionally) possible in v3, but this part of the Class-B
beacon locked code would prevent to make the same work in v4.
2023-07-26 12:01:52 +01:00
7ff12f5ae7 Bump version to 4.4.3 2023-07-24 11:54:31 +01:00
a28d29deb9 Do not disable activation fields.
It prevents showing and copying the keys etc.
2023-07-19 11:49:20 +01:00
f930bd6b96 Wait for first uplink for Class-C scheduling. 2023-07-19 11:27:55 +01:00
f66186bb7b Bump version to 4.4.2 2023-07-14 10:56:00 +01:00
3f8f746dc5 Fix sending multiple FilterListReq mac-commands. 2023-07-13 12:26:03 +01:00
57ab993a88 Update dependencies. 2023-07-13 11:39:20 +01:00
a975cf3223 Add create-api-key sub-command.
This makes is possible to create a global API key (programmatically)
using the CLI.

Fixes https://github.com/chirpstack/chirpstack-rest-api/issues/12.
2023-07-13 11:10:32 +01:00
9d543603d5 Bump version to 4.4.1 2023-07-05 11:18:51 +01:00
e9be79e948 Set TZ correctly before running tests. 2023-07-05 11:06:36 +01:00
0c9e22d255 Add missing adr_plugins setting to config template. 2023-07-04 16:15:45 +01:00
4031c5cb95 Fix sending channel-mask twice for US915 (like). 2023-07-03 12:27:26 +01:00
258e103f22 Update dependencies. 2023-07-03 10:07:03 +01:00
3aa8bdbecc Add support for JSON log output. 2023-06-29 13:17:28 +01:00
96767e954f Update rquickjs dependency. 2023-06-27 09:46:17 +01:00
407ebd2d3f Bump version to 4.4.0 2023-06-26 12:05:45 +00:00
b263b86675 Add feature-flags to exclude some integration tests.
This reduces the number of external services that must be running to
succesful run 'cargo test'. In this case one the requirements that
ChirpStack has must be present and there is no need to run local
Kafka and RabbitMQ instances.

These integrations can still be tested using the 'test-all-integrations'
feature flag (which is included in the CI workflow).
2023-06-26 12:44:22 +01:00
2184e4eaa5 Update dependencies. 2023-06-26 12:04:08 +01:00
46f22dba2e Reverse OTAA dev-nonce and mic validations.
The dev-nonce validation updates the used dev-nonces in the database.
Therefore, we should first check the MIC. This also removes the
ctx.save_device_keys step, and puts the join-nonce increment in the
device_keys::validate_incr_... function, reducing the SQL queries by one.
2023-06-26 11:55:21 +01:00
087a27f904 Re-generate API code. 2023-06-14 13:13:13 +01:00
ba7b262323 Change enabled_class > class_enabled for consistency. 2023-06-14 13:13:13 +01:00
6480b3bbd5 Add enabled class to DeviceInfo in events. 2023-06-14 13:13:13 +01:00
d6d735cb03 Allow using system certificate store for TLS (#204)
Co-authored-by: Markus Siemens <markus.siemens@vivavis.com>
2023-06-14 13:04:38 +01:00
a1a34abaf7 Refactor device enabled_class to enum + expose in API. 2023-06-14 11:17:04 +01:00
fd29f4190b Update dependencies. 2023-06-13 14:50:14 +01:00
11af89ac40 Update javascript api readme (#202) 2023-06-13 14:15:15 +01:00
318f097344 Fix CN470 ping-slot frequencies + add comments.
The frequency-hopping ping-slots are equal to the beacon frequencys.
With the US915 and AU915 channels using the Class-A downlink
channels as beacon-frequencies, this was wrongly implemented in the
same way, but in case of CN470 the beacon-frequencies are not equal
to the Class-A downlink frequencies.
2023-06-09 09:24:06 +01:00
a284a8179e Update shell.nix. 2023-06-05 12:35:00 +01:00
da3e6c8cde Fix incorrect config template key. 2023-06-03 13:13:46 +01:00
0e91779f30 Update README + remove Vagrantfile. 2023-05-31 12:11:48 +01:00
3f77203516 Bump version to 4.4.0-test.1 2023-05-30 14:08:45 +00:00
28e940d2b7 Update api generated code. 2023-05-30 14:51:15 +01:00
ca666da016 Bump aws-sdk-sns from 0.27.0 to 0.28.0 (#187)
Bumps [aws-sdk-sns](https://github.com/awslabs/aws-sdk-rust) from 0.27.0 to 0.28.0.
- [Release notes](https://github.com/awslabs/aws-sdk-rust/releases)
- [Changelog](https://github.com/awslabs/aws-sdk-rust/blob/main/CHANGELOG.md)
- [Commits](https://github.com/awslabs/aws-sdk-rust/commits)

---
updated-dependencies:
- dependency-name: aws-sdk-sns
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-30 14:32:27 +01:00
b89221a932 Update dependencies + Diesel related changes. 2023-05-30 12:42:42 +00:00
2a88f45123 UI menu grammar & typo fixes. (#186)
Closes #185.
2023-05-30 12:22:16 +01:00
cf5ef8d061 Update README and Makefiles. 2023-05-30 12:13:52 +01:00
b0148da1bf Add Vagrantfile example. 2023-05-30 12:13:52 +01:00
e7dc3beafa Update dist workflow. 2023-05-30 12:13:52 +01:00
4f90c87784 Add dotenv for test dependency config. 2023-05-30 12:13:52 +01:00
c0d4270508 Update test workflow. 2023-05-30 12:13:52 +01:00
1f89f30878 Refactor build scripts for cross-rs based cross compiling. 2023-05-30 12:13:52 +01:00
cd3594fd96 Implement fully static ARMv7 build. 2023-05-30 12:13:52 +01:00
a162d04136 Implement fully static ARM64 build. 2023-05-30 12:13:52 +01:00
de114d5d22 Implement fully static AMD64 build. 2023-05-30 12:13:52 +01:00
9e15c48217 Add missing device search filter. 2023-05-29 16:26:03 +01:00
93ae75e3fa Update aws-sdk-sns dependency. 2023-05-22 12:59:09 +01:00
cf06e07654 Update dependencies. 2023-05-22 11:53:00 +01:00
cefe61072d Initial Relay support implementation (TS011).
Closes #59.
2023-05-22 11:04:13 +01:00
513aa7804d Add event prefix + arbitrary JSON options for IFTTT. 2023-05-19 14:43:39 +01:00
5146c87940 Fix netid_type method.
It would panic in case all bits are set (which would be
an invalid DevAddr prefix type).
2023-05-17 15:12:19 +01:00
e3383baa02 Add rust-toolchain.toml + shell.nix files.
This makes it easier to start a devshell without using Docker.
2023-05-17 14:46:13 +01:00
f32c5eb5af Bump lrwn_filters version. 2023-04-27 16:00:49 +01:00
f513cacab5 Add Clone and Copy derive to Prefix types. 2023-04-27 15:58:57 +01:00
cfadb9c78a Validate prefix size. 2023-04-27 14:25:35 +01:00
21896e65d7 Add crate for PhyPayload filtering.
This can be used by the ChirpStack UDP and MQTT Forwarder.

See also:
https://github.com/chirpstack/chirpstack-mqtt-forwarder/issues/25
2023-04-27 12:51:33 +01:00
0679f10fad Add feature flags to lrwn crate.
This avoids pulling and building unnecessary dependencies for simple
use-cases.
2023-04-27 10:37:34 +01:00
08d69502de Bump version to 4.3.2 2023-04-26 13:02:10 +01:00
683f59c063 Update Rust API dependencies. 2023-04-26 12:36:10 +01:00
0ef9f16f40 Re-enable v4_migrate option for now. 2023-04-26 12:27:12 +01:00
a5dd650510 Update dependencies. 2023-04-26 12:04:54 +01:00
de90b7d284 Enable redis tls-rustls feature.
Fixes #170.
2023-04-26 11:58:59 +01:00
fe0ef398ec Format Cargo.toml 2023-04-26 11:56:27 +01:00
58bd8eb5b4 Fix Rust fmt error. 2023-04-26 11:52:50 +01:00
0a294e41b5 Fix clippy feedback. 2023-04-13 22:06:44 +01:00
f71d30ca83 Re-implement frame and event download option. 2023-04-12 14:50:33 +01:00
ef0a97ab3d Log .send() error, rather than returning.
Closes https://github.com/chirpstack/chirpstack-docker/issues/80.
2023-04-11 15:10:08 +01:00
e93d3bc534 Update AWS SNS SDK crate. 2023-04-11 14:57:03 +01:00
31e359b314 Disable v3-v4 GW<>NS message migration and make config option.
By making this opt-in, we can reduce the overhead of supporting both v3
and v4 gateway messages. In case of v3 to v4 migration, one would
upgrade all ChirpStack Gateway Bridge instances to the latest v3
version, migrate ChirpStack as described here + enable this config flag:
https://www.chirpstack.io/docs/v3-v4-migration.html

Then upgrade ChirpStack Gateway Bridge to the latest v4 version followed
by disabling / removing this config flag (`v4_migrate`) again.
2023-04-11 14:19:07 +01:00
0a3fcaeb2d Bump version to 4.3.1 2023-04-10 12:24:52 +01:00
77051e8956 Update Rust API Cargo.lock. 2023-04-10 12:08:12 +01:00
3a9cb20c03 Update Dockerfiles. 2023-04-10 11:32:18 +01:00
1b96b4f91f Update caniuse-lite (ui). 2023-04-10 11:31:44 +01:00
101b155d91 Update dependencies. 2023-04-10 11:10:52 +01:00
3f4c262267 Bump webpack from 5.72.0 to 5.76.3 in /ui (#150)
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.0 to 5.76.3.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.72.0...v5.76.3)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-10 10:14:19 +01:00
88939d4396 Update LoRa Cloud integration logo. 2023-04-06 16:27:43 +01:00
269b7f4d9d Fix gnss_assist_position enable toggle for gnss msg. 2023-04-06 16:26:45 +01:00
0ce60b789f Remove unused dependencies. 2023-03-28 22:11:06 +01:00
8fe0c7c6c2 Improve Rust SDK build flags / reduce dependencies.
This reduces the amount of dependencies in case not all features are
being used. E.g. tonic is only needed if using gRPC and pbjson,
pbjson-types and serde are only needed if using the JSON serialization.
2023-03-28 21:11:54 +01:00
4917de2b32 Earlier db initialization + change unwrap for error.
Closes #147.
2023-03-28 14:05:39 +01:00
d81af6b607 Bump dns-packet from 5.3.1 to 5.4.0 in /ui (#136)
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 5.3.1 to 5.4.0.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v5.3.1...5.4.0)

---
updated-dependencies:
- dependency-name: dns-packet
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-28 13:43:18 +01:00
cb6ac27ba4 Update dependencies. 2023-03-28 13:41:20 +01:00
1430c30ab3 Make using gateway location optional (LoRa Cloud). 2023-03-28 13:11:49 +01:00
cb49afeb01 Update LoRa Cloud form label. 2023-03-23 11:38:34 +00:00
9ba826963c Let serde use defaults for LoraCloudModemGeolocationServices.
This lets serde use default values in case a field is missing.
Specifically, this fixes the 'missing field `forward_f_ports`'
if migrating from an older LoRa Cloud configuration where the
`forward_f_ports` field was not yet present.
2023-03-23 11:01:35 +00:00
1f7fcc139d Update application.proto (#143) 2023-03-16 14:58:27 +00:00
8a496d9019 Fix Python README.
Closes #141.
2023-03-09 09:32:11 +00:00
ef97eccf62 Update LoRa Cloud integration. 2023-03-08 17:01:11 +00:00
50f8093c07 Bump version to 4.3.0 2023-03-08 09:20:50 +00:00
eaad8586a1 Bump version to 4.3.0-test.3 2023-03-02 14:32:56 +00:00
43567ccfd2 Show fcnt in event log.
Closes #121.
2023-03-02 13:40:06 +00:00
ddea09d9d4 Decode frm_payload mac-commands in device frame log. 2023-03-02 12:21:42 +00:00
9ab059a552 Fix disabling mac-commands. 2023-03-02 09:19:36 +00:00
4b41893f42 Bump version to 4.3.0-test.2 2023-02-28 12:07:16 +00:00
1d9caaef46 Bump golang.org/x/net in /examples/frame_log/go (#130)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20210428140749-89ef3d95e781 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:50:31 +00:00
c5fc87e29b Bump golang.org/x/net in /examples/request_log/go (#129)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20210428140749-89ef3d95e781 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:50:21 +00:00
e60aafc553 Bump golang.org/x/text from 0.3.6 to 0.3.8 in /examples/frame_log/go (#126)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.6 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.6...v0.3.8)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:47:34 +00:00
40e22647d5 Bump golang.org/x/text from 0.3.6 to 0.3.8 in /examples/request_log/go (#127)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.3.6 to 0.3.8.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.3.6...v0.3.8)

---
updated-dependencies:
- dependency-name: golang.org/x/text
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:47:15 +00:00
1d4de3bd7f Update dependencies (cargo update). 2023-02-28 11:45:39 +00:00
de6054c45a Remove tls_enabled as this config option is not actually used.
Closes #128.
2023-02-28 11:45:39 +00:00
0dd67702aa Bump golang.org/x/sys in /examples/frame_log/go (#131)
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.0.0-20211216021012-1d35b9e2eb4e to 0.1.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/commits/v0.1.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:38:43 +00:00
3a851abf3b Bump golang.org/x/sys in /examples/request_log/go (#132)
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.0.0-20211216021012-1d35b9e2eb4e to 0.1.0.
- [Release notes](https://github.com/golang/sys/releases)
- [Commits](https://github.com/golang/sys/commits/v0.1.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 11:38:37 +00:00
ed1c84e0f1 To not log stats handing NotFound error if allow_unknown_gateways.
In this case it is expected that (some) gateways can't be found in the
database.
2023-02-28 11:33:58 +00:00
a76a198ec6 Do not overwrite RxInfo location if it is already set. 2023-02-28 10:39:25 +00:00
3db01e66c0 Bump version to 4.3.0-test.1 2023-02-24 11:59:12 +00:00
f71cea7716 Fix configfile command template (#124)
The template was not rendering integration.mqtt.client.ca_key  and  integration.mqtt.client.ca_cert correctly.
2023-02-22 13:19:47 +00:00
a3c1638c75 Fix region config defaults + use region id if description is missing.
In case the region description was missing, EU868 was set as default. As
well the default configuration (in case no regions were set) would
always fallback to EU868 which was used for testing. This removes the
default EU868 configuration and moves this configuration to tests.

This updates the region API methods to use the region id as description,
in case the description is not configured.

Closes #120.
2023-02-20 11:01:08 +00:00
c568586281 Fix test after adding f_port validation. 2023-02-15 12:19:32 +00:00
6f10bd907e Add missing validation to avoid multicast enqueue on fPort=0. 2023-02-15 12:15:04 +00:00
0126286f75 Add missing validation to avoid enqueue on fPort=0. 2023-02-15 12:04:11 +00:00
ce0df4b723 Run cargo update. 2023-02-14 14:47:59 +00:00
fcdc432812 Update US902-928 to right Downlink MinDR according to RP2-1.0.3 (#115)
RP2-1.0.3 defines that the MinDR for US902-928 is 8 (SF12BW500) not 10 (SF10BW500)
2023-02-14 14:37:23 +00:00
eda5753bb9 Improve error messages. Fix gateway_id is missing ... errors.
The error would occur when the uplink was also received by an unknown
gateway. In this case fetching the metadata for this gateway would fail,
causing the gateway_private_up and _down not to be populated with the
gateway_id.
2023-02-14 14:32:49 +00:00
f776dd3898 Split private gateways under tenant in uplink / downlink.
This makes it possible to share uplink data with other tenants, but do
not allow other tenants to use these gateways for downlinks.
2023-02-14 13:41:22 +00:00
d3defb7dff Fix auth when listing adr algorithms using api key.
Closes #112.
2023-02-10 11:23:35 +00:00
154c4cde38 Commit generated C# API code. 2023-02-09 15:29:40 +00:00
f657c3e971 Implement adding gws to multicast-group + Class-C scheduling config.
This makes it possible to add gateways to a multicast-group, which in
case configured will always be used for transmitting the multicast
downlinks.

This also moves the multicast class-c scheduling to the multicast-group
configuration. Options are delay between multiple gateways, or GPS time
synchronized transmission.
2023-02-09 15:29:23 +00:00
8d34bb0d0c Remove usage of deprecated date() method.
As the date_naive() method (recommended replacement for date()) does not
contain tz information, we need to add it back using
and_local_timezone().
2023-02-06 12:34:15 +00:00
5953542a72 Update dependencies. 2023-02-06 12:23:44 +00:00
38e79563ca Bump handlebars from 4.3.4 to 4.3.6 (#102)
Bumps [handlebars](https://github.com/sunng87/handlebars-rust) from 4.3.4 to 4.3.6.
- [Release notes](https://github.com/sunng87/handlebars-rust/releases)
- [Changelog](https://github.com/sunng87/handlebars-rust/blob/v4.3.6/CHANGELOG.md)
- [Commits](https://github.com/sunng87/handlebars-rust/compare/v4.3.4...v4.3.6)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 11:07:58 +00:00
7ebd930324 Bump tower-http from 0.3.4 to 0.3.5 (#103)
Bumps [tower-http](https://github.com/tower-rs/tower-http) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/tower-rs/tower-http/releases)
- [Commits](https://github.com/tower-rs/tower-http/compare/tower-http-0.3.4...tower-http-0.3.5)

---
updated-dependencies:
- dependency-name: tower-http
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 11:07:43 +00:00
3cb4f3d7f2 Bump redis from 0.21.6 to 0.22.3 (#104)
Bumps [redis](https://github.com/redis-rs/redis-rs) from 0.21.6 to 0.22.3.
- [Release notes](https://github.com/redis-rs/redis-rs/releases)
- [Commits](https://github.com/redis-rs/redis-rs/compare/0.21.6...redis-0.22.3)

---
updated-dependencies:
- dependency-name: redis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 11:07:30 +00:00
22d2cc3f20 Bump serde_yaml from 0.9.13 to 0.9.17 (#105)
Bumps [serde_yaml](https://github.com/dtolnay/serde-yaml) from 0.9.13 to 0.9.17.
- [Release notes](https://github.com/dtolnay/serde-yaml/releases)
- [Commits](https://github.com/dtolnay/serde-yaml/compare/0.9.13...0.9.17)

---
updated-dependencies:
- dependency-name: serde_yaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 11:06:41 +00:00
256cde5b14 Bump warp from 0.3.2 to 0.3.3 (#106)
Bumps [warp](https://github.com/seanmonstar/warp) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/seanmonstar/warp/releases)
- [Changelog](https://github.com/seanmonstar/warp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/warp/compare/v0.3.2...v0.3.3)

---
updated-dependencies:
- dependency-name: warp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 11:06:22 +00:00
837e13a586 Adds C# builds and namespaces (#100)
Co-authored-by: Max Reble <max.reble@aco.com>
2023-01-31 18:29:21 +00:00
81ce56a9a0 Implement get_downlink_data_delay config.
This config option was present in v3 to set a delay before starting the
downlink flow (Class-A) so that an end-application can enqueue a
downlink to be used within the same uplink / downlink transaction.
However, this option was still missing in v4.
2023-01-31 11:28:18 +00:00
7c35fff849 Fix multcast > multicast typo. 2023-01-31 08:41:31 +00:00
66290b9eeb Update README. 2023-01-26 15:32:01 +00:00
aa09d23492 Create FUNDING.yml 2023-01-24 15:11:28 +00:00
1d2f627bbb Bump version to 4.2.0 2023-01-24 12:23:44 +00:00
54815f03ca Reset channels to default on AdrAckReq uplink.
As part of the ADR back-off, the device will eventually revert to the
default channel-plan but there is no explicit signalling if this
happened.

This might cause some small overhead in case the device did not (yet)
revert to the default channel-mask, but it avoids scenarios where the
device and NS are out-of-sync.
2023-01-24 09:46:31 +00:00
20b454d519 Fix not recording device-metrics if auto-detect is disabled.
Fixes #94.
2023-01-23 15:28:31 +00:00
69d3169eac Bump bumpalo from 3.11.0 to 3.12.0 (#95)
Bumps [bumpalo](https://github.com/fitzgen/bumpalo) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/fitzgen/bumpalo/releases)
- [Changelog](https://github.com/fitzgen/bumpalo/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fitzgen/bumpalo/compare/3.11.0...3.12.0)

---
updated-dependencies:
- dependency-name: bumpalo
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:50:14 +00:00
7c68500e81 Bump paho-mqtt from 0.11.1 to 0.12.0 (#96)
Bumps [paho-mqtt](https://github.com/eclipse/paho.mqtt.rust) from 0.11.1 to 0.12.0.
- [Release notes](https://github.com/eclipse/paho.mqtt.rust/releases)
- [Changelog](https://github.com/eclipse/paho.mqtt.rust/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eclipse/paho.mqtt.rust/compare/v0.11.1...v0.12.0)

---
updated-dependencies:
- dependency-name: paho-mqtt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:50:05 +00:00
25f1b224f7 Bump tokio from 1.23.1 to 1.24.2 (#97)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.23.1 to 1.24.2.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/commits)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:49:56 +00:00
cdb92d6772 Bump async-trait from 0.1.61 to 0.1.63 (#98)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.61 to 0.1.63.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.61...0.1.63)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:49:46 +00:00
fb73e09337 Bump serde_json from 1.0.85 to 1.0.91 (#99)
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.85 to 1.0.91.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.85...v1.0.91)

---
updated-dependencies:
- dependency-name: serde_json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:49:34 +00:00
a36d323f2b Migrate to topic prefix instead of individual topic config.
This makes the configuration easier, as well if new topics are added in
the future, there is no need to update all the configuration files
again to add the missing topic configuration.
2023-01-19 12:01:20 +00:00
b6209d760e Bump version to 4.2.0-test.1 2023-01-16 11:14:05 +00:00
e850d74d60 Bump openidconnect from 2.3.2 to 2.5.0 (#92)
Bumps [openidconnect](https://github.com/ramosbugs/openidconnect-rs) from 2.3.2 to 2.5.0.
- [Release notes](https://github.com/ramosbugs/openidconnect-rs/releases)
- [Commits](https://github.com/ramosbugs/openidconnect-rs/compare/2.3.2...2.5.0)

---
updated-dependencies:
- dependency-name: openidconnect
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 09:51:02 +00:00
74c9c85bab Bump async-trait from 0.1.57 to 0.1.61 (#90)
Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.57 to 0.1.61.
- [Release notes](https://github.com/dtolnay/async-trait/releases)
- [Commits](https://github.com/dtolnay/async-trait/compare/0.1.57...0.1.61)

---
updated-dependencies:
- dependency-name: async-trait
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 09:50:22 +00:00
8c2610e577 Bump serde from 1.0.145 to 1.0.152 (#89)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.145 to 1.0.152.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.145...v1.0.152)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 09:50:10 +00:00
d8f2b97d03 Bump prost-types from 0.11.1 to 0.11.6 (#88)
Bumps [prost-types](https://github.com/tokio-rs/prost) from 0.11.1 to 0.11.6.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Commits](https://github.com/tokio-rs/prost/compare/prost-types-0.11.1...v0.11.6)

---
updated-dependencies:
- dependency-name: prost-types
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 09:49:53 +00:00
0e1cdf1e17 Fix typo in 'Every 128 seconds' option value. 2023-01-13 10:32:28 +00:00
ef93445bc9 Update class-b ping-slot data-rate config examples. 2023-01-12 16:38:03 +00:00
24d9b6db54 Add Class-B ping-slot parameters back to device-profile UI.
The device might not always send its periodicity to the network-server
(using mac-commands). As well there is some ambiguity about the default
ping-slot data-rates. While the Regional Parameters Specification
defines the default beacon data-rates, it only defines the default
ping-slot frequency for Class-B.

This also changes the API field from class_b_ping_slot_period to
class_b_ping_slot_nb_k, where ..._k must be between 0 - 7 as defined by
the LoRaWAN Specification. This removes some ambiguity as 'period' could
mean different things in different contexts.
2023-01-12 14:41:42 +00:00
10371e66a2 Update tonic-web to v0.5.0. 2023-01-11 12:38:05 +00:00
a2a0d59982 Bump hyper from 0.14.20 to 0.14.23 (#86)
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.20 to 0.14.23.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/v0.14.23/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.20...v0.14.23)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 12:12:24 +00:00
8a14808434 Bump tracing-subscriber from 0.3.15 to 0.3.16 (#85)
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.15 to 0.3.16.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.15...tracing-subscriber-0.3.16)

---
updated-dependencies:
- dependency-name: tracing-subscriber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 12:12:12 +00:00
5b6d5c00e2 Bump diesel from 2.0.0 to 2.0.2 (#84)
Bumps [diesel](https://github.com/diesel-rs/diesel) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/diesel-rs/diesel/releases)
- [Changelog](https://github.com/diesel-rs/diesel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/diesel-rs/diesel/compare/v2.0.0...v2.0.2)

---
updated-dependencies:
- dependency-name: diesel
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 12:11:56 +00:00
5cf1a486b3 Bump anyhow from 1.0.65 to 1.0.68 (#83)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.65 to 1.0.68.
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.68)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 12:11:16 +00:00
2759eebad5 Cleanup commented out config. 2023-01-11 11:26:54 +00:00
e256c70bc7 Bump decode-uri-component from 0.2.0 to 0.2.2 in /ui (#80)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 11:25:49 +00:00
add5bb9f06 Create dependabot.yml 2023-01-11 11:22:18 +00:00
e57748087c Add back crc_status to UplinkRxInfo.
This is needed for implementing
https://github.com/chirpstack/chirpstack-concentratord/issues/29.
2023-01-11 11:13:47 +00:00
1ebf5e7179 Bump tokio from 1.21.1 to 1.23.1 in /api/rust (#81)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.1 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.1...tokio-1.23.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 11:07:34 +00:00
9f3a76f5fb Add --pyi_out flag to generate Python type information.
Closes #68.
2023-01-11 11:01:55 +00:00
438d120fb0 Make gateway state consistent + make stats interval configurable.
This:

* Makes the gateway stats interval configurable (default 30 sec)
* Adds GatewayState type (NEVER_SEEN, OFFLINE, ONLINE)
* Adds gateway state to gateway lists
* Fixes dashboard inconsistencies

Closes #76.
2023-01-11 10:51:53 +00:00
d065df2805 Bump json5 from 1.0.1 to 1.0.2 in /ui (#79)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 10:50:06 +00:00
85a064ea5b Bump tokio from 1.21.1 to 1.23.1 (#78)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.21.1 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.21.1...tokio-1.23.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 10:49:32 +00:00
687c3f21ec Add missing <Admin> block around Delete device + format code.
The <Admin> block hides components when the user doesn't have sufficient
permissions to perform an UI action. Without this the 'Delete device'
button was visible, but on click, the user would be redirect to the
login page due to permission issues (API).

Fixes #71.
2023-01-10 16:50:13 +00:00
ac30f68d85 Update .gitignore + re-generate API. 2023-01-10 15:57:06 +00:00
74b5d1a7ca Protobuf Java and Kotlin code generation. (#64)
Co-authored-by: Stian Brandt <stian.brandt@it-smurfan.no>
2023-01-10 15:46:04 +00:00
b24ca28adb Fix java_outer_classname for request_log.proto.
See #64.
2023-01-10 15:43:21 +00:00
e5e0514d9f Fix regions regex (UI). 2023-01-09 13:28:08 +00:00
02d66b8a5d Reset registered regions on setup call.
This ensures that each test will reset the regions hashmap.
2023-01-09 13:24:28 +00:00
e78dac316a Fix region config id in gateway list + add link to region. 2023-01-09 12:22:27 +00:00
103e4298fb Add device-profile option to configure region configuration.
By selecting a region configuration, devices using the device-profile
will only stick to the selected region configuration, rather than the
configurations provided by the selected region common-name.

This change also renames the region 'name' option to 'id' in the region
configuration, as well it adds a 'description' to provide a human
readable description, which is used in the drop-down in the UI.

This also fixes the JS API generation. In a previous commit the the
protobuf package was updated, but the latest protobuf compiler no longer
supports generating JS code (this now requires an external plugin). This
has been fixed.

Please note that if you have implemented custom ADR algorithms that are
referring to the 'regionName' key, that you must change this to
'regionConfigId' (see the ADR code example).
2023-01-09 12:04:10 +00:00
6016159c86 Change a.get_ideal_... to Algorithm::get_ideal_...
In the previous change, this method was changed to an associated
function.
2023-01-09 09:49:08 +00:00
0193d783b0 Fix clippy feedback in chirpstack crate. 2023-01-07 20:02:05 +00:00
cee3dd8d9c Fix clippy feedback in lrwn crate. 2023-01-07 19:56:07 +00:00
e6fb1a5bc1 Fix clippy feedback in backend crate. 2023-01-07 19:37:04 +00:00
927a68a436 Bump version to 4.1.3 2022-12-27 11:14:43 +00:00
417179ba54 Fix header z-index issue in UI.
The z-index of the header was set to 2000 because of Leaflet JS zoom
controls going over the header instead of under when scrolling. However,
this caused issues with the notifications and dropdowns (menu and
autocomplete).

Setting the z-index to 1001 is enough to fix the Leaflet JS issues,
without causing other issues.
2022-12-24 10:46:23 +00:00
1813e6a7b2 Fix redis_key implementation. 2022-12-22 21:04:40 +00:00
e2682db6e2 Bump version to 4.1.2 2022-12-16 09:44:47 +00:00
aa9923a60b Handle integration events async of uplink / downlink flow.
Wrapping the handling of integration events in a tokio::spawn should
already have been there, as we do not want to delay the downlink in case
of slow integrations.
2022-12-15 21:33:23 +00:00
fd061d4657 Bump version to 4.1.1 2022-12-13 13:48:42 +00:00
e3fae6260b Make get device-session for phypayload functions update f_cnt.
This fixes the FrmPayload decryption in case of frame-counter rollover
(16lsb) as it was using the f_cnt as sent over the air (16lsb) and not
the full frame-counter (32b).

Before, these functions would return the device-session for the given
uplink PhyPayload (if a matching device-session was found), together
with the full frame-counter. However it would not modify the f_cnt of
the PhyPayload to the full frame-counter making it prone to errors like
the above.
2022-12-13 12:44:00 +00:00
07d4e89a92 Update JS API dependencies to latest versions. 2022-12-13 10:57:54 +00:00
8e7f321e93 [Rust API] Replace relative paths to .proto files with absolute paths (#69) 2022-12-13 10:37:56 +00:00
c874c97c96 Bump version to 4.1.0 2022-12-06 09:36:55 +00:00
8d0c4bf6a8 Emit all fields for json even if they are their default values (#63) 2022-12-06 09:19:40 +00:00
fe3d6d3fdf Re-generate API + update code. 2022-12-05 11:46:36 +00:00
abee88712c Make metadata consistent in protobuf messages. 2022-12-05 11:45:58 +00:00
cb3ab9466e Fix notification z-index. 2022-12-05 11:29:44 +00:00
b130953e31 Update API docker files. 2022-12-05 10:44:46 +00:00
d91e687484 Update to latest Rust and Alpine versions. 2022-12-05 10:00:21 +00:00
364a4ac48c Rename to import_legacy_lorawan_devices_repository.
The lorawan-devices repository structure is going to change and the
latest revisions no longer contain a LICENSE file.

This does mean that the latest data can't be imported and we will be
missing newly added devices and potential bugfixes. However, it does
provide time to work on a better solution.

As requested, TTN and The Things Network is no longer used in the
naming and description.

Closes #61.
2022-11-30 10:17:53 +00:00
dda9d3ffac Fix Redis pipelines for Redis Cluster.
redis::pipe() can't be used with the ClusterClient struct, instead we
must use cluster_pipe() to start the pipeline. This implements a wrapper
which constructs the pipeline based on the used Redis setup.
2022-11-30 08:50:49 +00:00
c1c89d06f8 Bump version to 4.1.0-test.1 2022-11-28 15:17:53 +00:00
2428390e32 Bump loader-utils from 2.0.0 to 2.0.4 in /ui (#66)
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.0 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.0...v2.0.4)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-28 12:18:46 +00:00
ec09710b24 Log uplink frames without device match to DevEUI 0000000000000000.
It can be useful to handle uplinks that do not match a DevEUI in a
separate process. This includes DevAddr to DevEUI pointer does not
exist, or DevAddr points to one or multiple DevEUIs, but it does not
pass the MIC check.
2022-11-28 10:59:28 +00:00
963842ef55 Implement api request logging to Redis Streams.
This makes it possible for external services to subscribe (through
Redis) for realtime events. E.g. a create, update or delete device event
could trigger an external synchronization.
2022-11-28 10:59:28 +00:00
84dc8fd333 Bump version to 4.0.5 2022-11-28 10:23:54 +00:00
948ed00b60 Add keep_alive_interval config for MQTT.
In case there is a loadbalancer between ChirpStack and the MQTT broker,
it is useful to have control over the keep-alive messages, to make sure
that the loadbalancer does not drop the connection if there is no
activity. In such a case you want to set the keep_alive_interval to a
lower interval than the loadbalancer timeout.
2022-11-25 12:51:35 +00:00
3a6e359ce1 Fix leafletjs controls floating over header. 2022-11-25 09:22:45 +00:00
e2bdef757c Send ThingsBoard telemetry (f_port, f_cnt, ...) even if object is None. 2022-11-21 09:18:52 +00:00
d98518c5f9 Fix ThingsBoard location and status telemetry. 2022-11-18 11:24:21 +00:00
9fe8ee2474 Fix incorrect splitting of multiple http integration endpoints.
Closes #62.
2022-11-17 13:00:17 +00:00
bfcff17f34 Bump version to 4.0.4 2022-11-15 10:13:35 +00:00
6973e91ade Remove unsetting of device_queue_item.
In case the queue-item does fit the first RX window, but not the second
one, it will be set to None. If this happens, then the
save_downlink_frame step will not add the queue-item ID to the
DownlinkFrame (internal).

Then on txack, ChirpStack is unable to dequeue the payload causing the
payload to stay in the queue.
2022-11-08 15:40:37 +00:00
e2214f9485 Add coding_rate field to LoraDataRate (+ fix 2.4GHz coding-rate).
Per Regional Parameters Specification, the LoRa modulation always uses
coding-rate 4/5, however this is not the case for ISM2400 (which is
currently not covered by the reg. params) in which case coding-rate
4/8LI must be used.

Closes #51.
2022-11-08 15:19:45 +00:00
0ac4ef51e2 Bump version to 4.0.3 2022-11-07 11:40:11 +00:00
6b1cf4f8ba Fix metrics per day interval calculation.
This fixes the issue where after a from DST to non-DST, the timstamp was
not incremented by a full day. As the ts was then truncated to day
precision, this would create a never ending loop.

Example, incrementing 2022-10-30 00:00:00 by days(1) would result in
2022-10-30 23:00:00, trucated to day precision would result in
2022-10-30 00:00:00.

If the date (30) is the same after incrementing by days(1), we increment
by days(2), which in the above example results in 2022-10-31 23:00:00,
truncated to day precision results in 2022-10-31 00:00:00 which is the
desired result.
2022-11-07 11:23:02 +00:00
42d6f62509 Simplify error return. 2022-11-04 14:30:55 +00:00
347ac6fcfa Check if channel is closed. Fix blocking_send error.
In order to properly handle the SendError, we must return the original
error, instead of creating a new anyhow::Error.
2022-11-04 14:29:04 +00:00
0b7ee05c6f Update properties > metadata in gateway API. 2022-11-04 12:03:01 +00:00
a864bd2e5d Add gateway metadata tab and make naming consistent. 2022-11-04 11:51:24 +00:00
8c557da076 Add Go example to read meta-data log. 2022-11-02 16:17:27 +00:00
39a9455972 Add downlink meta-data logging. 2022-11-02 16:15:53 +00:00
0d14bb1ac7 Add uplink meta-data logging. 2022-11-02 14:42:25 +00:00
937f12d4e8 Add Redis config examples for username and password.
Closes #54.
2022-11-02 10:39:42 +00:00
ee38c88a7e Fix java_outer_classname in tenant.proto. (#55) 2022-11-02 10:27:20 +00:00
0a23c71641 Add option for auto-detect measurements.
In case the decoded payload contains random keys the auto-detect
measurements feature will add new measurements for each uplink. With
this option it is possible to turn auto-detection off to avoid
polluting the database with many measurements.

Closes #42.
2022-11-02 10:19:38 +00:00
577a33ec9a Run yarn format. 2022-11-01 10:28:57 +00:00
5b3b44bce4 Fix OIDC logout URL in UI. 2022-11-01 10:28:35 +00:00
d6cc9d4fd6 Bump version to 4.0.3-test.1 2022-10-21 07:37:25 +01:00
289d97f258 Implement dev_addr_prefixes configuration.
This makes it possible to configure one or multiple DevAddr sub-ranges
instead of using the whole DevAddr range provided by the configured
NetID.

Closes #49.
2022-10-19 12:53:34 +01:00
6cc813aed1 Implement DevAddrPrefix type.
This type defines the (NetID derived) prefix that must be used when
generating device addresses. This can be retrieved from the NetID, but
it is also possible to define a prefix that defines a smaller address
range within the NetID.

See also #49.
2022-10-19 12:03:55 +01:00
e04f991e76 Fix 'Cannot serialize NaN as google.protobuf.Value.number_value'.
In case the codec returns a NaN float, this is converted to None to
avoid Protobuf serialization error. This also fixes the eventlog such
that it does not break out of the loop (unless it is a channel error).
Messages that can't be processed will be ignored and an error is
printed.

Fixes https://github.com/chirpstack/chirpstack-v3-to-v4/issues/4.
2022-10-06 12:31:11 +01:00
5f4d03f3e4 Add example for reading frame-logs from Redis Streams. 2022-10-04 15:50:20 +01:00
94455ffe35 Fix typo (:: > :). 2022-10-04 15:50:20 +01:00
601d3f9aa1 Use trust_store instead of ca_path for mqtt integration. (#47) 2022-10-04 15:44:59 +01:00
4282d3aedc Update clap to v4. 2022-10-03 15:11:53 +01:00
a91fb1f73e Bump version to 4.0.2 2022-09-28 13:05:13 +01:00
b19038e664 Update README. 2022-09-28 12:55:48 +01:00
0940260541 Fix client_cert_lifetime value in configfile template. 2022-09-28 12:38:37 +01:00
51b622e8e2 Fix terminating stream loop on client disconnect.
As the spawn_blocking thread is not terminated when the frame_log_future
is dropped, it would keep the Redis connection open. By closing the
redis_rx channel on client-disconnect, we can check if the channel has
been closed inside the spawn_blocking thread, and return if this is the
case.

Closes #40.
2022-09-28 12:25:33 +01:00
ea0f84b93d Bump version to 4.0.1 2022-09-28 09:14:53 +01:00
091e3b0f97 Remove bandwidth * 1000 as it is already in Hz.
This fixes the missing per DR stats in the gateway dashboard.
2022-09-27 15:56:04 +01:00
4d000b92e9 Fix PositionSolution decoding from JSON.
Depending the algorithm type, some fields might or might not be present.
This change updates these fields to Option<T>.
2022-09-27 11:28:35 +01:00
2abc85afa6 Revert "LoRa Cloud: use default if value is not present."
This reverts commit 1867140272ce0625a3598ee3082b383171005702.
2022-09-27 11:15:53 +01:00
1867140272 LoRa Cloud: use default if value is not present. 2022-09-27 11:03:49 +01:00
e81e57a020 Fix clippy warnings. 2022-09-27 11:02:55 +01:00
709731ab6e Fix reading arguments after clap update. 2022-09-27 10:45:46 +01:00
700a7de19f Run cargo update for rust api crate. 2022-09-26 13:19:18 +01:00
3466ec47df Run cargo update. 2022-09-26 13:10:33 +01:00
bb188949df Update dependencies + fix clippy warnings. 2022-09-26 12:58:01 +01:00
f17250c37f Show region information in UI. 2022-09-15 10:58:37 +01:00
69b3d4a38e Regenerate API files. 2022-09-14 09:46:17 +01:00
84a1c6e1be Bump version to 4.0.0 2022-09-14 09:43:05 +01:00
a43ef72fb2 Fix chart tooltip date format. 2022-09-13 10:15:21 +01:00
331f4bce40 Fix "Error converting from js 'float' into type 'i32'" error. 2022-09-12 12:28:23 +01:00
90c5af20df Update encodeDownlink code template. 2022-09-12 11:52:51 +01:00
b0e61b50d2 Remove old commented-out code. 2022-09-12 11:48:59 +01:00
0fc548d6b4 Fix object > data error in template.
Closes #39.
2022-09-10 12:42:50 +01:00
62f981fefe Use trust_store instead of ca_path. (#37) 2022-09-10 12:32:01 +01:00
cba8da2d05 Bump version to 4.0.0-rc.4 2022-09-05 22:47:47 +01:00
97a235cc80 Remove duplicate code.
This is already handled by the filter_mac_commands function.
2022-09-05 22:38:48 +01:00
8a4b537645 Fix filtering on mac-command conflict and error count. 2022-09-05 14:07:16 +01:00
32889d7052 Make UI proxy work within Compose for development. 2022-09-01 14:50:46 +01:00
4dd441e85d Cleanup DevEUI from DevAddr > DevEUI set, if DS does not exist. 2022-08-31 11:13:51 +01:00
0fa40717e8 Add missing CN470 configuration.
Closes #36.
2022-08-31 09:48:55 +01:00
7e6552df5e Fix missing Kafka key. 2022-08-31 08:49:53 +01:00
4f08f7ddcb Add user_id filter when listing tenants with global API key. (#34) 2022-08-31 08:48:11 +01:00
0a5c38d322 Also log txack errors for mac-only downlinks. 2022-08-30 14:02:21 +01:00
3cf05e8fb9 Fix passive-roaming tx ack and save device-session order.
We first need to save the device-session and then handle the tx ack, as
else we are overwriting the frame-counter increment.
2022-08-26 12:54:46 +01:00
46bc4d6038 Use rf_region_encode module for rf_region in ULMetaData. 2022-08-25 10:43:36 +01:00
75f67f8c5c Use default for Description and do not serialize if empty. 2022-08-25 09:52:54 +01:00
ca2961c7b6 Bump version to 4.0.0-rc.3 2022-08-23 08:59:05 +01:00
63b0af6cf3 Remove owning_ref indirect dep by updating prometheus-client.
The owning_ref crate has a vulnerable. The updated prometheus-client no
longer uses owning_ref as a dependency.
2022-08-22 10:54:33 +01:00
d97da8ed50 Fix c > 64 to c >= 64 typo in channel-mask calculation.
Depending the channel-configuration, this would send three LinkADRReq
mac-commands while the same configuration could be send to the device in
two LinkADRReq mac-commands.
2022-08-21 21:48:27 +01:00
3b297ef221 Replace env. variables in config by localhost for .deb and .rpm
The env. variables are used such that the same configuration can be used
for Docker images, .deb and .rpm packages. However, if installing .deb
or .rpm packages, this can be confusing as executing 'chirpstack -c
/etc/chirpstack' will fail because these environment variables are only
available when using systemctl to start the ChirpStack process
(configured in the .service configuration file).
2022-08-21 21:44:36 +01:00
e917f8ea49 Remove default CA and MQTT cert gen. on install.
In case of mult-server deployments, this can be confusing as each VM
generates different certificate files by default, where all instances
must share the same certificate (or at least CA certificate + key).
The other issue is that the MQTT broker certificate must contain the
correct hostname, which can (most of the times) not automatically be
retrieved. Documentation to generate these certificates can be found
here:

https://www.chirpstack.io/docs/guides/mosquitto-tls-configuration.html
2022-08-21 19:56:49 +01:00
424306ab41 Update cpufeatures crate. This fixes an incorrect avx2 check.
In some scenarios, this check returned true while the avx2 extension was
not available (e.g. QEMU emulated CPU).

See for more details: https://github.com/RustCrypto/hashes/pull/386.
2022-08-18 11:37:03 +01:00
613f4562a2 Add config option to allow unknown gateways. 2022-08-18 10:27:55 +01:00
bf6df9c845 Fix shadowing of rx_info and setting location.
The rx_info value was shadowed, and because of this the location was set
on the cloned value, not the original value, making the location set
useless.
2022-08-14 13:49:00 +01:00
d4337b10ab Bump version to 4.0.0-rc.2 2022-08-11 12:04:21 +01:00
77dc247f66 Fix mac_version -> mac_version().
The first returns the Protobuf integer, the second the generated enum
type. The big difference is that the first .to_string() would convert
the Protobuf integer to the same but then as String type, where the
latter returns something like '1.0.3' which is provided by the
fmt::Display trait implementation by ChirpStack.
2022-08-11 11:38:43 +01:00
ca567ca562 Bump version to 4.0.0-rc.1 2022-08-10 12:36:43 +01:00
1a68080ac0 Fix configfile template. 2022-08-10 11:34:52 +01:00
ba7fc75ee6 Fix clippy warnings. 2022-08-10 11:34:33 +01:00
7868629533 Fix LoRaWAN 1.1 downlink fopts encryption. 2022-08-09 16:33:58 +01:00
2b1bf3b96f Only decode mac-commands for logging if in plaintext.
Please note that for LoRaWAN 1.1.x, mac-commands in the f_opts field are
encrypted. Within the context of the device we can decrypt these, but
within the context of a gateway we can only show these as raw bytes.
2022-08-09 15:29:22 +01:00
fd62076e02 Add plaintext_mac_commands field to up/down frame-log. 2022-08-09 15:28:37 +01:00
cfb4290334 Add missing isDisabled and setSkipFcntCheck switches (UI). 2022-08-09 11:07:32 +01:00
6d62cdb27c Fix generating gRPC documentation (md). 2022-08-08 15:56:01 +01:00
92a710fd1e Fix NewChannelReq for LoRaWAN 2.4GHz freqs. 2022-08-08 11:49:47 +01:00
d31113d61c Include cargo-bitbake in Dockerfile-devel. 2022-08-07 13:39:36 +01:00
e680db3be0 Bump version to 4.0.0-test.18 2022-08-04 17:11:45 +01:00
620ff1a8f9 Add missing channel and rf_chain fields.
This is not used by ChirpStack, but the chirpstack-udp-bridge expects to
receive this information from the ChirpStack Concentratord.
2022-08-04 16:52:01 +01:00
a14adfe20b Bump version to 4.0.0-test.17 2022-08-04 10:27:03 +01:00
672511c696 Implement support for JSON for GW<>NS.
This auto-detects the encoding used by the gateway and stores this
setting such that the commands will be encoded using the same setting.

Closes #2.
2022-08-03 15:19:51 +01:00
3348ccf67d Fix async receiver for passive-roaming HomeNSReq + add debug logs. 2022-08-03 15:18:31 +01:00
7890dc7539 Also match 1.0 and 1.1 strings for MacVersion. 2022-08-01 14:45:43 +01:00
341ac828b0 Bump version to 4.0.0-test.16 2022-08-01 12:59:57 +01:00
d7a4334b77 Fix missing GatewayStats v4_migrate.
This is needed as the gateway_id field has changed from bytes to string
(as the Protobuf JSON mapping encodes bytes to base64).
2022-08-01 12:08:08 +01:00
54d582504f Fix clippy warnings. 2022-08-01 10:24:15 +01:00
edff985ad8 Bump version to 4.0.0-test.15 2022-08-01 10:20:57 +01:00
10d75a1744 Set MQTT persistence to TMP dir instead of CWD. 2022-07-31 13:11:55 +01:00
eee1c4b4b0 Show counter value as rate per aggregation interval. 2022-07-31 13:10:16 +01:00
3ab830f5a0 Change clean_session default + fix re-subscribe.
This changes the clean_session default to false, as only in case of a
persistent session, qos > 0 would be effective. If the client_id is not
set, then ChirpStack will generate a random client_id, which stays the
same during the lifetime of the chirpstack process.

This also implements a subscribe loop, as the client re-connect feature
does not re-subscribe. Even in case of a persistent session there is no
guarantee that the subscription is recovered, as it might have been a
MQTT broker restart. In case the broker stores the sessions in-memory,
the client would re-connect, but without subscriptions.

The (re)subscribe logic is placed outside the on-connected callback, as
the callback function must not block, thus can not wait for the
subscribe result. No the (re)subscribe happens async from the
on-connected.
2022-07-30 13:23:54 +01:00
f58e39e503 Bump version to 4.0.0-test.14 2022-07-28 09:02:54 +01:00
ffa8aa9518 Fix clippy warning. 2022-07-28 08:58:31 +01:00
a53a90b646 Make deduplication_delay configurable. Handle duplicated acks. 2022-07-27 20:19:02 +01:00
35b2f4112d Remove version fix for (lib)clang.
Clang is used by bindgen to generate the quickjs bindings at compile
time.
2022-07-27 12:00:11 +01:00
7a7d3dbd4e Add missing LoRa 2.4 gHz code-rates to enum. 2022-07-27 10:06:14 +01:00
73d581fc4c Update version. 2022-07-26 15:29:01 +01:00
3bfb7d577f Fix coding_rate string in test.
The CodeRate type (in Rust) will decode both "1/3" and "2/6" as
CodeRate::Cr26. To string, this type is always encoded to "2/6".
2022-07-25 10:29:46 +01:00
d10551bce1 Change command exec_id to uint32. 2022-07-22 20:29:07 +01:00
f7f2fa82f2 Update diesel_cli to 2.0.0-rc.1. 2022-07-22 14:44:14 +01:00
85cd5e0b80 Fix formatting after clippy fixes. 2022-07-22 13:06:52 +01:00
4612f84045 Update to diesel 2.0.0-rc.1. 2022-07-22 13:05:45 +01:00
b187efe84c Cleanup clippy warnings. 2022-07-22 13:00:30 +01:00
4d665d3ded Remove update, change apt to apt-get to avoid warnings. 2022-07-22 12:20:20 +01:00
c0a450c8f8 Change LR-FHSS code_rate to CodeRate type. 2022-07-22 12:19:36 +01:00
768 changed files with 206628 additions and 60220 deletions

View File

@ -1,5 +1,8 @@
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-linux-gnueabihf-gcc"
[target.x86_64-unknown-linux-musl]
rustflags = ["-C", "target-feature=+crt-static", "-C", "link-arg=-s", "-C", "link-arg=-lc", "-C", "link-arg=-lgcc"]
[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"
[target.aarch64-unknown-linux-musl]
rustflags = ["-C", "target-feature=+crt-static", "-C", "link-arg=-s", "-C", "link-arg=-lc", "-C", "link-arg=-lgcc"]
[target.armv7-unknown-linux-musleabihf]
rustflags = ["-C", "target-feature=+crt-static", "-C", "link-arg=-s", "-C", "link-arg=-lc", "-C", "link-arg=-lgcc"]

View File

@ -1,6 +1,9 @@
.git
.cargo
.rust
**/target
api/rust/target
backend/target
lrwn/target
lrwn/filters/target
**/node_modules
Dockerfile

9
.env Normal file
View File

@ -0,0 +1,9 @@
# Diesel
DATABASE_URL=postgres://chirpstack_test:chirpstack_test@localhost/chirpstack_test?sslmode=disable
# Testing
TEST_POSTGRESQL_DSN="postgres://chirpstack_test:chirpstack_test@localhost/chirpstack_test?sslmode=disable"
TEST_REDIS_URL="redis://localhost/1"
TEST_MOSQUITTO_SERVER="tcp://localhost:1883/"
TEST_KAFKA_BROKER="localhost:9092"
TEST_AMQP_URL="amqp://guest:guest@localhost:5672"

1
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1 @@
github: chirpstack

9
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,9 @@
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"

View File

@ -14,22 +14,31 @@ jobs:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install Nix
uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-22.11
-
name: Cargo cache
uses: actions/cache@v3
with:
path: .rust/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
-
name: Start dependency services
run: docker-compose up -d
-
name: Build UI
run: make build-ui
-
name: Run tests
run: make test
-
name: Make cache accessible to caching action
run: |
sudo chown $(whoami):$(whoami) -R .rust
run: nix-shell --command "make test"
dist:
needs: tests
@ -39,18 +48,31 @@ jobs:
-
name: Checkout
uses: actions/checkout@v2
-
name: Install Nix
uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-22.11
-
name: Cargo cache
uses: actions/cache@v3
with:
path: .rust/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-dist-${{ hashFiles('**/Cargo.lock') }}
-
name: Build UI
run: make build-ui
-
name: Install dev dependencies
run: nix-shell --command "make dev-dependencies"
-
name: Build distributables
run: make dist
run: nix-shell --command "make dist"
-
name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
@ -63,19 +85,6 @@ jobs:
run: |
aws s3 sync dist s3://builds.loraserver.io/chirpstack
if: startsWith(github.ref, 'refs/tags/v')
-
name: Make cache accessible to caching action
run: |
sudo chown $(whoami):$(whoami) -R .rust
docker:
needs: tests
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v')
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Docker meta
id: meta
@ -106,8 +115,9 @@ jobs:
id: docker_build
uses: docker/build-push-action@v2
with:
platforms: linux/amd64,linux/arm/v7,linux/arm64
context: .
push: ${{ startsWith(github.ref, 'refs/tags/v') }}
platforms: linux/amd64,linux/arm/v7,linux/arm64
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
-

12
.gitignore vendored
View File

@ -2,6 +2,7 @@
.*
!/chirpstack/.rpm
!/.cargo
!/.env
# Log files
*.log
@ -13,11 +14,7 @@
**/target
# Certificates
/chirpstack/configuration/certs/*.crt
/chirpstack/configuration/certs/*.key
/chirpstack/configuration/certs/*.trust
/chirpstack/configuration/certs/*.pem
/chirpstack/configuration/certs/*.csr
/chirpstack/configuration/certs/*
/chirpstack/configuration/private_*.toml
# UI
@ -25,7 +22,12 @@
/ui/build
# API
/api/grpc-web/node_modules
/api/java/build
/api/java/src
/api/js/node_modules
/api/kotlin/build
/api/kotlin/src
/api/python/src/*.egg-info/
/api/python/src/build/
/api/python/src/dist/

3212
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,9 @@
[workspace]
resolver = "2"
members = [
"chirpstack",
"lrwn",
"lrwn-filters",
"backend",
"api/rust",
]
@ -10,6 +12,3 @@ members = [
opt-level = 'z'
lto = true
codegen-units = 1
#[patch.crates-io]
#quick-js = { path = "../quickjs-rs" }

11
Cross.toml Normal file
View File

@ -0,0 +1,11 @@
[build]
default-target="x86_64-unknown-linux-musl"
[target.x86_64-unknown-linux-musl]
dockerfile="cross/Dockerfile.x86_64-unknown-linux-musl"
[target.aarch64-unknown-linux-musl]
dockerfile="cross/Dockerfile.aarch64-unknown-linux-musl"
[target.armv7-unknown-linux-musleabihf]
dockerfile="cross/Dockerfile.armv7-unknown-linux-musleabihf"

View File

@ -1,81 +1,30 @@
# UI build stage
FROM --platform=$BUILDPLATFORM alpine:3.15.0 AS ui-build
ENV PROJECT_PATH=/chirpstack
RUN apk add --no-cache make git bash build-base nodejs npm yarn
RUN mkdir -p $PROJECT_PATH
COPY ./api/grpc-web $PROJECT_PATH/api/grpc-web
COPY ./ui $PROJECT_PATH/ui
RUN cd $PROJECT_PATH/ui && \
yarn install --network-timeout 600000 && \
yarn build
# ChirpStack build stage
FROM --platform=$BUILDPLATFORM rust:1.62.0-buster AS rust-build
ENV PROJECT_PATH=/chirpstack
RUN mkdir -p $PROJECT_PATH
RUN dpkg --add-architecture armhf
RUN dpkg --add-architecture arm64
RUN apt-get update && \
apt-get install -y \
make \
cmake \
git \
libpq-dev \
clang \
libclang-3.9-dev \
jq \
gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
zlib1g-dev:armhf \
zlib1g-dev:arm64
RUN rustup target add armv7-unknown-linux-gnueabihf
RUN rustup target add aarch64-unknown-linux-gnu
# Copy binary stage
FROM --platform=$BUILDPLATFORM alpine:3.18.0 as binary
ARG TARGETPLATFORM
RUN mkdir -p /release/$TARGETPLATFORM
COPY . $PROJECT_PATH
COPY --from=ui-build $PROJECT_PATH/ui/build $PROJECT_PATH/ui/build
COPY target/x86_64-unknown-linux-musl/release/chirpstack /usr/bin/chirpstack-x86_64
COPY target/armv7-unknown-linux-musleabihf/release/chirpstack /usr/bin/chirpstack-armv7hf
COPY target/aarch64-unknown-linux-musl/release/chirpstack /usr/bin/chirpstack-aarch64
RUN case "$TARGETPLATFORM" in \
"linux/amd64") \
cd $PROJECT_PATH/chirpstack && make release-amd64; \
cp $PROJECT_PATH/target/release/chirpstack /release/$TARGETPLATFORM; \
cp /usr/bin/chirpstack-x86_64 /usr/bin/chirpstack; \
;; \
"linux/arm/v7") \
cd $PROJECT_PATH/chirpstack && make release-armv7hf; \
cp $PROJECT_PATH/target/armv7-unknown-linux-gnueabihf/release/chirpstack /release/$TARGETPLATFORM; \
cp /usr/bin/chirpstack-armv7hf /usr/bin/chirpstack; \
;; \
"linux/arm64") \
cd $PROJECT_PATH/chirpstack && make release-arm64; \
cp $PROJECT_PATH/target/aarch64-unknown-linux-gnu/release/chirpstack /release/$TARGETPLATFORM; \
cp /usr/bin/chirpstack-aarch64 /usr/bin/chirpstack; \
;; \
esac;
# Final stage
FROM debian:buster-slim as production
FROM alpine:3.18.0
RUN apt-get update && \
apt-get install -y \
ca-certificates \
libpq5 \
&& rm -rf /var/lib/apt/lists/*
RUN apk --no-cache add \
ca-certificates
ARG TARGETPLATFORM
COPY --from=rust-build /release/$TARGETPLATFORM/chirpstack /usr/bin/chirpstack
COPY --from=rust-build /chirpstack/chirpstack/configuration/* /etc/chirpstack/
COPY --from=binary /usr/bin/chirpstack /usr/bin/chirpstack
USER nobody:nogroup
ENTRYPOINT ["/usr/bin/chirpstack"]
ENTRYPOINT ["/usr/bin/chirpstack"]

View File

@ -1,40 +1,6 @@
FROM rust:1.62.0-buster
FROM nixos/nix
ENV PROJECT_PATH=/chirpstack
RUN mkdir -p $PROJECT_PATH
WORKDIR $PROJECT_PATH
RUN dpkg --add-architecture armhf
RUN dpkg --add-architecture arm64
RUN apt-get update && \
apt-get install -y \
make \
cmake \
git \
bash \
screen \
postgresql-client \
libpq-dev \
mosquitto-clients \
redis-tools \
rpm \
clang \
libclang-3.9-dev \
golang-cfssl \
jq \
gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
zlib1g-dev:armhf \
zlib1g-dev:arm64
RUN rustup component add rustfmt clippy
RUN rustup target add armv7-unknown-linux-gnueabihf
RUN rustup target add aarch64-unknown-linux-gnu
RUN cargo install diesel_cli --version 2.0.0-rc.0 --no-default-features --features postgres
RUN cargo install cargo-deb
RUN cargo install cargo-rpm
WORKDIR $PROJECT_PATH/chirpstack
ENTRYPOINT ["nix-shell"]

View File

@ -2,7 +2,15 @@
# Build distributable binaries.
dist:
docker-compose run --rm --no-deps chirpstack make dist
cd chirpstack && make dist
# Install dev dependencies
dev-dependencies:
cargo install cross --version 0.2.5
cargo install diesel_cli --version 2.1.0 --no-default-features --features postgres
cargo install cargo-deb --version 1.43.1
cargo install cargo-bitbake --version 0.3.16
cargo install cargo-generate-rpm --version 0.11.0
# Set the versions
version:
@ -10,11 +18,22 @@ version:
sed -i 's/^version.*/version = "$(VERSION)"/g' ./chirpstack/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./backend/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./lrwn/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./lrwn-filters/Cargo.toml
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./ui/package.json
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./api/grpc-web/package.json
sed -i 's/"version.*/"version": "$(VERSION)",/g' ./api/js/package.json
sed -i 's/version.*/version = "$(VERSION)",/g' ./api/python/src/setup.py
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/rust/Cargo.toml
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/java/build.gradle.kts
sed -i 's/^version.*/version = "$(VERSION)"/g' ./api/kotlin/build.gradle.kts
cd api && make
make build-ui
make test
git add .
git commit -v -m "Bump version to $(VERSION)"
git tag -a v$(VERSION) -m "v$(VERSION)"
git tag -a api/go/v$(VERSION) -m "api/go/v$(VERSION)"
api: version
cd api && make
@ -23,24 +42,28 @@ api: version
build-ui:
docker-compose run --rm --no-deps chirpstack-ui make build
# Enters the devshell for ChirpStack development.
# Enter the devshell.
devshell:
docker-compose run --rm --service-ports chirpstack bash
nix-shell
# Enters the Docker devshell for ChirpStack development.
docker-devshell:
docker-compose run --rm --service-ports --name chirpstack chirpstack
# Enters the devshell for ChirpStack UI development.
devshell-ui:
docker-compose run --rm --service-ports chirpstack-ui bash
docker-devshell-ui:
docker-compose run --rm --service-ports --name chirpstack-ui chirpstack-ui bash
# Runs the tests
test:
docker-compose run --rm chirpstack make test
docker-compose run --rm chirpstack make test-lrwn
cd backend && cargo test
cd chirpstack && make test
cd lrwn && make test
cd lrwn-filters && make test
# Starts the ChirpStack server (for testing only).
test-server: build-ui
docker-compose run --rm --service-ports chirpstack make test-server
# Update the Docker development images
update-images:
docker-compose build chirpstack
docker-compose build chirpstack-ui
# Runs all the tests (including some that normally are ignored)
test-all:
cd backend && cargo test
cd chirpstack && make test-all
cd lrwn && make test
cd lrwn-filters && make test

114
README.md
View File

@ -1,29 +1,113 @@
# ChirpStack open-source LoRaWAN Network Server
# ChirpStack open-source LoRaWAN(R) Network Server
![CI](https://github.com/chirpstack/chirpstack/actions/workflows/main.yml/badge.svg?branch=master)
ChirpStack is an open-source LoRaWAN Network Server, part of the
[ChirpStack](https://www.chirpstack.io/) project.
ChirpStack is an open-source LoRaWAN(R) Network Server which can be used to set
up LoRaWAN networks. ChirpStack provides a web-interface for the management of
gateways, devices and tenants as well to set up data integrations with the major
cloud providers, databases and services commonly used for handling device data.
ChirpStack provides a gRPC based API that can be used to integrate or extend
ChirpStack.
**Note:** this repository contains the source of what is going to be
ChirpStack v4. This release merges the ChirpStack Network Server and
ChirpStack Application Server components into a single service, making
it a lot easier to setup a multi-region ChirpStack instance. This is
still work in progress.
## Documentation and binaries
Please refer to the forum announcement for background information:
https://forum.chirpstack.io/t/changes-coming-to-chirpstack/13101
Please refer to the [ChirpStack](https://www.chirpstack.io/) website for
documentation and pre-compiled binaries.
## Testing / building from source
## Building from source
To build ChirpStack from source, run the following command:
### Requirements
Building ChirpStack requires:
* [Nix](https://nixos.org/download.html) (recommended) and
* [Docker](https://www.docker.com/)
#### Nix
Nix is used for setting up the development environment which is used for local
development and for creating the binaries.
If you do not have Nix installed and do not wish to install it, then you can
use the provided Docker Compose based Nix environment. To start this environment
execute the following command:
```bash
make test-server
make docker-devshell
```
Note: this requires a Linux environment With Docker and Docker Compose
setup. Pre-compiled (test) binaries will be provided soon.
**Note:** You will be able to run the test commands and run `cargo build`, but
cross-compiling will not work within this environment (because it would try start
Docker within Docker).
#### Docker
Docker is used by [cross-rs](https://github.com/cross-rs/cross) for cross-compiling,
as well as some of the `make` commands.
### Starting the development shell
Run the following command to start the development shell:
```bash
nix-shell
```
Or if you do not have Nix installed, execute the following command:
```bash
make docker-devshell
```
### Building the UI
To build the ChirpStack UI, execute the following command:
```
make build-ui
```
### Running ChirpStack tests
#### Start required services
ChirpStack requires several services like PostgresQL, Redis, Mosquitto, ...
to be running before you can run the tests. You need to start these services
manually if you started the development shell using `nix-shell`:
```bash
docker-compose up -d
```
#### Run tests
Run the following command to run the ChirpStack tests:
```bash
make test
```
### Building ChirpStack binaries
Before compiling the binaries, you need to install some additional development
tools (for cross-compiling, packaging, e.d.). Execute the following command:
```bash
make dev-dependencies
```
Run the following command within the `./chirpstack` sub-folder:
```bash
# Build AMD64 debug build (optimized for build speed)
make debug-amd64
# Build AMD64 release build (optimized for performance and binary size)
make release-amd64
# Build all packages (all targets, .deb, .rpm and .tar.gz files)
make dist
```
## License

11
api/Dockerfile-csharp vendored Normal file
View File

@ -0,0 +1,11 @@
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
ENV PROJECT_PATH=/chirpstack/api
RUN apt update && apt install -y make git
RUN git clone --depth=1 --branch=master https://github.com/googleapis/googleapis.git /googleapis
RUN mkdir -p /googleproto/google/api/
RUN mv /googleapis/google/api/http.proto /googleproto/google/api/ && mv /googleapis/google/api/annotations.proto /googleproto/google/api/
RUN rm -rf /googleapis
WORKDIR $PROJECT_PATH

2
api/Dockerfile-go vendored
View File

@ -1,4 +1,4 @@
FROM golang:1.18-alpine
FROM golang:1.19.3-alpine
ENV PROJECT_PATH=/chirpstack/api
RUN apk add --no-cache make git bash protobuf protobuf-dev

View File

@ -1,11 +1,11 @@
FROM alpine:3
FROM node:19
ENV PROJECT_PATH=/chirpstack/api
RUN apk add --no-cache protobuf protobuf-dev make bash git
RUN apt update && apt install -y protobuf-compiler libprotobuf-dev git bash
RUN git clone https://github.com/googleapis/googleapis.git /googleapis
ADD https://github.com/grpc/grpc-web/releases/download/1.2.1/protoc-gen-grpc-web-1.2.1-linux-x86_64 /usr/bin/protoc-gen-grpc-web
ADD https://github.com/grpc/grpc-web/releases/download/1.4.2/protoc-gen-grpc-web-1.4.2-linux-x86_64 /usr/bin/protoc-gen-grpc-web
RUN chmod +x /usr/bin/protoc-gen-grpc-web
RUN mkdir -p $PROJECT_PATH

7
api/Dockerfile-java vendored Normal file
View File

@ -0,0 +1,7 @@
FROM amazoncorretto:8
ENV PROJECT_PATH=/chirpstack/api
RUN yum install -y make git bash
RUN mkdir -p $PROJECT_PATH
WORKDIR $PROJECT_PATH

2
api/Dockerfile-js vendored
View File

@ -1,4 +1,4 @@
FROM node:12
FROM node:19
ENV PROJECT_PATH=/chirpstack/api
RUN apt update && apt install -y protobuf-compiler libprotobuf-dev git bash

7
api/Dockerfile-kotlin vendored Normal file
View File

@ -0,0 +1,7 @@
FROM amazoncorretto:8
ENV PROJECT_PATH=/chirpstack/api
RUN yum install -y make git bash
RUN mkdir -p $PROJECT_PATH
WORKDIR $PROJECT_PATH

2
api/Dockerfile-md vendored
View File

@ -1,4 +1,4 @@
FROM golang:1.18-alpine
FROM golang:1.19.3-alpine
ENV PROJECT_PATH=/chirpstack/api
RUN apk add --no-cache make git bash protobuf protobuf-dev

View File

@ -1,4 +1,4 @@
FROM python:3.8
FROM python:3.11.0
ENV PROJECT_PATH=/chirpstack/api

4
api/Dockerfile-rust vendored
View File

@ -1,8 +1,8 @@
FROM rust:1.56
FROM rust:1.65
ENV PROJECT_PATH=/chirpstack/api
RUN apt-get update && \
apt-get install -y make cmake git bash && \
apt-get install -y make cmake git bash protobuf-compiler && \
apt-get clean
RUN git clone https://github.com/googleapis/googleapis.git /googleapis

11
api/Makefile vendored
View File

@ -1,4 +1,4 @@
.PHONY: rust grpc-web go js python
.PHONY: rust grpc-web go js python md java kotlin csharp
all:
docker-compose up
@ -20,3 +20,12 @@ python:
md:
docker-compose run --rm chirpstack-api-md
java:
docker-compose run --rm chirpstack-api-java
kotlin:
docker-compose run --rm chirpstack-api-kotlin
csharp:
docker-compose run --rm chirpstack-csharp

38
api/csharp/Chirpstack.Api.csproj vendored Normal file
View File

@ -0,0 +1,38 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<Protobuf Include="../proto/common/common.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/gw/gw.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/internal.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/user.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/tenant.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/application.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/device_profile.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/device_profile_template.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/device.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/gateway.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/frame_log.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/multicast_group.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/request_log.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/api/relay.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/integration/integration.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="../proto/meta/meta.proto" ProtoRoot="../proto/" OutputDir="Chirpstack/" CompileOutputs="false" AdditionalImportDirs="/googleproto" />
<Protobuf Include="/googleproto/google/api/*.proto" ProtoRoot="/googleproto" OutputDir="Chirpstack/" CompileOutputs="false" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Google.Protobuf" Version="3.21.12" />
<PackageReference Include="Grpc.Core" Version="2.46.6" />
<PackageReference Include="Grpc.Tools" Version="2.51.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>

18062
api/csharp/Chirpstack/api/Application.cs vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

9669
api/csharp/Chirpstack/api/Device.cs vendored Normal file

File diff suppressed because it is too large Load Diff

1536
api/csharp/Chirpstack/api/DeviceGrpc.cs vendored Normal file

File diff suppressed because it is too large Load Diff

5604
api/csharp/Chirpstack/api/DeviceProfile.cs vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,558 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/device_profile.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// DeviceProfileService is the service providing API methods for managing device-profiles.
/// </summary>
public static partial class DeviceProfileService
{
static readonly string __ServiceName = "api.DeviceProfileService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateDeviceProfileRequest> __Marshaller_api_CreateDeviceProfileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateDeviceProfileRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateDeviceProfileResponse> __Marshaller_api_CreateDeviceProfileResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateDeviceProfileResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetDeviceProfileRequest> __Marshaller_api_GetDeviceProfileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetDeviceProfileRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetDeviceProfileResponse> __Marshaller_api_GetDeviceProfileResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetDeviceProfileResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateDeviceProfileRequest> __Marshaller_api_UpdateDeviceProfileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateDeviceProfileRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteDeviceProfileRequest> __Marshaller_api_DeleteDeviceProfileRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteDeviceProfileRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListDeviceProfilesRequest> __Marshaller_api_ListDeviceProfilesRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListDeviceProfilesRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListDeviceProfilesResponse> __Marshaller_api_ListDeviceProfilesResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListDeviceProfilesResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse> __Marshaller_api_ListDeviceProfileAdrAlgorithmsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateDeviceProfileRequest, global::Chirpstack.Api.CreateDeviceProfileResponse> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateDeviceProfileRequest, global::Chirpstack.Api.CreateDeviceProfileResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateDeviceProfileRequest,
__Marshaller_api_CreateDeviceProfileResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetDeviceProfileRequest, global::Chirpstack.Api.GetDeviceProfileResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetDeviceProfileRequest, global::Chirpstack.Api.GetDeviceProfileResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetDeviceProfileRequest,
__Marshaller_api_GetDeviceProfileResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateDeviceProfileRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteDeviceProfileRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListDeviceProfilesRequest, global::Chirpstack.Api.ListDeviceProfilesResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListDeviceProfilesRequest, global::Chirpstack.Api.ListDeviceProfilesResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListDeviceProfilesRequest,
__Marshaller_api_ListDeviceProfilesResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Google.Protobuf.WellKnownTypes.Empty, global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse> __Method_ListAdrAlgorithms = new grpc::Method<global::Google.Protobuf.WellKnownTypes.Empty, global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse>(
grpc::MethodType.Unary,
__ServiceName,
"ListAdrAlgorithms",
__Marshaller_google_protobuf_Empty,
__Marshaller_api_ListDeviceProfileAdrAlgorithmsResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.DeviceProfileReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of DeviceProfileService</summary>
[grpc::BindServiceMethod(typeof(DeviceProfileService), "BindService")]
public abstract partial class DeviceProfileServiceBase
{
/// <summary>
/// Create the given device-profile.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.CreateDeviceProfileResponse> Create(global::Chirpstack.Api.CreateDeviceProfileRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the device-profile for the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetDeviceProfileResponse> Get(global::Chirpstack.Api.GetDeviceProfileRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given device-profile.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateDeviceProfileRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the device-profile with the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteDeviceProfileRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// List the available device-profiles.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListDeviceProfilesResponse> List(global::Chirpstack.Api.ListDeviceProfilesRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// List available ADR algorithms.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse> ListAdrAlgorithms(global::Google.Protobuf.WellKnownTypes.Empty request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for DeviceProfileService</summary>
public partial class DeviceProfileServiceClient : grpc::ClientBase<DeviceProfileServiceClient>
{
/// <summary>Creates a new client for DeviceProfileService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public DeviceProfileServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for DeviceProfileService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public DeviceProfileServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected DeviceProfileServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected DeviceProfileServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateDeviceProfileResponse Create(global::Chirpstack.Api.CreateDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateDeviceProfileResponse Create(global::Chirpstack.Api.CreateDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateDeviceProfileResponse> CreateAsync(global::Chirpstack.Api.CreateDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateDeviceProfileResponse> CreateAsync(global::Chirpstack.Api.CreateDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get the device-profile for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetDeviceProfileResponse Get(global::Chirpstack.Api.GetDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the device-profile for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetDeviceProfileResponse Get(global::Chirpstack.Api.GetDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get the device-profile for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetDeviceProfileResponse> GetAsync(global::Chirpstack.Api.GetDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the device-profile for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetDeviceProfileResponse> GetAsync(global::Chirpstack.Api.GetDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given device-profile.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete the device-profile with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the device-profile with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete the device-profile with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteDeviceProfileRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the device-profile with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteDeviceProfileRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// List the available device-profiles.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfilesResponse List(global::Chirpstack.Api.ListDeviceProfilesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available device-profiles.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfilesResponse List(global::Chirpstack.Api.ListDeviceProfilesRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// List the available device-profiles.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfilesResponse> ListAsync(global::Chirpstack.Api.ListDeviceProfilesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available device-profiles.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfilesResponse> ListAsync(global::Chirpstack.Api.ListDeviceProfilesRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// List available ADR algorithms.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse ListAdrAlgorithms(global::Google.Protobuf.WellKnownTypes.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAdrAlgorithms(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List available ADR algorithms.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse ListAdrAlgorithms(global::Google.Protobuf.WellKnownTypes.Empty request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_ListAdrAlgorithms, null, options, request);
}
/// <summary>
/// List available ADR algorithms.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse> ListAdrAlgorithmsAsync(global::Google.Protobuf.WellKnownTypes.Empty request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAdrAlgorithmsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List available ADR algorithms.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse> ListAdrAlgorithmsAsync(global::Google.Protobuf.WellKnownTypes.Empty request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_ListAdrAlgorithms, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override DeviceProfileServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new DeviceProfileServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(DeviceProfileServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_ListAdrAlgorithms, serviceImpl.ListAdrAlgorithms).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, DeviceProfileServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateDeviceProfileRequest, global::Chirpstack.Api.CreateDeviceProfileResponse>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetDeviceProfileRequest, global::Chirpstack.Api.GetDeviceProfileResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteDeviceProfileRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListDeviceProfilesRequest, global::Chirpstack.Api.ListDeviceProfilesResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_ListAdrAlgorithms, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Google.Protobuf.WellKnownTypes.Empty, global::Chirpstack.Api.ListDeviceProfileAdrAlgorithmsResponse>(serviceImpl.ListAdrAlgorithms));
}
}
}
#endregion

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,484 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/device_profile_template.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// DeviceProfileTemplateService is the service providing API methods for managing device-profile templates.
/// </summary>
public static partial class DeviceProfileTemplateService
{
static readonly string __ServiceName = "api.DeviceProfileTemplateService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateDeviceProfileTemplateRequest> __Marshaller_api_CreateDeviceProfileTemplateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateDeviceProfileTemplateRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetDeviceProfileTemplateRequest> __Marshaller_api_GetDeviceProfileTemplateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetDeviceProfileTemplateRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetDeviceProfileTemplateResponse> __Marshaller_api_GetDeviceProfileTemplateResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetDeviceProfileTemplateResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest> __Marshaller_api_UpdateDeviceProfileTemplateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest> __Marshaller_api_DeleteDeviceProfileTemplateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListDeviceProfileTemplatesRequest> __Marshaller_api_ListDeviceProfileTemplatesRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListDeviceProfileTemplatesRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListDeviceProfileTemplatesResponse> __Marshaller_api_ListDeviceProfileTemplatesResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListDeviceProfileTemplatesResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateDeviceProfileTemplateRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetDeviceProfileTemplateRequest, global::Chirpstack.Api.GetDeviceProfileTemplateResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetDeviceProfileTemplateRequest, global::Chirpstack.Api.GetDeviceProfileTemplateResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetDeviceProfileTemplateRequest,
__Marshaller_api_GetDeviceProfileTemplateResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateDeviceProfileTemplateRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteDeviceProfileTemplateRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListDeviceProfileTemplatesRequest, global::Chirpstack.Api.ListDeviceProfileTemplatesResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListDeviceProfileTemplatesRequest, global::Chirpstack.Api.ListDeviceProfileTemplatesResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListDeviceProfileTemplatesRequest,
__Marshaller_api_ListDeviceProfileTemplatesResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.DeviceProfileTemplateReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of DeviceProfileTemplateService</summary>
[grpc::BindServiceMethod(typeof(DeviceProfileTemplateService), "BindService")]
public abstract partial class DeviceProfileTemplateServiceBase
{
/// <summary>
/// Create the given device-profile template.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Create(global::Chirpstack.Api.CreateDeviceProfileTemplateRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the device-profile template for the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetDeviceProfileTemplateResponse> Get(global::Chirpstack.Api.GetDeviceProfileTemplateRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given device-profile template.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the device-profile template with the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// List the available device-profile templates.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListDeviceProfileTemplatesResponse> List(global::Chirpstack.Api.ListDeviceProfileTemplatesRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for DeviceProfileTemplateService</summary>
public partial class DeviceProfileTemplateServiceClient : grpc::ClientBase<DeviceProfileTemplateServiceClient>
{
/// <summary>Creates a new client for DeviceProfileTemplateService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public DeviceProfileTemplateServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for DeviceProfileTemplateService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public DeviceProfileTemplateServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected DeviceProfileTemplateServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected DeviceProfileTemplateServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Create(global::Chirpstack.Api.CreateDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Create(global::Chirpstack.Api.CreateDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> CreateAsync(global::Chirpstack.Api.CreateDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> CreateAsync(global::Chirpstack.Api.CreateDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get the device-profile template for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetDeviceProfileTemplateResponse Get(global::Chirpstack.Api.GetDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the device-profile template for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetDeviceProfileTemplateResponse Get(global::Chirpstack.Api.GetDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get the device-profile template for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetDeviceProfileTemplateResponse> GetAsync(global::Chirpstack.Api.GetDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the device-profile template for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetDeviceProfileTemplateResponse> GetAsync(global::Chirpstack.Api.GetDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given device-profile template.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete the device-profile template with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the device-profile template with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete the device-profile template with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the device-profile template with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// List the available device-profile templates.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfileTemplatesResponse List(global::Chirpstack.Api.ListDeviceProfileTemplatesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available device-profile templates.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListDeviceProfileTemplatesResponse List(global::Chirpstack.Api.ListDeviceProfileTemplatesRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// List the available device-profile templates.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfileTemplatesResponse> ListAsync(global::Chirpstack.Api.ListDeviceProfileTemplatesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available device-profile templates.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListDeviceProfileTemplatesResponse> ListAsync(global::Chirpstack.Api.ListDeviceProfileTemplatesRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override DeviceProfileTemplateServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new DeviceProfileTemplateServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(DeviceProfileTemplateServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, DeviceProfileTemplateServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetDeviceProfileTemplateRequest, global::Chirpstack.Api.GetDeviceProfileTemplateResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteDeviceProfileTemplateRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListDeviceProfileTemplatesRequest, global::Chirpstack.Api.ListDeviceProfileTemplatesResponse>(serviceImpl.List));
}
}
}
#endregion

1148
api/csharp/Chirpstack/api/FrameLog.cs vendored Normal file

File diff suppressed because it is too large Load Diff

4227
api/csharp/Chirpstack/api/Gateway.cs vendored Normal file

File diff suppressed because it is too large Load Diff

632
api/csharp/Chirpstack/api/GatewayGrpc.cs vendored Normal file
View File

@ -0,0 +1,632 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/gateway.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// GatewayService is the service providing API methods for managing gateways.
/// </summary>
public static partial class GatewayService
{
static readonly string __ServiceName = "api.GatewayService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateGatewayRequest> __Marshaller_api_CreateGatewayRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateGatewayRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetGatewayRequest> __Marshaller_api_GetGatewayRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetGatewayRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetGatewayResponse> __Marshaller_api_GetGatewayResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetGatewayResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateGatewayRequest> __Marshaller_api_UpdateGatewayRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateGatewayRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteGatewayRequest> __Marshaller_api_DeleteGatewayRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteGatewayRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListGatewaysRequest> __Marshaller_api_ListGatewaysRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListGatewaysRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListGatewaysResponse> __Marshaller_api_ListGatewaysResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListGatewaysResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GenerateGatewayClientCertificateRequest> __Marshaller_api_GenerateGatewayClientCertificateRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GenerateGatewayClientCertificateRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GenerateGatewayClientCertificateResponse> __Marshaller_api_GenerateGatewayClientCertificateResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GenerateGatewayClientCertificateResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetGatewayMetricsRequest> __Marshaller_api_GetGatewayMetricsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetGatewayMetricsRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetGatewayMetricsResponse> __Marshaller_api_GetGatewayMetricsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetGatewayMetricsResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateGatewayRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetGatewayRequest, global::Chirpstack.Api.GetGatewayResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetGatewayRequest, global::Chirpstack.Api.GetGatewayResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetGatewayRequest,
__Marshaller_api_GetGatewayResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateGatewayRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteGatewayRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListGatewaysRequest, global::Chirpstack.Api.ListGatewaysResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListGatewaysRequest, global::Chirpstack.Api.ListGatewaysResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListGatewaysRequest,
__Marshaller_api_ListGatewaysResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GenerateGatewayClientCertificateRequest, global::Chirpstack.Api.GenerateGatewayClientCertificateResponse> __Method_GenerateClientCertificate = new grpc::Method<global::Chirpstack.Api.GenerateGatewayClientCertificateRequest, global::Chirpstack.Api.GenerateGatewayClientCertificateResponse>(
grpc::MethodType.Unary,
__ServiceName,
"GenerateClientCertificate",
__Marshaller_api_GenerateGatewayClientCertificateRequest,
__Marshaller_api_GenerateGatewayClientCertificateResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetGatewayMetricsRequest, global::Chirpstack.Api.GetGatewayMetricsResponse> __Method_GetMetrics = new grpc::Method<global::Chirpstack.Api.GetGatewayMetricsRequest, global::Chirpstack.Api.GetGatewayMetricsResponse>(
grpc::MethodType.Unary,
__ServiceName,
"GetMetrics",
__Marshaller_api_GetGatewayMetricsRequest,
__Marshaller_api_GetGatewayMetricsResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.GatewayReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of GatewayService</summary>
[grpc::BindServiceMethod(typeof(GatewayService), "BindService")]
public abstract partial class GatewayServiceBase
{
/// <summary>
/// Create creates the given gateway.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Create(global::Chirpstack.Api.CreateGatewayRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get returns the gateway for the given Gateway ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetGatewayResponse> Get(global::Chirpstack.Api.GetGatewayRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update updates the given gateway.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateGatewayRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete deletes the gateway matching the given Gateway ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteGatewayRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the list of gateways.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListGatewaysResponse> List(global::Chirpstack.Api.ListGatewaysRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Generate client-certificate for the gateway.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GenerateGatewayClientCertificateResponse> GenerateClientCertificate(global::Chirpstack.Api.GenerateGatewayClientCertificateRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// GetMetrics returns the gateway metrics.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetGatewayMetricsResponse> GetMetrics(global::Chirpstack.Api.GetGatewayMetricsRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for GatewayService</summary>
public partial class GatewayServiceClient : grpc::ClientBase<GatewayServiceClient>
{
/// <summary>Creates a new client for GatewayService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public GatewayServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for GatewayService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public GatewayServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected GatewayServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected GatewayServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create creates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Create(global::Chirpstack.Api.CreateGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create creates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Create(global::Chirpstack.Api.CreateGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create creates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> CreateAsync(global::Chirpstack.Api.CreateGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create creates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> CreateAsync(global::Chirpstack.Api.CreateGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get returns the gateway for the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetGatewayResponse Get(global::Chirpstack.Api.GetGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get returns the gateway for the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetGatewayResponse Get(global::Chirpstack.Api.GetGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get returns the gateway for the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetGatewayResponse> GetAsync(global::Chirpstack.Api.GetGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get returns the gateway for the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetGatewayResponse> GetAsync(global::Chirpstack.Api.GetGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update updates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update updates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update updates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update updates the given gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete deletes the gateway matching the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete deletes the gateway matching the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete deletes the gateway matching the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteGatewayRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete deletes the gateway matching the given Gateway ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteGatewayRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Get the list of gateways.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListGatewaysResponse List(global::Chirpstack.Api.ListGatewaysRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of gateways.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListGatewaysResponse List(global::Chirpstack.Api.ListGatewaysRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Get the list of gateways.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListGatewaysResponse> ListAsync(global::Chirpstack.Api.ListGatewaysRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of gateways.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListGatewaysResponse> ListAsync(global::Chirpstack.Api.ListGatewaysRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Generate client-certificate for the gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GenerateGatewayClientCertificateResponse GenerateClientCertificate(global::Chirpstack.Api.GenerateGatewayClientCertificateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GenerateClientCertificate(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Generate client-certificate for the gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GenerateGatewayClientCertificateResponse GenerateClientCertificate(global::Chirpstack.Api.GenerateGatewayClientCertificateRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_GenerateClientCertificate, null, options, request);
}
/// <summary>
/// Generate client-certificate for the gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GenerateGatewayClientCertificateResponse> GenerateClientCertificateAsync(global::Chirpstack.Api.GenerateGatewayClientCertificateRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GenerateClientCertificateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Generate client-certificate for the gateway.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GenerateGatewayClientCertificateResponse> GenerateClientCertificateAsync(global::Chirpstack.Api.GenerateGatewayClientCertificateRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_GenerateClientCertificate, null, options, request);
}
/// <summary>
/// GetMetrics returns the gateway metrics.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetGatewayMetricsResponse GetMetrics(global::Chirpstack.Api.GetGatewayMetricsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetMetrics(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// GetMetrics returns the gateway metrics.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetGatewayMetricsResponse GetMetrics(global::Chirpstack.Api.GetGatewayMetricsRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_GetMetrics, null, options, request);
}
/// <summary>
/// GetMetrics returns the gateway metrics.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetGatewayMetricsResponse> GetMetricsAsync(global::Chirpstack.Api.GetGatewayMetricsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetMetricsAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// GetMetrics returns the gateway metrics.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetGatewayMetricsResponse> GetMetricsAsync(global::Chirpstack.Api.GetGatewayMetricsRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_GetMetrics, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override GatewayServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new GatewayServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(GatewayServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_GenerateClientCertificate, serviceImpl.GenerateClientCertificate)
.AddMethod(__Method_GetMetrics, serviceImpl.GetMetrics).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, GatewayServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetGatewayRequest, global::Chirpstack.Api.GetGatewayResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteGatewayRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListGatewaysRequest, global::Chirpstack.Api.ListGatewaysResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_GenerateClientCertificate, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GenerateGatewayClientCertificateRequest, global::Chirpstack.Api.GenerateGatewayClientCertificateResponse>(serviceImpl.GenerateClientCertificate));
serviceBinder.AddMethod(__Method_GetMetrics, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetGatewayMetricsRequest, global::Chirpstack.Api.GetGatewayMetricsResponse>(serviceImpl.GetMetrics));
}
}
}
#endregion

8018
api/csharp/Chirpstack/api/Internal.cs vendored Normal file

File diff suppressed because it is too large Load Diff

1149
api/csharp/Chirpstack/api/InternalGrpc.cs vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,994 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/multicast_group.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// MulticastGroupService is the service managing multicast-groups.
/// </summary>
public static partial class MulticastGroupService
{
static readonly string __ServiceName = "api.MulticastGroupService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateMulticastGroupRequest> __Marshaller_api_CreateMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateMulticastGroupResponse> __Marshaller_api_CreateMulticastGroupResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateMulticastGroupResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetMulticastGroupRequest> __Marshaller_api_GetMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetMulticastGroupResponse> __Marshaller_api_GetMulticastGroupResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetMulticastGroupResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateMulticastGroupRequest> __Marshaller_api_UpdateMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteMulticastGroupRequest> __Marshaller_api_DeleteMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListMulticastGroupsRequest> __Marshaller_api_ListMulticastGroupsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListMulticastGroupsRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListMulticastGroupsResponse> __Marshaller_api_ListMulticastGroupsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListMulticastGroupsResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.AddDeviceToMulticastGroupRequest> __Marshaller_api_AddDeviceToMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.AddDeviceToMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest> __Marshaller_api_RemoveDeviceFromMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.AddGatewayToMulticastGroupRequest> __Marshaller_api_AddGatewayToMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.AddGatewayToMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest> __Marshaller_api_RemoveGatewayFromMulticastGroupRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest> __Marshaller_api_EnqueueMulticastGroupQueueItemRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse> __Marshaller_api_EnqueueMulticastGroupQueueItemResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.FlushMulticastGroupQueueRequest> __Marshaller_api_FlushMulticastGroupQueueRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.FlushMulticastGroupQueueRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListMulticastGroupQueueRequest> __Marshaller_api_ListMulticastGroupQueueRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListMulticastGroupQueueRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListMulticastGroupQueueResponse> __Marshaller_api_ListMulticastGroupQueueResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListMulticastGroupQueueResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateMulticastGroupRequest, global::Chirpstack.Api.CreateMulticastGroupResponse> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateMulticastGroupRequest, global::Chirpstack.Api.CreateMulticastGroupResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateMulticastGroupRequest,
__Marshaller_api_CreateMulticastGroupResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetMulticastGroupRequest, global::Chirpstack.Api.GetMulticastGroupResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetMulticastGroupRequest, global::Chirpstack.Api.GetMulticastGroupResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetMulticastGroupRequest,
__Marshaller_api_GetMulticastGroupResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListMulticastGroupsRequest, global::Chirpstack.Api.ListMulticastGroupsResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListMulticastGroupsRequest, global::Chirpstack.Api.ListMulticastGroupsResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListMulticastGroupsRequest,
__Marshaller_api_ListMulticastGroupsResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.AddDeviceToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_AddDevice = new grpc::Method<global::Chirpstack.Api.AddDeviceToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"AddDevice",
__Marshaller_api_AddDeviceToMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_RemoveDevice = new grpc::Method<global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"RemoveDevice",
__Marshaller_api_RemoveDeviceFromMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.AddGatewayToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_AddGateway = new grpc::Method<global::Chirpstack.Api.AddGatewayToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"AddGateway",
__Marshaller_api_AddGatewayToMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_RemoveGateway = new grpc::Method<global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"RemoveGateway",
__Marshaller_api_RemoveGatewayFromMulticastGroupRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest, global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse> __Method_Enqueue = new grpc::Method<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest, global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Enqueue",
__Marshaller_api_EnqueueMulticastGroupQueueItemRequest,
__Marshaller_api_EnqueueMulticastGroupQueueItemResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.FlushMulticastGroupQueueRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_FlushQueue = new grpc::Method<global::Chirpstack.Api.FlushMulticastGroupQueueRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"FlushQueue",
__Marshaller_api_FlushMulticastGroupQueueRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListMulticastGroupQueueRequest, global::Chirpstack.Api.ListMulticastGroupQueueResponse> __Method_ListQueue = new grpc::Method<global::Chirpstack.Api.ListMulticastGroupQueueRequest, global::Chirpstack.Api.ListMulticastGroupQueueResponse>(
grpc::MethodType.Unary,
__ServiceName,
"ListQueue",
__Marshaller_api_ListMulticastGroupQueueRequest,
__Marshaller_api_ListMulticastGroupQueueResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.MulticastGroupReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of MulticastGroupService</summary>
[grpc::BindServiceMethod(typeof(MulticastGroupService), "BindService")]
public abstract partial class MulticastGroupServiceBase
{
/// <summary>
/// Create the given multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.CreateMulticastGroupResponse> Create(global::Chirpstack.Api.CreateMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get returns the multicast group for the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetMulticastGroupResponse> Get(global::Chirpstack.Api.GetMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the multicast-group with the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// List the available multicast groups.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListMulticastGroupsResponse> List(global::Chirpstack.Api.ListMulticastGroupsRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Add a device to the multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> AddDevice(global::Chirpstack.Api.AddDeviceToMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Remove a device from the multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDevice(global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Add a gateway to the multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> AddGateway(global::Chirpstack.Api.AddGatewayToMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Remove a gateway from the multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> RemoveGateway(global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Add the given item to the multicast group queue.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse> Enqueue(global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Flush the queue for the given multicast group.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> FlushQueue(global::Chirpstack.Api.FlushMulticastGroupQueueRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// List the items in the multicast group queue.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListMulticastGroupQueueResponse> ListQueue(global::Chirpstack.Api.ListMulticastGroupQueueRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for MulticastGroupService</summary>
public partial class MulticastGroupServiceClient : grpc::ClientBase<MulticastGroupServiceClient>
{
/// <summary>Creates a new client for MulticastGroupService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public MulticastGroupServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for MulticastGroupService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public MulticastGroupServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected MulticastGroupServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected MulticastGroupServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateMulticastGroupResponse Create(global::Chirpstack.Api.CreateMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateMulticastGroupResponse Create(global::Chirpstack.Api.CreateMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateMulticastGroupResponse> CreateAsync(global::Chirpstack.Api.CreateMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateMulticastGroupResponse> CreateAsync(global::Chirpstack.Api.CreateMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get returns the multicast group for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetMulticastGroupResponse Get(global::Chirpstack.Api.GetMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get returns the multicast group for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetMulticastGroupResponse Get(global::Chirpstack.Api.GetMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get returns the multicast group for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetMulticastGroupResponse> GetAsync(global::Chirpstack.Api.GetMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get returns the multicast group for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetMulticastGroupResponse> GetAsync(global::Chirpstack.Api.GetMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete the multicast-group with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the multicast-group with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete the multicast-group with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the multicast-group with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// List the available multicast groups.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListMulticastGroupsResponse List(global::Chirpstack.Api.ListMulticastGroupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available multicast groups.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListMulticastGroupsResponse List(global::Chirpstack.Api.ListMulticastGroupsRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// List the available multicast groups.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListMulticastGroupsResponse> ListAsync(global::Chirpstack.Api.ListMulticastGroupsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the available multicast groups.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListMulticastGroupsResponse> ListAsync(global::Chirpstack.Api.ListMulticastGroupsRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Add a device to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddDevice(global::Chirpstack.Api.AddDeviceToMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddDevice(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add a device to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddDevice(global::Chirpstack.Api.AddDeviceToMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_AddDevice, null, options, request);
}
/// <summary>
/// Add a device to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddDeviceAsync(global::Chirpstack.Api.AddDeviceToMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddDeviceAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add a device to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddDeviceAsync(global::Chirpstack.Api.AddDeviceToMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_AddDevice, null, options, request);
}
/// <summary>
/// Remove a device from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveDevice(global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveDevice(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Remove a device from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveDevice(global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_RemoveDevice, null, options, request);
}
/// <summary>
/// Remove a device from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDeviceAsync(global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveDeviceAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Remove a device from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDeviceAsync(global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_RemoveDevice, null, options, request);
}
/// <summary>
/// Add a gateway to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddGateway(global::Chirpstack.Api.AddGatewayToMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddGateway(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add a gateway to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddGateway(global::Chirpstack.Api.AddGatewayToMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_AddGateway, null, options, request);
}
/// <summary>
/// Add a gateway to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddGatewayAsync(global::Chirpstack.Api.AddGatewayToMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddGatewayAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add a gateway to the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddGatewayAsync(global::Chirpstack.Api.AddGatewayToMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_AddGateway, null, options, request);
}
/// <summary>
/// Remove a gateway from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveGateway(global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveGateway(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Remove a gateway from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveGateway(global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_RemoveGateway, null, options, request);
}
/// <summary>
/// Remove a gateway from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveGatewayAsync(global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveGatewayAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Remove a gateway from the multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveGatewayAsync(global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_RemoveGateway, null, options, request);
}
/// <summary>
/// Add the given item to the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse Enqueue(global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Enqueue(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add the given item to the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse Enqueue(global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Enqueue, null, options, request);
}
/// <summary>
/// Add the given item to the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse> EnqueueAsync(global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return EnqueueAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add the given item to the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse> EnqueueAsync(global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Enqueue, null, options, request);
}
/// <summary>
/// Flush the queue for the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty FlushQueue(global::Chirpstack.Api.FlushMulticastGroupQueueRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return FlushQueue(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Flush the queue for the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty FlushQueue(global::Chirpstack.Api.FlushMulticastGroupQueueRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_FlushQueue, null, options, request);
}
/// <summary>
/// Flush the queue for the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> FlushQueueAsync(global::Chirpstack.Api.FlushMulticastGroupQueueRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return FlushQueueAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Flush the queue for the given multicast group.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> FlushQueueAsync(global::Chirpstack.Api.FlushMulticastGroupQueueRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_FlushQueue, null, options, request);
}
/// <summary>
/// List the items in the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListMulticastGroupQueueResponse ListQueue(global::Chirpstack.Api.ListMulticastGroupQueueRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListQueue(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the items in the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListMulticastGroupQueueResponse ListQueue(global::Chirpstack.Api.ListMulticastGroupQueueRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_ListQueue, null, options, request);
}
/// <summary>
/// List the items in the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListMulticastGroupQueueResponse> ListQueueAsync(global::Chirpstack.Api.ListMulticastGroupQueueRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListQueueAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List the items in the multicast group queue.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListMulticastGroupQueueResponse> ListQueueAsync(global::Chirpstack.Api.ListMulticastGroupQueueRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_ListQueue, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override MulticastGroupServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new MulticastGroupServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(MulticastGroupServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_AddDevice, serviceImpl.AddDevice)
.AddMethod(__Method_RemoveDevice, serviceImpl.RemoveDevice)
.AddMethod(__Method_AddGateway, serviceImpl.AddGateway)
.AddMethod(__Method_RemoveGateway, serviceImpl.RemoveGateway)
.AddMethod(__Method_Enqueue, serviceImpl.Enqueue)
.AddMethod(__Method_FlushQueue, serviceImpl.FlushQueue)
.AddMethod(__Method_ListQueue, serviceImpl.ListQueue).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, MulticastGroupServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateMulticastGroupRequest, global::Chirpstack.Api.CreateMulticastGroupResponse>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetMulticastGroupRequest, global::Chirpstack.Api.GetMulticastGroupResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListMulticastGroupsRequest, global::Chirpstack.Api.ListMulticastGroupsResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_AddDevice, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.AddDeviceToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddDevice));
serviceBinder.AddMethod(__Method_RemoveDevice, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.RemoveDeviceFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.RemoveDevice));
serviceBinder.AddMethod(__Method_AddGateway, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.AddGatewayToMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddGateway));
serviceBinder.AddMethod(__Method_RemoveGateway, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.RemoveGatewayFromMulticastGroupRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.RemoveGateway));
serviceBinder.AddMethod(__Method_Enqueue, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.EnqueueMulticastGroupQueueItemRequest, global::Chirpstack.Api.EnqueueMulticastGroupQueueItemResponse>(serviceImpl.Enqueue));
serviceBinder.AddMethod(__Method_FlushQueue, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.FlushMulticastGroupQueueRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.FlushQueue));
serviceBinder.AddMethod(__Method_ListQueue, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListMulticastGroupQueueRequest, global::Chirpstack.Api.ListMulticastGroupQueueResponse>(serviceImpl.ListQueue));
}
}
}
#endregion

2040
api/csharp/Chirpstack/api/Relay.cs vendored Normal file

File diff suppressed because it is too large Load Diff

412
api/csharp/Chirpstack/api/RelayGrpc.cs vendored Normal file
View File

@ -0,0 +1,412 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/relay.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// RelayService is the service providing API methos for managing relays.
/// </summary>
public static partial class RelayService
{
static readonly string __ServiceName = "api.RelayService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListRelaysRequest> __Marshaller_api_ListRelaysRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListRelaysRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListRelaysResponse> __Marshaller_api_ListRelaysResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListRelaysResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.AddRelayDeviceRequest> __Marshaller_api_AddRelayDeviceRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.AddRelayDeviceRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.RemoveRelayDeviceRequest> __Marshaller_api_RemoveRelayDeviceRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.RemoveRelayDeviceRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListRelayDevicesRequest> __Marshaller_api_ListRelayDevicesRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListRelayDevicesRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListRelayDevicesResponse> __Marshaller_api_ListRelayDevicesResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListRelayDevicesResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListRelaysRequest, global::Chirpstack.Api.ListRelaysResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListRelaysRequest, global::Chirpstack.Api.ListRelaysResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListRelaysRequest,
__Marshaller_api_ListRelaysResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.AddRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_AddDevice = new grpc::Method<global::Chirpstack.Api.AddRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"AddDevice",
__Marshaller_api_AddRelayDeviceRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.RemoveRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_RemoveDevice = new grpc::Method<global::Chirpstack.Api.RemoveRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"RemoveDevice",
__Marshaller_api_RemoveRelayDeviceRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListRelayDevicesRequest, global::Chirpstack.Api.ListRelayDevicesResponse> __Method_ListDevices = new grpc::Method<global::Chirpstack.Api.ListRelayDevicesRequest, global::Chirpstack.Api.ListRelayDevicesResponse>(
grpc::MethodType.Unary,
__ServiceName,
"ListDevices",
__Marshaller_api_ListRelayDevicesRequest,
__Marshaller_api_ListRelayDevicesResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.RelayReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of RelayService</summary>
[grpc::BindServiceMethod(typeof(RelayService), "BindService")]
public abstract partial class RelayServiceBase
{
/// <summary>
/// List lists the relays for the given application id.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListRelaysResponse> List(global::Chirpstack.Api.ListRelaysRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// AddDevice adds the given device to the relay.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> AddDevice(global::Chirpstack.Api.AddRelayDeviceRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// RemoveDevice removes the given device from the relay.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDevice(global::Chirpstack.Api.RemoveRelayDeviceRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// ListDevices lists the devices for the given relay.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListRelayDevicesResponse> ListDevices(global::Chirpstack.Api.ListRelayDevicesRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for RelayService</summary>
public partial class RelayServiceClient : grpc::ClientBase<RelayServiceClient>
{
/// <summary>Creates a new client for RelayService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public RelayServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for RelayService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public RelayServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected RelayServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected RelayServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// List lists the relays for the given application id.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListRelaysResponse List(global::Chirpstack.Api.ListRelaysRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List lists the relays for the given application id.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListRelaysResponse List(global::Chirpstack.Api.ListRelaysRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// List lists the relays for the given application id.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListRelaysResponse> ListAsync(global::Chirpstack.Api.ListRelaysRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// List lists the relays for the given application id.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListRelaysResponse> ListAsync(global::Chirpstack.Api.ListRelaysRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// AddDevice adds the given device to the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddDevice(global::Chirpstack.Api.AddRelayDeviceRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddDevice(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// AddDevice adds the given device to the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddDevice(global::Chirpstack.Api.AddRelayDeviceRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_AddDevice, null, options, request);
}
/// <summary>
/// AddDevice adds the given device to the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddDeviceAsync(global::Chirpstack.Api.AddRelayDeviceRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddDeviceAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// AddDevice adds the given device to the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddDeviceAsync(global::Chirpstack.Api.AddRelayDeviceRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_AddDevice, null, options, request);
}
/// <summary>
/// RemoveDevice removes the given device from the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveDevice(global::Chirpstack.Api.RemoveRelayDeviceRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveDevice(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// RemoveDevice removes the given device from the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty RemoveDevice(global::Chirpstack.Api.RemoveRelayDeviceRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_RemoveDevice, null, options, request);
}
/// <summary>
/// RemoveDevice removes the given device from the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDeviceAsync(global::Chirpstack.Api.RemoveRelayDeviceRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return RemoveDeviceAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// RemoveDevice removes the given device from the relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> RemoveDeviceAsync(global::Chirpstack.Api.RemoveRelayDeviceRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_RemoveDevice, null, options, request);
}
/// <summary>
/// ListDevices lists the devices for the given relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListRelayDevicesResponse ListDevices(global::Chirpstack.Api.ListRelayDevicesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListDevices(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// ListDevices lists the devices for the given relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListRelayDevicesResponse ListDevices(global::Chirpstack.Api.ListRelayDevicesRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_ListDevices, null, options, request);
}
/// <summary>
/// ListDevices lists the devices for the given relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListRelayDevicesResponse> ListDevicesAsync(global::Chirpstack.Api.ListRelayDevicesRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListDevicesAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// ListDevices lists the devices for the given relay.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListRelayDevicesResponse> ListDevicesAsync(global::Chirpstack.Api.ListRelayDevicesRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_ListDevices, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override RelayServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new RelayServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(RelayServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_AddDevice, serviceImpl.AddDevice)
.AddMethod(__Method_RemoveDevice, serviceImpl.RemoveDevice)
.AddMethod(__Method_ListDevices, serviceImpl.ListDevices).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, RelayServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListRelaysRequest, global::Chirpstack.Api.ListRelaysResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_AddDevice, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.AddRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddDevice));
serviceBinder.AddMethod(__Method_RemoveDevice, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.RemoveRelayDeviceRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.RemoveDevice));
serviceBinder.AddMethod(__Method_ListDevices, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListRelayDevicesRequest, global::Chirpstack.Api.ListRelayDevicesResponse>(serviceImpl.ListDevices));
}
}
}
#endregion

310
api/csharp/Chirpstack/api/RequestLog.cs vendored Normal file
View File

@ -0,0 +1,310 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/request_log.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Chirpstack.Api {
/// <summary>Holder for reflection information generated from api/request_log.proto</summary>
public static partial class RequestLogReflection {
#region Descriptor
/// <summary>File descriptor for api/request_log.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static RequestLogReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"ChVhcGkvcmVxdWVzdF9sb2cucHJvdG8SA2FwaRofZ29vZ2xlL3Byb3RvYnVm",
"L3RpbWVzdGFtcC5wcm90bxoTY29tbW9uL2NvbW1vbi5wcm90bxoLZ3cvZ3cu",
"cHJvdG8ijwEKClJlcXVlc3RMb2cSDwoHc2VydmljZRgBIAEoCRIOCgZtZXRo",
"b2QYAiABKAkSLwoIbWV0YWRhdGEYAyADKAsyHS5hcGkuUmVxdWVzdExvZy5N",
"ZXRhZGF0YUVudHJ5Gi8KDU1ldGFkYXRhRW50cnkSCwoDa2V5GAEgASgJEg0K",
"BXZhbHVlGAIgASgJOgI4AUJnChFpby5jaGlycHN0YWNrLmFwaUIPUmVxdWVz",
"dExvZ1Byb3RvUAFaLmdpdGh1Yi5jb20vY2hpcnBzdGFjay9jaGlycHN0YWNr",
"L2FwaS9nby92NC9hcGmqAg5DaGlycHN0YWNrLkFwaWIGcHJvdG8z"));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Chirpstack.Common.CommonReflection.Descriptor, global::Chirpstack.Gateway.GwReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Api.RequestLog), global::Chirpstack.Api.RequestLog.Parser, new[]{ "Service", "Method", "Metadata" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { null, })
}));
}
#endregion
}
#region Messages
public sealed partial class RequestLog : pb::IMessage<RequestLog>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<RequestLog> _parser = new pb::MessageParser<RequestLog>(() => new RequestLog());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<RequestLog> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::Chirpstack.Api.RequestLogReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public RequestLog() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public RequestLog(RequestLog other) : this() {
service_ = other.service_;
method_ = other.method_;
metadata_ = other.metadata_.Clone();
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public RequestLog Clone() {
return new RequestLog(this);
}
/// <summary>Field number for the "service" field.</summary>
public const int ServiceFieldNumber = 1;
private string service_ = "";
/// <summary>
/// API service name.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Service {
get { return service_; }
set {
service_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "method" field.</summary>
public const int MethodFieldNumber = 2;
private string method_ = "";
/// <summary>
/// API method name.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string Method {
get { return method_; }
set {
method_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "metadata" field.</summary>
public const int MetadataFieldNumber = 3;
private static readonly pbc::MapField<string, string>.Codec _map_metadata_codec
= new pbc::MapField<string, string>.Codec(pb::FieldCodec.ForString(10, ""), pb::FieldCodec.ForString(18, ""), 26);
private readonly pbc::MapField<string, string> metadata_ = new pbc::MapField<string, string>();
/// <summary>
/// Metadata.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::MapField<string, string> Metadata {
get { return metadata_; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as RequestLog);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(RequestLog other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (Service != other.Service) return false;
if (Method != other.Method) return false;
if (!Metadata.Equals(other.Metadata)) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (Service.Length != 0) hash ^= Service.GetHashCode();
if (Method.Length != 0) hash ^= Method.GetHashCode();
hash ^= Metadata.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (Service.Length != 0) {
output.WriteRawTag(10);
output.WriteString(Service);
}
if (Method.Length != 0) {
output.WriteRawTag(18);
output.WriteString(Method);
}
metadata_.WriteTo(output, _map_metadata_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (Service.Length != 0) {
output.WriteRawTag(10);
output.WriteString(Service);
}
if (Method.Length != 0) {
output.WriteRawTag(18);
output.WriteString(Method);
}
metadata_.WriteTo(ref output, _map_metadata_codec);
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (Service.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Service);
}
if (Method.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(Method);
}
size += metadata_.CalculateSize(_map_metadata_codec);
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(RequestLog other) {
if (other == null) {
return;
}
if (other.Service.Length != 0) {
Service = other.Service;
}
if (other.Method.Length != 0) {
Method = other.Method;
}
metadata_.Add(other.metadata_);
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
Service = input.ReadString();
break;
}
case 18: {
Method = input.ReadString();
break;
}
case 26: {
metadata_.AddEntriesFrom(input, _map_metadata_codec);
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
Service = input.ReadString();
break;
}
case 18: {
Method = input.ReadString();
break;
}
case 26: {
metadata_.AddEntriesFrom(ref input, _map_metadata_codec);
break;
}
}
}
}
#endif
}
#endregion
}
#endregion Designer generated code

5498
api/csharp/Chirpstack/api/Tenant.cs vendored Normal file

File diff suppressed because it is too large Load Diff

855
api/csharp/Chirpstack/api/TenantGrpc.cs vendored Normal file
View File

@ -0,0 +1,855 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/tenant.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// TenantService is the service providing API methods for managing tenants.
/// </summary>
public static partial class TenantService
{
static readonly string __ServiceName = "api.TenantService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateTenantRequest> __Marshaller_api_CreateTenantRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateTenantRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateTenantResponse> __Marshaller_api_CreateTenantResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateTenantResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetTenantRequest> __Marshaller_api_GetTenantRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetTenantRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetTenantResponse> __Marshaller_api_GetTenantResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetTenantResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateTenantRequest> __Marshaller_api_UpdateTenantRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateTenantRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteTenantRequest> __Marshaller_api_DeleteTenantRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteTenantRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListTenantsRequest> __Marshaller_api_ListTenantsRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListTenantsRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListTenantsResponse> __Marshaller_api_ListTenantsResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListTenantsResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.AddTenantUserRequest> __Marshaller_api_AddTenantUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.AddTenantUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetTenantUserRequest> __Marshaller_api_GetTenantUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetTenantUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetTenantUserResponse> __Marshaller_api_GetTenantUserResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetTenantUserResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateTenantUserRequest> __Marshaller_api_UpdateTenantUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateTenantUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteTenantUserRequest> __Marshaller_api_DeleteTenantUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteTenantUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListTenantUsersRequest> __Marshaller_api_ListTenantUsersRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListTenantUsersRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListTenantUsersResponse> __Marshaller_api_ListTenantUsersResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListTenantUsersResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateTenantRequest, global::Chirpstack.Api.CreateTenantResponse> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateTenantRequest, global::Chirpstack.Api.CreateTenantResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateTenantRequest,
__Marshaller_api_CreateTenantResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetTenantRequest, global::Chirpstack.Api.GetTenantResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetTenantRequest, global::Chirpstack.Api.GetTenantResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetTenantRequest,
__Marshaller_api_GetTenantResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateTenantRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteTenantRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListTenantsRequest, global::Chirpstack.Api.ListTenantsResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListTenantsRequest, global::Chirpstack.Api.ListTenantsResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListTenantsRequest,
__Marshaller_api_ListTenantsResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.AddTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_AddUser = new grpc::Method<global::Chirpstack.Api.AddTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"AddUser",
__Marshaller_api_AddTenantUserRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetTenantUserRequest, global::Chirpstack.Api.GetTenantUserResponse> __Method_GetUser = new grpc::Method<global::Chirpstack.Api.GetTenantUserRequest, global::Chirpstack.Api.GetTenantUserResponse>(
grpc::MethodType.Unary,
__ServiceName,
"GetUser",
__Marshaller_api_GetTenantUserRequest,
__Marshaller_api_GetTenantUserResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_UpdateUser = new grpc::Method<global::Chirpstack.Api.UpdateTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"UpdateUser",
__Marshaller_api_UpdateTenantUserRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_DeleteUser = new grpc::Method<global::Chirpstack.Api.DeleteTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"DeleteUser",
__Marshaller_api_DeleteTenantUserRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListTenantUsersRequest, global::Chirpstack.Api.ListTenantUsersResponse> __Method_ListUsers = new grpc::Method<global::Chirpstack.Api.ListTenantUsersRequest, global::Chirpstack.Api.ListTenantUsersResponse>(
grpc::MethodType.Unary,
__ServiceName,
"ListUsers",
__Marshaller_api_ListTenantUsersRequest,
__Marshaller_api_ListTenantUsersResponse);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.TenantReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of TenantService</summary>
[grpc::BindServiceMethod(typeof(TenantService), "BindService")]
public abstract partial class TenantServiceBase
{
/// <summary>
/// Create a new tenant.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.CreateTenantResponse> Create(global::Chirpstack.Api.CreateTenantRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the tenant for the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetTenantResponse> Get(global::Chirpstack.Api.GetTenantRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given tenant.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateTenantRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the tenant with the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteTenantRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the list of tenants.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListTenantsResponse> List(global::Chirpstack.Api.ListTenantsRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Add an user to the tenant.
/// Note: the user must already exist.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> AddUser(global::Chirpstack.Api.AddTenantUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the the tenant user for the given tenant and user IDs.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetTenantUserResponse> GetUser(global::Chirpstack.Api.GetTenantUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given tenant user.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> UpdateUser(global::Chirpstack.Api.UpdateTenantUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the given tenant user.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> DeleteUser(global::Chirpstack.Api.DeleteTenantUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the list of tenant users.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListTenantUsersResponse> ListUsers(global::Chirpstack.Api.ListTenantUsersRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for TenantService</summary>
public partial class TenantServiceClient : grpc::ClientBase<TenantServiceClient>
{
/// <summary>Creates a new client for TenantService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public TenantServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for TenantService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public TenantServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected TenantServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected TenantServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create a new tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateTenantResponse Create(global::Chirpstack.Api.CreateTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create a new tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateTenantResponse Create(global::Chirpstack.Api.CreateTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create a new tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateTenantResponse> CreateAsync(global::Chirpstack.Api.CreateTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create a new tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateTenantResponse> CreateAsync(global::Chirpstack.Api.CreateTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get the tenant for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetTenantResponse Get(global::Chirpstack.Api.GetTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the tenant for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetTenantResponse Get(global::Chirpstack.Api.GetTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get the tenant for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetTenantResponse> GetAsync(global::Chirpstack.Api.GetTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the tenant for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetTenantResponse> GetAsync(global::Chirpstack.Api.GetTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update the given tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update the given tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given tenant.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete the tenant with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the tenant with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete the tenant with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteTenantRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the tenant with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteTenantRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Get the list of tenants.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListTenantsResponse List(global::Chirpstack.Api.ListTenantsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of tenants.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListTenantsResponse List(global::Chirpstack.Api.ListTenantsRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Get the list of tenants.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListTenantsResponse> ListAsync(global::Chirpstack.Api.ListTenantsRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of tenants.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListTenantsResponse> ListAsync(global::Chirpstack.Api.ListTenantsRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Add an user to the tenant.
/// Note: the user must already exist.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddUser(global::Chirpstack.Api.AddTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddUser(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add an user to the tenant.
/// Note: the user must already exist.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty AddUser(global::Chirpstack.Api.AddTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_AddUser, null, options, request);
}
/// <summary>
/// Add an user to the tenant.
/// Note: the user must already exist.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddUserAsync(global::Chirpstack.Api.AddTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return AddUserAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Add an user to the tenant.
/// Note: the user must already exist.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> AddUserAsync(global::Chirpstack.Api.AddTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_AddUser, null, options, request);
}
/// <summary>
/// Get the the tenant user for the given tenant and user IDs.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetTenantUserResponse GetUser(global::Chirpstack.Api.GetTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetUser(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the the tenant user for the given tenant and user IDs.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetTenantUserResponse GetUser(global::Chirpstack.Api.GetTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_GetUser, null, options, request);
}
/// <summary>
/// Get the the tenant user for the given tenant and user IDs.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetTenantUserResponse> GetUserAsync(global::Chirpstack.Api.GetTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetUserAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the the tenant user for the given tenant and user IDs.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetTenantUserResponse> GetUserAsync(global::Chirpstack.Api.GetTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_GetUser, null, options, request);
}
/// <summary>
/// Update the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty UpdateUser(global::Chirpstack.Api.UpdateTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateUser(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty UpdateUser(global::Chirpstack.Api.UpdateTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_UpdateUser, null, options, request);
}
/// <summary>
/// Update the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateUserAsync(global::Chirpstack.Api.UpdateTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateUserAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateUserAsync(global::Chirpstack.Api.UpdateTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_UpdateUser, null, options, request);
}
/// <summary>
/// Delete the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty DeleteUser(global::Chirpstack.Api.DeleteTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteUser(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty DeleteUser(global::Chirpstack.Api.DeleteTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_DeleteUser, null, options, request);
}
/// <summary>
/// Delete the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteUserAsync(global::Chirpstack.Api.DeleteTenantUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteUserAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the given tenant user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteUserAsync(global::Chirpstack.Api.DeleteTenantUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_DeleteUser, null, options, request);
}
/// <summary>
/// Get the list of tenant users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListTenantUsersResponse ListUsers(global::Chirpstack.Api.ListTenantUsersRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListUsers(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of tenant users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListTenantUsersResponse ListUsers(global::Chirpstack.Api.ListTenantUsersRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_ListUsers, null, options, request);
}
/// <summary>
/// Get the list of tenant users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListTenantUsersResponse> ListUsersAsync(global::Chirpstack.Api.ListTenantUsersRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListUsersAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of tenant users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListTenantUsersResponse> ListUsersAsync(global::Chirpstack.Api.ListTenantUsersRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_ListUsers, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override TenantServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new TenantServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(TenantServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_AddUser, serviceImpl.AddUser)
.AddMethod(__Method_GetUser, serviceImpl.GetUser)
.AddMethod(__Method_UpdateUser, serviceImpl.UpdateUser)
.AddMethod(__Method_DeleteUser, serviceImpl.DeleteUser)
.AddMethod(__Method_ListUsers, serviceImpl.ListUsers).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, TenantServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateTenantRequest, global::Chirpstack.Api.CreateTenantResponse>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetTenantRequest, global::Chirpstack.Api.GetTenantResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteTenantRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListTenantsRequest, global::Chirpstack.Api.ListTenantsResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_AddUser, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.AddTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.AddUser));
serviceBinder.AddMethod(__Method_GetUser, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetTenantUserRequest, global::Chirpstack.Api.GetTenantUserResponse>(serviceImpl.GetUser));
serviceBinder.AddMethod(__Method_UpdateUser, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdateUser));
serviceBinder.AddMethod(__Method_DeleteUser, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteTenantUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.DeleteUser));
serviceBinder.AddMethod(__Method_ListUsers, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListTenantUsersRequest, global::Chirpstack.Api.ListTenantUsersResponse>(serviceImpl.ListUsers));
}
}
}
#endregion

3198
api/csharp/Chirpstack/api/User.cs vendored Normal file

File diff suppressed because it is too large Load Diff

558
api/csharp/Chirpstack/api/UserGrpc.cs vendored Normal file
View File

@ -0,0 +1,558 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: api/user.proto
// </auto-generated>
#pragma warning disable 0414, 1591, 8981
#region Designer generated code
using grpc = global::Grpc.Core;
namespace Chirpstack.Api {
/// <summary>
/// UserService is the service providing API methods for managing users.
/// </summary>
public static partial class UserService
{
static readonly string __ServiceName = "api.UserService";
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static void __Helper_SerializeMessage(global::Google.Protobuf.IMessage message, grpc::SerializationContext context)
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (message is global::Google.Protobuf.IBufferMessage)
{
context.SetPayloadLength(message.CalculateSize());
global::Google.Protobuf.MessageExtensions.WriteTo(message, context.GetBufferWriter());
context.Complete();
return;
}
#endif
context.Complete(global::Google.Protobuf.MessageExtensions.ToByteArray(message));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static class __Helper_MessageCache<T>
{
public static readonly bool IsBufferMessage = global::System.Reflection.IntrospectionExtensions.GetTypeInfo(typeof(global::Google.Protobuf.IBufferMessage)).IsAssignableFrom(typeof(T));
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static T __Helper_DeserializeMessage<T>(grpc::DeserializationContext context, global::Google.Protobuf.MessageParser<T> parser) where T : global::Google.Protobuf.IMessage<T>
{
#if !GRPC_DISABLE_PROTOBUF_BUFFER_SERIALIZATION
if (__Helper_MessageCache<T>.IsBufferMessage)
{
return parser.ParseFrom(context.PayloadAsReadOnlySequence());
}
#endif
return parser.ParseFrom(context.PayloadAsNewBuffer());
}
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateUserRequest> __Marshaller_api_CreateUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.CreateUserResponse> __Marshaller_api_CreateUserResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.CreateUserResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetUserRequest> __Marshaller_api_GetUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.GetUserResponse> __Marshaller_api_GetUserResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.GetUserResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateUserRequest> __Marshaller_api_UpdateUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Google.Protobuf.WellKnownTypes.Empty> __Marshaller_google_protobuf_Empty = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Google.Protobuf.WellKnownTypes.Empty.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.DeleteUserRequest> __Marshaller_api_DeleteUserRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.DeleteUserRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListUsersRequest> __Marshaller_api_ListUsersRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListUsersRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.ListUsersResponse> __Marshaller_api_ListUsersResponse = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.ListUsersResponse.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Marshaller<global::Chirpstack.Api.UpdateUserPasswordRequest> __Marshaller_api_UpdateUserPasswordRequest = grpc::Marshallers.Create(__Helper_SerializeMessage, context => __Helper_DeserializeMessage(context, global::Chirpstack.Api.UpdateUserPasswordRequest.Parser));
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.CreateUserRequest, global::Chirpstack.Api.CreateUserResponse> __Method_Create = new grpc::Method<global::Chirpstack.Api.CreateUserRequest, global::Chirpstack.Api.CreateUserResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Create",
__Marshaller_api_CreateUserRequest,
__Marshaller_api_CreateUserResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.GetUserRequest, global::Chirpstack.Api.GetUserResponse> __Method_Get = new grpc::Method<global::Chirpstack.Api.GetUserRequest, global::Chirpstack.Api.GetUserResponse>(
grpc::MethodType.Unary,
__ServiceName,
"Get",
__Marshaller_api_GetUserRequest,
__Marshaller_api_GetUserResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateUserRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Update = new grpc::Method<global::Chirpstack.Api.UpdateUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Update",
__Marshaller_api_UpdateUserRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.DeleteUserRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_Delete = new grpc::Method<global::Chirpstack.Api.DeleteUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"Delete",
__Marshaller_api_DeleteUserRequest,
__Marshaller_google_protobuf_Empty);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.ListUsersRequest, global::Chirpstack.Api.ListUsersResponse> __Method_List = new grpc::Method<global::Chirpstack.Api.ListUsersRequest, global::Chirpstack.Api.ListUsersResponse>(
grpc::MethodType.Unary,
__ServiceName,
"List",
__Marshaller_api_ListUsersRequest,
__Marshaller_api_ListUsersResponse);
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
static readonly grpc::Method<global::Chirpstack.Api.UpdateUserPasswordRequest, global::Google.Protobuf.WellKnownTypes.Empty> __Method_UpdatePassword = new grpc::Method<global::Chirpstack.Api.UpdateUserPasswordRequest, global::Google.Protobuf.WellKnownTypes.Empty>(
grpc::MethodType.Unary,
__ServiceName,
"UpdatePassword",
__Marshaller_api_UpdateUserPasswordRequest,
__Marshaller_google_protobuf_Empty);
/// <summary>Service descriptor</summary>
public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor
{
get { return global::Chirpstack.Api.UserReflection.Descriptor.Services[0]; }
}
/// <summary>Base class for server-side implementations of UserService</summary>
[grpc::BindServiceMethod(typeof(UserService), "BindService")]
public abstract partial class UserServiceBase
{
/// <summary>
/// Create a new user.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.CreateUserResponse> Create(global::Chirpstack.Api.CreateUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the user for the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.GetUserResponse> Get(global::Chirpstack.Api.GetUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the given user.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Update(global::Chirpstack.Api.UpdateUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Delete the user with the given ID.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> Delete(global::Chirpstack.Api.DeleteUserRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Get the list of users.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Chirpstack.Api.ListUsersResponse> List(global::Chirpstack.Api.ListUsersRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
/// <summary>
/// Update the password for the given user.
/// </summary>
/// <param name="request">The request received from the client.</param>
/// <param name="context">The context of the server-side call handler being invoked.</param>
/// <returns>The response to send back to the client (wrapped by a task).</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::System.Threading.Tasks.Task<global::Google.Protobuf.WellKnownTypes.Empty> UpdatePassword(global::Chirpstack.Api.UpdateUserPasswordRequest request, grpc::ServerCallContext context)
{
throw new grpc::RpcException(new grpc::Status(grpc::StatusCode.Unimplemented, ""));
}
}
/// <summary>Client for UserService</summary>
public partial class UserServiceClient : grpc::ClientBase<UserServiceClient>
{
/// <summary>Creates a new client for UserService</summary>
/// <param name="channel">The channel to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public UserServiceClient(grpc::ChannelBase channel) : base(channel)
{
}
/// <summary>Creates a new client for UserService that uses a custom <c>CallInvoker</c>.</summary>
/// <param name="callInvoker">The callInvoker to use to make remote calls.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public UserServiceClient(grpc::CallInvoker callInvoker) : base(callInvoker)
{
}
/// <summary>Protected parameterless constructor to allow creation of test doubles.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected UserServiceClient() : base()
{
}
/// <summary>Protected constructor to allow creation of configured clients.</summary>
/// <param name="configuration">The client configuration.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected UserServiceClient(ClientBaseConfiguration configuration) : base(configuration)
{
}
/// <summary>
/// Create a new user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateUserResponse Create(global::Chirpstack.Api.CreateUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Create(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create a new user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.CreateUserResponse Create(global::Chirpstack.Api.CreateUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Create a new user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateUserResponse> CreateAsync(global::Chirpstack.Api.CreateUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return CreateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Create a new user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.CreateUserResponse> CreateAsync(global::Chirpstack.Api.CreateUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Create, null, options, request);
}
/// <summary>
/// Get the user for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetUserResponse Get(global::Chirpstack.Api.GetUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Get(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the user for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.GetUserResponse Get(global::Chirpstack.Api.GetUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Get the user for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetUserResponse> GetAsync(global::Chirpstack.Api.GetUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return GetAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the user for the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.GetUserResponse> GetAsync(global::Chirpstack.Api.GetUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Get, null, options, request);
}
/// <summary>
/// Update the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Update(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Update(global::Chirpstack.Api.UpdateUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Update the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdateAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdateAsync(global::Chirpstack.Api.UpdateUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Update, null, options, request);
}
/// <summary>
/// Delete the user with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return Delete(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the user with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty Delete(global::Chirpstack.Api.DeleteUserRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Delete the user with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteUserRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return DeleteAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Delete the user with the given ID.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> DeleteAsync(global::Chirpstack.Api.DeleteUserRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_Delete, null, options, request);
}
/// <summary>
/// Get the list of users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListUsersResponse List(global::Chirpstack.Api.ListUsersRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return List(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Chirpstack.Api.ListUsersResponse List(global::Chirpstack.Api.ListUsersRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Get the list of users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListUsersResponse> ListAsync(global::Chirpstack.Api.ListUsersRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return ListAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Get the list of users.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Chirpstack.Api.ListUsersResponse> ListAsync(global::Chirpstack.Api.ListUsersRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_List, null, options, request);
}
/// <summary>
/// Update the password for the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty UpdatePassword(global::Chirpstack.Api.UpdateUserPasswordRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdatePassword(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the password for the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The response received from the server.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual global::Google.Protobuf.WellKnownTypes.Empty UpdatePassword(global::Chirpstack.Api.UpdateUserPasswordRequest request, grpc::CallOptions options)
{
return CallInvoker.BlockingUnaryCall(__Method_UpdatePassword, null, options, request);
}
/// <summary>
/// Update the password for the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="headers">The initial metadata to send with the call. This parameter is optional.</param>
/// <param name="deadline">An optional deadline for the call. The call will be cancelled if deadline is hit.</param>
/// <param name="cancellationToken">An optional token for canceling the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdatePasswordAsync(global::Chirpstack.Api.UpdateUserPasswordRequest request, grpc::Metadata headers = null, global::System.DateTime? deadline = null, global::System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken))
{
return UpdatePasswordAsync(request, new grpc::CallOptions(headers, deadline, cancellationToken));
}
/// <summary>
/// Update the password for the given user.
/// </summary>
/// <param name="request">The request to send to the server.</param>
/// <param name="options">The options for the call.</param>
/// <returns>The call object.</returns>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public virtual grpc::AsyncUnaryCall<global::Google.Protobuf.WellKnownTypes.Empty> UpdatePasswordAsync(global::Chirpstack.Api.UpdateUserPasswordRequest request, grpc::CallOptions options)
{
return CallInvoker.AsyncUnaryCall(__Method_UpdatePassword, null, options, request);
}
/// <summary>Creates a new instance of client from given <c>ClientBaseConfiguration</c>.</summary>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
protected override UserServiceClient NewInstance(ClientBaseConfiguration configuration)
{
return new UserServiceClient(configuration);
}
}
/// <summary>Creates service definition that can be registered with a server</summary>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static grpc::ServerServiceDefinition BindService(UserServiceBase serviceImpl)
{
return grpc::ServerServiceDefinition.CreateBuilder()
.AddMethod(__Method_Create, serviceImpl.Create)
.AddMethod(__Method_Get, serviceImpl.Get)
.AddMethod(__Method_Update, serviceImpl.Update)
.AddMethod(__Method_Delete, serviceImpl.Delete)
.AddMethod(__Method_List, serviceImpl.List)
.AddMethod(__Method_UpdatePassword, serviceImpl.UpdatePassword).Build();
}
/// <summary>Register service method with a service binder with or without implementation. Useful when customizing the service binding logic.
/// Note: this method is part of an experimental API that can change or be removed without any prior notice.</summary>
/// <param name="serviceBinder">Service methods will be bound by calling <c>AddMethod</c> on this object.</param>
/// <param name="serviceImpl">An object implementing the server-side handling logic.</param>
[global::System.CodeDom.Compiler.GeneratedCode("grpc_csharp_plugin", null)]
public static void BindService(grpc::ServiceBinderBase serviceBinder, UserServiceBase serviceImpl)
{
serviceBinder.AddMethod(__Method_Create, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.CreateUserRequest, global::Chirpstack.Api.CreateUserResponse>(serviceImpl.Create));
serviceBinder.AddMethod(__Method_Get, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.GetUserRequest, global::Chirpstack.Api.GetUserResponse>(serviceImpl.Get));
serviceBinder.AddMethod(__Method_Update, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Update));
serviceBinder.AddMethod(__Method_Delete, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.DeleteUserRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.Delete));
serviceBinder.AddMethod(__Method_List, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.ListUsersRequest, global::Chirpstack.Api.ListUsersResponse>(serviceImpl.List));
serviceBinder.AddMethod(__Method_UpdatePassword, serviceImpl == null ? null : new grpc::UnaryServerMethod<global::Chirpstack.Api.UpdateUserPasswordRequest, global::Google.Protobuf.WellKnownTypes.Empty>(serviceImpl.UpdatePassword));
}
}
}
#endregion

1382
api/csharp/Chirpstack/common/Common.cs vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,52 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/api/annotations.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Google.Api {
/// <summary>Holder for reflection information generated from google/api/annotations.proto</summary>
public static partial class AnnotationsReflection {
#region Descriptor
/// <summary>File descriptor for google/api/annotations.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static AnnotationsReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Chxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvEgpnb29nbGUuYXBpGhVn",
"b29nbGUvYXBpL2h0dHAucHJvdG8aIGdvb2dsZS9wcm90b2J1Zi9kZXNjcmlw",
"dG9yLnByb3RvOkUKBGh0dHASHi5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0",
"aW9ucxiwyrwiIAEoCzIULmdvb2dsZS5hcGkuSHR0cFJ1bGVCbgoOY29tLmdv",
"b2dsZS5hcGlCEEFubm90YXRpb25zUHJvdG9QAVpBZ29vZ2xlLmdvbGFuZy5v",
"cmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3Rh",
"dGlvbnOiAgRHQVBJYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Google.Api.HttpReflection.Descriptor, global::Google.Protobuf.Reflection.DescriptorReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, new pb::Extension[] { AnnotationsExtensions.Http }, null));
}
#endregion
}
/// <summary>Holder for extension identifiers generated from the top level of google/api/annotations.proto</summary>
public static partial class AnnotationsExtensions {
/// <summary>
/// See `HttpRule`.
/// </summary>
public static readonly pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::Google.Api.HttpRule> Http =
new pb::Extension<global::Google.Protobuf.Reflection.MethodOptions, global::Google.Api.HttpRule>(72295728, pb::FieldCodec.ForMessage(578365826, global::Google.Api.HttpRule.Parser));
}
}
#endregion Designer generated code

1415
api/csharp/Chirpstack/google/api/Http.cs vendored Normal file

File diff suppressed because it is too large Load Diff

12330
api/csharp/Chirpstack/gw/Gw.cs vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

968
api/csharp/Chirpstack/meta/Meta.cs vendored Normal file
View File

@ -0,0 +1,968 @@
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: meta/meta.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021, 8981
#region Designer generated code
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Chirpstack.Meta {
/// <summary>Holder for reflection information generated from meta/meta.proto</summary>
public static partial class MetaReflection {
#region Descriptor
/// <summary>File descriptor for meta/meta.proto</summary>
public static pbr::FileDescriptor Descriptor {
get { return descriptor; }
}
private static pbr::FileDescriptor descriptor;
static MetaReflection() {
byte[] descriptorData = global::System.Convert.FromBase64String(
string.Concat(
"Cg9tZXRhL21ldGEucHJvdG8SBG1ldGEaE2NvbW1vbi9jb21tb24ucHJvdG8a",
"C2d3L2d3LnByb3RvIvABCgpVcGxpbmtNZXRhEg8KB2Rldl9ldWkYASABKAkS",
"IQoHdHhfaW5mbxgCIAEoCzIQLmd3LlVwbGlua1R4SW5mbxIhCgdyeF9pbmZv",
"GAMgAygLMhAuZ3cuVXBsaW5rUnhJbmZvEh4KFnBoeV9wYXlsb2FkX2J5dGVf",
"Y291bnQYBCABKA0SHgoWbWFjX2NvbW1hbmRfYnl0ZV9jb3VudBgFIAEoDRIm",
"Ch5hcHBsaWNhdGlvbl9wYXlsb2FkX2J5dGVfY291bnQYBiABKA0SIwoMbWVz",
"c2FnZV90eXBlGAcgASgOMg0uY29tbW9uLk1UeXBlIoECCgxEb3dubGlua01l",
"dGESDwoHZGV2X2V1aRgBIAEoCRIaChJtdWx0aWNhc3RfZ3JvdXBfaWQYAiAB",
"KAkSIwoHdHhfaW5mbxgDIAEoCzISLmd3LkRvd25saW5rVHhJbmZvEh4KFnBo",
"eV9wYXlsb2FkX2J5dGVfY291bnQYBCABKA0SHgoWbWFjX2NvbW1hbmRfYnl0",
"ZV9jb3VudBgFIAEoDRImCh5hcHBsaWNhdGlvbl9wYXlsb2FkX2J5dGVfY291",
"bnQYBiABKA0SIwoMbWVzc2FnZV90eXBlGAcgASgOMg0uY29tbW9uLk1UeXBl",
"EhIKCmdhdGV3YXlfaWQYCCABKAlCaAoWaW8uY2hpcnBzdGFjay5hcGkubWV0",
"YUIJTWV0YVByb3RvUAFaL2dpdGh1Yi5jb20vY2hpcnBzdGFjay9jaGlycHN0",
"YWNrL2FwaS9nby92NC9tZXRhqgIPQ2hpcnBzdGFjay5NZXRhYgZwcm90bzM="));
descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
new pbr::FileDescriptor[] { global::Chirpstack.Common.CommonReflection.Descriptor, global::Chirpstack.Gateway.GwReflection.Descriptor, },
new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Meta.UplinkMeta), global::Chirpstack.Meta.UplinkMeta.Parser, new[]{ "DevEui", "TxInfo", "RxInfo", "PhyPayloadByteCount", "MacCommandByteCount", "ApplicationPayloadByteCount", "MessageType" }, null, null, null, null),
new pbr::GeneratedClrTypeInfo(typeof(global::Chirpstack.Meta.DownlinkMeta), global::Chirpstack.Meta.DownlinkMeta.Parser, new[]{ "DevEui", "MulticastGroupId", "TxInfo", "PhyPayloadByteCount", "MacCommandByteCount", "ApplicationPayloadByteCount", "MessageType", "GatewayId" }, null, null, null, null)
}));
}
#endregion
}
#region Messages
public sealed partial class UplinkMeta : pb::IMessage<UplinkMeta>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<UplinkMeta> _parser = new pb::MessageParser<UplinkMeta>(() => new UplinkMeta());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<UplinkMeta> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::Chirpstack.Meta.MetaReflection.Descriptor.MessageTypes[0]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public UplinkMeta() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public UplinkMeta(UplinkMeta other) : this() {
devEui_ = other.devEui_;
txInfo_ = other.txInfo_ != null ? other.txInfo_.Clone() : null;
rxInfo_ = other.rxInfo_.Clone();
phyPayloadByteCount_ = other.phyPayloadByteCount_;
macCommandByteCount_ = other.macCommandByteCount_;
applicationPayloadByteCount_ = other.applicationPayloadByteCount_;
messageType_ = other.messageType_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public UplinkMeta Clone() {
return new UplinkMeta(this);
}
/// <summary>Field number for the "dev_eui" field.</summary>
public const int DevEuiFieldNumber = 1;
private string devEui_ = "";
/// <summary>
/// Device EUI (EUI64).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string DevEui {
get { return devEui_; }
set {
devEui_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "tx_info" field.</summary>
public const int TxInfoFieldNumber = 2;
private global::Chirpstack.Gateway.UplinkTxInfo txInfo_;
/// <summary>
/// TX meta-data.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::Chirpstack.Gateway.UplinkTxInfo TxInfo {
get { return txInfo_; }
set {
txInfo_ = value;
}
}
/// <summary>Field number for the "rx_info" field.</summary>
public const int RxInfoFieldNumber = 3;
private static readonly pb::FieldCodec<global::Chirpstack.Gateway.UplinkRxInfo> _repeated_rxInfo_codec
= pb::FieldCodec.ForMessage(26, global::Chirpstack.Gateway.UplinkRxInfo.Parser);
private readonly pbc::RepeatedField<global::Chirpstack.Gateway.UplinkRxInfo> rxInfo_ = new pbc::RepeatedField<global::Chirpstack.Gateway.UplinkRxInfo>();
/// <summary>
/// RX meta-data.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public pbc::RepeatedField<global::Chirpstack.Gateway.UplinkRxInfo> RxInfo {
get { return rxInfo_; }
}
/// <summary>Field number for the "phy_payload_byte_count" field.</summary>
public const int PhyPayloadByteCountFieldNumber = 4;
private uint phyPayloadByteCount_;
/// <summary>
/// PHYPayload byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint PhyPayloadByteCount {
get { return phyPayloadByteCount_; }
set {
phyPayloadByteCount_ = value;
}
}
/// <summary>Field number for the "mac_command_byte_count" field.</summary>
public const int MacCommandByteCountFieldNumber = 5;
private uint macCommandByteCount_;
/// <summary>
/// MAC-Command byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint MacCommandByteCount {
get { return macCommandByteCount_; }
set {
macCommandByteCount_ = value;
}
}
/// <summary>Field number for the "application_payload_byte_count" field.</summary>
public const int ApplicationPayloadByteCountFieldNumber = 6;
private uint applicationPayloadByteCount_;
/// <summary>
/// Application payload byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ApplicationPayloadByteCount {
get { return applicationPayloadByteCount_; }
set {
applicationPayloadByteCount_ = value;
}
}
/// <summary>Field number for the "message_type" field.</summary>
public const int MessageTypeFieldNumber = 7;
private global::Chirpstack.Common.MType messageType_ = global::Chirpstack.Common.MType.JoinRequest;
/// <summary>
/// Message type.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::Chirpstack.Common.MType MessageType {
get { return messageType_; }
set {
messageType_ = value;
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as UplinkMeta);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(UplinkMeta other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (DevEui != other.DevEui) return false;
if (!object.Equals(TxInfo, other.TxInfo)) return false;
if(!rxInfo_.Equals(other.rxInfo_)) return false;
if (PhyPayloadByteCount != other.PhyPayloadByteCount) return false;
if (MacCommandByteCount != other.MacCommandByteCount) return false;
if (ApplicationPayloadByteCount != other.ApplicationPayloadByteCount) return false;
if (MessageType != other.MessageType) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (DevEui.Length != 0) hash ^= DevEui.GetHashCode();
if (txInfo_ != null) hash ^= TxInfo.GetHashCode();
hash ^= rxInfo_.GetHashCode();
if (PhyPayloadByteCount != 0) hash ^= PhyPayloadByteCount.GetHashCode();
if (MacCommandByteCount != 0) hash ^= MacCommandByteCount.GetHashCode();
if (ApplicationPayloadByteCount != 0) hash ^= ApplicationPayloadByteCount.GetHashCode();
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) hash ^= MessageType.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (DevEui.Length != 0) {
output.WriteRawTag(10);
output.WriteString(DevEui);
}
if (txInfo_ != null) {
output.WriteRawTag(18);
output.WriteMessage(TxInfo);
}
rxInfo_.WriteTo(output, _repeated_rxInfo_codec);
if (PhyPayloadByteCount != 0) {
output.WriteRawTag(32);
output.WriteUInt32(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
output.WriteRawTag(40);
output.WriteUInt32(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
output.WriteRawTag(48);
output.WriteUInt32(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
output.WriteRawTag(56);
output.WriteEnum((int) MessageType);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (DevEui.Length != 0) {
output.WriteRawTag(10);
output.WriteString(DevEui);
}
if (txInfo_ != null) {
output.WriteRawTag(18);
output.WriteMessage(TxInfo);
}
rxInfo_.WriteTo(ref output, _repeated_rxInfo_codec);
if (PhyPayloadByteCount != 0) {
output.WriteRawTag(32);
output.WriteUInt32(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
output.WriteRawTag(40);
output.WriteUInt32(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
output.WriteRawTag(48);
output.WriteUInt32(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
output.WriteRawTag(56);
output.WriteEnum((int) MessageType);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (DevEui.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(DevEui);
}
if (txInfo_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(TxInfo);
}
size += rxInfo_.CalculateSize(_repeated_rxInfo_codec);
if (PhyPayloadByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageType);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(UplinkMeta other) {
if (other == null) {
return;
}
if (other.DevEui.Length != 0) {
DevEui = other.DevEui;
}
if (other.txInfo_ != null) {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.UplinkTxInfo();
}
TxInfo.MergeFrom(other.TxInfo);
}
rxInfo_.Add(other.rxInfo_);
if (other.PhyPayloadByteCount != 0) {
PhyPayloadByteCount = other.PhyPayloadByteCount;
}
if (other.MacCommandByteCount != 0) {
MacCommandByteCount = other.MacCommandByteCount;
}
if (other.ApplicationPayloadByteCount != 0) {
ApplicationPayloadByteCount = other.ApplicationPayloadByteCount;
}
if (other.MessageType != global::Chirpstack.Common.MType.JoinRequest) {
MessageType = other.MessageType;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
DevEui = input.ReadString();
break;
}
case 18: {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.UplinkTxInfo();
}
input.ReadMessage(TxInfo);
break;
}
case 26: {
rxInfo_.AddEntriesFrom(input, _repeated_rxInfo_codec);
break;
}
case 32: {
PhyPayloadByteCount = input.ReadUInt32();
break;
}
case 40: {
MacCommandByteCount = input.ReadUInt32();
break;
}
case 48: {
ApplicationPayloadByteCount = input.ReadUInt32();
break;
}
case 56: {
MessageType = (global::Chirpstack.Common.MType) input.ReadEnum();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
DevEui = input.ReadString();
break;
}
case 18: {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.UplinkTxInfo();
}
input.ReadMessage(TxInfo);
break;
}
case 26: {
rxInfo_.AddEntriesFrom(ref input, _repeated_rxInfo_codec);
break;
}
case 32: {
PhyPayloadByteCount = input.ReadUInt32();
break;
}
case 40: {
MacCommandByteCount = input.ReadUInt32();
break;
}
case 48: {
ApplicationPayloadByteCount = input.ReadUInt32();
break;
}
case 56: {
MessageType = (global::Chirpstack.Common.MType) input.ReadEnum();
break;
}
}
}
}
#endif
}
public sealed partial class DownlinkMeta : pb::IMessage<DownlinkMeta>
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
, pb::IBufferMessage
#endif
{
private static readonly pb::MessageParser<DownlinkMeta> _parser = new pb::MessageParser<DownlinkMeta>(() => new DownlinkMeta());
private pb::UnknownFieldSet _unknownFields;
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pb::MessageParser<DownlinkMeta> Parser { get { return _parser; } }
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public static pbr::MessageDescriptor Descriptor {
get { return global::Chirpstack.Meta.MetaReflection.Descriptor.MessageTypes[1]; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
pbr::MessageDescriptor pb::IMessage.Descriptor {
get { return Descriptor; }
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DownlinkMeta() {
OnConstruction();
}
partial void OnConstruction();
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DownlinkMeta(DownlinkMeta other) : this() {
devEui_ = other.devEui_;
multicastGroupId_ = other.multicastGroupId_;
txInfo_ = other.txInfo_ != null ? other.txInfo_.Clone() : null;
phyPayloadByteCount_ = other.phyPayloadByteCount_;
macCommandByteCount_ = other.macCommandByteCount_;
applicationPayloadByteCount_ = other.applicationPayloadByteCount_;
messageType_ = other.messageType_;
gatewayId_ = other.gatewayId_;
_unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public DownlinkMeta Clone() {
return new DownlinkMeta(this);
}
/// <summary>Field number for the "dev_eui" field.</summary>
public const int DevEuiFieldNumber = 1;
private string devEui_ = "";
/// <summary>
/// Device EUI (EUI64).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string DevEui {
get { return devEui_; }
set {
devEui_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "multicast_group_id" field.</summary>
public const int MulticastGroupIdFieldNumber = 2;
private string multicastGroupId_ = "";
/// <summary>
/// Multicast Group ID (UUID).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string MulticastGroupId {
get { return multicastGroupId_; }
set {
multicastGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
/// <summary>Field number for the "tx_info" field.</summary>
public const int TxInfoFieldNumber = 3;
private global::Chirpstack.Gateway.DownlinkTxInfo txInfo_;
/// <summary>
/// TX meta-data.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::Chirpstack.Gateway.DownlinkTxInfo TxInfo {
get { return txInfo_; }
set {
txInfo_ = value;
}
}
/// <summary>Field number for the "phy_payload_byte_count" field.</summary>
public const int PhyPayloadByteCountFieldNumber = 4;
private uint phyPayloadByteCount_;
/// <summary>
/// PHYPayload byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint PhyPayloadByteCount {
get { return phyPayloadByteCount_; }
set {
phyPayloadByteCount_ = value;
}
}
/// <summary>Field number for the "mac_command_byte_count" field.</summary>
public const int MacCommandByteCountFieldNumber = 5;
private uint macCommandByteCount_;
/// <summary>
/// MAC-Command byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint MacCommandByteCount {
get { return macCommandByteCount_; }
set {
macCommandByteCount_ = value;
}
}
/// <summary>Field number for the "application_payload_byte_count" field.</summary>
public const int ApplicationPayloadByteCountFieldNumber = 6;
private uint applicationPayloadByteCount_;
/// <summary>
/// Application payload byte count.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public uint ApplicationPayloadByteCount {
get { return applicationPayloadByteCount_; }
set {
applicationPayloadByteCount_ = value;
}
}
/// <summary>Field number for the "message_type" field.</summary>
public const int MessageTypeFieldNumber = 7;
private global::Chirpstack.Common.MType messageType_ = global::Chirpstack.Common.MType.JoinRequest;
/// <summary>
/// Message type.
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public global::Chirpstack.Common.MType MessageType {
get { return messageType_; }
set {
messageType_ = value;
}
}
/// <summary>Field number for the "gateway_id" field.</summary>
public const int GatewayIdFieldNumber = 8;
private string gatewayId_ = "";
/// <summary>
/// Gateway ID (EUI64).
/// </summary>
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public string GatewayId {
get { return gatewayId_; }
set {
gatewayId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
}
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override bool Equals(object other) {
return Equals(other as DownlinkMeta);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public bool Equals(DownlinkMeta other) {
if (ReferenceEquals(other, null)) {
return false;
}
if (ReferenceEquals(other, this)) {
return true;
}
if (DevEui != other.DevEui) return false;
if (MulticastGroupId != other.MulticastGroupId) return false;
if (!object.Equals(TxInfo, other.TxInfo)) return false;
if (PhyPayloadByteCount != other.PhyPayloadByteCount) return false;
if (MacCommandByteCount != other.MacCommandByteCount) return false;
if (ApplicationPayloadByteCount != other.ApplicationPayloadByteCount) return false;
if (MessageType != other.MessageType) return false;
if (GatewayId != other.GatewayId) return false;
return Equals(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override int GetHashCode() {
int hash = 1;
if (DevEui.Length != 0) hash ^= DevEui.GetHashCode();
if (MulticastGroupId.Length != 0) hash ^= MulticastGroupId.GetHashCode();
if (txInfo_ != null) hash ^= TxInfo.GetHashCode();
if (PhyPayloadByteCount != 0) hash ^= PhyPayloadByteCount.GetHashCode();
if (MacCommandByteCount != 0) hash ^= MacCommandByteCount.GetHashCode();
if (ApplicationPayloadByteCount != 0) hash ^= ApplicationPayloadByteCount.GetHashCode();
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) hash ^= MessageType.GetHashCode();
if (GatewayId.Length != 0) hash ^= GatewayId.GetHashCode();
if (_unknownFields != null) {
hash ^= _unknownFields.GetHashCode();
}
return hash;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public override string ToString() {
return pb::JsonFormatter.ToDiagnosticString(this);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void WriteTo(pb::CodedOutputStream output) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
output.WriteRawMessage(this);
#else
if (DevEui.Length != 0) {
output.WriteRawTag(10);
output.WriteString(DevEui);
}
if (MulticastGroupId.Length != 0) {
output.WriteRawTag(18);
output.WriteString(MulticastGroupId);
}
if (txInfo_ != null) {
output.WriteRawTag(26);
output.WriteMessage(TxInfo);
}
if (PhyPayloadByteCount != 0) {
output.WriteRawTag(32);
output.WriteUInt32(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
output.WriteRawTag(40);
output.WriteUInt32(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
output.WriteRawTag(48);
output.WriteUInt32(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
output.WriteRawTag(56);
output.WriteEnum((int) MessageType);
}
if (GatewayId.Length != 0) {
output.WriteRawTag(66);
output.WriteString(GatewayId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(output);
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
if (DevEui.Length != 0) {
output.WriteRawTag(10);
output.WriteString(DevEui);
}
if (MulticastGroupId.Length != 0) {
output.WriteRawTag(18);
output.WriteString(MulticastGroupId);
}
if (txInfo_ != null) {
output.WriteRawTag(26);
output.WriteMessage(TxInfo);
}
if (PhyPayloadByteCount != 0) {
output.WriteRawTag(32);
output.WriteUInt32(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
output.WriteRawTag(40);
output.WriteUInt32(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
output.WriteRawTag(48);
output.WriteUInt32(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
output.WriteRawTag(56);
output.WriteEnum((int) MessageType);
}
if (GatewayId.Length != 0) {
output.WriteRawTag(66);
output.WriteString(GatewayId);
}
if (_unknownFields != null) {
_unknownFields.WriteTo(ref output);
}
}
#endif
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public int CalculateSize() {
int size = 0;
if (DevEui.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(DevEui);
}
if (MulticastGroupId.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(MulticastGroupId);
}
if (txInfo_ != null) {
size += 1 + pb::CodedOutputStream.ComputeMessageSize(TxInfo);
}
if (PhyPayloadByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(PhyPayloadByteCount);
}
if (MacCommandByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(MacCommandByteCount);
}
if (ApplicationPayloadByteCount != 0) {
size += 1 + pb::CodedOutputStream.ComputeUInt32Size(ApplicationPayloadByteCount);
}
if (MessageType != global::Chirpstack.Common.MType.JoinRequest) {
size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) MessageType);
}
if (GatewayId.Length != 0) {
size += 1 + pb::CodedOutputStream.ComputeStringSize(GatewayId);
}
if (_unknownFields != null) {
size += _unknownFields.CalculateSize();
}
return size;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(DownlinkMeta other) {
if (other == null) {
return;
}
if (other.DevEui.Length != 0) {
DevEui = other.DevEui;
}
if (other.MulticastGroupId.Length != 0) {
MulticastGroupId = other.MulticastGroupId;
}
if (other.txInfo_ != null) {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.DownlinkTxInfo();
}
TxInfo.MergeFrom(other.TxInfo);
}
if (other.PhyPayloadByteCount != 0) {
PhyPayloadByteCount = other.PhyPayloadByteCount;
}
if (other.MacCommandByteCount != 0) {
MacCommandByteCount = other.MacCommandByteCount;
}
if (other.ApplicationPayloadByteCount != 0) {
ApplicationPayloadByteCount = other.ApplicationPayloadByteCount;
}
if (other.MessageType != global::Chirpstack.Common.MType.JoinRequest) {
MessageType = other.MessageType;
}
if (other.GatewayId.Length != 0) {
GatewayId = other.GatewayId;
}
_unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
public void MergeFrom(pb::CodedInputStream input) {
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
input.ReadRawMessage(this);
#else
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
break;
case 10: {
DevEui = input.ReadString();
break;
}
case 18: {
MulticastGroupId = input.ReadString();
break;
}
case 26: {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.DownlinkTxInfo();
}
input.ReadMessage(TxInfo);
break;
}
case 32: {
PhyPayloadByteCount = input.ReadUInt32();
break;
}
case 40: {
MacCommandByteCount = input.ReadUInt32();
break;
}
case 48: {
ApplicationPayloadByteCount = input.ReadUInt32();
break;
}
case 56: {
MessageType = (global::Chirpstack.Common.MType) input.ReadEnum();
break;
}
case 66: {
GatewayId = input.ReadString();
break;
}
}
}
#endif
}
#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
[global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
uint tag;
while ((tag = input.ReadTag()) != 0) {
switch(tag) {
default:
_unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
break;
case 10: {
DevEui = input.ReadString();
break;
}
case 18: {
MulticastGroupId = input.ReadString();
break;
}
case 26: {
if (txInfo_ == null) {
TxInfo = new global::Chirpstack.Gateway.DownlinkTxInfo();
}
input.ReadMessage(TxInfo);
break;
}
case 32: {
PhyPayloadByteCount = input.ReadUInt32();
break;
}
case 40: {
MacCommandByteCount = input.ReadUInt32();
break;
}
case 48: {
ApplicationPayloadByteCount = input.ReadUInt32();
break;
}
case 56: {
MessageType = (global::Chirpstack.Common.MType) input.ReadEnum();
break;
}
case 66: {
GatewayId = input.ReadString();
break;
}
}
}
}
#endif
}
#endregion
}
#endregion Designer generated code

12
api/csharp/Makefile vendored Normal file
View File

@ -0,0 +1,12 @@
.PHONY: requirements
all: requirements install clean-after
requirements:
rm -rf Chirpstack
dotnet clean
install:
dotnet build -c Release -o /app/build
clean-after:
rm -rf obj
rm -rf bin

View File

@ -42,3 +42,24 @@ services:
command: bash -c "cd md && make all"
volumes:
- ./:/chirpstack/api
chirpstack-api-java:
build:
context: .
dockerfile: Dockerfile-java
command: bash -c "cd java && make all"
volumes:
- ./:/chirpstack/api
chirpstack-api-kotlin:
build:
context: .
dockerfile: Dockerfile-kotlin
command: bash -c "cd kotlin && make all"
volumes:
- ./:/chirpstack/api
chirpstack-csharp:
build:
context: .
dockerfile: Dockerfile-csharp
command: bash -c "cd csharp && make all"
volumes:
- ./:/chirpstack/api

2
api/go/Makefile vendored
View File

@ -26,6 +26,8 @@ api:
protoc ${PROTOC_ARGS} api/gateway.proto
protoc ${PROTOC_ARGS} api/frame_log.proto
protoc ${PROTOC_ARGS} api/multicast_group.proto
protoc ${PROTOC_ARGS} api/request_log.proto
protoc ${PROTOC_ARGS} api/relay.proto
integration:
protoc ${PROTOC_ARGS} integration/integration.proto

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/application.proto
package api
@ -19,6 +19,56 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
ApplicationService_Create_FullMethodName = "/api.ApplicationService/Create"
ApplicationService_Get_FullMethodName = "/api.ApplicationService/Get"
ApplicationService_Update_FullMethodName = "/api.ApplicationService/Update"
ApplicationService_Delete_FullMethodName = "/api.ApplicationService/Delete"
ApplicationService_List_FullMethodName = "/api.ApplicationService/List"
ApplicationService_ListIntegrations_FullMethodName = "/api.ApplicationService/ListIntegrations"
ApplicationService_CreateHttpIntegration_FullMethodName = "/api.ApplicationService/CreateHttpIntegration"
ApplicationService_GetHttpIntegration_FullMethodName = "/api.ApplicationService/GetHttpIntegration"
ApplicationService_UpdateHttpIntegration_FullMethodName = "/api.ApplicationService/UpdateHttpIntegration"
ApplicationService_DeleteHttpIntegration_FullMethodName = "/api.ApplicationService/DeleteHttpIntegration"
ApplicationService_CreateInfluxDbIntegration_FullMethodName = "/api.ApplicationService/CreateInfluxDbIntegration"
ApplicationService_GetInfluxDbIntegration_FullMethodName = "/api.ApplicationService/GetInfluxDbIntegration"
ApplicationService_UpdateInfluxDbIntegration_FullMethodName = "/api.ApplicationService/UpdateInfluxDbIntegration"
ApplicationService_DeleteInfluxDbIntegration_FullMethodName = "/api.ApplicationService/DeleteInfluxDbIntegration"
ApplicationService_CreateThingsBoardIntegration_FullMethodName = "/api.ApplicationService/CreateThingsBoardIntegration"
ApplicationService_GetThingsBoardIntegration_FullMethodName = "/api.ApplicationService/GetThingsBoardIntegration"
ApplicationService_UpdateThingsBoardIntegration_FullMethodName = "/api.ApplicationService/UpdateThingsBoardIntegration"
ApplicationService_DeleteThingsBoardIntegration_FullMethodName = "/api.ApplicationService/DeleteThingsBoardIntegration"
ApplicationService_CreateMyDevicesIntegration_FullMethodName = "/api.ApplicationService/CreateMyDevicesIntegration"
ApplicationService_GetMyDevicesIntegration_FullMethodName = "/api.ApplicationService/GetMyDevicesIntegration"
ApplicationService_UpdateMyDevicesIntegration_FullMethodName = "/api.ApplicationService/UpdateMyDevicesIntegration"
ApplicationService_DeleteMyDevicesIntegration_FullMethodName = "/api.ApplicationService/DeleteMyDevicesIntegration"
ApplicationService_CreateLoraCloudIntegration_FullMethodName = "/api.ApplicationService/CreateLoraCloudIntegration"
ApplicationService_GetLoraCloudIntegration_FullMethodName = "/api.ApplicationService/GetLoraCloudIntegration"
ApplicationService_UpdateLoraCloudIntegration_FullMethodName = "/api.ApplicationService/UpdateLoraCloudIntegration"
ApplicationService_DeleteLoraCloudIntegration_FullMethodName = "/api.ApplicationService/DeleteLoraCloudIntegration"
ApplicationService_CreateGcpPubSubIntegration_FullMethodName = "/api.ApplicationService/CreateGcpPubSubIntegration"
ApplicationService_GetGcpPubSubIntegration_FullMethodName = "/api.ApplicationService/GetGcpPubSubIntegration"
ApplicationService_UpdateGcpPubSubIntegration_FullMethodName = "/api.ApplicationService/UpdateGcpPubSubIntegration"
ApplicationService_DeleteGcpPubSubIntegration_FullMethodName = "/api.ApplicationService/DeleteGcpPubSubIntegration"
ApplicationService_CreateAwsSnsIntegration_FullMethodName = "/api.ApplicationService/CreateAwsSnsIntegration"
ApplicationService_GetAwsSnsIntegration_FullMethodName = "/api.ApplicationService/GetAwsSnsIntegration"
ApplicationService_UpdateAwsSnsIntegration_FullMethodName = "/api.ApplicationService/UpdateAwsSnsIntegration"
ApplicationService_DeleteAwsSnsIntegration_FullMethodName = "/api.ApplicationService/DeleteAwsSnsIntegration"
ApplicationService_CreateAzureServiceBusIntegration_FullMethodName = "/api.ApplicationService/CreateAzureServiceBusIntegration"
ApplicationService_GetAzureServiceBusIntegration_FullMethodName = "/api.ApplicationService/GetAzureServiceBusIntegration"
ApplicationService_UpdateAzureServiceBusIntegration_FullMethodName = "/api.ApplicationService/UpdateAzureServiceBusIntegration"
ApplicationService_DeleteAzureServiceBusIntegration_FullMethodName = "/api.ApplicationService/DeleteAzureServiceBusIntegration"
ApplicationService_CreatePilotThingsIntegration_FullMethodName = "/api.ApplicationService/CreatePilotThingsIntegration"
ApplicationService_GetPilotThingsIntegration_FullMethodName = "/api.ApplicationService/GetPilotThingsIntegration"
ApplicationService_UpdatePilotThingsIntegration_FullMethodName = "/api.ApplicationService/UpdatePilotThingsIntegration"
ApplicationService_DeletePilotThingsIntegration_FullMethodName = "/api.ApplicationService/DeletePilotThingsIntegration"
ApplicationService_CreateIftttIntegration_FullMethodName = "/api.ApplicationService/CreateIftttIntegration"
ApplicationService_GetIftttIntegration_FullMethodName = "/api.ApplicationService/GetIftttIntegration"
ApplicationService_UpdateIftttIntegration_FullMethodName = "/api.ApplicationService/UpdateIftttIntegration"
ApplicationService_DeleteIftttIntegration_FullMethodName = "/api.ApplicationService/DeleteIftttIntegration"
ApplicationService_GenerateMqttIntegrationClientCertificate_FullMethodName = "/api.ApplicationService/GenerateMqttIntegrationClientCertificate"
)
// 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.
@ -129,7 +179,7 @@ func NewApplicationServiceClient(cc grpc.ClientConnInterface) ApplicationService
func (c *applicationServiceClient) Create(ctx context.Context, in *CreateApplicationRequest, opts ...grpc.CallOption) (*CreateApplicationResponse, error) {
out := new(CreateApplicationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -138,7 +188,7 @@ func (c *applicationServiceClient) Create(ctx context.Context, in *CreateApplica
func (c *applicationServiceClient) Get(ctx context.Context, in *GetApplicationRequest, opts ...grpc.CallOption) (*GetApplicationResponse, error) {
out := new(GetApplicationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -147,7 +197,7 @@ func (c *applicationServiceClient) Get(ctx context.Context, in *GetApplicationRe
func (c *applicationServiceClient) Update(ctx context.Context, in *UpdateApplicationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -156,7 +206,7 @@ func (c *applicationServiceClient) Update(ctx context.Context, in *UpdateApplica
func (c *applicationServiceClient) Delete(ctx context.Context, in *DeleteApplicationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -165,7 +215,7 @@ func (c *applicationServiceClient) Delete(ctx context.Context, in *DeleteApplica
func (c *applicationServiceClient) List(ctx context.Context, in *ListApplicationsRequest, opts ...grpc.CallOption) (*ListApplicationsResponse, error) {
out := new(ListApplicationsResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/List", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -174,7 +224,7 @@ func (c *applicationServiceClient) List(ctx context.Context, in *ListApplication
func (c *applicationServiceClient) ListIntegrations(ctx context.Context, in *ListIntegrationsRequest, opts ...grpc.CallOption) (*ListIntegrationsResponse, error) {
out := new(ListIntegrationsResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/ListIntegrations", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_ListIntegrations_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -183,7 +233,7 @@ func (c *applicationServiceClient) ListIntegrations(ctx context.Context, in *Lis
func (c *applicationServiceClient) CreateHttpIntegration(ctx context.Context, in *CreateHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateHttpIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateHttpIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -192,7 +242,7 @@ func (c *applicationServiceClient) CreateHttpIntegration(ctx context.Context, in
func (c *applicationServiceClient) GetHttpIntegration(ctx context.Context, in *GetHttpIntegrationRequest, opts ...grpc.CallOption) (*GetHttpIntegrationResponse, error) {
out := new(GetHttpIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetHttpIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetHttpIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -201,7 +251,7 @@ func (c *applicationServiceClient) GetHttpIntegration(ctx context.Context, in *G
func (c *applicationServiceClient) UpdateHttpIntegration(ctx context.Context, in *UpdateHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateHttpIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateHttpIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -210,7 +260,7 @@ func (c *applicationServiceClient) UpdateHttpIntegration(ctx context.Context, in
func (c *applicationServiceClient) DeleteHttpIntegration(ctx context.Context, in *DeleteHttpIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteHttpIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteHttpIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -219,7 +269,7 @@ func (c *applicationServiceClient) DeleteHttpIntegration(ctx context.Context, in
func (c *applicationServiceClient) CreateInfluxDbIntegration(ctx context.Context, in *CreateInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateInfluxDbIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateInfluxDbIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -228,7 +278,7 @@ func (c *applicationServiceClient) CreateInfluxDbIntegration(ctx context.Context
func (c *applicationServiceClient) GetInfluxDbIntegration(ctx context.Context, in *GetInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*GetInfluxDbIntegrationResponse, error) {
out := new(GetInfluxDbIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetInfluxDbIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetInfluxDbIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -237,7 +287,7 @@ func (c *applicationServiceClient) GetInfluxDbIntegration(ctx context.Context, i
func (c *applicationServiceClient) UpdateInfluxDbIntegration(ctx context.Context, in *UpdateInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateInfluxDbIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateInfluxDbIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -246,7 +296,7 @@ func (c *applicationServiceClient) UpdateInfluxDbIntegration(ctx context.Context
func (c *applicationServiceClient) DeleteInfluxDbIntegration(ctx context.Context, in *DeleteInfluxDbIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteInfluxDbIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteInfluxDbIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -255,7 +305,7 @@ func (c *applicationServiceClient) DeleteInfluxDbIntegration(ctx context.Context
func (c *applicationServiceClient) CreateThingsBoardIntegration(ctx context.Context, in *CreateThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateThingsBoardIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateThingsBoardIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -264,7 +314,7 @@ func (c *applicationServiceClient) CreateThingsBoardIntegration(ctx context.Cont
func (c *applicationServiceClient) GetThingsBoardIntegration(ctx context.Context, in *GetThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*GetThingsBoardIntegrationResponse, error) {
out := new(GetThingsBoardIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetThingsBoardIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetThingsBoardIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -273,7 +323,7 @@ func (c *applicationServiceClient) GetThingsBoardIntegration(ctx context.Context
func (c *applicationServiceClient) UpdateThingsBoardIntegration(ctx context.Context, in *UpdateThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateThingsBoardIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateThingsBoardIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -282,7 +332,7 @@ func (c *applicationServiceClient) UpdateThingsBoardIntegration(ctx context.Cont
func (c *applicationServiceClient) DeleteThingsBoardIntegration(ctx context.Context, in *DeleteThingsBoardIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteThingsBoardIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteThingsBoardIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -291,7 +341,7 @@ func (c *applicationServiceClient) DeleteThingsBoardIntegration(ctx context.Cont
func (c *applicationServiceClient) CreateMyDevicesIntegration(ctx context.Context, in *CreateMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateMyDevicesIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateMyDevicesIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -300,7 +350,7 @@ func (c *applicationServiceClient) CreateMyDevicesIntegration(ctx context.Contex
func (c *applicationServiceClient) GetMyDevicesIntegration(ctx context.Context, in *GetMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*GetMyDevicesIntegrationResponse, error) {
out := new(GetMyDevicesIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetMyDevicesIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetMyDevicesIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -309,7 +359,7 @@ func (c *applicationServiceClient) GetMyDevicesIntegration(ctx context.Context,
func (c *applicationServiceClient) UpdateMyDevicesIntegration(ctx context.Context, in *UpdateMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateMyDevicesIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateMyDevicesIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -318,7 +368,7 @@ func (c *applicationServiceClient) UpdateMyDevicesIntegration(ctx context.Contex
func (c *applicationServiceClient) DeleteMyDevicesIntegration(ctx context.Context, in *DeleteMyDevicesIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteMyDevicesIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteMyDevicesIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -327,7 +377,7 @@ func (c *applicationServiceClient) DeleteMyDevicesIntegration(ctx context.Contex
func (c *applicationServiceClient) CreateLoraCloudIntegration(ctx context.Context, in *CreateLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateLoraCloudIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateLoraCloudIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -336,7 +386,7 @@ func (c *applicationServiceClient) CreateLoraCloudIntegration(ctx context.Contex
func (c *applicationServiceClient) GetLoraCloudIntegration(ctx context.Context, in *GetLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*GetLoraCloudIntegrationResponse, error) {
out := new(GetLoraCloudIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetLoraCloudIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetLoraCloudIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -345,7 +395,7 @@ func (c *applicationServiceClient) GetLoraCloudIntegration(ctx context.Context,
func (c *applicationServiceClient) UpdateLoraCloudIntegration(ctx context.Context, in *UpdateLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateLoraCloudIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateLoraCloudIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -354,7 +404,7 @@ func (c *applicationServiceClient) UpdateLoraCloudIntegration(ctx context.Contex
func (c *applicationServiceClient) DeleteLoraCloudIntegration(ctx context.Context, in *DeleteLoraCloudIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteLoraCloudIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteLoraCloudIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -363,7 +413,7 @@ func (c *applicationServiceClient) DeleteLoraCloudIntegration(ctx context.Contex
func (c *applicationServiceClient) CreateGcpPubSubIntegration(ctx context.Context, in *CreateGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateGcpPubSubIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateGcpPubSubIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -372,7 +422,7 @@ func (c *applicationServiceClient) CreateGcpPubSubIntegration(ctx context.Contex
func (c *applicationServiceClient) GetGcpPubSubIntegration(ctx context.Context, in *GetGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*GetGcpPubSubIntegrationResponse, error) {
out := new(GetGcpPubSubIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetGcpPubSubIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetGcpPubSubIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -381,7 +431,7 @@ func (c *applicationServiceClient) GetGcpPubSubIntegration(ctx context.Context,
func (c *applicationServiceClient) UpdateGcpPubSubIntegration(ctx context.Context, in *UpdateGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateGcpPubSubIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateGcpPubSubIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -390,7 +440,7 @@ func (c *applicationServiceClient) UpdateGcpPubSubIntegration(ctx context.Contex
func (c *applicationServiceClient) DeleteGcpPubSubIntegration(ctx context.Context, in *DeleteGcpPubSubIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteGcpPubSubIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteGcpPubSubIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -399,7 +449,7 @@ func (c *applicationServiceClient) DeleteGcpPubSubIntegration(ctx context.Contex
func (c *applicationServiceClient) CreateAwsSnsIntegration(ctx context.Context, in *CreateAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateAwsSnsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateAwsSnsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -408,7 +458,7 @@ func (c *applicationServiceClient) CreateAwsSnsIntegration(ctx context.Context,
func (c *applicationServiceClient) GetAwsSnsIntegration(ctx context.Context, in *GetAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*GetAwsSnsIntegrationResponse, error) {
out := new(GetAwsSnsIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetAwsSnsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetAwsSnsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -417,7 +467,7 @@ func (c *applicationServiceClient) GetAwsSnsIntegration(ctx context.Context, in
func (c *applicationServiceClient) UpdateAwsSnsIntegration(ctx context.Context, in *UpdateAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateAwsSnsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateAwsSnsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -426,7 +476,7 @@ func (c *applicationServiceClient) UpdateAwsSnsIntegration(ctx context.Context,
func (c *applicationServiceClient) DeleteAwsSnsIntegration(ctx context.Context, in *DeleteAwsSnsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteAwsSnsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteAwsSnsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -435,7 +485,7 @@ func (c *applicationServiceClient) DeleteAwsSnsIntegration(ctx context.Context,
func (c *applicationServiceClient) CreateAzureServiceBusIntegration(ctx context.Context, in *CreateAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateAzureServiceBusIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateAzureServiceBusIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -444,7 +494,7 @@ func (c *applicationServiceClient) CreateAzureServiceBusIntegration(ctx context.
func (c *applicationServiceClient) GetAzureServiceBusIntegration(ctx context.Context, in *GetAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*GetAzureServiceBusIntegrationResponse, error) {
out := new(GetAzureServiceBusIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetAzureServiceBusIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetAzureServiceBusIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -453,7 +503,7 @@ func (c *applicationServiceClient) GetAzureServiceBusIntegration(ctx context.Con
func (c *applicationServiceClient) UpdateAzureServiceBusIntegration(ctx context.Context, in *UpdateAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateAzureServiceBusIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateAzureServiceBusIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -462,7 +512,7 @@ func (c *applicationServiceClient) UpdateAzureServiceBusIntegration(ctx context.
func (c *applicationServiceClient) DeleteAzureServiceBusIntegration(ctx context.Context, in *DeleteAzureServiceBusIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteAzureServiceBusIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteAzureServiceBusIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -471,7 +521,7 @@ func (c *applicationServiceClient) DeleteAzureServiceBusIntegration(ctx context.
func (c *applicationServiceClient) CreatePilotThingsIntegration(ctx context.Context, in *CreatePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreatePilotThingsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreatePilotThingsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -480,7 +530,7 @@ func (c *applicationServiceClient) CreatePilotThingsIntegration(ctx context.Cont
func (c *applicationServiceClient) GetPilotThingsIntegration(ctx context.Context, in *GetPilotThingsIntegrationRequest, opts ...grpc.CallOption) (*GetPilotThingsIntegrationResponse, error) {
out := new(GetPilotThingsIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetPilotThingsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetPilotThingsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -489,7 +539,7 @@ func (c *applicationServiceClient) GetPilotThingsIntegration(ctx context.Context
func (c *applicationServiceClient) UpdatePilotThingsIntegration(ctx context.Context, in *UpdatePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdatePilotThingsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdatePilotThingsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -498,7 +548,7 @@ func (c *applicationServiceClient) UpdatePilotThingsIntegration(ctx context.Cont
func (c *applicationServiceClient) DeletePilotThingsIntegration(ctx context.Context, in *DeletePilotThingsIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeletePilotThingsIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeletePilotThingsIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -507,7 +557,7 @@ func (c *applicationServiceClient) DeletePilotThingsIntegration(ctx context.Cont
func (c *applicationServiceClient) CreateIftttIntegration(ctx context.Context, in *CreateIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/CreateIftttIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_CreateIftttIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -516,7 +566,7 @@ func (c *applicationServiceClient) CreateIftttIntegration(ctx context.Context, i
func (c *applicationServiceClient) GetIftttIntegration(ctx context.Context, in *GetIftttIntegrationRequest, opts ...grpc.CallOption) (*GetIftttIntegrationResponse, error) {
out := new(GetIftttIntegrationResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GetIftttIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GetIftttIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -525,7 +575,7 @@ func (c *applicationServiceClient) GetIftttIntegration(ctx context.Context, in *
func (c *applicationServiceClient) UpdateIftttIntegration(ctx context.Context, in *UpdateIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/UpdateIftttIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_UpdateIftttIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -534,7 +584,7 @@ func (c *applicationServiceClient) UpdateIftttIntegration(ctx context.Context, i
func (c *applicationServiceClient) DeleteIftttIntegration(ctx context.Context, in *DeleteIftttIntegrationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.ApplicationService/DeleteIftttIntegration", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_DeleteIftttIntegration_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -543,7 +593,7 @@ func (c *applicationServiceClient) DeleteIftttIntegration(ctx context.Context, i
func (c *applicationServiceClient) GenerateMqttIntegrationClientCertificate(ctx context.Context, in *GenerateMqttIntegrationClientCertificateRequest, opts ...grpc.CallOption) (*GenerateMqttIntegrationClientCertificateResponse, error) {
out := new(GenerateMqttIntegrationClientCertificateResponse)
err := c.cc.Invoke(ctx, "/api.ApplicationService/GenerateMqttIntegrationClientCertificate", in, out, opts...)
err := c.cc.Invoke(ctx, ApplicationService_GenerateMqttIntegrationClientCertificate_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -819,7 +869,7 @@ func _ApplicationService_Create_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/Create",
FullMethod: ApplicationService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).Create(ctx, req.(*CreateApplicationRequest))
@ -837,7 +887,7 @@ func _ApplicationService_Get_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/Get",
FullMethod: ApplicationService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).Get(ctx, req.(*GetApplicationRequest))
@ -855,7 +905,7 @@ func _ApplicationService_Update_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/Update",
FullMethod: ApplicationService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).Update(ctx, req.(*UpdateApplicationRequest))
@ -873,7 +923,7 @@ func _ApplicationService_Delete_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/Delete",
FullMethod: ApplicationService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).Delete(ctx, req.(*DeleteApplicationRequest))
@ -891,7 +941,7 @@ func _ApplicationService_List_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/List",
FullMethod: ApplicationService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).List(ctx, req.(*ListApplicationsRequest))
@ -909,7 +959,7 @@ func _ApplicationService_ListIntegrations_Handler(srv interface{}, ctx context.C
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/ListIntegrations",
FullMethod: ApplicationService_ListIntegrations_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).ListIntegrations(ctx, req.(*ListIntegrationsRequest))
@ -927,7 +977,7 @@ func _ApplicationService_CreateHttpIntegration_Handler(srv interface{}, ctx cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateHttpIntegration",
FullMethod: ApplicationService_CreateHttpIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateHttpIntegration(ctx, req.(*CreateHttpIntegrationRequest))
@ -945,7 +995,7 @@ func _ApplicationService_GetHttpIntegration_Handler(srv interface{}, ctx context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetHttpIntegration",
FullMethod: ApplicationService_GetHttpIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetHttpIntegration(ctx, req.(*GetHttpIntegrationRequest))
@ -963,7 +1013,7 @@ func _ApplicationService_UpdateHttpIntegration_Handler(srv interface{}, ctx cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateHttpIntegration",
FullMethod: ApplicationService_UpdateHttpIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateHttpIntegration(ctx, req.(*UpdateHttpIntegrationRequest))
@ -981,7 +1031,7 @@ func _ApplicationService_DeleteHttpIntegration_Handler(srv interface{}, ctx cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteHttpIntegration",
FullMethod: ApplicationService_DeleteHttpIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteHttpIntegration(ctx, req.(*DeleteHttpIntegrationRequest))
@ -999,7 +1049,7 @@ func _ApplicationService_CreateInfluxDbIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateInfluxDbIntegration",
FullMethod: ApplicationService_CreateInfluxDbIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateInfluxDbIntegration(ctx, req.(*CreateInfluxDbIntegrationRequest))
@ -1017,7 +1067,7 @@ func _ApplicationService_GetInfluxDbIntegration_Handler(srv interface{}, ctx con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetInfluxDbIntegration",
FullMethod: ApplicationService_GetInfluxDbIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetInfluxDbIntegration(ctx, req.(*GetInfluxDbIntegrationRequest))
@ -1035,7 +1085,7 @@ func _ApplicationService_UpdateInfluxDbIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateInfluxDbIntegration",
FullMethod: ApplicationService_UpdateInfluxDbIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateInfluxDbIntegration(ctx, req.(*UpdateInfluxDbIntegrationRequest))
@ -1053,7 +1103,7 @@ func _ApplicationService_DeleteInfluxDbIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteInfluxDbIntegration",
FullMethod: ApplicationService_DeleteInfluxDbIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteInfluxDbIntegration(ctx, req.(*DeleteInfluxDbIntegrationRequest))
@ -1071,7 +1121,7 @@ func _ApplicationService_CreateThingsBoardIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateThingsBoardIntegration",
FullMethod: ApplicationService_CreateThingsBoardIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateThingsBoardIntegration(ctx, req.(*CreateThingsBoardIntegrationRequest))
@ -1089,7 +1139,7 @@ func _ApplicationService_GetThingsBoardIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetThingsBoardIntegration",
FullMethod: ApplicationService_GetThingsBoardIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetThingsBoardIntegration(ctx, req.(*GetThingsBoardIntegrationRequest))
@ -1107,7 +1157,7 @@ func _ApplicationService_UpdateThingsBoardIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateThingsBoardIntegration",
FullMethod: ApplicationService_UpdateThingsBoardIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateThingsBoardIntegration(ctx, req.(*UpdateThingsBoardIntegrationRequest))
@ -1125,7 +1175,7 @@ func _ApplicationService_DeleteThingsBoardIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteThingsBoardIntegration",
FullMethod: ApplicationService_DeleteThingsBoardIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteThingsBoardIntegration(ctx, req.(*DeleteThingsBoardIntegrationRequest))
@ -1143,7 +1193,7 @@ func _ApplicationService_CreateMyDevicesIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateMyDevicesIntegration",
FullMethod: ApplicationService_CreateMyDevicesIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateMyDevicesIntegration(ctx, req.(*CreateMyDevicesIntegrationRequest))
@ -1161,7 +1211,7 @@ func _ApplicationService_GetMyDevicesIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetMyDevicesIntegration",
FullMethod: ApplicationService_GetMyDevicesIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetMyDevicesIntegration(ctx, req.(*GetMyDevicesIntegrationRequest))
@ -1179,7 +1229,7 @@ func _ApplicationService_UpdateMyDevicesIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateMyDevicesIntegration",
FullMethod: ApplicationService_UpdateMyDevicesIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateMyDevicesIntegration(ctx, req.(*UpdateMyDevicesIntegrationRequest))
@ -1197,7 +1247,7 @@ func _ApplicationService_DeleteMyDevicesIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteMyDevicesIntegration",
FullMethod: ApplicationService_DeleteMyDevicesIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteMyDevicesIntegration(ctx, req.(*DeleteMyDevicesIntegrationRequest))
@ -1215,7 +1265,7 @@ func _ApplicationService_CreateLoraCloudIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateLoraCloudIntegration",
FullMethod: ApplicationService_CreateLoraCloudIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateLoraCloudIntegration(ctx, req.(*CreateLoraCloudIntegrationRequest))
@ -1233,7 +1283,7 @@ func _ApplicationService_GetLoraCloudIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetLoraCloudIntegration",
FullMethod: ApplicationService_GetLoraCloudIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetLoraCloudIntegration(ctx, req.(*GetLoraCloudIntegrationRequest))
@ -1251,7 +1301,7 @@ func _ApplicationService_UpdateLoraCloudIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateLoraCloudIntegration",
FullMethod: ApplicationService_UpdateLoraCloudIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateLoraCloudIntegration(ctx, req.(*UpdateLoraCloudIntegrationRequest))
@ -1269,7 +1319,7 @@ func _ApplicationService_DeleteLoraCloudIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteLoraCloudIntegration",
FullMethod: ApplicationService_DeleteLoraCloudIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteLoraCloudIntegration(ctx, req.(*DeleteLoraCloudIntegrationRequest))
@ -1287,7 +1337,7 @@ func _ApplicationService_CreateGcpPubSubIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateGcpPubSubIntegration",
FullMethod: ApplicationService_CreateGcpPubSubIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateGcpPubSubIntegration(ctx, req.(*CreateGcpPubSubIntegrationRequest))
@ -1305,7 +1355,7 @@ func _ApplicationService_GetGcpPubSubIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetGcpPubSubIntegration",
FullMethod: ApplicationService_GetGcpPubSubIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetGcpPubSubIntegration(ctx, req.(*GetGcpPubSubIntegrationRequest))
@ -1323,7 +1373,7 @@ func _ApplicationService_UpdateGcpPubSubIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateGcpPubSubIntegration",
FullMethod: ApplicationService_UpdateGcpPubSubIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateGcpPubSubIntegration(ctx, req.(*UpdateGcpPubSubIntegrationRequest))
@ -1341,7 +1391,7 @@ func _ApplicationService_DeleteGcpPubSubIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteGcpPubSubIntegration",
FullMethod: ApplicationService_DeleteGcpPubSubIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteGcpPubSubIntegration(ctx, req.(*DeleteGcpPubSubIntegrationRequest))
@ -1359,7 +1409,7 @@ func _ApplicationService_CreateAwsSnsIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateAwsSnsIntegration",
FullMethod: ApplicationService_CreateAwsSnsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateAwsSnsIntegration(ctx, req.(*CreateAwsSnsIntegrationRequest))
@ -1377,7 +1427,7 @@ func _ApplicationService_GetAwsSnsIntegration_Handler(srv interface{}, ctx conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetAwsSnsIntegration",
FullMethod: ApplicationService_GetAwsSnsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetAwsSnsIntegration(ctx, req.(*GetAwsSnsIntegrationRequest))
@ -1395,7 +1445,7 @@ func _ApplicationService_UpdateAwsSnsIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateAwsSnsIntegration",
FullMethod: ApplicationService_UpdateAwsSnsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateAwsSnsIntegration(ctx, req.(*UpdateAwsSnsIntegrationRequest))
@ -1413,7 +1463,7 @@ func _ApplicationService_DeleteAwsSnsIntegration_Handler(srv interface{}, ctx co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteAwsSnsIntegration",
FullMethod: ApplicationService_DeleteAwsSnsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteAwsSnsIntegration(ctx, req.(*DeleteAwsSnsIntegrationRequest))
@ -1431,7 +1481,7 @@ func _ApplicationService_CreateAzureServiceBusIntegration_Handler(srv interface{
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateAzureServiceBusIntegration",
FullMethod: ApplicationService_CreateAzureServiceBusIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateAzureServiceBusIntegration(ctx, req.(*CreateAzureServiceBusIntegrationRequest))
@ -1449,7 +1499,7 @@ func _ApplicationService_GetAzureServiceBusIntegration_Handler(srv interface{},
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetAzureServiceBusIntegration",
FullMethod: ApplicationService_GetAzureServiceBusIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetAzureServiceBusIntegration(ctx, req.(*GetAzureServiceBusIntegrationRequest))
@ -1467,7 +1517,7 @@ func _ApplicationService_UpdateAzureServiceBusIntegration_Handler(srv interface{
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateAzureServiceBusIntegration",
FullMethod: ApplicationService_UpdateAzureServiceBusIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateAzureServiceBusIntegration(ctx, req.(*UpdateAzureServiceBusIntegrationRequest))
@ -1485,7 +1535,7 @@ func _ApplicationService_DeleteAzureServiceBusIntegration_Handler(srv interface{
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteAzureServiceBusIntegration",
FullMethod: ApplicationService_DeleteAzureServiceBusIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteAzureServiceBusIntegration(ctx, req.(*DeleteAzureServiceBusIntegrationRequest))
@ -1503,7 +1553,7 @@ func _ApplicationService_CreatePilotThingsIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreatePilotThingsIntegration",
FullMethod: ApplicationService_CreatePilotThingsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreatePilotThingsIntegration(ctx, req.(*CreatePilotThingsIntegrationRequest))
@ -1521,7 +1571,7 @@ func _ApplicationService_GetPilotThingsIntegration_Handler(srv interface{}, ctx
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetPilotThingsIntegration",
FullMethod: ApplicationService_GetPilotThingsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetPilotThingsIntegration(ctx, req.(*GetPilotThingsIntegrationRequest))
@ -1539,7 +1589,7 @@ func _ApplicationService_UpdatePilotThingsIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdatePilotThingsIntegration",
FullMethod: ApplicationService_UpdatePilotThingsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdatePilotThingsIntegration(ctx, req.(*UpdatePilotThingsIntegrationRequest))
@ -1557,7 +1607,7 @@ func _ApplicationService_DeletePilotThingsIntegration_Handler(srv interface{}, c
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeletePilotThingsIntegration",
FullMethod: ApplicationService_DeletePilotThingsIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeletePilotThingsIntegration(ctx, req.(*DeletePilotThingsIntegrationRequest))
@ -1575,7 +1625,7 @@ func _ApplicationService_CreateIftttIntegration_Handler(srv interface{}, ctx con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/CreateIftttIntegration",
FullMethod: ApplicationService_CreateIftttIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).CreateIftttIntegration(ctx, req.(*CreateIftttIntegrationRequest))
@ -1593,7 +1643,7 @@ func _ApplicationService_GetIftttIntegration_Handler(srv interface{}, ctx contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GetIftttIntegration",
FullMethod: ApplicationService_GetIftttIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GetIftttIntegration(ctx, req.(*GetIftttIntegrationRequest))
@ -1611,7 +1661,7 @@ func _ApplicationService_UpdateIftttIntegration_Handler(srv interface{}, ctx con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/UpdateIftttIntegration",
FullMethod: ApplicationService_UpdateIftttIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).UpdateIftttIntegration(ctx, req.(*UpdateIftttIntegrationRequest))
@ -1629,7 +1679,7 @@ func _ApplicationService_DeleteIftttIntegration_Handler(srv interface{}, ctx con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/DeleteIftttIntegration",
FullMethod: ApplicationService_DeleteIftttIntegration_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).DeleteIftttIntegration(ctx, req.(*DeleteIftttIntegrationRequest))
@ -1647,7 +1697,7 @@ func _ApplicationService_GenerateMqttIntegrationClientCertificate_Handler(srv in
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.ApplicationService/GenerateMqttIntegrationClientCertificate",
FullMethod: ApplicationService_GenerateMqttIntegrationClientCertificate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ApplicationServiceServer).GenerateMqttIntegrationClientCertificate(ctx, req.(*GenerateMqttIntegrationClientCertificateRequest))

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/device.proto
package api
@ -19,6 +19,28 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
DeviceService_Create_FullMethodName = "/api.DeviceService/Create"
DeviceService_Get_FullMethodName = "/api.DeviceService/Get"
DeviceService_Update_FullMethodName = "/api.DeviceService/Update"
DeviceService_Delete_FullMethodName = "/api.DeviceService/Delete"
DeviceService_List_FullMethodName = "/api.DeviceService/List"
DeviceService_CreateKeys_FullMethodName = "/api.DeviceService/CreateKeys"
DeviceService_GetKeys_FullMethodName = "/api.DeviceService/GetKeys"
DeviceService_UpdateKeys_FullMethodName = "/api.DeviceService/UpdateKeys"
DeviceService_DeleteKeys_FullMethodName = "/api.DeviceService/DeleteKeys"
DeviceService_FlushDevNonces_FullMethodName = "/api.DeviceService/FlushDevNonces"
DeviceService_Activate_FullMethodName = "/api.DeviceService/Activate"
DeviceService_Deactivate_FullMethodName = "/api.DeviceService/Deactivate"
DeviceService_GetActivation_FullMethodName = "/api.DeviceService/GetActivation"
DeviceService_GetRandomDevAddr_FullMethodName = "/api.DeviceService/GetRandomDevAddr"
DeviceService_GetMetrics_FullMethodName = "/api.DeviceService/GetMetrics"
DeviceService_GetLinkMetrics_FullMethodName = "/api.DeviceService/GetLinkMetrics"
DeviceService_Enqueue_FullMethodName = "/api.DeviceService/Enqueue"
DeviceService_FlushQueue_FullMethodName = "/api.DeviceService/FlushQueue"
DeviceService_GetQueue_FullMethodName = "/api.DeviceService/GetQueue"
)
// 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.
@ -43,16 +65,20 @@ type DeviceServiceClient interface {
DeleteKeys(ctx context.Context, in *DeleteDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// FlushDevNonces flushes the OTAA device nonces.
FlushDevNonces(ctx context.Context, in *FlushDevNoncesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).
// Activate (re)activates the device with the given parameters (for ABP or for
// importing OTAA activations).
Activate(ctx context.Context, in *ActivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Deactivate de-activates the device.
Deactivate(ctx context.Context, in *DeactivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// GetActivation returns the current activation details of the device (OTAA or ABP).
// GetActivation returns the current activation details of the device (OTAA or
// ABP).
GetActivation(ctx context.Context, in *GetDeviceActivationRequest, opts ...grpc.CallOption) (*GetDeviceActivationResponse, error)
// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into
// account.
GetRandomDevAddr(ctx context.Context, in *GetRandomDevAddrRequest, opts ...grpc.CallOption) (*GetRandomDevAddrResponse, error)
// GetMetrics returns the device metrics.
// Note that this requires a device-profile with codec and measurements configured.
// Note that this requires a device-profile with codec and measurements
// configured.
GetMetrics(ctx context.Context, in *GetDeviceMetricsRequest, opts ...grpc.CallOption) (*GetDeviceMetricsResponse, error)
// GetLinkMetrics returns the device link metrics.
// This includes uplinks, downlinks, RSSI, SNR, etc...
@ -75,7 +101,7 @@ func NewDeviceServiceClient(cc grpc.ClientConnInterface) DeviceServiceClient {
func (c *deviceServiceClient) Create(ctx context.Context, in *CreateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -84,7 +110,7 @@ func (c *deviceServiceClient) Create(ctx context.Context, in *CreateDeviceReques
func (c *deviceServiceClient) Get(ctx context.Context, in *GetDeviceRequest, opts ...grpc.CallOption) (*GetDeviceResponse, error) {
out := new(GetDeviceResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -93,7 +119,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -102,7 +128,7 @@ func (c *deviceServiceClient) Update(ctx context.Context, in *UpdateDeviceReques
func (c *deviceServiceClient) Delete(ctx context.Context, in *DeleteDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -111,7 +137,7 @@ func (c *deviceServiceClient) Delete(ctx context.Context, in *DeleteDeviceReques
func (c *deviceServiceClient) List(ctx context.Context, in *ListDevicesRequest, opts ...grpc.CallOption) (*ListDevicesResponse, error) {
out := new(ListDevicesResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/List", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -120,7 +146,7 @@ func (c *deviceServiceClient) List(ctx context.Context, in *ListDevicesRequest,
func (c *deviceServiceClient) CreateKeys(ctx context.Context, in *CreateDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/CreateKeys", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_CreateKeys_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -129,7 +155,7 @@ func (c *deviceServiceClient) CreateKeys(ctx context.Context, in *CreateDeviceKe
func (c *deviceServiceClient) GetKeys(ctx context.Context, in *GetDeviceKeysRequest, opts ...grpc.CallOption) (*GetDeviceKeysResponse, error) {
out := new(GetDeviceKeysResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetKeys", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetKeys_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -138,7 +164,7 @@ func (c *deviceServiceClient) GetKeys(ctx context.Context, in *GetDeviceKeysRequ
func (c *deviceServiceClient) UpdateKeys(ctx context.Context, in *UpdateDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/UpdateKeys", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_UpdateKeys_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -147,7 +173,7 @@ func (c *deviceServiceClient) UpdateKeys(ctx context.Context, in *UpdateDeviceKe
func (c *deviceServiceClient) DeleteKeys(ctx context.Context, in *DeleteDeviceKeysRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/DeleteKeys", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_DeleteKeys_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -156,7 +182,7 @@ func (c *deviceServiceClient) DeleteKeys(ctx context.Context, in *DeleteDeviceKe
func (c *deviceServiceClient) FlushDevNonces(ctx context.Context, in *FlushDevNoncesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/FlushDevNonces", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_FlushDevNonces_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -165,7 +191,7 @@ func (c *deviceServiceClient) FlushDevNonces(ctx context.Context, in *FlushDevNo
func (c *deviceServiceClient) Activate(ctx context.Context, in *ActivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/Activate", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Activate_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -174,7 +200,7 @@ func (c *deviceServiceClient) Activate(ctx context.Context, in *ActivateDeviceRe
func (c *deviceServiceClient) Deactivate(ctx context.Context, in *DeactivateDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/Deactivate", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Deactivate_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -183,7 +209,7 @@ func (c *deviceServiceClient) Deactivate(ctx context.Context, in *DeactivateDevi
func (c *deviceServiceClient) GetActivation(ctx context.Context, in *GetDeviceActivationRequest, opts ...grpc.CallOption) (*GetDeviceActivationResponse, error) {
out := new(GetDeviceActivationResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetActivation", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetActivation_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -192,7 +218,7 @@ func (c *deviceServiceClient) GetActivation(ctx context.Context, in *GetDeviceAc
func (c *deviceServiceClient) GetRandomDevAddr(ctx context.Context, in *GetRandomDevAddrRequest, opts ...grpc.CallOption) (*GetRandomDevAddrResponse, error) {
out := new(GetRandomDevAddrResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetRandomDevAddr", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetRandomDevAddr_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -201,7 +227,7 @@ func (c *deviceServiceClient) GetRandomDevAddr(ctx context.Context, in *GetRando
func (c *deviceServiceClient) GetMetrics(ctx context.Context, in *GetDeviceMetricsRequest, opts ...grpc.CallOption) (*GetDeviceMetricsResponse, error) {
out := new(GetDeviceMetricsResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetMetrics", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetMetrics_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -210,7 +236,7 @@ func (c *deviceServiceClient) GetMetrics(ctx context.Context, in *GetDeviceMetri
func (c *deviceServiceClient) GetLinkMetrics(ctx context.Context, in *GetDeviceLinkMetricsRequest, opts ...grpc.CallOption) (*GetDeviceLinkMetricsResponse, error) {
out := new(GetDeviceLinkMetricsResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetLinkMetrics", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetLinkMetrics_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -219,7 +245,7 @@ func (c *deviceServiceClient) GetLinkMetrics(ctx context.Context, in *GetDeviceL
func (c *deviceServiceClient) Enqueue(ctx context.Context, in *EnqueueDeviceQueueItemRequest, opts ...grpc.CallOption) (*EnqueueDeviceQueueItemResponse, error) {
out := new(EnqueueDeviceQueueItemResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/Enqueue", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_Enqueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -228,7 +254,7 @@ func (c *deviceServiceClient) Enqueue(ctx context.Context, in *EnqueueDeviceQueu
func (c *deviceServiceClient) FlushQueue(ctx context.Context, in *FlushDeviceQueueRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceService/FlushQueue", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_FlushQueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -237,7 +263,7 @@ func (c *deviceServiceClient) FlushQueue(ctx context.Context, in *FlushDeviceQue
func (c *deviceServiceClient) GetQueue(ctx context.Context, in *GetDeviceQueueItemsRequest, opts ...grpc.CallOption) (*GetDeviceQueueItemsResponse, error) {
out := new(GetDeviceQueueItemsResponse)
err := c.cc.Invoke(ctx, "/api.DeviceService/GetQueue", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceService_GetQueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -268,16 +294,20 @@ type DeviceServiceServer interface {
DeleteKeys(context.Context, *DeleteDeviceKeysRequest) (*emptypb.Empty, error)
// FlushDevNonces flushes the OTAA device nonces.
FlushDevNonces(context.Context, *FlushDevNoncesRequest) (*emptypb.Empty, error)
// Activate (re)activates the device with the given parameters (for ABP or for importing OTAA activations).
// Activate (re)activates the device with the given parameters (for ABP or for
// importing OTAA activations).
Activate(context.Context, *ActivateDeviceRequest) (*emptypb.Empty, error)
// Deactivate de-activates the device.
Deactivate(context.Context, *DeactivateDeviceRequest) (*emptypb.Empty, error)
// GetActivation returns the current activation details of the device (OTAA or ABP).
// GetActivation returns the current activation details of the device (OTAA or
// ABP).
GetActivation(context.Context, *GetDeviceActivationRequest) (*GetDeviceActivationResponse, error)
// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into account.
// GetRandomDevAddr returns a random DevAddr taking the NwkID prefix into
// account.
GetRandomDevAddr(context.Context, *GetRandomDevAddrRequest) (*GetRandomDevAddrResponse, error)
// GetMetrics returns the device metrics.
// Note that this requires a device-profile with codec and measurements configured.
// Note that this requires a device-profile with codec and measurements
// configured.
GetMetrics(context.Context, *GetDeviceMetricsRequest) (*GetDeviceMetricsResponse, error)
// GetLinkMetrics returns the device link metrics.
// This includes uplinks, downlinks, RSSI, SNR, etc...
@ -375,7 +405,7 @@ func _DeviceService_Create_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Create",
FullMethod: DeviceService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Create(ctx, req.(*CreateDeviceRequest))
@ -393,7 +423,7 @@ func _DeviceService_Get_Handler(srv interface{}, ctx context.Context, dec func(i
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Get",
FullMethod: DeviceService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Get(ctx, req.(*GetDeviceRequest))
@ -411,7 +441,7 @@ func _DeviceService_Update_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Update",
FullMethod: DeviceService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Update(ctx, req.(*UpdateDeviceRequest))
@ -429,7 +459,7 @@ func _DeviceService_Delete_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Delete",
FullMethod: DeviceService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Delete(ctx, req.(*DeleteDeviceRequest))
@ -447,7 +477,7 @@ func _DeviceService_List_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/List",
FullMethod: DeviceService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).List(ctx, req.(*ListDevicesRequest))
@ -465,7 +495,7 @@ func _DeviceService_CreateKeys_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/CreateKeys",
FullMethod: DeviceService_CreateKeys_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).CreateKeys(ctx, req.(*CreateDeviceKeysRequest))
@ -483,7 +513,7 @@ func _DeviceService_GetKeys_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetKeys",
FullMethod: DeviceService_GetKeys_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetKeys(ctx, req.(*GetDeviceKeysRequest))
@ -501,7 +531,7 @@ func _DeviceService_UpdateKeys_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/UpdateKeys",
FullMethod: DeviceService_UpdateKeys_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).UpdateKeys(ctx, req.(*UpdateDeviceKeysRequest))
@ -519,7 +549,7 @@ func _DeviceService_DeleteKeys_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/DeleteKeys",
FullMethod: DeviceService_DeleteKeys_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).DeleteKeys(ctx, req.(*DeleteDeviceKeysRequest))
@ -537,7 +567,7 @@ func _DeviceService_FlushDevNonces_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/FlushDevNonces",
FullMethod: DeviceService_FlushDevNonces_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).FlushDevNonces(ctx, req.(*FlushDevNoncesRequest))
@ -555,7 +585,7 @@ func _DeviceService_Activate_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Activate",
FullMethod: DeviceService_Activate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Activate(ctx, req.(*ActivateDeviceRequest))
@ -573,7 +603,7 @@ func _DeviceService_Deactivate_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Deactivate",
FullMethod: DeviceService_Deactivate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Deactivate(ctx, req.(*DeactivateDeviceRequest))
@ -591,7 +621,7 @@ func _DeviceService_GetActivation_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetActivation",
FullMethod: DeviceService_GetActivation_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetActivation(ctx, req.(*GetDeviceActivationRequest))
@ -609,7 +639,7 @@ func _DeviceService_GetRandomDevAddr_Handler(srv interface{}, ctx context.Contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetRandomDevAddr",
FullMethod: DeviceService_GetRandomDevAddr_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetRandomDevAddr(ctx, req.(*GetRandomDevAddrRequest))
@ -627,7 +657,7 @@ func _DeviceService_GetMetrics_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetMetrics",
FullMethod: DeviceService_GetMetrics_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetMetrics(ctx, req.(*GetDeviceMetricsRequest))
@ -645,7 +675,7 @@ func _DeviceService_GetLinkMetrics_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetLinkMetrics",
FullMethod: DeviceService_GetLinkMetrics_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetLinkMetrics(ctx, req.(*GetDeviceLinkMetricsRequest))
@ -663,7 +693,7 @@ func _DeviceService_Enqueue_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/Enqueue",
FullMethod: DeviceService_Enqueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).Enqueue(ctx, req.(*EnqueueDeviceQueueItemRequest))
@ -681,7 +711,7 @@ func _DeviceService_FlushQueue_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/FlushQueue",
FullMethod: DeviceService_FlushQueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).FlushQueue(ctx, req.(*FlushDeviceQueueRequest))
@ -699,7 +729,7 @@ func _DeviceService_GetQueue_Handler(srv interface{}, ctx context.Context, dec f
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceService/GetQueue",
FullMethod: DeviceService_GetQueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceServiceServer).GetQueue(ctx, req.(*GetDeviceQueueItemsRequest))

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/device_profile.proto
package api
@ -19,6 +19,15 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
DeviceProfileService_Create_FullMethodName = "/api.DeviceProfileService/Create"
DeviceProfileService_Get_FullMethodName = "/api.DeviceProfileService/Get"
DeviceProfileService_Update_FullMethodName = "/api.DeviceProfileService/Update"
DeviceProfileService_Delete_FullMethodName = "/api.DeviceProfileService/Delete"
DeviceProfileService_List_FullMethodName = "/api.DeviceProfileService/List"
DeviceProfileService_ListAdrAlgorithms_FullMethodName = "/api.DeviceProfileService/ListAdrAlgorithms"
)
// 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.
@ -47,7 +56,7 @@ func NewDeviceProfileServiceClient(cc grpc.ClientConnInterface) DeviceProfileSer
func (c *deviceProfileServiceClient) Create(ctx context.Context, in *CreateDeviceProfileRequest, opts ...grpc.CallOption) (*CreateDeviceProfileResponse, error) {
out := new(CreateDeviceProfileResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -56,7 +65,7 @@ func (c *deviceProfileServiceClient) Create(ctx context.Context, in *CreateDevic
func (c *deviceProfileServiceClient) Get(ctx context.Context, in *GetDeviceProfileRequest, opts ...grpc.CallOption) (*GetDeviceProfileResponse, error) {
out := new(GetDeviceProfileResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -65,7 +74,7 @@ func (c *deviceProfileServiceClient) Get(ctx context.Context, in *GetDeviceProfi
func (c *deviceProfileServiceClient) Update(ctx context.Context, in *UpdateDeviceProfileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -74,7 +83,7 @@ func (c *deviceProfileServiceClient) Update(ctx context.Context, in *UpdateDevic
func (c *deviceProfileServiceClient) Delete(ctx context.Context, in *DeleteDeviceProfileRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -83,7 +92,7 @@ func (c *deviceProfileServiceClient) Delete(ctx context.Context, in *DeleteDevic
func (c *deviceProfileServiceClient) List(ctx context.Context, in *ListDeviceProfilesRequest, opts ...grpc.CallOption) (*ListDeviceProfilesResponse, error) {
out := new(ListDeviceProfilesResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/List", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -92,7 +101,7 @@ func (c *deviceProfileServiceClient) List(ctx context.Context, in *ListDevicePro
func (c *deviceProfileServiceClient) ListAdrAlgorithms(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListDeviceProfileAdrAlgorithmsResponse, error) {
out := new(ListDeviceProfileAdrAlgorithmsResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileService/ListAdrAlgorithms", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileService_ListAdrAlgorithms_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -163,7 +172,7 @@ func _DeviceProfileService_Create_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/Create",
FullMethod: DeviceProfileService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).Create(ctx, req.(*CreateDeviceProfileRequest))
@ -181,7 +190,7 @@ func _DeviceProfileService_Get_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/Get",
FullMethod: DeviceProfileService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).Get(ctx, req.(*GetDeviceProfileRequest))
@ -199,7 +208,7 @@ func _DeviceProfileService_Update_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/Update",
FullMethod: DeviceProfileService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).Update(ctx, req.(*UpdateDeviceProfileRequest))
@ -217,7 +226,7 @@ func _DeviceProfileService_Delete_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/Delete",
FullMethod: DeviceProfileService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).Delete(ctx, req.(*DeleteDeviceProfileRequest))
@ -235,7 +244,7 @@ func _DeviceProfileService_List_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/List",
FullMethod: DeviceProfileService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).List(ctx, req.(*ListDeviceProfilesRequest))
@ -253,7 +262,7 @@ func _DeviceProfileService_ListAdrAlgorithms_Handler(srv interface{}, ctx contex
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileService/ListAdrAlgorithms",
FullMethod: DeviceProfileService_ListAdrAlgorithms_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileServiceServer).ListAdrAlgorithms(ctx, req.(*emptypb.Empty))

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/device_profile_template.proto
package api
@ -71,8 +71,11 @@ 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-slot periodicity.
ClassBPingSlotPeriod uint32 `protobuf:"varint,19,opt,name=class_b_ping_slot_period,json=classBPingSlotPeriod,proto3" json:"class_b_ping_slot_period,omitempty"`
// Class-B ping-slots per beacon period.
// 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"`
// 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).
@ -93,6 +96,11 @@ type DeviceProfileTemplate struct {
// 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"`
// 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"`
}
func (x *DeviceProfileTemplate) Reset() {
@ -253,9 +261,9 @@ func (x *DeviceProfileTemplate) GetClassBTimeout() uint32 {
return 0
}
func (x *DeviceProfileTemplate) GetClassBPingSlotPeriod() uint32 {
func (x *DeviceProfileTemplate) GetClassBPingSlotNbK() uint32 {
if x != nil {
return x.ClassBPingSlotPeriod
return x.ClassBPingSlotNbK
}
return 0
}
@ -323,6 +331,13 @@ func (x *DeviceProfileTemplate) GetMeasurements() map[string]*Measurement {
return nil
}
func (x *DeviceProfileTemplate) GetAutoDetectMeasurements() bool {
if x != nil {
return x.AutoDetectMeasurements
}
return false
}
type DeviceProfileTemplateListItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -856,7 +871,7 @@ var file_api_device_profile_template_proto_rawDesc = []byte{
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, 0x85, 0x0b, 0x0a, 0x15, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x50, 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,
@ -906,177 +921,181 @@ var file_api_device_profile_template_proto_rawDesc = []byte{
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, 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, 0x13, 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, 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, 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,
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, 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, 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, 0x3a, 0x01, 0x2a, 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, 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, 0x3a, 0x01, 0x2a, 0x12, 0x75, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x12, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44,
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, 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,
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, 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,
0x61, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 0x72, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/device_profile_template.proto
package api
@ -19,6 +19,14 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
DeviceProfileTemplateService_Create_FullMethodName = "/api.DeviceProfileTemplateService/Create"
DeviceProfileTemplateService_Get_FullMethodName = "/api.DeviceProfileTemplateService/Get"
DeviceProfileTemplateService_Update_FullMethodName = "/api.DeviceProfileTemplateService/Update"
DeviceProfileTemplateService_Delete_FullMethodName = "/api.DeviceProfileTemplateService/Delete"
DeviceProfileTemplateService_List_FullMethodName = "/api.DeviceProfileTemplateService/List"
)
// 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.
@ -45,7 +53,7 @@ func NewDeviceProfileTemplateServiceClient(cc grpc.ClientConnInterface) DevicePr
func (c *deviceProfileTemplateServiceClient) Create(ctx context.Context, in *CreateDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceProfileTemplateService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -54,7 +62,7 @@ func (c *deviceProfileTemplateServiceClient) Create(ctx context.Context, in *Cre
func (c *deviceProfileTemplateServiceClient) Get(ctx context.Context, in *GetDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*GetDeviceProfileTemplateResponse, error) {
out := new(GetDeviceProfileTemplateResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileTemplateService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -63,7 +71,7 @@ func (c *deviceProfileTemplateServiceClient) Get(ctx context.Context, in *GetDev
func (c *deviceProfileTemplateServiceClient) Update(ctx context.Context, in *UpdateDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceProfileTemplateService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -72,7 +80,7 @@ func (c *deviceProfileTemplateServiceClient) Update(ctx context.Context, in *Upd
func (c *deviceProfileTemplateServiceClient) Delete(ctx context.Context, in *DeleteDeviceProfileTemplateRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.DeviceProfileTemplateService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -81,7 +89,7 @@ func (c *deviceProfileTemplateServiceClient) Delete(ctx context.Context, in *Del
func (c *deviceProfileTemplateServiceClient) List(ctx context.Context, in *ListDeviceProfileTemplatesRequest, opts ...grpc.CallOption) (*ListDeviceProfileTemplatesResponse, error) {
out := new(ListDeviceProfileTemplatesResponse)
err := c.cc.Invoke(ctx, "/api.DeviceProfileTemplateService/List", in, out, opts...)
err := c.cc.Invoke(ctx, DeviceProfileTemplateService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -148,7 +156,7 @@ func _DeviceProfileTemplateService_Create_Handler(srv interface{}, ctx context.C
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileTemplateService/Create",
FullMethod: DeviceProfileTemplateService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileTemplateServiceServer).Create(ctx, req.(*CreateDeviceProfileTemplateRequest))
@ -166,7 +174,7 @@ func _DeviceProfileTemplateService_Get_Handler(srv interface{}, ctx context.Cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileTemplateService/Get",
FullMethod: DeviceProfileTemplateService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileTemplateServiceServer).Get(ctx, req.(*GetDeviceProfileTemplateRequest))
@ -184,7 +192,7 @@ func _DeviceProfileTemplateService_Update_Handler(srv interface{}, ctx context.C
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileTemplateService/Update",
FullMethod: DeviceProfileTemplateService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileTemplateServiceServer).Update(ctx, req.(*UpdateDeviceProfileTemplateRequest))
@ -202,7 +210,7 @@ func _DeviceProfileTemplateService_Delete_Handler(srv interface{}, ctx context.C
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileTemplateService/Delete",
FullMethod: DeviceProfileTemplateService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileTemplateServiceServer).Delete(ctx, req.(*DeleteDeviceProfileTemplateRequest))
@ -220,7 +228,7 @@ func _DeviceProfileTemplateService_List_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.DeviceProfileTemplateService/List",
FullMethod: DeviceProfileTemplateService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(DeviceProfileTemplateServiceServer).List(ctx, req.(*ListDeviceProfileTemplatesRequest))

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/frame_log.proto
package api
@ -42,6 +42,10 @@ type UplinkFrameLog struct {
DevEui string `protobuf:"bytes,6,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
// Time.
Time *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=time,proto3" json:"time,omitempty"`
// Plaintext f_opts mac-commands.
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"`
}
func (x *UplinkFrameLog) Reset() {
@ -125,6 +129,20 @@ func (x *UplinkFrameLog) GetTime() *timestamppb.Timestamp {
return nil
}
func (x *UplinkFrameLog) GetPlaintextFOpts() bool {
if x != nil {
return x.PlaintextFOpts
}
return false
}
func (x *UplinkFrameLog) GetPlaintextFrmPayload() bool {
if x != nil {
return x.PlaintextFrmPayload
}
return false
}
type DownlinkFrameLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -146,6 +164,10 @@ type DownlinkFrameLog struct {
DevAddr string `protobuf:"bytes,7,opt,name=dev_addr,json=devAddr,proto3" json:"dev_addr,omitempty"`
// Device EUI (optional).
DevEui string `protobuf:"bytes,8,opt,name=dev_eui,json=devEui,proto3" json:"dev_eui,omitempty"`
// Plaintext f_opts mac-commands.
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"`
}
func (x *DownlinkFrameLog) Reset() {
@ -236,6 +258,20 @@ func (x *DownlinkFrameLog) GetDevEui() string {
return ""
}
func (x *DownlinkFrameLog) GetPlaintextFOpts() bool {
if x != nil {
return x.PlaintextFOpts
}
return false
}
func (x *DownlinkFrameLog) GetPlaintextFrmPayload() bool {
if x != nil {
return x.PlaintextFrmPayload
}
return false
}
var File_api_frame_log_proto protoreflect.FileDescriptor
var file_api_frame_log_proto_rawDesc = []byte{
@ -244,7 +280,7 @@ var file_api_frame_log_proto_rawDesc = []byte{
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, 0x91, 0x02,
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,
@ -262,31 +298,44 @@ var file_api_frame_log_proto_rawDesc = []byte{
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, 0x22, 0xaa, 0x02, 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, 0x42, 0x54,
0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e,
0x61, 0x70, 0x69, 0x42, 0x0d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34,
0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 0x65, 0x0a, 0x11, 0x69, 0x6f,
0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42,
0x0d, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69,
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69,
0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70,
0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/gateway.proto
package api
@ -24,6 +24,58 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type GatewayState int32
const (
// The gateway has never sent any stats.
GatewayState_NEVER_SEEN GatewayState = 0
// Online.
GatewayState_ONLINE GatewayState = 1
// Offline.
GatewayState_OFFLINE GatewayState = 2
)
// Enum value maps for GatewayState.
var (
GatewayState_name = map[int32]string{
0: "NEVER_SEEN",
1: "ONLINE",
2: "OFFLINE",
}
GatewayState_value = map[string]int32{
"NEVER_SEEN": 0,
"ONLINE": 1,
"OFFLINE": 2,
}
)
func (x GatewayState) Enum() *GatewayState {
p := new(GatewayState)
*p = x
return p
}
func (x GatewayState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (GatewayState) Descriptor() protoreflect.EnumDescriptor {
return file_api_gateway_proto_enumTypes[0].Descriptor()
}
func (GatewayState) Type() protoreflect.EnumType {
return &file_api_gateway_proto_enumTypes[0]
}
func (x GatewayState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use GatewayState.Descriptor instead.
func (GatewayState) EnumDescriptor() ([]byte, []int) {
return file_api_gateway_proto_rawDescGZIP(), []int{0}
}
type Gateway struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -41,8 +93,12 @@ type Gateway struct {
TenantId string `protobuf:"bytes,5,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
// Tags.
Tags map[string]string `protobuf:"bytes,6,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Properties (provided by the gateway).
Properties map[string]string `protobuf:"bytes,7,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Metadata (provided by the gateway).
Metadata map[string]string `protobuf:"bytes,7,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Stats interval (seconds).
// This defines the expected interval in which the gateway sends its
// statistics.
StatsInterval uint32 `protobuf:"varint,8,opt,name=stats_interval,json=statsInterval,proto3" json:"stats_interval,omitempty"`
}
func (x *Gateway) Reset() {
@ -119,13 +175,20 @@ func (x *Gateway) GetTags() map[string]string {
return nil
}
func (x *Gateway) GetProperties() map[string]string {
func (x *Gateway) GetMetadata() map[string]string {
if x != nil {
return x.Properties
return x.Metadata
}
return nil
}
func (x *Gateway) GetStatsInterval() uint32 {
if x != nil {
return x.StatsInterval
}
return 0
}
type GatewayListItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -149,6 +212,10 @@ type GatewayListItem struct {
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
// Last seen at timestamp.
LastSeenAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_seen_at,json=lastSeenAt,proto3" json:"last_seen_at,omitempty"`
// Gateway state.
// Please note that the state of the gateway is driven by the stats
// packages that are sent by the gateway.
State GatewayState `protobuf:"varint,10,opt,name=state,proto3,enum=api.GatewayState" json:"state,omitempty"`
}
func (x *GatewayListItem) Reset() {
@ -246,6 +313,13 @@ func (x *GatewayListItem) GetLastSeenAt() *timestamppb.Timestamp {
return nil
}
func (x *GatewayListItem) GetState() GatewayState {
if x != nil {
return x.State
}
return GatewayState_NEVER_SEEN
}
type CreateGatewayRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -527,6 +601,8 @@ type ListGatewaysRequest struct {
// Tenant ID (UUID) to filter gateways on.
// To list all gateways as a global admin user, this field can be left blank.
TenantId string `protobuf:"bytes,4,opt,name=tenant_id,json=tenantId,proto3" json:"tenant_id,omitempty"`
// Multicast-group ID (UUID) to filter gateways on.
MulticastGroupId string `protobuf:"bytes,5,opt,name=multicast_group_id,json=multicastGroupId,proto3" json:"multicast_group_id,omitempty"`
}
func (x *ListGatewaysRequest) Reset() {
@ -589,6 +665,13 @@ func (x *ListGatewaysRequest) GetTenantId() string {
return ""
}
func (x *ListGatewaysRequest) GetMulticastGroupId() string {
if x != nil {
return x.MulticastGroupId
}
return ""
}
type ListGatewaysResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -957,7 +1040,7 @@ var file_api_gateway_proto_rawDesc = []byte{
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
0x70, 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, 0x8b, 0x03, 0x0a, 0x07, 0x47, 0x61,
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaa, 0x03, 0x0a, 0x07, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
@ -971,156 +1054,167 @@ var file_api_gateway_proto_rawDesc = []byte{
0x61, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67,
0x73, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18,
0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e,
0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 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, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70,
0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 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, 0xea, 0x03, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 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, 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, 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, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a,
0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 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, 0x12, 0x44, 0x0a, 0x0a, 0x70,
0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32,
0x24, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73,
0x74, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65,
0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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, 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, 0x08, 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, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f,
0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53,
0x65, 0x65, 0x6e, 0x41, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74,
0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 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, 0x3e, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61,
0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x07,
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x07, 0x67, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22, 0xf0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74,
0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x26, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x07,
0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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, 0x3c, 0x0a,
0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20,
0x73, 0x12, 0x36, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61,
0x74, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28,
0x0d, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c,
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, 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, 0x22, 0x93, 0x04, 0x0a, 0x0f, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 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, 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, 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, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x08,
0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 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, 0x12, 0x44, 0x0a, 0x0a, 0x70, 0x72,
0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74,
0x49, 0x74, 0x65, 0x6d, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45,
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73,
0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 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, 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, 0x08, 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, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73,
0x65, 0x65, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65,
0x65, 0x6e, 0x41, 0x74, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x1a, 0x3d, 0x0a,
0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
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, 0x3e, 0x0a, 0x14,
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x32, 0x0a, 0x11,
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64,
0x22, 0xf0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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,
0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x41, 0x74, 0x22, 0x3e, 0x0a, 0x14, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x35, 0x0a, 0x14, 0x44,
0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x49, 0x64, 0x22, 0x78, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 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, 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, 0x65, 0x0a, 0x14,
0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 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, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x27, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74,
0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d,
0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22, 0xb2, 0x01,
0x0a, 0x28, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6c,
0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6c,
0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6c, 0x73, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x17,
0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72,
0x65, 0x73, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
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, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x65,
0x65, 0x6e, 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, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73,
0x41, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x30,
0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x35,
0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67,
0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x03, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x09, 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65,
0x74, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x09, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74,
0x73, 0x12, 0x3d, 0x0a, 0x13, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f,
0x70, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x10,
0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x46, 0x72, 0x65, 0x71,
0x12, 0x3d, 0x0a, 0x13, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70,
0x65, 0x72, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x10, 0x72,
0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x46, 0x72, 0x65, 0x71, 0x12,
0x39, 0x0a, 0x11, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65,
0x72, 0x5f, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x74, 0x78, 0x50, 0x61,
0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, 0x72, 0x12, 0x39, 0x0a, 0x11, 0x72, 0x78,
0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x18,
0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x50, 0x65, 0x72, 0x44, 0x72, 0x12, 0x41, 0x0a, 0x15, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b,
0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x65, 0x65,
0x6e, 0x41, 0x74, 0x22, 0x3e, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x07, 0x67,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x07, 0x67, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x22, 0x35, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x4c,
0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 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, 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, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61,
0x73, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75,
0x70, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
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, 0x2c, 0x0a, 0x06,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74,
0x65, 0x6d, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x48, 0x0a, 0x27, 0x47, 0x65,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69,
0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x49, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x28, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65,
0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x07,
0x74, 0x6c, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74,
0x6c, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x39,
0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 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,
0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x73, 0x41, 0x74, 0x22, 0xd0, 0x01, 0x0a, 0x18, 0x47, 0x65,
0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x35, 0x0a, 0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x0b, 0x61, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x03, 0x0a,
0x19, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x0a, 0x72, 0x78,
0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x09,
0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x0a, 0x74, 0x78, 0x5f,
0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x09, 0x74,
0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x3d, 0x0a, 0x13, 0x74, 0x78, 0x5f, 0x70,
0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d,
0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x10, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
0x50, 0x65, 0x72, 0x46, 0x72, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x13, 0x72, 0x78, 0x5f, 0x70, 0x61,
0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x66, 0x72, 0x65, 0x71, 0x18, 0x04,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x52, 0x12, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50,
0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61, 0x74,
0x74, 0x72, 0x69, 0x63, 0x52, 0x10, 0x72, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50,
0x65, 0x72, 0x46, 0x72, 0x65, 0x71, 0x12, 0x39, 0x0a, 0x11, 0x74, 0x78, 0x5f, 0x70, 0x61, 0x63,
0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x52, 0x0e, 0x74, 0x78, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44,
0x72, 0x12, 0x39, 0x0a, 0x11, 0x72, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f,
0x70, 0x65, 0x72, 0x5f, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x0e, 0x72, 0x78,
0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x44, 0x72, 0x12, 0x41, 0x0a, 0x15,
0x74, 0x78, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x73,
0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f,
0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x52, 0x12, 0x74, 0x78, 0x50,
0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x50, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a,
0x37, 0x0a, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x45, 0x45, 0x4e, 0x10, 0x00, 0x12,
0x0a, 0x0a, 0x06, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4f,
0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x02, 0x32, 0x91, 0x06, 0x0a, 0x0e, 0x47, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x55, 0x0a, 0x06, 0x43,
0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x72, 0x65, 0x61,
0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12,
0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x3a,
0x01, 0x2a, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x73, 0x12, 0x5a, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77,
0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93,
@ -1130,9 +1224,9 @@ var file_api_gateway_proto_rawDesc = []byte{
0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 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, 0x2d, 0x82, 0xd3, 0xe4,
0x93, 0x02, 0x27, 0x1a, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x67, 0x61, 0x74, 0x65,
0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x5f, 0x0a, 0x06, 0x44, 0x65,
0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x1a, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x61, 0x74,
0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x67,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x5f, 0x0a, 0x06, 0x44, 0x65,
0x6c, 0x65, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74,
0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
@ -1162,13 +1256,14 @@ var file_api_gateway_proto_rawDesc = []byte{
0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67,
0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x2f, 0x7b, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x53, 0x0a, 0x11,
0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x42, 0x64, 0x0a, 0x11,
0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70,
0x69, 0x42, 0x0c, 0x47, 0x61, 0x74, 0x65, 0x77, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x69, 0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41,
0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -1183,76 +1278,79 @@ func file_api_gateway_proto_rawDescGZIP() []byte {
return file_api_gateway_proto_rawDescData
}
var file_api_gateway_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_api_gateway_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_api_gateway_proto_goTypes = []interface{}{
(*Gateway)(nil), // 0: api.Gateway
(*GatewayListItem)(nil), // 1: api.GatewayListItem
(*CreateGatewayRequest)(nil), // 2: api.CreateGatewayRequest
(*GetGatewayRequest)(nil), // 3: api.GetGatewayRequest
(*GetGatewayResponse)(nil), // 4: api.GetGatewayResponse
(*UpdateGatewayRequest)(nil), // 5: api.UpdateGatewayRequest
(*DeleteGatewayRequest)(nil), // 6: api.DeleteGatewayRequest
(*ListGatewaysRequest)(nil), // 7: api.ListGatewaysRequest
(*ListGatewaysResponse)(nil), // 8: api.ListGatewaysResponse
(*GenerateGatewayClientCertificateRequest)(nil), // 9: api.GenerateGatewayClientCertificateRequest
(*GenerateGatewayClientCertificateResponse)(nil), // 10: api.GenerateGatewayClientCertificateResponse
(*GetGatewayMetricsRequest)(nil), // 11: api.GetGatewayMetricsRequest
(*GetGatewayMetricsResponse)(nil), // 12: api.GetGatewayMetricsResponse
nil, // 13: api.Gateway.TagsEntry
nil, // 14: api.Gateway.PropertiesEntry
nil, // 15: api.GatewayListItem.PropertiesEntry
(*common.Location)(nil), // 16: common.Location
(*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp
(common.Aggregation)(0), // 18: common.Aggregation
(*common.Metric)(nil), // 19: common.Metric
(*emptypb.Empty)(nil), // 20: google.protobuf.Empty
(GatewayState)(0), // 0: api.GatewayState
(*Gateway)(nil), // 1: api.Gateway
(*GatewayListItem)(nil), // 2: api.GatewayListItem
(*CreateGatewayRequest)(nil), // 3: api.CreateGatewayRequest
(*GetGatewayRequest)(nil), // 4: api.GetGatewayRequest
(*GetGatewayResponse)(nil), // 5: api.GetGatewayResponse
(*UpdateGatewayRequest)(nil), // 6: api.UpdateGatewayRequest
(*DeleteGatewayRequest)(nil), // 7: api.DeleteGatewayRequest
(*ListGatewaysRequest)(nil), // 8: api.ListGatewaysRequest
(*ListGatewaysResponse)(nil), // 9: api.ListGatewaysResponse
(*GenerateGatewayClientCertificateRequest)(nil), // 10: api.GenerateGatewayClientCertificateRequest
(*GenerateGatewayClientCertificateResponse)(nil), // 11: api.GenerateGatewayClientCertificateResponse
(*GetGatewayMetricsRequest)(nil), // 12: api.GetGatewayMetricsRequest
(*GetGatewayMetricsResponse)(nil), // 13: api.GetGatewayMetricsResponse
nil, // 14: api.Gateway.TagsEntry
nil, // 15: api.Gateway.MetadataEntry
nil, // 16: api.GatewayListItem.PropertiesEntry
(*common.Location)(nil), // 17: common.Location
(*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp
(common.Aggregation)(0), // 19: common.Aggregation
(*common.Metric)(nil), // 20: common.Metric
(*emptypb.Empty)(nil), // 21: google.protobuf.Empty
}
var file_api_gateway_proto_depIdxs = []int32{
16, // 0: api.Gateway.location:type_name -> common.Location
13, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
14, // 2: api.Gateway.properties:type_name -> api.Gateway.PropertiesEntry
16, // 3: api.GatewayListItem.location:type_name -> common.Location
15, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
17, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
17, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
17, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
0, // 8: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
0, // 9: api.GetGatewayResponse.gateway:type_name -> api.Gateway
17, // 10: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
17, // 11: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
17, // 12: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
0, // 13: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
1, // 14: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
17, // 15: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
17, // 16: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
17, // 17: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
18, // 18: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
19, // 19: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
19, // 20: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
19, // 21: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
19, // 22: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
19, // 23: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
19, // 24: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
19, // 25: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
2, // 26: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
3, // 27: api.GatewayService.Get:input_type -> api.GetGatewayRequest
5, // 28: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
6, // 29: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
7, // 30: api.GatewayService.List:input_type -> api.ListGatewaysRequest
9, // 31: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
11, // 32: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
20, // 33: api.GatewayService.Create:output_type -> google.protobuf.Empty
4, // 34: api.GatewayService.Get:output_type -> api.GetGatewayResponse
20, // 35: api.GatewayService.Update:output_type -> google.protobuf.Empty
20, // 36: api.GatewayService.Delete:output_type -> google.protobuf.Empty
8, // 37: api.GatewayService.List:output_type -> api.ListGatewaysResponse
10, // 38: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
12, // 39: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
33, // [33:40] is the sub-list for method output_type
26, // [26:33] is the sub-list for method input_type
26, // [26:26] is the sub-list for extension type_name
26, // [26:26] is the sub-list for extension extendee
0, // [0:26] is the sub-list for field type_name
17, // 0: api.Gateway.location:type_name -> common.Location
14, // 1: api.Gateway.tags:type_name -> api.Gateway.TagsEntry
15, // 2: api.Gateway.metadata:type_name -> api.Gateway.MetadataEntry
17, // 3: api.GatewayListItem.location:type_name -> common.Location
16, // 4: api.GatewayListItem.properties:type_name -> api.GatewayListItem.PropertiesEntry
18, // 5: api.GatewayListItem.created_at:type_name -> google.protobuf.Timestamp
18, // 6: api.GatewayListItem.updated_at:type_name -> google.protobuf.Timestamp
18, // 7: api.GatewayListItem.last_seen_at:type_name -> google.protobuf.Timestamp
0, // 8: api.GatewayListItem.state:type_name -> api.GatewayState
1, // 9: api.CreateGatewayRequest.gateway:type_name -> api.Gateway
1, // 10: api.GetGatewayResponse.gateway:type_name -> api.Gateway
18, // 11: api.GetGatewayResponse.created_at:type_name -> google.protobuf.Timestamp
18, // 12: api.GetGatewayResponse.updated_at:type_name -> google.protobuf.Timestamp
18, // 13: api.GetGatewayResponse.last_seen_at:type_name -> google.protobuf.Timestamp
1, // 14: api.UpdateGatewayRequest.gateway:type_name -> api.Gateway
2, // 15: api.ListGatewaysResponse.result:type_name -> api.GatewayListItem
18, // 16: api.GenerateGatewayClientCertificateResponse.expires_at:type_name -> google.protobuf.Timestamp
18, // 17: api.GetGatewayMetricsRequest.start:type_name -> google.protobuf.Timestamp
18, // 18: api.GetGatewayMetricsRequest.end:type_name -> google.protobuf.Timestamp
19, // 19: api.GetGatewayMetricsRequest.aggregation:type_name -> common.Aggregation
20, // 20: api.GetGatewayMetricsResponse.rx_packets:type_name -> common.Metric
20, // 21: api.GetGatewayMetricsResponse.tx_packets:type_name -> common.Metric
20, // 22: api.GetGatewayMetricsResponse.tx_packets_per_freq:type_name -> common.Metric
20, // 23: api.GetGatewayMetricsResponse.rx_packets_per_freq:type_name -> common.Metric
20, // 24: api.GetGatewayMetricsResponse.tx_packets_per_dr:type_name -> common.Metric
20, // 25: api.GetGatewayMetricsResponse.rx_packets_per_dr:type_name -> common.Metric
20, // 26: api.GetGatewayMetricsResponse.tx_packets_per_status:type_name -> common.Metric
3, // 27: api.GatewayService.Create:input_type -> api.CreateGatewayRequest
4, // 28: api.GatewayService.Get:input_type -> api.GetGatewayRequest
6, // 29: api.GatewayService.Update:input_type -> api.UpdateGatewayRequest
7, // 30: api.GatewayService.Delete:input_type -> api.DeleteGatewayRequest
8, // 31: api.GatewayService.List:input_type -> api.ListGatewaysRequest
10, // 32: api.GatewayService.GenerateClientCertificate:input_type -> api.GenerateGatewayClientCertificateRequest
12, // 33: api.GatewayService.GetMetrics:input_type -> api.GetGatewayMetricsRequest
21, // 34: api.GatewayService.Create:output_type -> google.protobuf.Empty
5, // 35: api.GatewayService.Get:output_type -> api.GetGatewayResponse
21, // 36: api.GatewayService.Update:output_type -> google.protobuf.Empty
21, // 37: api.GatewayService.Delete:output_type -> google.protobuf.Empty
9, // 38: api.GatewayService.List:output_type -> api.ListGatewaysResponse
11, // 39: api.GatewayService.GenerateClientCertificate:output_type -> api.GenerateGatewayClientCertificateResponse
13, // 40: api.GatewayService.GetMetrics:output_type -> api.GetGatewayMetricsResponse
34, // [34:41] is the sub-list for method output_type
27, // [27:34] is the sub-list for method input_type
27, // [27:27] is the sub-list for extension type_name
27, // [27:27] is the sub-list for extension extendee
0, // [0:27] is the sub-list for field type_name
}
func init() { file_api_gateway_proto_init() }
@ -1423,13 +1521,14 @@ func file_api_gateway_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_gateway_proto_rawDesc,
NumEnums: 0,
NumEnums: 1,
NumMessages: 16,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_api_gateway_proto_goTypes,
DependencyIndexes: file_api_gateway_proto_depIdxs,
EnumInfos: file_api_gateway_proto_enumTypes,
MessageInfos: file_api_gateway_proto_msgTypes,
}.Build()
File_api_gateway_proto = out.File

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/gateway.proto
package api
@ -19,6 +19,16 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
GatewayService_Create_FullMethodName = "/api.GatewayService/Create"
GatewayService_Get_FullMethodName = "/api.GatewayService/Get"
GatewayService_Update_FullMethodName = "/api.GatewayService/Update"
GatewayService_Delete_FullMethodName = "/api.GatewayService/Delete"
GatewayService_List_FullMethodName = "/api.GatewayService/List"
GatewayService_GenerateClientCertificate_FullMethodName = "/api.GatewayService/GenerateClientCertificate"
GatewayService_GetMetrics_FullMethodName = "/api.GatewayService/GetMetrics"
)
// 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.
@ -49,7 +59,7 @@ func NewGatewayServiceClient(cc grpc.ClientConnInterface) GatewayServiceClient {
func (c *gatewayServiceClient) Create(ctx context.Context, in *CreateGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.GatewayService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -58,7 +68,7 @@ func (c *gatewayServiceClient) Create(ctx context.Context, in *CreateGatewayRequ
func (c *gatewayServiceClient) Get(ctx context.Context, in *GetGatewayRequest, opts ...grpc.CallOption) (*GetGatewayResponse, error) {
out := new(GetGatewayResponse)
err := c.cc.Invoke(ctx, "/api.GatewayService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -67,7 +77,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.GatewayService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -76,7 +86,7 @@ func (c *gatewayServiceClient) Update(ctx context.Context, in *UpdateGatewayRequ
func (c *gatewayServiceClient) Delete(ctx context.Context, in *DeleteGatewayRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.GatewayService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -85,7 +95,7 @@ func (c *gatewayServiceClient) Delete(ctx context.Context, in *DeleteGatewayRequ
func (c *gatewayServiceClient) List(ctx context.Context, in *ListGatewaysRequest, opts ...grpc.CallOption) (*ListGatewaysResponse, error) {
out := new(ListGatewaysResponse)
err := c.cc.Invoke(ctx, "/api.GatewayService/List", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -94,7 +104,7 @@ func (c *gatewayServiceClient) List(ctx context.Context, in *ListGatewaysRequest
func (c *gatewayServiceClient) GenerateClientCertificate(ctx context.Context, in *GenerateGatewayClientCertificateRequest, opts ...grpc.CallOption) (*GenerateGatewayClientCertificateResponse, error) {
out := new(GenerateGatewayClientCertificateResponse)
err := c.cc.Invoke(ctx, "/api.GatewayService/GenerateClientCertificate", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_GenerateClientCertificate_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -103,7 +113,7 @@ func (c *gatewayServiceClient) GenerateClientCertificate(ctx context.Context, in
func (c *gatewayServiceClient) GetMetrics(ctx context.Context, in *GetGatewayMetricsRequest, opts ...grpc.CallOption) (*GetGatewayMetricsResponse, error) {
out := new(GetGatewayMetricsResponse)
err := c.cc.Invoke(ctx, "/api.GatewayService/GetMetrics", in, out, opts...)
err := c.cc.Invoke(ctx, GatewayService_GetMetrics_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -179,7 +189,7 @@ func _GatewayService_Create_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/Create",
FullMethod: GatewayService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).Create(ctx, req.(*CreateGatewayRequest))
@ -197,7 +207,7 @@ func _GatewayService_Get_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/Get",
FullMethod: GatewayService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).Get(ctx, req.(*GetGatewayRequest))
@ -215,7 +225,7 @@ func _GatewayService_Update_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/Update",
FullMethod: GatewayService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).Update(ctx, req.(*UpdateGatewayRequest))
@ -233,7 +243,7 @@ func _GatewayService_Delete_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/Delete",
FullMethod: GatewayService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).Delete(ctx, req.(*DeleteGatewayRequest))
@ -251,7 +261,7 @@ func _GatewayService_List_Handler(srv interface{}, ctx context.Context, dec func
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/List",
FullMethod: GatewayService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).List(ctx, req.(*ListGatewaysRequest))
@ -269,7 +279,7 @@ func _GatewayService_GenerateClientCertificate_Handler(srv interface{}, ctx cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/GenerateClientCertificate",
FullMethod: GatewayService_GenerateClientCertificate_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).GenerateClientCertificate(ctx, req.(*GenerateGatewayClientCertificateRequest))
@ -287,7 +297,7 @@ func _GatewayService_GetMetrics_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.GatewayService/GetMetrics",
FullMethod: GatewayService_GetMetrics_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GatewayServiceServer).GetMetrics(ctx, req.(*GetGatewayMetricsRequest))

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/internal.proto
package api
@ -19,6 +19,24 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
InternalService_Login_FullMethodName = "/api.InternalService/Login"
InternalService_Profile_FullMethodName = "/api.InternalService/Profile"
InternalService_GlobalSearch_FullMethodName = "/api.InternalService/GlobalSearch"
InternalService_CreateApiKey_FullMethodName = "/api.InternalService/CreateApiKey"
InternalService_DeleteApiKey_FullMethodName = "/api.InternalService/DeleteApiKey"
InternalService_ListApiKeys_FullMethodName = "/api.InternalService/ListApiKeys"
InternalService_Settings_FullMethodName = "/api.InternalService/Settings"
InternalService_OpenIdConnectLogin_FullMethodName = "/api.InternalService/OpenIdConnectLogin"
InternalService_GetDevicesSummary_FullMethodName = "/api.InternalService/GetDevicesSummary"
InternalService_GetGatewaysSummary_FullMethodName = "/api.InternalService/GetGatewaysSummary"
InternalService_StreamGatewayFrames_FullMethodName = "/api.InternalService/StreamGatewayFrames"
InternalService_StreamDeviceFrames_FullMethodName = "/api.InternalService/StreamDeviceFrames"
InternalService_StreamDeviceEvents_FullMethodName = "/api.InternalService/StreamDeviceEvents"
InternalService_ListRegions_FullMethodName = "/api.InternalService/ListRegions"
InternalService_GetRegion_FullMethodName = "/api.InternalService/GetRegion"
)
// 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.
@ -49,6 +67,10 @@ type InternalServiceClient interface {
StreamDeviceFrames(ctx context.Context, in *StreamDeviceFramesRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceFramesClient, error)
// Stream events for the given Device EUI.
StreamDeviceEvents(ctx context.Context, in *StreamDeviceEventsRequest, opts ...grpc.CallOption) (InternalService_StreamDeviceEventsClient, 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.
GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error)
}
type internalServiceClient struct {
@ -61,7 +83,7 @@ func NewInternalServiceClient(cc grpc.ClientConnInterface) InternalServiceClient
func (c *internalServiceClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc.CallOption) (*LoginResponse, error) {
out := new(LoginResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/Login", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_Login_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -70,7 +92,7 @@ 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) {
out := new(ProfileResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/Profile", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_Profile_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -79,7 +101,7 @@ func (c *internalServiceClient) Profile(ctx context.Context, in *emptypb.Empty,
func (c *internalServiceClient) GlobalSearch(ctx context.Context, in *GlobalSearchRequest, opts ...grpc.CallOption) (*GlobalSearchResponse, error) {
out := new(GlobalSearchResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/GlobalSearch", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_GlobalSearch_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -88,7 +110,7 @@ func (c *internalServiceClient) GlobalSearch(ctx context.Context, in *GlobalSear
func (c *internalServiceClient) CreateApiKey(ctx context.Context, in *CreateApiKeyRequest, opts ...grpc.CallOption) (*CreateApiKeyResponse, error) {
out := new(CreateApiKeyResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/CreateApiKey", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_CreateApiKey_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -97,7 +119,7 @@ func (c *internalServiceClient) CreateApiKey(ctx context.Context, in *CreateApiK
func (c *internalServiceClient) DeleteApiKey(ctx context.Context, in *DeleteApiKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.InternalService/DeleteApiKey", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_DeleteApiKey_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -106,7 +128,7 @@ func (c *internalServiceClient) DeleteApiKey(ctx context.Context, in *DeleteApiK
func (c *internalServiceClient) ListApiKeys(ctx context.Context, in *ListApiKeysRequest, opts ...grpc.CallOption) (*ListApiKeysResponse, error) {
out := new(ListApiKeysResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/ListApiKeys", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_ListApiKeys_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -115,7 +137,7 @@ func (c *internalServiceClient) ListApiKeys(ctx context.Context, in *ListApiKeys
func (c *internalServiceClient) Settings(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*SettingsResponse, error) {
out := new(SettingsResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/Settings", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_Settings_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -124,7 +146,7 @@ func (c *internalServiceClient) Settings(ctx context.Context, in *emptypb.Empty,
func (c *internalServiceClient) OpenIdConnectLogin(ctx context.Context, in *OpenIdConnectLoginRequest, opts ...grpc.CallOption) (*OpenIdConnectLoginResponse, error) {
out := new(OpenIdConnectLoginResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/OpenIdConnectLogin", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_OpenIdConnectLogin_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -133,7 +155,7 @@ func (c *internalServiceClient) OpenIdConnectLogin(ctx context.Context, in *Open
func (c *internalServiceClient) GetDevicesSummary(ctx context.Context, in *GetDevicesSummaryRequest, opts ...grpc.CallOption) (*GetDevicesSummaryResponse, error) {
out := new(GetDevicesSummaryResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/GetDevicesSummary", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_GetDevicesSummary_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -142,7 +164,7 @@ func (c *internalServiceClient) GetDevicesSummary(ctx context.Context, in *GetDe
func (c *internalServiceClient) GetGatewaysSummary(ctx context.Context, in *GetGatewaysSummaryRequest, opts ...grpc.CallOption) (*GetGatewaysSummaryResponse, error) {
out := new(GetGatewaysSummaryResponse)
err := c.cc.Invoke(ctx, "/api.InternalService/GetGatewaysSummary", in, out, opts...)
err := c.cc.Invoke(ctx, InternalService_GetGatewaysSummary_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -150,7 +172,7 @@ func (c *internalServiceClient) GetGatewaysSummary(ctx context.Context, in *GetG
}
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], "/api.InternalService/StreamGatewayFrames", opts...)
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[0], InternalService_StreamGatewayFrames_FullMethodName, opts...)
if err != nil {
return nil, err
}
@ -182,7 +204,7 @@ func (x *internalServiceStreamGatewayFramesClient) Recv() (*LogItem, error) {
}
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], "/api.InternalService/StreamDeviceFrames", opts...)
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[1], InternalService_StreamDeviceFrames_FullMethodName, opts...)
if err != nil {
return nil, err
}
@ -214,7 +236,7 @@ func (x *internalServiceStreamDeviceFramesClient) Recv() (*LogItem, error) {
}
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], "/api.InternalService/StreamDeviceEvents", opts...)
stream, err := c.cc.NewStream(ctx, &InternalService_ServiceDesc.Streams[2], InternalService_StreamDeviceEvents_FullMethodName, opts...)
if err != nil {
return nil, err
}
@ -245,6 +267,24 @@ func (x *internalServiceStreamDeviceEventsClient) Recv() (*LogItem, error) {
return m, nil
}
func (c *internalServiceClient) ListRegions(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListRegionsResponse, error) {
out := new(ListRegionsResponse)
err := c.cc.Invoke(ctx, InternalService_ListRegions_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *internalServiceClient) GetRegion(ctx context.Context, in *GetRegionRequest, opts ...grpc.CallOption) (*GetRegionResponse, error) {
out := new(GetRegionResponse)
err := c.cc.Invoke(ctx, InternalService_GetRegion_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// InternalServiceServer is the server API for InternalService service.
// All implementations must embed UnimplementedInternalServiceServer
// for forward compatibility
@ -275,6 +315,10 @@ type InternalServiceServer interface {
StreamDeviceFrames(*StreamDeviceFramesRequest, InternalService_StreamDeviceFramesServer) error
// Stream events for the given Device EUI.
StreamDeviceEvents(*StreamDeviceEventsRequest, InternalService_StreamDeviceEventsServer) error
// ListRegions lists the available (configured) regions.
ListRegions(context.Context, *emptypb.Empty) (*ListRegionsResponse, error)
// GetRegion returns the region details for the given region.
GetRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error)
mustEmbedUnimplementedInternalServiceServer()
}
@ -321,6 +365,12 @@ func (UnimplementedInternalServiceServer) StreamDeviceFrames(*StreamDeviceFrames
func (UnimplementedInternalServiceServer) StreamDeviceEvents(*StreamDeviceEventsRequest, InternalService_StreamDeviceEventsServer) error {
return status.Errorf(codes.Unimplemented, "method StreamDeviceEvents not implemented")
}
func (UnimplementedInternalServiceServer) ListRegions(context.Context, *emptypb.Empty) (*ListRegionsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListRegions not implemented")
}
func (UnimplementedInternalServiceServer) GetRegion(context.Context, *GetRegionRequest) (*GetRegionResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetRegion not implemented")
}
func (UnimplementedInternalServiceServer) mustEmbedUnimplementedInternalServiceServer() {}
// UnsafeInternalServiceServer may be embedded to opt out of forward compatibility for this service.
@ -344,7 +394,7 @@ func _InternalService_Login_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/Login",
FullMethod: InternalService_Login_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).Login(ctx, req.(*LoginRequest))
@ -362,7 +412,7 @@ func _InternalService_Profile_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/Profile",
FullMethod: InternalService_Profile_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).Profile(ctx, req.(*emptypb.Empty))
@ -380,7 +430,7 @@ func _InternalService_GlobalSearch_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/GlobalSearch",
FullMethod: InternalService_GlobalSearch_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).GlobalSearch(ctx, req.(*GlobalSearchRequest))
@ -398,7 +448,7 @@ func _InternalService_CreateApiKey_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/CreateApiKey",
FullMethod: InternalService_CreateApiKey_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).CreateApiKey(ctx, req.(*CreateApiKeyRequest))
@ -416,7 +466,7 @@ func _InternalService_DeleteApiKey_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/DeleteApiKey",
FullMethod: InternalService_DeleteApiKey_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).DeleteApiKey(ctx, req.(*DeleteApiKeyRequest))
@ -434,7 +484,7 @@ func _InternalService_ListApiKeys_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/ListApiKeys",
FullMethod: InternalService_ListApiKeys_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).ListApiKeys(ctx, req.(*ListApiKeysRequest))
@ -452,7 +502,7 @@ func _InternalService_Settings_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/Settings",
FullMethod: InternalService_Settings_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).Settings(ctx, req.(*emptypb.Empty))
@ -470,7 +520,7 @@ func _InternalService_OpenIdConnectLogin_Handler(srv interface{}, ctx context.Co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/OpenIdConnectLogin",
FullMethod: InternalService_OpenIdConnectLogin_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).OpenIdConnectLogin(ctx, req.(*OpenIdConnectLoginRequest))
@ -488,7 +538,7 @@ func _InternalService_GetDevicesSummary_Handler(srv interface{}, ctx context.Con
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/GetDevicesSummary",
FullMethod: InternalService_GetDevicesSummary_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).GetDevicesSummary(ctx, req.(*GetDevicesSummaryRequest))
@ -506,7 +556,7 @@ func _InternalService_GetGatewaysSummary_Handler(srv interface{}, ctx context.Co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.InternalService/GetGatewaysSummary",
FullMethod: InternalService_GetGatewaysSummary_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).GetGatewaysSummary(ctx, req.(*GetGatewaysSummaryRequest))
@ -577,6 +627,42 @@ func (x *internalServiceStreamDeviceEventsServer) Send(m *LogItem) error {
return x.ServerStream.SendMsg(m)
}
func _InternalService_ListRegions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(emptypb.Empty)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InternalServiceServer).ListRegions(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InternalService_ListRegions_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).ListRegions(ctx, req.(*emptypb.Empty))
}
return interceptor(ctx, in, info, handler)
}
func _InternalService_GetRegion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetRegionRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(InternalServiceServer).GetRegion(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: InternalService_GetRegion_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(InternalServiceServer).GetRegion(ctx, req.(*GetRegionRequest))
}
return interceptor(ctx, in, info, handler)
}
// InternalService_ServiceDesc is the grpc.ServiceDesc for InternalService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@ -624,6 +710,14 @@ var InternalService_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetGatewaysSummary",
Handler: _InternalService_GetGatewaysSummary_Handler,
},
{
MethodName: "ListRegions",
Handler: _InternalService_ListRegions_Handler,
},
{
MethodName: "GetRegion",
Handler: _InternalService_GetRegion_Handler,
},
},
Streams: []grpc.StreamDesc{
{

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/multicast_group.proto
package api
@ -19,6 +19,21 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
MulticastGroupService_Create_FullMethodName = "/api.MulticastGroupService/Create"
MulticastGroupService_Get_FullMethodName = "/api.MulticastGroupService/Get"
MulticastGroupService_Update_FullMethodName = "/api.MulticastGroupService/Update"
MulticastGroupService_Delete_FullMethodName = "/api.MulticastGroupService/Delete"
MulticastGroupService_List_FullMethodName = "/api.MulticastGroupService/List"
MulticastGroupService_AddDevice_FullMethodName = "/api.MulticastGroupService/AddDevice"
MulticastGroupService_RemoveDevice_FullMethodName = "/api.MulticastGroupService/RemoveDevice"
MulticastGroupService_AddGateway_FullMethodName = "/api.MulticastGroupService/AddGateway"
MulticastGroupService_RemoveGateway_FullMethodName = "/api.MulticastGroupService/RemoveGateway"
MulticastGroupService_Enqueue_FullMethodName = "/api.MulticastGroupService/Enqueue"
MulticastGroupService_FlushQueue_FullMethodName = "/api.MulticastGroupService/FlushQueue"
MulticastGroupService_ListQueue_FullMethodName = "/api.MulticastGroupService/ListQueue"
)
// 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.
@ -37,7 +52,11 @@ type MulticastGroupServiceClient interface {
AddDevice(ctx context.Context, in *AddDeviceToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Remove a device from the multicast group.
RemoveDevice(ctx context.Context, in *RemoveDeviceFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Add the given item to the multcast group queue.
// Add a gateway to the multicast group.
AddGateway(ctx context.Context, in *AddGatewayToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Remove a gateway from the multicast group.
RemoveGateway(ctx context.Context, in *RemoveGatewayFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// Add the given item to the multicast group queue.
Enqueue(ctx context.Context, in *EnqueueMulticastGroupQueueItemRequest, opts ...grpc.CallOption) (*EnqueueMulticastGroupQueueItemResponse, error)
// Flush the queue for the given multicast group.
FlushQueue(ctx context.Context, in *FlushMulticastGroupQueueRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
@ -55,7 +74,7 @@ func NewMulticastGroupServiceClient(cc grpc.ClientConnInterface) MulticastGroupS
func (c *multicastGroupServiceClient) Create(ctx context.Context, in *CreateMulticastGroupRequest, opts ...grpc.CallOption) (*CreateMulticastGroupResponse, error) {
out := new(CreateMulticastGroupResponse)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -64,7 +83,7 @@ func (c *multicastGroupServiceClient) Create(ctx context.Context, in *CreateMult
func (c *multicastGroupServiceClient) Get(ctx context.Context, in *GetMulticastGroupRequest, opts ...grpc.CallOption) (*GetMulticastGroupResponse, error) {
out := new(GetMulticastGroupResponse)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -73,7 +92,7 @@ func (c *multicastGroupServiceClient) Get(ctx context.Context, in *GetMulticastG
func (c *multicastGroupServiceClient) Update(ctx context.Context, in *UpdateMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -82,7 +101,7 @@ func (c *multicastGroupServiceClient) Update(ctx context.Context, in *UpdateMult
func (c *multicastGroupServiceClient) Delete(ctx context.Context, in *DeleteMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -91,7 +110,7 @@ func (c *multicastGroupServiceClient) Delete(ctx context.Context, in *DeleteMult
func (c *multicastGroupServiceClient) List(ctx context.Context, in *ListMulticastGroupsRequest, opts ...grpc.CallOption) (*ListMulticastGroupsResponse, error) {
out := new(ListMulticastGroupsResponse)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/List", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -100,7 +119,7 @@ func (c *multicastGroupServiceClient) List(ctx context.Context, in *ListMulticas
func (c *multicastGroupServiceClient) AddDevice(ctx context.Context, in *AddDeviceToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/AddDevice", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_AddDevice_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -109,7 +128,25 @@ func (c *multicastGroupServiceClient) AddDevice(ctx context.Context, in *AddDevi
func (c *multicastGroupServiceClient) RemoveDevice(ctx context.Context, in *RemoveDeviceFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/RemoveDevice", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveDevice_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *multicastGroupServiceClient) AddGateway(ctx context.Context, in *AddGatewayToMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, MulticastGroupService_AddGateway_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *multicastGroupServiceClient) RemoveGateway(ctx context.Context, in *RemoveGatewayFromMulticastGroupRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, MulticastGroupService_RemoveGateway_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -118,7 +155,7 @@ func (c *multicastGroupServiceClient) RemoveDevice(ctx context.Context, in *Remo
func (c *multicastGroupServiceClient) Enqueue(ctx context.Context, in *EnqueueMulticastGroupQueueItemRequest, opts ...grpc.CallOption) (*EnqueueMulticastGroupQueueItemResponse, error) {
out := new(EnqueueMulticastGroupQueueItemResponse)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/Enqueue", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_Enqueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -127,7 +164,7 @@ func (c *multicastGroupServiceClient) Enqueue(ctx context.Context, in *EnqueueMu
func (c *multicastGroupServiceClient) FlushQueue(ctx context.Context, in *FlushMulticastGroupQueueRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/FlushQueue", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_FlushQueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -136,7 +173,7 @@ func (c *multicastGroupServiceClient) FlushQueue(ctx context.Context, in *FlushM
func (c *multicastGroupServiceClient) ListQueue(ctx context.Context, in *ListMulticastGroupQueueRequest, opts ...grpc.CallOption) (*ListMulticastGroupQueueResponse, error) {
out := new(ListMulticastGroupQueueResponse)
err := c.cc.Invoke(ctx, "/api.MulticastGroupService/ListQueue", in, out, opts...)
err := c.cc.Invoke(ctx, MulticastGroupService_ListQueue_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -161,7 +198,11 @@ type MulticastGroupServiceServer interface {
AddDevice(context.Context, *AddDeviceToMulticastGroupRequest) (*emptypb.Empty, error)
// Remove a device from the multicast group.
RemoveDevice(context.Context, *RemoveDeviceFromMulticastGroupRequest) (*emptypb.Empty, error)
// Add the given item to the multcast group queue.
// Add a gateway to the multicast group.
AddGateway(context.Context, *AddGatewayToMulticastGroupRequest) (*emptypb.Empty, error)
// Remove a gateway from the multicast group.
RemoveGateway(context.Context, *RemoveGatewayFromMulticastGroupRequest) (*emptypb.Empty, error)
// Add the given item to the multicast group queue.
Enqueue(context.Context, *EnqueueMulticastGroupQueueItemRequest) (*EnqueueMulticastGroupQueueItemResponse, error)
// Flush the queue for the given multicast group.
FlushQueue(context.Context, *FlushMulticastGroupQueueRequest) (*emptypb.Empty, error)
@ -195,6 +236,12 @@ func (UnimplementedMulticastGroupServiceServer) AddDevice(context.Context, *AddD
func (UnimplementedMulticastGroupServiceServer) RemoveDevice(context.Context, *RemoveDeviceFromMulticastGroupRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveDevice not implemented")
}
func (UnimplementedMulticastGroupServiceServer) AddGateway(context.Context, *AddGatewayToMulticastGroupRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddGateway not implemented")
}
func (UnimplementedMulticastGroupServiceServer) RemoveGateway(context.Context, *RemoveGatewayFromMulticastGroupRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveGateway not implemented")
}
func (UnimplementedMulticastGroupServiceServer) Enqueue(context.Context, *EnqueueMulticastGroupQueueItemRequest) (*EnqueueMulticastGroupQueueItemResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method Enqueue not implemented")
}
@ -227,7 +274,7 @@ func _MulticastGroupService_Create_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/Create",
FullMethod: MulticastGroupService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).Create(ctx, req.(*CreateMulticastGroupRequest))
@ -245,7 +292,7 @@ func _MulticastGroupService_Get_Handler(srv interface{}, ctx context.Context, de
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/Get",
FullMethod: MulticastGroupService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).Get(ctx, req.(*GetMulticastGroupRequest))
@ -263,7 +310,7 @@ func _MulticastGroupService_Update_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/Update",
FullMethod: MulticastGroupService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).Update(ctx, req.(*UpdateMulticastGroupRequest))
@ -281,7 +328,7 @@ func _MulticastGroupService_Delete_Handler(srv interface{}, ctx context.Context,
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/Delete",
FullMethod: MulticastGroupService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).Delete(ctx, req.(*DeleteMulticastGroupRequest))
@ -299,7 +346,7 @@ func _MulticastGroupService_List_Handler(srv interface{}, ctx context.Context, d
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/List",
FullMethod: MulticastGroupService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).List(ctx, req.(*ListMulticastGroupsRequest))
@ -317,7 +364,7 @@ func _MulticastGroupService_AddDevice_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/AddDevice",
FullMethod: MulticastGroupService_AddDevice_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).AddDevice(ctx, req.(*AddDeviceToMulticastGroupRequest))
@ -335,7 +382,7 @@ func _MulticastGroupService_RemoveDevice_Handler(srv interface{}, ctx context.Co
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/RemoveDevice",
FullMethod: MulticastGroupService_RemoveDevice_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).RemoveDevice(ctx, req.(*RemoveDeviceFromMulticastGroupRequest))
@ -343,6 +390,42 @@ func _MulticastGroupService_RemoveDevice_Handler(srv interface{}, ctx context.Co
return interceptor(ctx, in, info, handler)
}
func _MulticastGroupService_AddGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddGatewayToMulticastGroupRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MulticastGroupServiceServer).AddGateway(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: MulticastGroupService_AddGateway_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).AddGateway(ctx, req.(*AddGatewayToMulticastGroupRequest))
}
return interceptor(ctx, in, info, handler)
}
func _MulticastGroupService_RemoveGateway_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveGatewayFromMulticastGroupRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(MulticastGroupServiceServer).RemoveGateway(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: MulticastGroupService_RemoveGateway_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).RemoveGateway(ctx, req.(*RemoveGatewayFromMulticastGroupRequest))
}
return interceptor(ctx, in, info, handler)
}
func _MulticastGroupService_Enqueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(EnqueueMulticastGroupQueueItemRequest)
if err := dec(in); err != nil {
@ -353,7 +436,7 @@ func _MulticastGroupService_Enqueue_Handler(srv interface{}, ctx context.Context
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/Enqueue",
FullMethod: MulticastGroupService_Enqueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).Enqueue(ctx, req.(*EnqueueMulticastGroupQueueItemRequest))
@ -371,7 +454,7 @@ func _MulticastGroupService_FlushQueue_Handler(srv interface{}, ctx context.Cont
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/FlushQueue",
FullMethod: MulticastGroupService_FlushQueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).FlushQueue(ctx, req.(*FlushMulticastGroupQueueRequest))
@ -389,7 +472,7 @@ func _MulticastGroupService_ListQueue_Handler(srv interface{}, ctx context.Conte
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.MulticastGroupService/ListQueue",
FullMethod: MulticastGroupService_ListQueue_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(MulticastGroupServiceServer).ListQueue(ctx, req.(*ListMulticastGroupQueueRequest))
@ -432,6 +515,14 @@ var MulticastGroupService_ServiceDesc = grpc.ServiceDesc{
MethodName: "RemoveDevice",
Handler: _MulticastGroupService_RemoveDevice_Handler,
},
{
MethodName: "AddGateway",
Handler: _MulticastGroupService_AddGateway_Handler,
},
{
MethodName: "RemoveGateway",
Handler: _MulticastGroupService_RemoveGateway_Handler,
},
{
MethodName: "Enqueue",
Handler: _MulticastGroupService_Enqueue_Handler,

773
api/go/api/relay.pb.go vendored Normal file
View File

@ -0,0 +1,773 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/relay.proto
package api
import (
_ "google.golang.org/genproto/googleapis/api/annotations"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type RelayListItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *RelayListItem) Reset() {
*x = RelayListItem{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RelayListItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RelayListItem) ProtoMessage() {}
func (x *RelayListItem) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RelayListItem.ProtoReflect.Descriptor instead.
func (*RelayListItem) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{0}
}
func (x *RelayListItem) GetDevEui() string {
if x != nil {
return x.DevEui
}
return ""
}
func (x *RelayListItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type ListRelaysRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Max number of devices to return in the result-set.
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"`
// Application ID (UUID).
ApplicationId string `protobuf:"bytes,3,opt,name=application_id,json=applicationId,proto3" json:"application_id,omitempty"`
}
func (x *ListRelaysRequest) Reset() {
*x = ListRelaysRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListRelaysRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRelaysRequest) ProtoMessage() {}
func (x *ListRelaysRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRelaysRequest.ProtoReflect.Descriptor instead.
func (*ListRelaysRequest) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{1}
}
func (x *ListRelaysRequest) GetLimit() uint32 {
if x != nil {
return x.Limit
}
return 0
}
func (x *ListRelaysRequest) GetOffset() uint32 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListRelaysRequest) GetApplicationId() string {
if x != nil {
return x.ApplicationId
}
return ""
}
type ListRelaysResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *ListRelaysResponse) Reset() {
*x = ListRelaysResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListRelaysResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRelaysResponse) ProtoMessage() {}
func (x *ListRelaysResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRelaysResponse.ProtoReflect.Descriptor instead.
func (*ListRelaysResponse) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{2}
}
func (x *ListRelaysResponse) GetTotalCount() uint32 {
if x != nil {
return x.TotalCount
}
return 0
}
func (x *ListRelaysResponse) GetResult() []*RelayListItem {
if x != nil {
return x.Result
}
return nil
}
type AddRelayDeviceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *AddRelayDeviceRequest) Reset() {
*x = AddRelayDeviceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddRelayDeviceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddRelayDeviceRequest) ProtoMessage() {}
func (x *AddRelayDeviceRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AddRelayDeviceRequest.ProtoReflect.Descriptor instead.
func (*AddRelayDeviceRequest) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{3}
}
func (x *AddRelayDeviceRequest) GetRelayDevEui() string {
if x != nil {
return x.RelayDevEui
}
return ""
}
func (x *AddRelayDeviceRequest) GetDeviceDevEui() string {
if x != nil {
return x.DeviceDevEui
}
return ""
}
type RemoveRelayDeviceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *RemoveRelayDeviceRequest) Reset() {
*x = RemoveRelayDeviceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RemoveRelayDeviceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RemoveRelayDeviceRequest) ProtoMessage() {}
func (x *RemoveRelayDeviceRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RemoveRelayDeviceRequest.ProtoReflect.Descriptor instead.
func (*RemoveRelayDeviceRequest) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{4}
}
func (x *RemoveRelayDeviceRequest) GetRelayDevEui() string {
if x != nil {
return x.RelayDevEui
}
return ""
}
func (x *RemoveRelayDeviceRequest) GetDeviceDevEui() string {
if x != nil {
return x.DeviceDevEui
}
return ""
}
type ListRelayDevicesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Max number of multicast groups to return in the result-set.
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"`
}
func (x *ListRelayDevicesRequest) Reset() {
*x = ListRelayDevicesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListRelayDevicesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRelayDevicesRequest) ProtoMessage() {}
func (x *ListRelayDevicesRequest) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRelayDevicesRequest.ProtoReflect.Descriptor instead.
func (*ListRelayDevicesRequest) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{5}
}
func (x *ListRelayDevicesRequest) GetLimit() uint32 {
if x != nil {
return x.Limit
}
return 0
}
func (x *ListRelayDevicesRequest) GetOffset() uint32 {
if x != nil {
return x.Offset
}
return 0
}
func (x *ListRelayDevicesRequest) GetRelayDevEui() string {
if x != nil {
return x.RelayDevEui
}
return ""
}
type RelayDeviceListItem struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *RelayDeviceListItem) Reset() {
*x = RelayDeviceListItem{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RelayDeviceListItem) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RelayDeviceListItem) ProtoMessage() {}
func (x *RelayDeviceListItem) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RelayDeviceListItem.ProtoReflect.Descriptor instead.
func (*RelayDeviceListItem) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{6}
}
func (x *RelayDeviceListItem) GetDevEui() string {
if x != nil {
return x.DevEui
}
return ""
}
func (x *RelayDeviceListItem) GetCreatedAt() *timestamppb.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
func (x *RelayDeviceListItem) GetName() string {
if x != nil {
return x.Name
}
return ""
}
type ListRelayDevicesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
}
func (x *ListRelayDevicesResponse) Reset() {
*x = ListRelayDevicesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_api_relay_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListRelayDevicesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListRelayDevicesResponse) ProtoMessage() {}
func (x *ListRelayDevicesResponse) ProtoReflect() protoreflect.Message {
mi := &file_api_relay_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListRelayDevicesResponse.ProtoReflect.Descriptor instead.
func (*ListRelayDevicesResponse) Descriptor() ([]byte, []int) {
return file_api_relay_proto_rawDescGZIP(), []int{7}
}
func (x *ListRelayDevicesResponse) GetTotalCount() uint32 {
if x != nil {
return x.TotalCount
}
return 0
}
func (x *ListRelayDevicesResponse) GetResult() []*RelayDeviceListItem {
if x != nil {
return x.Result
}
return nil
}
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, 0x62, 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, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
}
var (
file_api_relay_proto_rawDescOnce sync.Once
file_api_relay_proto_rawDescData = file_api_relay_proto_rawDesc
)
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)
})
return file_api_relay_proto_rawDescData
}
var file_api_relay_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_api_relay_proto_goTypes = []interface{}{
(*RelayListItem)(nil), // 0: api.RelayListItem
(*ListRelaysRequest)(nil), // 1: api.ListRelaysRequest
(*ListRelaysResponse)(nil), // 2: api.ListRelaysResponse
(*AddRelayDeviceRequest)(nil), // 3: api.AddRelayDeviceRequest
(*RemoveRelayDeviceRequest)(nil), // 4: api.RemoveRelayDeviceRequest
(*ListRelayDevicesRequest)(nil), // 5: api.ListRelayDevicesRequest
(*RelayDeviceListItem)(nil), // 6: api.RelayDeviceListItem
(*ListRelayDevicesResponse)(nil), // 7: api.ListRelayDevicesResponse
(*timestamppb.Timestamp)(nil), // 8: google.protobuf.Timestamp
(*emptypb.Empty)(nil), // 9: google.protobuf.Empty
}
var file_api_relay_proto_depIdxs = []int32{
0, // 0: api.ListRelaysResponse.result:type_name -> api.RelayListItem
8, // 1: api.RelayDeviceListItem.created_at:type_name -> google.protobuf.Timestamp
6, // 2: api.ListRelayDevicesResponse.result:type_name -> api.RelayDeviceListItem
1, // 3: api.RelayService.List:input_type -> api.ListRelaysRequest
3, // 4: api.RelayService.AddDevice:input_type -> api.AddRelayDeviceRequest
4, // 5: api.RelayService.RemoveDevice:input_type -> api.RemoveRelayDeviceRequest
5, // 6: api.RelayService.ListDevices:input_type -> api.ListRelayDevicesRequest
2, // 7: api.RelayService.List:output_type -> api.ListRelaysResponse
9, // 8: api.RelayService.AddDevice:output_type -> google.protobuf.Empty
9, // 9: api.RelayService.RemoveDevice:output_type -> google.protobuf.Empty
7, // 10: api.RelayService.ListDevices:output_type -> api.ListRelayDevicesResponse
7, // [7:11] is the sub-list for method output_type
3, // [3:7] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
}
func init() { file_api_relay_proto_init() }
func file_api_relay_proto_init() {
if File_api_relay_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_api_relay_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RelayListItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRelaysRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRelaysResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddRelayDeviceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RemoveRelayDeviceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRelayDevicesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RelayDeviceListItem); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_api_relay_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListRelayDevicesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_relay_proto_rawDesc,
NumEnums: 0,
NumMessages: 8,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_api_relay_proto_goTypes,
DependencyIndexes: file_api_relay_proto_depIdxs,
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
}

229
api/go/api/relay_grpc.pb.go vendored Normal file
View File

@ -0,0 +1,229 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/relay.proto
package api
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
emptypb "google.golang.org/protobuf/types/known/emptypb"
)
// 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
const (
RelayService_List_FullMethodName = "/api.RelayService/List"
RelayService_AddDevice_FullMethodName = "/api.RelayService/AddDevice"
RelayService_RemoveDevice_FullMethodName = "/api.RelayService/RemoveDevice"
RelayService_ListDevices_FullMethodName = "/api.RelayService/ListDevices"
)
// 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.
type RelayServiceClient interface {
// List lists the relays for the given application id.
List(ctx context.Context, in *ListRelaysRequest, opts ...grpc.CallOption) (*ListRelaysResponse, error)
// AddDevice adds the given device to the relay.
AddDevice(ctx context.Context, in *AddRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// RemoveDevice removes the given device from the relay.
RemoveDevice(ctx context.Context, in *RemoveRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
// ListDevices lists the devices for the given relay.
ListDevices(ctx context.Context, in *ListRelayDevicesRequest, opts ...grpc.CallOption) (*ListRelayDevicesResponse, error)
}
type relayServiceClient struct {
cc grpc.ClientConnInterface
}
func NewRelayServiceClient(cc grpc.ClientConnInterface) RelayServiceClient {
return &relayServiceClient{cc}
}
func (c *relayServiceClient) List(ctx context.Context, in *ListRelaysRequest, opts ...grpc.CallOption) (*ListRelaysResponse, error) {
out := new(ListRelaysResponse)
err := c.cc.Invoke(ctx, RelayService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *relayServiceClient) AddDevice(ctx context.Context, in *AddRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, RelayService_AddDevice_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *relayServiceClient) RemoveDevice(ctx context.Context, in *RemoveRelayDeviceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, RelayService_RemoveDevice_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *relayServiceClient) ListDevices(ctx context.Context, in *ListRelayDevicesRequest, opts ...grpc.CallOption) (*ListRelayDevicesResponse, error) {
out := new(ListRelayDevicesResponse)
err := c.cc.Invoke(ctx, RelayService_ListDevices_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// RelayServiceServer is the server API for RelayService service.
// All implementations must embed UnimplementedRelayServiceServer
// for forward compatibility
type RelayServiceServer interface {
// List lists the relays for the given application id.
List(context.Context, *ListRelaysRequest) (*ListRelaysResponse, error)
// AddDevice adds the given device to the relay.
AddDevice(context.Context, *AddRelayDeviceRequest) (*emptypb.Empty, error)
// RemoveDevice removes the given device from the relay.
RemoveDevice(context.Context, *RemoveRelayDeviceRequest) (*emptypb.Empty, error)
// ListDevices lists the devices for the given relay.
ListDevices(context.Context, *ListRelayDevicesRequest) (*ListRelayDevicesResponse, error)
mustEmbedUnimplementedRelayServiceServer()
}
// UnimplementedRelayServiceServer must be embedded to have forward compatible implementations.
type UnimplementedRelayServiceServer struct {
}
func (UnimplementedRelayServiceServer) List(context.Context, *ListRelaysRequest) (*ListRelaysResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (UnimplementedRelayServiceServer) AddDevice(context.Context, *AddRelayDeviceRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddDevice not implemented")
}
func (UnimplementedRelayServiceServer) RemoveDevice(context.Context, *RemoveRelayDeviceRequest) (*emptypb.Empty, error) {
return nil, status.Errorf(codes.Unimplemented, "method RemoveDevice not implemented")
}
func (UnimplementedRelayServiceServer) ListDevices(context.Context, *ListRelayDevicesRequest) (*ListRelayDevicesResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListDevices not implemented")
}
func (UnimplementedRelayServiceServer) mustEmbedUnimplementedRelayServiceServer() {}
// 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
// result in compilation errors.
type UnsafeRelayServiceServer interface {
mustEmbedUnimplementedRelayServiceServer()
}
func RegisterRelayServiceServer(s grpc.ServiceRegistrar, srv RelayServiceServer) {
s.RegisterService(&RelayService_ServiceDesc, srv)
}
func _RelayService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListRelaysRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RelayServiceServer).List(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RelayService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RelayServiceServer).List(ctx, req.(*ListRelaysRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RelayService_AddDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddRelayDeviceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RelayServiceServer).AddDevice(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RelayService_AddDevice_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RelayServiceServer).AddDevice(ctx, req.(*AddRelayDeviceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RelayService_RemoveDevice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(RemoveRelayDeviceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RelayServiceServer).RemoveDevice(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RelayService_RemoveDevice_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RelayServiceServer).RemoveDevice(ctx, req.(*RemoveRelayDeviceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _RelayService_ListDevices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListRelayDevicesRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(RelayServiceServer).ListDevices(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: RelayService_ListDevices_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(RelayServiceServer).ListDevices(ctx, req.(*ListRelayDevicesRequest))
}
return interceptor(ctx, in, info, handler)
}
// RelayService_ServiceDesc is the grpc.ServiceDesc for RelayService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var RelayService_ServiceDesc = grpc.ServiceDesc{
ServiceName: "api.RelayService",
HandlerType: (*RelayServiceServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "List",
Handler: _RelayService_List_Handler,
},
{
MethodName: "AddDevice",
Handler: _RelayService_AddDevice_Handler,
},
{
MethodName: "RemoveDevice",
Handler: _RelayService_RemoveDevice_Handler,
},
{
MethodName: "ListDevices",
Handler: _RelayService_ListDevices_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "api/relay.proto",
}

185
api/go/api/request_log.pb.go vendored Normal file
View File

@ -0,0 +1,185 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/request_log.proto
package api
import (
_ "github.com/chirpstack/chirpstack/api/go/v4/common"
_ "github.com/chirpstack/chirpstack/api/go/v4/gw"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
_ "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type RequestLog struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// API service name.
Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"`
// API method name.
Method string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
// Metadata.
Metadata map[string]string `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}
func (x *RequestLog) Reset() {
*x = RequestLog{}
if protoimpl.UnsafeEnabled {
mi := &file_api_request_log_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RequestLog) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RequestLog) ProtoMessage() {}
func (x *RequestLog) ProtoReflect() protoreflect.Message {
mi := &file_api_request_log_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RequestLog.ProtoReflect.Descriptor instead.
func (*RequestLog) Descriptor() ([]byte, []int) {
return file_api_request_log_proto_rawDescGZIP(), []int{0}
}
func (x *RequestLog) GetService() string {
if x != nil {
return x.Service
}
return ""
}
func (x *RequestLog) GetMethod() string {
if x != nil {
return x.Method
}
return ""
}
func (x *RequestLog) GetMetadata() map[string]string {
if x != nil {
return x.Metadata
}
return nil
}
var File_api_request_log_proto protoreflect.FileDescriptor
var file_api_request_log_proto_rawDesc = []byte{
0x0a, 0x15, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x6f,
0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x61, 0x70, 0x69, 0x1a, 0x1f, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x13, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x77, 0x2f, 0x67, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
0xb6, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x12, 0x18,
0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68,
0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x12, 0x39, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x4c, 0x6f, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72,
0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d,
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x67, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63,
0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0f, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69,
0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
0x63, 0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69,
0xaa, 0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70,
0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_api_request_log_proto_rawDescOnce sync.Once
file_api_request_log_proto_rawDescData = file_api_request_log_proto_rawDesc
)
func file_api_request_log_proto_rawDescGZIP() []byte {
file_api_request_log_proto_rawDescOnce.Do(func() {
file_api_request_log_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_request_log_proto_rawDescData)
})
return file_api_request_log_proto_rawDescData
}
var file_api_request_log_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_api_request_log_proto_goTypes = []interface{}{
(*RequestLog)(nil), // 0: api.RequestLog
nil, // 1: api.RequestLog.MetadataEntry
}
var file_api_request_log_proto_depIdxs = []int32{
1, // 0: api.RequestLog.metadata:type_name -> api.RequestLog.MetadataEntry
1, // [1:1] is the sub-list for method output_type
1, // [1:1] is the sub-list for method input_type
1, // [1:1] is the sub-list for extension type_name
1, // [1:1] is the sub-list for extension extendee
0, // [0:1] is the sub-list for field type_name
}
func init() { file_api_request_log_proto_init() }
func file_api_request_log_proto_init() {
if File_api_request_log_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_api_request_log_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RequestLog); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_api_request_log_proto_rawDesc,
NumEnums: 0,
NumMessages: 2,
NumExtensions: 0,
NumServices: 0,
},
GoTypes: file_api_request_log_proto_goTypes,
DependencyIndexes: file_api_request_log_proto_depIdxs,
MessageInfos: file_api_request_log_proto_msgTypes,
}.Build()
File_api_request_log_proto = out.File
file_api_request_log_proto_rawDesc = nil
file_api_request_log_proto_goTypes = nil
file_api_request_log_proto_depIdxs = nil
}

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/tenant.proto
package api
@ -43,9 +43,15 @@ type Tenant struct {
// Max. device count for tenant.
// When set to 0, the tenant can have unlimited devices.
MaxDeviceCount uint32 `protobuf:"varint,6,opt,name=max_device_count,json=maxDeviceCount,proto3" json:"max_device_count,omitempty"`
// Private gateways.
// Gateways under this tenant are private.
PrivateGateways bool `protobuf:"varint,7,opt,name=private_gateways,json=privateGateways,proto3" json:"private_gateways,omitempty"`
// Private gateways (uplink).
// If enabled, then uplink messages will not be shared with other tenants.
PrivateGatewaysUp bool `protobuf:"varint,7,opt,name=private_gateways_up,json=privateGatewaysUp,proto3" json:"private_gateways_up,omitempty"`
// Private gateways (downlink).
// If enabled, then other tenants will not be able to schedule downlink
// messages through the gateways of this tenant. For example, in case you
// do want to share uplinks with other tenants (private_gateways_up=false),
// but you want to prevent other tenants from using gateway airtime.
PrivateGatewaysDown bool `protobuf:"varint,8,opt,name=private_gateways_down,json=privateGatewaysDown,proto3" json:"private_gateways_down,omitempty"`
}
func (x *Tenant) Reset() {
@ -122,9 +128,16 @@ func (x *Tenant) GetMaxDeviceCount() uint32 {
return 0
}
func (x *Tenant) GetPrivateGateways() bool {
func (x *Tenant) GetPrivateGatewaysUp() bool {
if x != nil {
return x.PrivateGateways
return x.PrivateGatewaysUp
}
return false
}
func (x *Tenant) GetPrivateGatewaysDown() bool {
if x != nil {
return x.PrivateGatewaysDown
}
return false
}
@ -144,8 +157,10 @@ type TenantListItem struct {
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
// Can the tenant create and "own" Gateways?
CanHaveGateways bool `protobuf:"varint,5,opt,name=can_have_gateways,json=canHaveGateways,proto3" json:"can_have_gateways,omitempty"`
// Gateways are private to tenant.
PrivateGateways bool `protobuf:"varint,6,opt,name=private_gateways,json=privateGateways,proto3" json:"private_gateways,omitempty"`
// Private gateways (uplink).
PrivateGatewaysUp bool `protobuf:"varint,6,opt,name=private_gateways_up,json=privateGatewaysUp,proto3" json:"private_gateways_up,omitempty"`
// Private gateways (downlink).
PrivateGatewaysDown bool `protobuf:"varint,9,opt,name=private_gateways_down,json=privateGatewaysDown,proto3" json:"private_gateways_down,omitempty"`
// Max gateway count.
// 0 = unlimited.
MaxGatewayCount uint32 `protobuf:"varint,7,opt,name=max_gateway_count,json=maxGatewayCount,proto3" json:"max_gateway_count,omitempty"`
@ -221,9 +236,16 @@ func (x *TenantListItem) GetCanHaveGateways() bool {
return false
}
func (x *TenantListItem) GetPrivateGateways() bool {
func (x *TenantListItem) GetPrivateGatewaysUp() bool {
if x != nil {
return x.PrivateGateways
return x.PrivateGatewaysUp
}
return false
}
func (x *TenantListItem) GetPrivateGatewaysDown() bool {
if x != nil {
return x.PrivateGatewaysDown
}
return false
}
@ -559,6 +581,9 @@ type ListTenantsRequest struct {
Offset uint32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"`
// If set, the given string will be used to search on name.
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"`
}
func (x *ListTenantsRequest) Reset() {
@ -614,6 +639,13 @@ func (x *ListTenantsRequest) GetSearch() string {
return ""
}
func (x *ListTenantsRequest) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
type ListTenantsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -1288,7 +1320,7 @@ var file_api_tenant_proto_rawDesc = []byte{
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, 0xfb, 0x01, 0x0a, 0x06, 0x54, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x12, 0x0e,
0x6f, 0x74, 0x6f, 0x22, 0xb4, 0x02, 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,
@ -1301,219 +1333,228 @@ var file_api_tenant_proto_rawDesc = []byte{
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, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74,
0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79,
0x73, 0x22, 0xd7, 0x02, 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, 0x29, 0x0a, 0x10, 0x70, 0x72,
0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x73, 0x18, 0x06,
0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 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, 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, 0x5a, 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, 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,
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, 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, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
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, 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,
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, 0x22, 0x17, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f,
0x74, 0x65, 0x6e, 0x61, 0x6e, 0x74, 0x73, 0x3a, 0x01, 0x2a, 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, 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, 0x3a, 0x01, 0x2a, 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,
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, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 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, 0x3a, 0x01, 0x2a, 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, 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, 0x3a, 0x01, 0x2a, 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,
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, 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, 0x54, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72,
0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0d, 0x49, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2e, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
0x63, 0x6b, 0x2f, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x61, 0x70,
0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
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, 0x63, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/tenant.proto
package api
@ -19,6 +19,19 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
TenantService_Create_FullMethodName = "/api.TenantService/Create"
TenantService_Get_FullMethodName = "/api.TenantService/Get"
TenantService_Update_FullMethodName = "/api.TenantService/Update"
TenantService_Delete_FullMethodName = "/api.TenantService/Delete"
TenantService_List_FullMethodName = "/api.TenantService/List"
TenantService_AddUser_FullMethodName = "/api.TenantService/AddUser"
TenantService_GetUser_FullMethodName = "/api.TenantService/GetUser"
TenantService_UpdateUser_FullMethodName = "/api.TenantService/UpdateUser"
TenantService_DeleteUser_FullMethodName = "/api.TenantService/DeleteUser"
TenantService_ListUsers_FullMethodName = "/api.TenantService/ListUsers"
)
// 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.
@ -56,7 +69,7 @@ func NewTenantServiceClient(cc grpc.ClientConnInterface) TenantServiceClient {
func (c *tenantServiceClient) Create(ctx context.Context, in *CreateTenantRequest, opts ...grpc.CallOption) (*CreateTenantResponse, error) {
out := new(CreateTenantResponse)
err := c.cc.Invoke(ctx, "/api.TenantService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -65,7 +78,7 @@ func (c *tenantServiceClient) Create(ctx context.Context, in *CreateTenantReques
func (c *tenantServiceClient) Get(ctx context.Context, in *GetTenantRequest, opts ...grpc.CallOption) (*GetTenantResponse, error) {
out := new(GetTenantResponse)
err := c.cc.Invoke(ctx, "/api.TenantService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -74,7 +87,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.TenantService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -83,7 +96,7 @@ func (c *tenantServiceClient) Update(ctx context.Context, in *UpdateTenantReques
func (c *tenantServiceClient) Delete(ctx context.Context, in *DeleteTenantRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.TenantService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -92,7 +105,7 @@ func (c *tenantServiceClient) Delete(ctx context.Context, in *DeleteTenantReques
func (c *tenantServiceClient) List(ctx context.Context, in *ListTenantsRequest, opts ...grpc.CallOption) (*ListTenantsResponse, error) {
out := new(ListTenantsResponse)
err := c.cc.Invoke(ctx, "/api.TenantService/List", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -101,7 +114,7 @@ func (c *tenantServiceClient) List(ctx context.Context, in *ListTenantsRequest,
func (c *tenantServiceClient) AddUser(ctx context.Context, in *AddTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.TenantService/AddUser", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_AddUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -110,7 +123,7 @@ func (c *tenantServiceClient) AddUser(ctx context.Context, in *AddTenantUserRequ
func (c *tenantServiceClient) GetUser(ctx context.Context, in *GetTenantUserRequest, opts ...grpc.CallOption) (*GetTenantUserResponse, error) {
out := new(GetTenantUserResponse)
err := c.cc.Invoke(ctx, "/api.TenantService/GetUser", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_GetUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -119,7 +132,7 @@ func (c *tenantServiceClient) GetUser(ctx context.Context, in *GetTenantUserRequ
func (c *tenantServiceClient) UpdateUser(ctx context.Context, in *UpdateTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.TenantService/UpdateUser", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_UpdateUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -128,7 +141,7 @@ func (c *tenantServiceClient) UpdateUser(ctx context.Context, in *UpdateTenantUs
func (c *tenantServiceClient) DeleteUser(ctx context.Context, in *DeleteTenantUserRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.TenantService/DeleteUser", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_DeleteUser_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -137,7 +150,7 @@ func (c *tenantServiceClient) DeleteUser(ctx context.Context, in *DeleteTenantUs
func (c *tenantServiceClient) ListUsers(ctx context.Context, in *ListTenantUsersRequest, opts ...grpc.CallOption) (*ListTenantUsersResponse, error) {
out := new(ListTenantUsersResponse)
err := c.cc.Invoke(ctx, "/api.TenantService/ListUsers", in, out, opts...)
err := c.cc.Invoke(ctx, TenantService_ListUsers_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -229,7 +242,7 @@ func _TenantService_Create_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/Create",
FullMethod: TenantService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).Create(ctx, req.(*CreateTenantRequest))
@ -247,7 +260,7 @@ func _TenantService_Get_Handler(srv interface{}, ctx context.Context, dec func(i
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/Get",
FullMethod: TenantService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).Get(ctx, req.(*GetTenantRequest))
@ -265,7 +278,7 @@ func _TenantService_Update_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/Update",
FullMethod: TenantService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).Update(ctx, req.(*UpdateTenantRequest))
@ -283,7 +296,7 @@ func _TenantService_Delete_Handler(srv interface{}, ctx context.Context, dec fun
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/Delete",
FullMethod: TenantService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).Delete(ctx, req.(*DeleteTenantRequest))
@ -301,7 +314,7 @@ func _TenantService_List_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/List",
FullMethod: TenantService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).List(ctx, req.(*ListTenantsRequest))
@ -319,7 +332,7 @@ func _TenantService_AddUser_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/AddUser",
FullMethod: TenantService_AddUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).AddUser(ctx, req.(*AddTenantUserRequest))
@ -337,7 +350,7 @@ func _TenantService_GetUser_Handler(srv interface{}, ctx context.Context, dec fu
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/GetUser",
FullMethod: TenantService_GetUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).GetUser(ctx, req.(*GetTenantUserRequest))
@ -355,7 +368,7 @@ func _TenantService_UpdateUser_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/UpdateUser",
FullMethod: TenantService_UpdateUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).UpdateUser(ctx, req.(*UpdateTenantUserRequest))
@ -373,7 +386,7 @@ func _TenantService_DeleteUser_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/DeleteUser",
FullMethod: TenantService_DeleteUser_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).DeleteUser(ctx, req.(*DeleteTenantUserRequest))
@ -391,7 +404,7 @@ func _TenantService_ListUsers_Handler(srv interface{}, ctx context.Context, dec
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.TenantService/ListUsers",
FullMethod: TenantService_ListUsers_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(TenantServiceServer).ListUsers(ctx, req.(*ListTenantUsersRequest))

23
api/go/api/user.pb.go vendored
View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: api/user.proto
package api
@ -863,8 +863,8 @@ var file_api_user_proto_rawDesc = []byte{
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, 0x22, 0x0a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65,
0x72, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0x49, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x13, 0x2e, 0x61,
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,
@ -873,8 +873,8 @@ var file_api_user_proto_rawDesc = []byte{
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, 0x1a, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b,
0x75, 0x73, 0x65, 0x72, 0x2e, 0x69, 0x64, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x51, 0x0a, 0x06, 0x44,
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,
@ -889,15 +889,16 @@ var file_api_user_proto_rawDesc = []byte{
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, 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, 0x3a, 0x01, 0x2a, 0x42, 0x50, 0x0a,
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, 0x61, 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, 0x62,
0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x6b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x34, 0x2f, 0x61, 0x70, 0x69, 0xaa,
0x02, 0x0e, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x41, 0x70, 0x69,
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.2.0
// - protoc v3.18.1
// - protoc-gen-go-grpc v1.3.0
// - protoc v3.21.9
// source: api/user.proto
package api
@ -19,6 +19,15 @@ import (
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7
const (
UserService_Create_FullMethodName = "/api.UserService/Create"
UserService_Get_FullMethodName = "/api.UserService/Get"
UserService_Update_FullMethodName = "/api.UserService/Update"
UserService_Delete_FullMethodName = "/api.UserService/Delete"
UserService_List_FullMethodName = "/api.UserService/List"
UserService_UpdatePassword_FullMethodName = "/api.UserService/UpdatePassword"
)
// 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.
@ -47,7 +56,7 @@ func NewUserServiceClient(cc grpc.ClientConnInterface) UserServiceClient {
func (c *userServiceClient) Create(ctx context.Context, in *CreateUserRequest, opts ...grpc.CallOption) (*CreateUserResponse, error) {
out := new(CreateUserResponse)
err := c.cc.Invoke(ctx, "/api.UserService/Create", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_Create_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -56,7 +65,7 @@ func (c *userServiceClient) Create(ctx context.Context, in *CreateUserRequest, o
func (c *userServiceClient) Get(ctx context.Context, in *GetUserRequest, opts ...grpc.CallOption) (*GetUserResponse, error) {
out := new(GetUserResponse)
err := c.cc.Invoke(ctx, "/api.UserService/Get", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_Get_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -65,7 +74,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.UserService/Update", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_Update_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -74,7 +83,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.UserService/Delete", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_Delete_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -83,7 +92,7 @@ func (c *userServiceClient) Delete(ctx context.Context, in *DeleteUserRequest, o
func (c *userServiceClient) List(ctx context.Context, in *ListUsersRequest, opts ...grpc.CallOption) (*ListUsersResponse, error) {
out := new(ListUsersResponse)
err := c.cc.Invoke(ctx, "/api.UserService/List", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_List_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -92,7 +101,7 @@ 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) {
out := new(emptypb.Empty)
err := c.cc.Invoke(ctx, "/api.UserService/UpdatePassword", in, out, opts...)
err := c.cc.Invoke(ctx, UserService_UpdatePassword_FullMethodName, in, out, opts...)
if err != nil {
return nil, err
}
@ -163,7 +172,7 @@ func _UserService_Create_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/Create",
FullMethod: UserService_Create_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).Create(ctx, req.(*CreateUserRequest))
@ -181,7 +190,7 @@ func _UserService_Get_Handler(srv interface{}, ctx context.Context, dec func(int
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/Get",
FullMethod: UserService_Get_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).Get(ctx, req.(*GetUserRequest))
@ -199,7 +208,7 @@ func _UserService_Update_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/Update",
FullMethod: UserService_Update_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).Update(ctx, req.(*UpdateUserRequest))
@ -217,7 +226,7 @@ func _UserService_Delete_Handler(srv interface{}, ctx context.Context, dec func(
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/Delete",
FullMethod: UserService_Delete_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).Delete(ctx, req.(*DeleteUserRequest))
@ -235,7 +244,7 @@ func _UserService_List_Handler(srv interface{}, ctx context.Context, dec func(in
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/List",
FullMethod: UserService_List_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).List(ctx, req.(*ListUsersRequest))
@ -253,7 +262,7 @@ func _UserService_UpdatePassword_Handler(srv interface{}, ctx context.Context, d
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/api.UserService/UpdatePassword",
FullMethod: UserService_UpdatePassword_FullMethodName,
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UserServiceServer).UpdatePassword(ctx, req.(*UpdateUserPasswordRequest))

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: common/common.proto
package common
@ -477,6 +477,111 @@ func (Aggregation) EnumDescriptor() ([]byte, []int) {
return file_common_common_proto_rawDescGZIP(), []int{6}
}
type MetricKind int32
const (
// Incrementing counters that never decrease (these are not reset on each
// reading).
MetricKind_COUNTER MetricKind = 0
// Counters that do get reset upon reading.
MetricKind_ABSOLUTE MetricKind = 1
// E.g. a temperature value.
MetricKind_GAUGE MetricKind = 2
)
// Enum value maps for MetricKind.
var (
MetricKind_name = map[int32]string{
0: "COUNTER",
1: "ABSOLUTE",
2: "GAUGE",
}
MetricKind_value = map[string]int32{
"COUNTER": 0,
"ABSOLUTE": 1,
"GAUGE": 2,
}
)
func (x MetricKind) Enum() *MetricKind {
p := new(MetricKind)
*p = x
return p
}
func (x MetricKind) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MetricKind) Descriptor() protoreflect.EnumDescriptor {
return file_common_common_proto_enumTypes[7].Descriptor()
}
func (MetricKind) Type() protoreflect.EnumType {
return &file_common_common_proto_enumTypes[7]
}
func (x MetricKind) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use MetricKind.Descriptor instead.
func (MetricKind) EnumDescriptor() ([]byte, []int) {
return file_common_common_proto_rawDescGZIP(), []int{7}
}
type DeviceClass int32
const (
// Class-A.
DeviceClass_CLASS_A DeviceClass = 0
// Class-B.
DeviceClass_CLASS_B DeviceClass = 1
// Class-C.
DeviceClass_CLASS_C DeviceClass = 2
)
// Enum value maps for DeviceClass.
var (
DeviceClass_name = map[int32]string{
0: "CLASS_A",
1: "CLASS_B",
2: "CLASS_C",
}
DeviceClass_value = map[string]int32{
"CLASS_A": 0,
"CLASS_B": 1,
"CLASS_C": 2,
}
)
func (x DeviceClass) Enum() *DeviceClass {
p := new(DeviceClass)
*p = x
return p
}
func (x DeviceClass) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (DeviceClass) Descriptor() protoreflect.EnumDescriptor {
return file_common_common_proto_enumTypes[8].Descriptor()
}
func (DeviceClass) Type() protoreflect.EnumType {
return &file_common_common_proto_enumTypes[8]
}
func (x DeviceClass) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use DeviceClass.Descriptor instead.
func (DeviceClass) EnumDescriptor() ([]byte, []int) {
return file_common_common_proto_rawDescGZIP(), []int{8}
}
type Location struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -629,6 +734,8 @@ type Metric struct {
Timestamps []*timestamppb.Timestamp `protobuf:"bytes,2,rep,name=timestamps,proto3" json:"timestamps,omitempty"`
// 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"`
}
func (x *Metric) Reset() {
@ -684,6 +791,13 @@ func (x *Metric) GetDatasets() []*MetricDataset {
return nil
}
func (x *Metric) GetKind() MetricKind {
if x != nil {
return x.Kind
}
return MetricKind_COUNTER
}
type MetricDataset struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -764,7 +878,7 @@ var file_common_common_proto_rawDesc = []byte{
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, 0x8b, 0x01, 0x0a, 0x06, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x12, 0x0a,
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,
@ -773,67 +887,78 @@ var file_common_common_proto_rawDesc = []byte{
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,
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, 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, 0x65, 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, 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, 0x2b, 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, 0x42, 0x55, 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, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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, 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, 0x65, 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, 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, 0x2b, 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, 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, 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, 0x69, 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, 0x62, 0x06,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -848,7 +973,7 @@ func file_common_common_proto_rawDescGZIP() []byte {
return file_common_common_proto_rawDescData
}
var file_common_common_proto_enumTypes = make([]protoimpl.EnumInfo, 7)
var file_common_common_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
var file_common_common_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_common_common_proto_goTypes = []interface{}{
(Modulation)(0), // 0: common.Modulation
@ -858,21 +983,24 @@ var file_common_common_proto_goTypes = []interface{}{
(RegParamsRevision)(0), // 4: common.RegParamsRevision
(LocationSource)(0), // 5: common.LocationSource
(Aggregation)(0), // 6: common.Aggregation
(*Location)(nil), // 7: common.Location
(*KeyEnvelope)(nil), // 8: common.KeyEnvelope
(*Metric)(nil), // 9: common.Metric
(*MetricDataset)(nil), // 10: common.MetricDataset
(*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp
(MetricKind)(0), // 7: common.MetricKind
(DeviceClass)(0), // 8: common.DeviceClass
(*Location)(nil), // 9: common.Location
(*KeyEnvelope)(nil), // 10: common.KeyEnvelope
(*Metric)(nil), // 11: common.Metric
(*MetricDataset)(nil), // 12: common.MetricDataset
(*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
}
var file_common_common_proto_depIdxs = []int32{
5, // 0: common.Location.source:type_name -> common.LocationSource
11, // 1: common.Metric.timestamps:type_name -> google.protobuf.Timestamp
10, // 2: common.Metric.datasets:type_name -> common.MetricDataset
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
13, // 1: common.Metric.timestamps:type_name -> google.protobuf.Timestamp
12, // 2: common.Metric.datasets:type_name -> common.MetricDataset
7, // 3: common.Metric.kind:type_name -> common.MetricKind
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_common_common_proto_init() }
@ -935,7 +1063,7 @@ func file_common_common_proto_init() {
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_common_common_proto_rawDesc,
NumEnums: 7,
NumEnums: 9,
NumMessages: 4,
NumExtensions: 0,
NumServices: 0,

6
api/go/go.mod vendored
View File

@ -3,7 +3,7 @@ module github.com/chirpstack/chirpstack/api/go/v4
go 1.16
require (
google.golang.org/grpc v1.45.0 // indirect
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.2.0 // indirect
google.golang.org/protobuf v1.28.0 // indirect
google.golang.org/grpc v1.53.0 // indirect
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.3.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect
)

1009
api/go/go.sum vendored

File diff suppressed because it is too large Load Diff

1252
api/go/gw/gw.pb.go vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.0
// protoc v3.18.1
// protoc-gen-go v1.31.0
// protoc v3.21.9
// source: meta/meta.proto
package meta
@ -287,13 +287,14 @@ var file_meta_meta_proto_rawDesc = []byte{
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, 0x56, 0x0a,
0x28, 0x09, 0x52, 0x09, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x49, 0x64, 0x42, 0x68, 0x0a,
0x16, 0x69, 0x6f, 0x2e, 0x63, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x61,
0x70, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x42, 0x09, 0x4d, 0x65, 0x74, 0x61, 0x50, 0x72, 0x6f,
0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2f, 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, 0x6d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x2f, 0x6d, 0x65, 0x74, 0x61, 0xaa, 0x02, 0x0f, 0x43, 0x68, 0x69, 0x72, 0x70, 0x73, 0x74, 0x61,
0x63, 0x6b, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

38
api/grpc-web/Makefile vendored
View File

@ -1,35 +1,39 @@
.PHONY: common api google-api
GOOGLEAPIS_PATH := /googleapis
PROTOC_ARGS := --js_out=import_style=commonjs:. --grpc-web_out=import_style=commonjs+dts,mode=grpcwebtext:.
PROTOC_ARGS := -I=/googleapis -I=../proto --js_out=import_style=commonjs:. --grpc-web_out=import_style=commonjs+dts,mode=grpcwebtext:.
all: common gw api integration google-api
all: requirements common gw api integration google-api
requirements:
yarn install
common:
mkdir -p common
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/common/common.proto
protoc $(PROTOC_ARGS) ../proto/common/common.proto
gw:
mkdir -p gw
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/gw/gw.proto
protoc $(PROTOC_ARGS) ../proto/gw/gw.proto
api:
mkdir -p api
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/internal.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/user.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/tenant.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/application.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/device_profile.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/device_profile_template.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/device.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/gateway.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/frame_log.proto
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/api/multicast_group.proto
protoc $(PROTOC_ARGS) ../proto/api/internal.proto
protoc $(PROTOC_ARGS) ../proto/api/user.proto
protoc $(PROTOC_ARGS) ../proto/api/tenant.proto
protoc $(PROTOC_ARGS) ../proto/api/application.proto
protoc $(PROTOC_ARGS) ../proto/api/device_profile.proto
protoc $(PROTOC_ARGS) ../proto/api/device_profile_template.proto
protoc $(PROTOC_ARGS) ../proto/api/device.proto
protoc $(PROTOC_ARGS) ../proto/api/gateway.proto
protoc $(PROTOC_ARGS) ../proto/api/frame_log.proto
protoc $(PROTOC_ARGS) ../proto/api/multicast_group.proto
protoc $(PROTOC_ARGS) ../proto/api/request_log.proto
protoc $(PROTOC_ARGS) ../proto/api/relay.proto
integration:
mkdir -p integration
protoc -I=$(GOOGLEAPIS_PATH) -I=../protobuf -I=../proto $(PROTOC_ARGS) ../proto/integration/integration.proto
protoc $(PROTOC_ARGS) ../proto/integration/integration.proto
google-api:
protoc -I=$(GOOGLEAPIS_PATH) $(PROTOC_ARGS) $(GOOGLEAPIS_PATH)/google/api/*.proto
protoc $(PROTOC_ARGS) /googleapis/google/api/*.proto

View File

@ -1,7 +1,7 @@
import * as grpcWeb from 'grpc-web';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as api_application_pb from '../api/application_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
export class ApplicationServiceClient {
@ -12,329 +12,329 @@ export class ApplicationServiceClient {
create(
request: api_application_pb.CreateApplicationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.CreateApplicationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.CreateApplicationResponse>;
get(
request: api_application_pb.GetApplicationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetApplicationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetApplicationResponse>;
update(
request: api_application_pb.UpdateApplicationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
delete(
request: api_application_pb.DeleteApplicationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
list(
request: api_application_pb.ListApplicationsRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.ListApplicationsResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.ListApplicationsResponse>;
listIntegrations(
request: api_application_pb.ListIntegrationsRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.ListIntegrationsResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.ListIntegrationsResponse>;
createHttpIntegration(
request: api_application_pb.CreateHttpIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getHttpIntegration(
request: api_application_pb.GetHttpIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetHttpIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetHttpIntegrationResponse>;
updateHttpIntegration(
request: api_application_pb.UpdateHttpIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteHttpIntegration(
request: api_application_pb.DeleteHttpIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createInfluxDbIntegration(
request: api_application_pb.CreateInfluxDbIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getInfluxDbIntegration(
request: api_application_pb.GetInfluxDbIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetInfluxDbIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetInfluxDbIntegrationResponse>;
updateInfluxDbIntegration(
request: api_application_pb.UpdateInfluxDbIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteInfluxDbIntegration(
request: api_application_pb.DeleteInfluxDbIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createThingsBoardIntegration(
request: api_application_pb.CreateThingsBoardIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getThingsBoardIntegration(
request: api_application_pb.GetThingsBoardIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetThingsBoardIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetThingsBoardIntegrationResponse>;
updateThingsBoardIntegration(
request: api_application_pb.UpdateThingsBoardIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteThingsBoardIntegration(
request: api_application_pb.DeleteThingsBoardIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createMyDevicesIntegration(
request: api_application_pb.CreateMyDevicesIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getMyDevicesIntegration(
request: api_application_pb.GetMyDevicesIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetMyDevicesIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetMyDevicesIntegrationResponse>;
updateMyDevicesIntegration(
request: api_application_pb.UpdateMyDevicesIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteMyDevicesIntegration(
request: api_application_pb.DeleteMyDevicesIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createLoraCloudIntegration(
request: api_application_pb.CreateLoraCloudIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getLoraCloudIntegration(
request: api_application_pb.GetLoraCloudIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetLoraCloudIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetLoraCloudIntegrationResponse>;
updateLoraCloudIntegration(
request: api_application_pb.UpdateLoraCloudIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteLoraCloudIntegration(
request: api_application_pb.DeleteLoraCloudIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createGcpPubSubIntegration(
request: api_application_pb.CreateGcpPubSubIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getGcpPubSubIntegration(
request: api_application_pb.GetGcpPubSubIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetGcpPubSubIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetGcpPubSubIntegrationResponse>;
updateGcpPubSubIntegration(
request: api_application_pb.UpdateGcpPubSubIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteGcpPubSubIntegration(
request: api_application_pb.DeleteGcpPubSubIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createAwsSnsIntegration(
request: api_application_pb.CreateAwsSnsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getAwsSnsIntegration(
request: api_application_pb.GetAwsSnsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetAwsSnsIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetAwsSnsIntegrationResponse>;
updateAwsSnsIntegration(
request: api_application_pb.UpdateAwsSnsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteAwsSnsIntegration(
request: api_application_pb.DeleteAwsSnsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createAzureServiceBusIntegration(
request: api_application_pb.CreateAzureServiceBusIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getAzureServiceBusIntegration(
request: api_application_pb.GetAzureServiceBusIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetAzureServiceBusIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetAzureServiceBusIntegrationResponse>;
updateAzureServiceBusIntegration(
request: api_application_pb.UpdateAzureServiceBusIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteAzureServiceBusIntegration(
request: api_application_pb.DeleteAzureServiceBusIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createPilotThingsIntegration(
request: api_application_pb.CreatePilotThingsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getPilotThingsIntegration(
request: api_application_pb.GetPilotThingsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetPilotThingsIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetPilotThingsIntegrationResponse>;
updatePilotThingsIntegration(
request: api_application_pb.UpdatePilotThingsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deletePilotThingsIntegration(
request: api_application_pb.DeletePilotThingsIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
createIftttIntegration(
request: api_application_pb.CreateIftttIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getIftttIntegration(
request: api_application_pb.GetIftttIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GetIftttIntegrationResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GetIftttIntegrationResponse>;
updateIftttIntegration(
request: api_application_pb.UpdateIftttIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteIftttIntegration(
request: api_application_pb.DeleteIftttIntegrationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
generateMqttIntegrationClientCertificate(
request: api_application_pb.GenerateMqttIntegrationClientCertificateRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_application_pb.GenerateMqttIntegrationClientCertificateResponse) => void
): grpcWeb.ClientReadableStream<api_application_pb.GenerateMqttIntegrationClientCertificateResponse>;

File diff suppressed because it is too large Load Diff

View File

@ -866,15 +866,17 @@ export class LoraCloudModemGeolocationServices extends jspb.Message {
getModemEnabled(): boolean;
setModemEnabled(value: boolean): LoraCloudModemGeolocationServices;
getModemPort(): number;
setModemPort(value: number): LoraCloudModemGeolocationServices;
getGnssPort(): number;
setGnssPort(value: number): LoraCloudModemGeolocationServices;
getForwardFPortsList(): Array<number>;
setForwardFPortsList(value: Array<number>): LoraCloudModemGeolocationServices;
clearForwardFPortsList(): LoraCloudModemGeolocationServices;
addForwardFPorts(value: number, index?: number): LoraCloudModemGeolocationServices;
getGnssUseRxTime(): boolean;
setGnssUseRxTime(value: boolean): LoraCloudModemGeolocationServices;
getGnssUseGatewayLocation(): boolean;
setGnssUseGatewayLocation(value: boolean): LoraCloudModemGeolocationServices;
getParseTlv(): boolean;
setParseTlv(value: boolean): LoraCloudModemGeolocationServices;
@ -917,9 +919,9 @@ export namespace LoraCloudModemGeolocationServices {
export type AsObject = {
token: string,
modemEnabled: boolean,
modemPort: number,
gnssPort: number,
forwardFPortsList: Array<number>,
gnssUseRxTime: boolean,
gnssUseGatewayLocation: boolean,
parseTlv: boolean,
geolocationBufferTtl: number,
geolocationMinBufferSize: number,
@ -1553,6 +1555,12 @@ export class IftttIntegration extends jspb.Message {
clearUplinkValuesList(): IftttIntegration;
addUplinkValues(value: string, index?: number): IftttIntegration;
getArbitraryJson(): boolean;
setArbitraryJson(value: boolean): IftttIntegration;
getEventPrefix(): string;
setEventPrefix(value: string): IftttIntegration;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): IftttIntegration.AsObject;
static toObject(includeInstance: boolean, msg: IftttIntegration): IftttIntegration.AsObject;
@ -1566,6 +1574,8 @@ export namespace IftttIntegration {
applicationId: string,
key: string,
uplinkValuesList: Array<string>,
arbitraryJson: boolean,
eventPrefix: string,
}
}

View File

@ -2,14 +2,11 @@
/**
* @fileoverview
* @enhanceable
* @suppress {missingRequire} reports error on implicit type usages.
* @suppress {messageConventions} JS Compiler reports an error if a variable or
* field starts with 'MSG_' and isn't a translatable message.
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
@ -910,7 +907,7 @@ if (goog.DEBUG && !COMPILED) {
* @constructor
*/
proto.api.LoraCloudModemGeolocationServices = function(opt_data) {
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
jspb.Message.initialize(this, opt_data, 0, -1, proto.api.LoraCloudModemGeolocationServices.repeatedFields_, null);
};
goog.inherits(proto.api.LoraCloudModemGeolocationServices, jspb.Message);
if (goog.DEBUG && !COMPILED) {
@ -8077,6 +8074,13 @@ proto.api.LoraCloudIntegration.prototype.hasModemGeolocationServices = function(
/**
* List of repeated fields within this message type.
* @private {!Array<number>}
* @const
*/
proto.api.LoraCloudModemGeolocationServices.repeatedFields_ = [16];
if (jspb.Message.GENERATE_TO_OBJECT) {
@ -8110,9 +8114,9 @@ proto.api.LoraCloudModemGeolocationServices.toObject = function(includeInstance,
var f, obj = {
token: jspb.Message.getFieldWithDefault(msg, 1, ""),
modemEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 2, false),
modemPort: jspb.Message.getFieldWithDefault(msg, 3, 0),
gnssPort: jspb.Message.getFieldWithDefault(msg, 4, 0),
forwardFPortsList: (f = jspb.Message.getRepeatedField(msg, 16)) == null ? undefined : f,
gnssUseRxTime: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
gnssUseGatewayLocation: jspb.Message.getBooleanFieldWithDefault(msg, 17, false),
parseTlv: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
geolocationBufferTtl: jspb.Message.getFieldWithDefault(msg, 7, 0),
geolocationMinBufferSize: jspb.Message.getFieldWithDefault(msg, 8, 0),
@ -8167,18 +8171,18 @@ proto.api.LoraCloudModemGeolocationServices.deserializeBinaryFromReader = functi
var value = /** @type {boolean} */ (reader.readBool());
msg.setModemEnabled(value);
break;
case 3:
var value = /** @type {number} */ (reader.readUint32());
msg.setModemPort(value);
break;
case 4:
var value = /** @type {number} */ (reader.readUint32());
msg.setGnssPort(value);
case 16:
var value = /** @type {!Array<number>} */ (reader.readPackedUint32());
msg.setForwardFPortsList(value);
break;
case 5:
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseRxTime(value);
break;
case 17:
var value = /** @type {boolean} */ (reader.readBool());
msg.setGnssUseGatewayLocation(value);
break;
case 6:
var value = /** @type {boolean} */ (reader.readBool());
msg.setParseTlv(value);
@ -8262,17 +8266,10 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
f
);
}
f = message.getModemPort();
if (f !== 0) {
writer.writeUint32(
3,
f
);
}
f = message.getGnssPort();
if (f !== 0) {
writer.writeUint32(
4,
f = message.getForwardFPortsList();
if (f.length > 0) {
writer.writePackedUint32(
16,
f
);
}
@ -8283,6 +8280,13 @@ proto.api.LoraCloudModemGeolocationServices.serializeBinaryToWriter = function(m
f
);
}
f = message.getGnssUseGatewayLocation();
if (f) {
writer.writeBool(
17,
f
);
}
f = message.getParseTlv();
if (f) {
writer.writeBool(
@ -8393,38 +8397,39 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setModemEnabled = function
/**
* optional uint32 modem_port = 3;
* @return {number}
* repeated uint32 forward_f_ports = 16;
* @return {!Array<number>}
*/
proto.api.LoraCloudModemGeolocationServices.prototype.getModemPort = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 3, 0));
proto.api.LoraCloudModemGeolocationServices.prototype.getForwardFPortsList = function() {
return /** @type {!Array<number>} */ (jspb.Message.getRepeatedField(this, 16));
};
/**
* @param {!Array<number>} value
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setForwardFPortsList = function(value) {
return jspb.Message.setField(this, 16, value || []);
};
/**
* @param {number} value
* @param {number=} opt_index
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setModemPort = function(value) {
return jspb.Message.setProto3IntField(this, 3, value);
proto.api.LoraCloudModemGeolocationServices.prototype.addForwardFPorts = function(value, opt_index) {
return jspb.Message.addToRepeatedField(this, 16, value, opt_index);
};
/**
* optional uint32 gnss_port = 4;
* @return {number}
*/
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssPort = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
};
/**
* @param {number} value
* Clears the list making it empty but non-null.
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssPort = function(value) {
return jspb.Message.setProto3IntField(this, 4, value);
proto.api.LoraCloudModemGeolocationServices.prototype.clearForwardFPortsList = function() {
return this.setForwardFPortsList([]);
};
@ -8446,6 +8451,24 @@ proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseRxTime = functio
};
/**
* optional bool gnss_use_gateway_location = 17;
* @return {boolean}
*/
proto.api.LoraCloudModemGeolocationServices.prototype.getGnssUseGatewayLocation = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 17, false));
};
/**
* @param {boolean} value
* @return {!proto.api.LoraCloudModemGeolocationServices} returns this
*/
proto.api.LoraCloudModemGeolocationServices.prototype.setGnssUseGatewayLocation = function(value) {
return jspb.Message.setProto3BooleanField(this, 17, value);
};
/**
* optional bool parse_tlv = 6;
* @return {boolean}
@ -13172,7 +13195,9 @@ proto.api.IftttIntegration.toObject = function(includeInstance, msg) {
var f, obj = {
applicationId: jspb.Message.getFieldWithDefault(msg, 1, ""),
key: jspb.Message.getFieldWithDefault(msg, 2, ""),
uplinkValuesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f
uplinkValuesList: (f = jspb.Message.getRepeatedField(msg, 3)) == null ? undefined : f,
arbitraryJson: jspb.Message.getBooleanFieldWithDefault(msg, 4, false),
eventPrefix: jspb.Message.getFieldWithDefault(msg, 5, "")
};
if (includeInstance) {
@ -13221,6 +13246,14 @@ proto.api.IftttIntegration.deserializeBinaryFromReader = function(msg, reader) {
var value = /** @type {string} */ (reader.readString());
msg.addUplinkValues(value);
break;
case 4:
var value = /** @type {boolean} */ (reader.readBool());
msg.setArbitraryJson(value);
break;
case 5:
var value = /** @type {string} */ (reader.readString());
msg.setEventPrefix(value);
break;
default:
reader.skipField();
break;
@ -13271,6 +13304,20 @@ proto.api.IftttIntegration.serializeBinaryToWriter = function(message, writer) {
f
);
}
f = message.getArbitraryJson();
if (f) {
writer.writeBool(
4,
f
);
}
f = message.getEventPrefix();
if (f.length > 0) {
writer.writeString(
5,
f
);
}
};
@ -13347,6 +13394,42 @@ proto.api.IftttIntegration.prototype.clearUplinkValuesList = function() {
};
/**
* optional bool arbitrary_json = 4;
* @return {boolean}
*/
proto.api.IftttIntegration.prototype.getArbitraryJson = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 4, false));
};
/**
* @param {boolean} value
* @return {!proto.api.IftttIntegration} returns this
*/
proto.api.IftttIntegration.prototype.setArbitraryJson = function(value) {
return jspb.Message.setProto3BooleanField(this, 4, value);
};
/**
* optional string event_prefix = 5;
* @return {string}
*/
proto.api.IftttIntegration.prototype.getEventPrefix = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 5, ""));
};
/**
* @param {string} value
* @return {!proto.api.IftttIntegration} returns this
*/
proto.api.IftttIntegration.prototype.setEventPrefix = function(value) {
return jspb.Message.setProto3StringField(this, 5, value);
};

View File

@ -1,7 +1,7 @@
import * as grpcWeb from 'grpc-web';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as api_device_pb from '../api/device_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
export class DeviceServiceClient {
@ -12,133 +12,133 @@ export class DeviceServiceClient {
create(
request: api_device_pb.CreateDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
get(
request: api_device_pb.GetDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceResponse>;
update(
request: api_device_pb.UpdateDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
delete(
request: api_device_pb.DeleteDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
list(
request: api_device_pb.ListDevicesRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.ListDevicesResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.ListDevicesResponse>;
createKeys(
request: api_device_pb.CreateDeviceKeysRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getKeys(
request: api_device_pb.GetDeviceKeysRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceKeysResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceKeysResponse>;
updateKeys(
request: api_device_pb.UpdateDeviceKeysRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deleteKeys(
request: api_device_pb.DeleteDeviceKeysRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
flushDevNonces(
request: api_device_pb.FlushDevNoncesRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
activate(
request: api_device_pb.ActivateDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
deactivate(
request: api_device_pb.DeactivateDeviceRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getActivation(
request: api_device_pb.GetDeviceActivationRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceActivationResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceActivationResponse>;
getRandomDevAddr(
request: api_device_pb.GetRandomDevAddrRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetRandomDevAddrResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetRandomDevAddrResponse>;
getMetrics(
request: api_device_pb.GetDeviceMetricsRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceMetricsResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceMetricsResponse>;
getLinkMetrics(
request: api_device_pb.GetDeviceLinkMetricsRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceLinkMetricsResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceLinkMetricsResponse>;
enqueue(
request: api_device_pb.EnqueueDeviceQueueItemRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.EnqueueDeviceQueueItemResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.EnqueueDeviceQueueItemResponse>;
flushQueue(
request: api_device_pb.FlushDeviceQueueRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
getQueue(
request: api_device_pb.GetDeviceQueueItemsRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_pb.GetDeviceQueueItemsResponse) => void
): grpcWeb.ClientReadableStream<api_device_pb.GetDeviceQueueItemsResponse>;

View File

@ -4,7 +4,11 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
// Code generated by protoc-gen-grpc-web. DO NOT EDIT.
// versions:
// protoc-gen-grpc-web v1.4.2
// protoc v3.12.4
// source: api/device.proto
/* eslint-disable */
@ -31,7 +35,7 @@ proto.api = require('./device_pb.js');
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -39,7 +43,7 @@ proto.api = require('./device_pb.js');
proto.api.DeviceServiceClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -49,7 +53,7 @@ proto.api.DeviceServiceClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -57,7 +61,7 @@ proto.api.DeviceServiceClient =
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -65,7 +69,7 @@ proto.api.DeviceServiceClient =
proto.api.DeviceServicePromiseClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -75,7 +79,7 @@ proto.api.DeviceServicePromiseClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -102,31 +106,12 @@ const methodDescriptor_DeviceService_Create = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.CreateDeviceRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_Create = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.CreateDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.CreateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -145,7 +130,7 @@ proto.api.DeviceServiceClient.prototype.create =
/**
* @param {!proto.api.CreateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -182,31 +167,12 @@ const methodDescriptor_DeviceService_Get = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceRequest,
* !proto.api.GetDeviceResponse>}
*/
const methodInfo_DeviceService_Get = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceResponse,
/**
* @param {!proto.api.GetDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceResponse>|undefined}
* The XHR Node Readable Stream
@ -225,7 +191,7 @@ proto.api.DeviceServiceClient.prototype.get =
/**
* @param {!proto.api.GetDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceResponse>}
* Promise that resolves to the response
@ -262,31 +228,12 @@ const methodDescriptor_DeviceService_Update = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.UpdateDeviceRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_Update = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.UpdateDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.UpdateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -305,7 +252,7 @@ proto.api.DeviceServiceClient.prototype.update =
/**
* @param {!proto.api.UpdateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -342,31 +289,12 @@ const methodDescriptor_DeviceService_Delete = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.DeleteDeviceRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_Delete = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.DeleteDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.DeleteDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -385,7 +313,7 @@ proto.api.DeviceServiceClient.prototype.delete =
/**
* @param {!proto.api.DeleteDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -422,31 +350,12 @@ const methodDescriptor_DeviceService_List = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.ListDevicesRequest,
* !proto.api.ListDevicesResponse>}
*/
const methodInfo_DeviceService_List = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.ListDevicesResponse,
/**
* @param {!proto.api.ListDevicesRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.ListDevicesResponse.deserializeBinary
);
/**
* @param {!proto.api.ListDevicesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.ListDevicesResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.ListDevicesResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.ListDevicesResponse>|undefined}
* The XHR Node Readable Stream
@ -465,7 +374,7 @@ proto.api.DeviceServiceClient.prototype.list =
/**
* @param {!proto.api.ListDevicesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.ListDevicesResponse>}
* Promise that resolves to the response
@ -502,31 +411,12 @@ const methodDescriptor_DeviceService_CreateKeys = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.CreateDeviceKeysRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_CreateKeys = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.CreateDeviceKeysRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.CreateDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -545,7 +435,7 @@ proto.api.DeviceServiceClient.prototype.createKeys =
/**
* @param {!proto.api.CreateDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -582,31 +472,12 @@ const methodDescriptor_DeviceService_GetKeys = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceKeysRequest,
* !proto.api.GetDeviceKeysResponse>}
*/
const methodInfo_DeviceService_GetKeys = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceKeysResponse,
/**
* @param {!proto.api.GetDeviceKeysRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceKeysResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceKeysResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceKeysResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceKeysResponse>|undefined}
* The XHR Node Readable Stream
@ -625,7 +496,7 @@ proto.api.DeviceServiceClient.prototype.getKeys =
/**
* @param {!proto.api.GetDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceKeysResponse>}
* Promise that resolves to the response
@ -662,31 +533,12 @@ const methodDescriptor_DeviceService_UpdateKeys = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.UpdateDeviceKeysRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_UpdateKeys = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.UpdateDeviceKeysRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.UpdateDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -705,7 +557,7 @@ proto.api.DeviceServiceClient.prototype.updateKeys =
/**
* @param {!proto.api.UpdateDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -742,31 +594,12 @@ const methodDescriptor_DeviceService_DeleteKeys = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.DeleteDeviceKeysRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_DeleteKeys = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.DeleteDeviceKeysRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.DeleteDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -785,7 +618,7 @@ proto.api.DeviceServiceClient.prototype.deleteKeys =
/**
* @param {!proto.api.DeleteDeviceKeysRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -822,31 +655,12 @@ const methodDescriptor_DeviceService_FlushDevNonces = new grpc.web.MethodDescrip
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.FlushDevNoncesRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_FlushDevNonces = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.FlushDevNoncesRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.FlushDevNoncesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -865,7 +679,7 @@ proto.api.DeviceServiceClient.prototype.flushDevNonces =
/**
* @param {!proto.api.FlushDevNoncesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -902,31 +716,12 @@ const methodDescriptor_DeviceService_Activate = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.ActivateDeviceRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_Activate = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.ActivateDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.ActivateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -945,7 +740,7 @@ proto.api.DeviceServiceClient.prototype.activate =
/**
* @param {!proto.api.ActivateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -982,31 +777,12 @@ const methodDescriptor_DeviceService_Deactivate = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.DeactivateDeviceRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_Deactivate = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.DeactivateDeviceRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.DeactivateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -1025,7 +801,7 @@ proto.api.DeviceServiceClient.prototype.deactivate =
/**
* @param {!proto.api.DeactivateDeviceRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -1062,31 +838,12 @@ const methodDescriptor_DeviceService_GetActivation = new grpc.web.MethodDescript
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceActivationRequest,
* !proto.api.GetDeviceActivationResponse>}
*/
const methodInfo_DeviceService_GetActivation = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceActivationResponse,
/**
* @param {!proto.api.GetDeviceActivationRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceActivationResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceActivationRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceActivationResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceActivationResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceActivationResponse>|undefined}
* The XHR Node Readable Stream
@ -1105,7 +862,7 @@ proto.api.DeviceServiceClient.prototype.getActivation =
/**
* @param {!proto.api.GetDeviceActivationRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceActivationResponse>}
* Promise that resolves to the response
@ -1142,31 +899,12 @@ const methodDescriptor_DeviceService_GetRandomDevAddr = new grpc.web.MethodDescr
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetRandomDevAddrRequest,
* !proto.api.GetRandomDevAddrResponse>}
*/
const methodInfo_DeviceService_GetRandomDevAddr = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetRandomDevAddrResponse,
/**
* @param {!proto.api.GetRandomDevAddrRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetRandomDevAddrResponse.deserializeBinary
);
/**
* @param {!proto.api.GetRandomDevAddrRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetRandomDevAddrResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetRandomDevAddrResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetRandomDevAddrResponse>|undefined}
* The XHR Node Readable Stream
@ -1185,7 +923,7 @@ proto.api.DeviceServiceClient.prototype.getRandomDevAddr =
/**
* @param {!proto.api.GetRandomDevAddrRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetRandomDevAddrResponse>}
* Promise that resolves to the response
@ -1222,31 +960,12 @@ const methodDescriptor_DeviceService_GetMetrics = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceMetricsRequest,
* !proto.api.GetDeviceMetricsResponse>}
*/
const methodInfo_DeviceService_GetMetrics = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceMetricsResponse,
/**
* @param {!proto.api.GetDeviceMetricsRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceMetricsResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceMetricsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceMetricsResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceMetricsResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceMetricsResponse>|undefined}
* The XHR Node Readable Stream
@ -1265,7 +984,7 @@ proto.api.DeviceServiceClient.prototype.getMetrics =
/**
* @param {!proto.api.GetDeviceMetricsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceMetricsResponse>}
* Promise that resolves to the response
@ -1302,31 +1021,12 @@ const methodDescriptor_DeviceService_GetLinkMetrics = new grpc.web.MethodDescrip
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceLinkMetricsRequest,
* !proto.api.GetDeviceLinkMetricsResponse>}
*/
const methodInfo_DeviceService_GetLinkMetrics = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceLinkMetricsResponse,
/**
* @param {!proto.api.GetDeviceLinkMetricsRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceLinkMetricsResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceLinkMetricsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceLinkMetricsResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceLinkMetricsResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceLinkMetricsResponse>|undefined}
* The XHR Node Readable Stream
@ -1345,7 +1045,7 @@ proto.api.DeviceServiceClient.prototype.getLinkMetrics =
/**
* @param {!proto.api.GetDeviceLinkMetricsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceLinkMetricsResponse>}
* Promise that resolves to the response
@ -1382,31 +1082,12 @@ const methodDescriptor_DeviceService_Enqueue = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.EnqueueDeviceQueueItemRequest,
* !proto.api.EnqueueDeviceQueueItemResponse>}
*/
const methodInfo_DeviceService_Enqueue = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.EnqueueDeviceQueueItemResponse,
/**
* @param {!proto.api.EnqueueDeviceQueueItemRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.EnqueueDeviceQueueItemResponse.deserializeBinary
);
/**
* @param {!proto.api.EnqueueDeviceQueueItemRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.EnqueueDeviceQueueItemResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.EnqueueDeviceQueueItemResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.EnqueueDeviceQueueItemResponse>|undefined}
* The XHR Node Readable Stream
@ -1425,7 +1106,7 @@ proto.api.DeviceServiceClient.prototype.enqueue =
/**
* @param {!proto.api.EnqueueDeviceQueueItemRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.EnqueueDeviceQueueItemResponse>}
* Promise that resolves to the response
@ -1462,31 +1143,12 @@ const methodDescriptor_DeviceService_FlushQueue = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.FlushDeviceQueueRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceService_FlushQueue = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.FlushDeviceQueueRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.FlushDeviceQueueRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -1505,7 +1167,7 @@ proto.api.DeviceServiceClient.prototype.flushQueue =
/**
* @param {!proto.api.FlushDeviceQueueRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -1542,31 +1204,12 @@ const methodDescriptor_DeviceService_GetQueue = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceQueueItemsRequest,
* !proto.api.GetDeviceQueueItemsResponse>}
*/
const methodInfo_DeviceService_GetQueue = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceQueueItemsResponse,
/**
* @param {!proto.api.GetDeviceQueueItemsRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceQueueItemsResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceQueueItemsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceQueueItemsResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceQueueItemsResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceQueueItemsResponse>|undefined}
* The XHR Node Readable Stream
@ -1585,7 +1228,7 @@ proto.api.DeviceServiceClient.prototype.getQueue =
/**
* @param {!proto.api.GetDeviceQueueItemsRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceQueueItemsResponse>}
* Promise that resolves to the response

View File

@ -35,6 +35,9 @@ export class Device extends jspb.Message {
getTagsMap(): jspb.Map<string, string>;
clearTagsMap(): Device;
getJoinEui(): string;
setJoinEui(value: string): Device;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): Device.AsObject;
static toObject(includeInstance: boolean, msg: Device): Device.AsObject;
@ -54,6 +57,7 @@ export namespace Device {
isDisabled: boolean,
variablesMap: Array<[string, string]>,
tagsMap: Array<[string, string]>,
joinEui: string,
}
}
@ -231,6 +235,9 @@ export class GetDeviceResponse extends jspb.Message {
hasDeviceStatus(): boolean;
clearDeviceStatus(): GetDeviceResponse;
getClassEnabled(): common_common_pb.DeviceClass;
setClassEnabled(value: common_common_pb.DeviceClass): GetDeviceResponse;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): GetDeviceResponse.AsObject;
static toObject(includeInstance: boolean, msg: GetDeviceResponse): GetDeviceResponse.AsObject;
@ -246,6 +253,7 @@ export namespace GetDeviceResponse {
updatedAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
lastSeenAt?: google_protobuf_timestamp_pb.Timestamp.AsObject,
deviceStatus?: DeviceStatus.AsObject,
classEnabled: common_common_pb.DeviceClass,
}
}

View File

@ -2,14 +2,11 @@
/**
* @fileoverview
* @enhanceable
* @suppress {missingRequire} reports error on implicit type usages.
* @suppress {messageConventions} JS Compiler reports an error if a variable or
* field starts with 'MSG_' and isn't a translatable message.
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
@ -835,7 +832,8 @@ proto.api.Device.toObject = function(includeInstance, msg) {
skipFcntCheck: jspb.Message.getBooleanFieldWithDefault(msg, 6, false),
isDisabled: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),
variablesMap: (f = msg.getVariablesMap()) ? f.toObject(includeInstance, undefined) : [],
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : []
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
joinEui: jspb.Message.getFieldWithDefault(msg, 10, "")
};
if (includeInstance) {
@ -912,6 +910,10 @@ proto.api.Device.deserializeBinaryFromReader = function(msg, reader) {
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
});
break;
case 10:
var value = /** @type {string} */ (reader.readString());
msg.setJoinEui(value);
break;
default:
reader.skipField();
break;
@ -998,6 +1000,13 @@ proto.api.Device.serializeBinaryToWriter = function(message, writer) {
if (f && f.getLength() > 0) {
f.serializeBinary(9, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
}
f = message.getJoinEui();
if (f.length > 0) {
writer.writeString(
10,
f
);
}
};
@ -1171,6 +1180,24 @@ proto.api.Device.prototype.clearTagsMap = function() {
return this;};
/**
* optional string join_eui = 10;
* @return {string}
*/
proto.api.Device.prototype.getJoinEui = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 10, ""));
};
/**
* @param {string} value
* @return {!proto.api.Device} returns this
*/
proto.api.Device.prototype.setJoinEui = function(value) {
return jspb.Message.setProto3StringField(this, 10, value);
};
@ -2322,7 +2349,8 @@ proto.api.GetDeviceResponse.toObject = function(includeInstance, msg) {
createdAt: (f = msg.getCreatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
updatedAt: (f = msg.getUpdatedAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
lastSeenAt: (f = msg.getLastSeenAt()) && google_protobuf_timestamp_pb.Timestamp.toObject(includeInstance, f),
deviceStatus: (f = msg.getDeviceStatus()) && proto.api.DeviceStatus.toObject(includeInstance, f)
deviceStatus: (f = msg.getDeviceStatus()) && proto.api.DeviceStatus.toObject(includeInstance, f),
classEnabled: jspb.Message.getFieldWithDefault(msg, 6, 0)
};
if (includeInstance) {
@ -2384,6 +2412,10 @@ proto.api.GetDeviceResponse.deserializeBinaryFromReader = function(msg, reader)
reader.readMessage(value,proto.api.DeviceStatus.deserializeBinaryFromReader);
msg.setDeviceStatus(value);
break;
case 6:
var value = /** @type {!proto.common.DeviceClass} */ (reader.readEnum());
msg.setClassEnabled(value);
break;
default:
reader.skipField();
break;
@ -2453,6 +2485,13 @@ proto.api.GetDeviceResponse.serializeBinaryToWriter = function(message, writer)
proto.api.DeviceStatus.serializeBinaryToWriter
);
}
f = message.getClassEnabled();
if (f !== 0.0) {
writer.writeEnum(
6,
f
);
}
};
@ -2641,6 +2680,24 @@ proto.api.GetDeviceResponse.prototype.hasDeviceStatus = function() {
};
/**
* optional common.DeviceClass class_enabled = 6;
* @return {!proto.common.DeviceClass}
*/
proto.api.GetDeviceResponse.prototype.getClassEnabled = function() {
return /** @type {!proto.common.DeviceClass} */ (jspb.Message.getFieldWithDefault(this, 6, 0));
};
/**
* @param {!proto.common.DeviceClass} value
* @return {!proto.api.GetDeviceResponse} returns this
*/
proto.api.GetDeviceResponse.prototype.setClassEnabled = function(value) {
return jspb.Message.setProto3EnumField(this, 6, value);
};

View File

@ -1,7 +1,7 @@
import * as grpcWeb from 'grpc-web';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as api_device_profile_pb from '../api/device_profile_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
export class DeviceProfileServiceClient {
@ -12,42 +12,42 @@ export class DeviceProfileServiceClient {
create(
request: api_device_profile_pb.CreateDeviceProfileRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_pb.CreateDeviceProfileResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_pb.CreateDeviceProfileResponse>;
get(
request: api_device_profile_pb.GetDeviceProfileRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_pb.GetDeviceProfileResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_pb.GetDeviceProfileResponse>;
update(
request: api_device_profile_pb.UpdateDeviceProfileRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
delete(
request: api_device_profile_pb.DeleteDeviceProfileRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
list(
request: api_device_profile_pb.ListDeviceProfilesRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_pb.ListDeviceProfilesResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_pb.ListDeviceProfilesResponse>;
listAdrAlgorithms(
request: google_protobuf_empty_pb.Empty,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_pb.ListDeviceProfileAdrAlgorithmsResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_pb.ListDeviceProfileAdrAlgorithmsResponse>;

View File

@ -4,7 +4,11 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
// Code generated by protoc-gen-grpc-web. DO NOT EDIT.
// versions:
// protoc-gen-grpc-web v1.4.2
// protoc v3.12.4
// source: api/device_profile.proto
/* eslint-disable */
@ -29,7 +33,7 @@ proto.api = require('./device_profile_pb.js');
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -37,7 +41,7 @@ proto.api = require('./device_profile_pb.js');
proto.api.DeviceProfileServiceClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -47,7 +51,7 @@ proto.api.DeviceProfileServiceClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -55,7 +59,7 @@ proto.api.DeviceProfileServiceClient =
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -63,7 +67,7 @@ proto.api.DeviceProfileServiceClient =
proto.api.DeviceProfileServicePromiseClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -73,7 +77,7 @@ proto.api.DeviceProfileServicePromiseClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -100,31 +104,12 @@ const methodDescriptor_DeviceProfileService_Create = new grpc.web.MethodDescript
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.CreateDeviceProfileRequest,
* !proto.api.CreateDeviceProfileResponse>}
*/
const methodInfo_DeviceProfileService_Create = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.CreateDeviceProfileResponse,
/**
* @param {!proto.api.CreateDeviceProfileRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.CreateDeviceProfileResponse.deserializeBinary
);
/**
* @param {!proto.api.CreateDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.CreateDeviceProfileResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.CreateDeviceProfileResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.CreateDeviceProfileResponse>|undefined}
* The XHR Node Readable Stream
@ -143,7 +128,7 @@ proto.api.DeviceProfileServiceClient.prototype.create =
/**
* @param {!proto.api.CreateDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.CreateDeviceProfileResponse>}
* Promise that resolves to the response
@ -180,31 +165,12 @@ const methodDescriptor_DeviceProfileService_Get = new grpc.web.MethodDescriptor(
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceProfileRequest,
* !proto.api.GetDeviceProfileResponse>}
*/
const methodInfo_DeviceProfileService_Get = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceProfileResponse,
/**
* @param {!proto.api.GetDeviceProfileRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceProfileResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceProfileResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceProfileResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceProfileResponse>|undefined}
* The XHR Node Readable Stream
@ -223,7 +189,7 @@ proto.api.DeviceProfileServiceClient.prototype.get =
/**
* @param {!proto.api.GetDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceProfileResponse>}
* Promise that resolves to the response
@ -260,31 +226,12 @@ const methodDescriptor_DeviceProfileService_Update = new grpc.web.MethodDescript
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.UpdateDeviceProfileRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceProfileService_Update = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.UpdateDeviceProfileRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.UpdateDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -303,7 +250,7 @@ proto.api.DeviceProfileServiceClient.prototype.update =
/**
* @param {!proto.api.UpdateDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -340,31 +287,12 @@ const methodDescriptor_DeviceProfileService_Delete = new grpc.web.MethodDescript
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.DeleteDeviceProfileRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceProfileService_Delete = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.DeleteDeviceProfileRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.DeleteDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -383,7 +311,7 @@ proto.api.DeviceProfileServiceClient.prototype.delete =
/**
* @param {!proto.api.DeleteDeviceProfileRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -420,31 +348,12 @@ const methodDescriptor_DeviceProfileService_List = new grpc.web.MethodDescriptor
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.ListDeviceProfilesRequest,
* !proto.api.ListDeviceProfilesResponse>}
*/
const methodInfo_DeviceProfileService_List = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.ListDeviceProfilesResponse,
/**
* @param {!proto.api.ListDeviceProfilesRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.ListDeviceProfilesResponse.deserializeBinary
);
/**
* @param {!proto.api.ListDeviceProfilesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.ListDeviceProfilesResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.ListDeviceProfilesResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.ListDeviceProfilesResponse>|undefined}
* The XHR Node Readable Stream
@ -463,7 +372,7 @@ proto.api.DeviceProfileServiceClient.prototype.list =
/**
* @param {!proto.api.ListDeviceProfilesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.ListDeviceProfilesResponse>}
* Promise that resolves to the response
@ -500,31 +409,12 @@ const methodDescriptor_DeviceProfileService_ListAdrAlgorithms = new grpc.web.Met
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.google.protobuf.Empty,
* !proto.api.ListDeviceProfileAdrAlgorithmsResponse>}
*/
const methodInfo_DeviceProfileService_ListAdrAlgorithms = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.ListDeviceProfileAdrAlgorithmsResponse,
/**
* @param {!proto.google.protobuf.Empty} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.ListDeviceProfileAdrAlgorithmsResponse.deserializeBinary
);
/**
* @param {!proto.google.protobuf.Empty} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.ListDeviceProfileAdrAlgorithmsResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.ListDeviceProfileAdrAlgorithmsResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.ListDeviceProfileAdrAlgorithmsResponse>|undefined}
* The XHR Node Readable Stream
@ -543,7 +433,7 @@ proto.api.DeviceProfileServiceClient.prototype.listAdrAlgorithms =
/**
* @param {!proto.google.protobuf.Empty} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.ListDeviceProfileAdrAlgorithmsResponse>}
* Promise that resolves to the response

View File

@ -58,8 +58,8 @@ export class DeviceProfile extends jspb.Message {
getClassBTimeout(): number;
setClassBTimeout(value: number): DeviceProfile;
getClassBPingSlotPeriod(): number;
setClassBPingSlotPeriod(value: number): DeviceProfile;
getClassBPingSlotNbK(): number;
setClassBPingSlotNbK(value: number): DeviceProfile;
getClassBPingSlotDr(): number;
setClassBPingSlotDr(value: number): DeviceProfile;
@ -88,6 +88,78 @@ export class DeviceProfile extends jspb.Message {
getMeasurementsMap(): jspb.Map<string, Measurement>;
clearMeasurementsMap(): DeviceProfile;
getAutoDetectMeasurements(): boolean;
setAutoDetectMeasurements(value: boolean): DeviceProfile;
getRegionConfigId(): string;
setRegionConfigId(value: string): DeviceProfile;
getIsRelay(): boolean;
setIsRelay(value: boolean): DeviceProfile;
getIsRelayEd(): boolean;
setIsRelayEd(value: boolean): DeviceProfile;
getRelayEdRelayOnly(): boolean;
setRelayEdRelayOnly(value: boolean): DeviceProfile;
getRelayEnabled(): boolean;
setRelayEnabled(value: boolean): DeviceProfile;
getRelayCadPeriodicity(): CadPeriodicity;
setRelayCadPeriodicity(value: CadPeriodicity): DeviceProfile;
getRelayDefaultChannelIndex(): number;
setRelayDefaultChannelIndex(value: number): DeviceProfile;
getRelaySecondChannelFreq(): number;
setRelaySecondChannelFreq(value: number): DeviceProfile;
getRelaySecondChannelDr(): number;
setRelaySecondChannelDr(value: number): DeviceProfile;
getRelaySecondChannelAckOffset(): SecondChAckOffset;
setRelaySecondChannelAckOffset(value: SecondChAckOffset): DeviceProfile;
getRelayEdActivationMode(): RelayModeActivation;
setRelayEdActivationMode(value: RelayModeActivation): DeviceProfile;
getRelayEdSmartEnableLevel(): number;
setRelayEdSmartEnableLevel(value: number): DeviceProfile;
getRelayEdBackOff(): number;
setRelayEdBackOff(value: number): DeviceProfile;
getRelayEdUplinkLimitBucketSize(): number;
setRelayEdUplinkLimitBucketSize(value: number): DeviceProfile;
getRelayEdUplinkLimitReloadRate(): number;
setRelayEdUplinkLimitReloadRate(value: number): DeviceProfile;
getRelayJoinReqLimitReloadRate(): number;
setRelayJoinReqLimitReloadRate(value: number): DeviceProfile;
getRelayNotifyLimitReloadRate(): number;
setRelayNotifyLimitReloadRate(value: number): DeviceProfile;
getRelayGlobalUplinkLimitReloadRate(): number;
setRelayGlobalUplinkLimitReloadRate(value: number): DeviceProfile;
getRelayOverallLimitReloadRate(): number;
setRelayOverallLimitReloadRate(value: number): DeviceProfile;
getRelayJoinReqLimitBucketSize(): number;
setRelayJoinReqLimitBucketSize(value: number): DeviceProfile;
getRelayNotifyLimitBucketSize(): number;
setRelayNotifyLimitBucketSize(value: number): DeviceProfile;
getRelayGlobalUplinkLimitBucketSize(): number;
setRelayGlobalUplinkLimitBucketSize(value: number): DeviceProfile;
getRelayOverallLimitBucketSize(): number;
setRelayOverallLimitBucketSize(value: number): DeviceProfile;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): DeviceProfile.AsObject;
static toObject(includeInstance: boolean, msg: DeviceProfile): DeviceProfile.AsObject;
@ -115,7 +187,7 @@ export namespace DeviceProfile {
supportsClassB: boolean,
supportsClassC: boolean,
classBTimeout: number,
classBPingSlotPeriod: number,
classBPingSlotNbK: number,
classBPingSlotDr: number,
classBPingSlotFreq: number,
classCTimeout: number,
@ -125,6 +197,30 @@ export namespace DeviceProfile {
abpRx2Freq: number,
tagsMap: Array<[string, string]>,
measurementsMap: Array<[string, Measurement.AsObject]>,
autoDetectMeasurements: boolean,
regionConfigId: string,
isRelay: boolean,
isRelayEd: boolean,
relayEdRelayOnly: boolean,
relayEnabled: boolean,
relayCadPeriodicity: CadPeriodicity,
relayDefaultChannelIndex: number,
relaySecondChannelFreq: number,
relaySecondChannelDr: number,
relaySecondChannelAckOffset: SecondChAckOffset,
relayEdActivationMode: RelayModeActivation,
relayEdSmartEnableLevel: number,
relayEdBackOff: number,
relayEdUplinkLimitBucketSize: number,
relayEdUplinkLimitReloadRate: number,
relayJoinReqLimitReloadRate: number,
relayNotifyLimitReloadRate: number,
relayGlobalUplinkLimitReloadRate: number,
relayOverallLimitReloadRate: number,
relayJoinReqLimitBucketSize: number,
relayNotifyLimitBucketSize: number,
relayGlobalUplinkLimitBucketSize: number,
relayOverallLimitBucketSize: number,
}
}
@ -446,3 +542,25 @@ export enum MeasurementKind {
GAUGE = 3,
STRING = 4,
}
export enum CadPeriodicity {
SEC_1 = 0,
MS_500 = 1,
MS_250 = 2,
MS_100 = 3,
MS_50 = 4,
MS_20 = 5,
}
export enum SecondChAckOffset {
KHZ_0 = 0,
KHZ_200 = 1,
KHZ_400 = 2,
KHZ_800 = 3,
KHZ_1600 = 4,
KHZ_3200 = 5,
}
export enum RelayModeActivation {
DISABLE_RELAY_MODE = 0,
ENABLE_RELAY_MODE = 1,
DYNAMIC = 2,
END_DEVICE_CONTROLLED = 3,
}

View File

@ -2,14 +2,11 @@
/**
* @fileoverview
* @enhanceable
* @suppress {missingRequire} reports error on implicit type usages.
* @suppress {messageConventions} JS Compiler reports an error if a variable or
* field starts with 'MSG_' and isn't a translatable message.
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
/* eslint-disable */
// @ts-nocheck
var jspb = require('google-protobuf');
var goog = jspb;
@ -24,6 +21,7 @@ goog.object.extend(proto, google_protobuf_empty_pb);
var common_common_pb = require('../common/common_pb.js');
goog.object.extend(proto, common_common_pb);
goog.exportSymbol('proto.api.AdrAlgorithmListItem', null, global);
goog.exportSymbol('proto.api.CadPeriodicity', null, global);
goog.exportSymbol('proto.api.CodecRuntime', null, global);
goog.exportSymbol('proto.api.CreateDeviceProfileRequest', null, global);
goog.exportSymbol('proto.api.CreateDeviceProfileResponse', null, global);
@ -37,6 +35,8 @@ goog.exportSymbol('proto.api.ListDeviceProfilesRequest', null, global);
goog.exportSymbol('proto.api.ListDeviceProfilesResponse', null, global);
goog.exportSymbol('proto.api.Measurement', null, global);
goog.exportSymbol('proto.api.MeasurementKind', null, global);
goog.exportSymbol('proto.api.RelayModeActivation', null, global);
goog.exportSymbol('proto.api.SecondChAckOffset', null, global);
goog.exportSymbol('proto.api.UpdateDeviceProfileRequest', null, global);
/**
* Generated by JsPbCodeGenerator.
@ -360,7 +360,7 @@ proto.api.DeviceProfile.toObject = function(includeInstance, msg) {
supportsClassB: jspb.Message.getBooleanFieldWithDefault(msg, 14, false),
supportsClassC: jspb.Message.getBooleanFieldWithDefault(msg, 15, false),
classBTimeout: jspb.Message.getFieldWithDefault(msg, 16, 0),
classBPingSlotPeriod: jspb.Message.getFieldWithDefault(msg, 17, 0),
classBPingSlotNbK: jspb.Message.getFieldWithDefault(msg, 17, 0),
classBPingSlotDr: jspb.Message.getFieldWithDefault(msg, 18, 0),
classBPingSlotFreq: jspb.Message.getFieldWithDefault(msg, 19, 0),
classCTimeout: jspb.Message.getFieldWithDefault(msg, 20, 0),
@ -369,7 +369,31 @@ proto.api.DeviceProfile.toObject = function(includeInstance, msg) {
abpRx2Dr: jspb.Message.getFieldWithDefault(msg, 23, 0),
abpRx2Freq: jspb.Message.getFieldWithDefault(msg, 24, 0),
tagsMap: (f = msg.getTagsMap()) ? f.toObject(includeInstance, undefined) : [],
measurementsMap: (f = msg.getMeasurementsMap()) ? f.toObject(includeInstance, proto.api.Measurement.toObject) : []
measurementsMap: (f = msg.getMeasurementsMap()) ? f.toObject(includeInstance, proto.api.Measurement.toObject) : [],
autoDetectMeasurements: jspb.Message.getBooleanFieldWithDefault(msg, 28, false),
regionConfigId: jspb.Message.getFieldWithDefault(msg, 29, ""),
isRelay: jspb.Message.getBooleanFieldWithDefault(msg, 30, false),
isRelayEd: jspb.Message.getBooleanFieldWithDefault(msg, 31, false),
relayEdRelayOnly: jspb.Message.getBooleanFieldWithDefault(msg, 32, false),
relayEnabled: jspb.Message.getBooleanFieldWithDefault(msg, 33, false),
relayCadPeriodicity: jspb.Message.getFieldWithDefault(msg, 34, 0),
relayDefaultChannelIndex: jspb.Message.getFieldWithDefault(msg, 35, 0),
relaySecondChannelFreq: jspb.Message.getFieldWithDefault(msg, 36, 0),
relaySecondChannelDr: jspb.Message.getFieldWithDefault(msg, 37, 0),
relaySecondChannelAckOffset: jspb.Message.getFieldWithDefault(msg, 38, 0),
relayEdActivationMode: jspb.Message.getFieldWithDefault(msg, 39, 0),
relayEdSmartEnableLevel: jspb.Message.getFieldWithDefault(msg, 40, 0),
relayEdBackOff: jspb.Message.getFieldWithDefault(msg, 41, 0),
relayEdUplinkLimitBucketSize: jspb.Message.getFieldWithDefault(msg, 42, 0),
relayEdUplinkLimitReloadRate: jspb.Message.getFieldWithDefault(msg, 43, 0),
relayJoinReqLimitReloadRate: jspb.Message.getFieldWithDefault(msg, 44, 0),
relayNotifyLimitReloadRate: jspb.Message.getFieldWithDefault(msg, 45, 0),
relayGlobalUplinkLimitReloadRate: jspb.Message.getFieldWithDefault(msg, 46, 0),
relayOverallLimitReloadRate: jspb.Message.getFieldWithDefault(msg, 47, 0),
relayJoinReqLimitBucketSize: jspb.Message.getFieldWithDefault(msg, 48, 0),
relayNotifyLimitBucketSize: jspb.Message.getFieldWithDefault(msg, 49, 0),
relayGlobalUplinkLimitBucketSize: jspb.Message.getFieldWithDefault(msg, 50, 0),
relayOverallLimitBucketSize: jspb.Message.getFieldWithDefault(msg, 51, 0)
};
if (includeInstance) {
@ -476,7 +500,7 @@ proto.api.DeviceProfile.deserializeBinaryFromReader = function(msg, reader) {
break;
case 17:
var value = /** @type {number} */ (reader.readUint32());
msg.setClassBPingSlotPeriod(value);
msg.setClassBPingSlotNbK(value);
break;
case 18:
var value = /** @type {number} */ (reader.readUint32());
@ -518,6 +542,102 @@ proto.api.DeviceProfile.deserializeBinaryFromReader = function(msg, reader) {
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readMessage, proto.api.Measurement.deserializeBinaryFromReader, "", new proto.api.Measurement());
});
break;
case 28:
var value = /** @type {boolean} */ (reader.readBool());
msg.setAutoDetectMeasurements(value);
break;
case 29:
var value = /** @type {string} */ (reader.readString());
msg.setRegionConfigId(value);
break;
case 30:
var value = /** @type {boolean} */ (reader.readBool());
msg.setIsRelay(value);
break;
case 31:
var value = /** @type {boolean} */ (reader.readBool());
msg.setIsRelayEd(value);
break;
case 32:
var value = /** @type {boolean} */ (reader.readBool());
msg.setRelayEdRelayOnly(value);
break;
case 33:
var value = /** @type {boolean} */ (reader.readBool());
msg.setRelayEnabled(value);
break;
case 34:
var value = /** @type {!proto.api.CadPeriodicity} */ (reader.readEnum());
msg.setRelayCadPeriodicity(value);
break;
case 35:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayDefaultChannelIndex(value);
break;
case 36:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelaySecondChannelFreq(value);
break;
case 37:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelaySecondChannelDr(value);
break;
case 38:
var value = /** @type {!proto.api.SecondChAckOffset} */ (reader.readEnum());
msg.setRelaySecondChannelAckOffset(value);
break;
case 39:
var value = /** @type {!proto.api.RelayModeActivation} */ (reader.readEnum());
msg.setRelayEdActivationMode(value);
break;
case 40:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayEdSmartEnableLevel(value);
break;
case 41:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayEdBackOff(value);
break;
case 42:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayEdUplinkLimitBucketSize(value);
break;
case 43:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayEdUplinkLimitReloadRate(value);
break;
case 44:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayJoinReqLimitReloadRate(value);
break;
case 45:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayNotifyLimitReloadRate(value);
break;
case 46:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayGlobalUplinkLimitReloadRate(value);
break;
case 47:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayOverallLimitReloadRate(value);
break;
case 48:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayJoinReqLimitBucketSize(value);
break;
case 49:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayNotifyLimitBucketSize(value);
break;
case 50:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayGlobalUplinkLimitBucketSize(value);
break;
case 51:
var value = /** @type {number} */ (reader.readUint32());
msg.setRelayOverallLimitBucketSize(value);
break;
default:
reader.skipField();
break;
@ -666,7 +786,7 @@ proto.api.DeviceProfile.serializeBinaryToWriter = function(message, writer) {
f
);
}
f = message.getClassBPingSlotPeriod();
f = message.getClassBPingSlotNbK();
if (f !== 0) {
writer.writeUint32(
17,
@ -730,6 +850,174 @@ proto.api.DeviceProfile.serializeBinaryToWriter = function(message, writer) {
if (f && f.getLength() > 0) {
f.serializeBinary(27, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeMessage, proto.api.Measurement.serializeBinaryToWriter);
}
f = message.getAutoDetectMeasurements();
if (f) {
writer.writeBool(
28,
f
);
}
f = message.getRegionConfigId();
if (f.length > 0) {
writer.writeString(
29,
f
);
}
f = message.getIsRelay();
if (f) {
writer.writeBool(
30,
f
);
}
f = message.getIsRelayEd();
if (f) {
writer.writeBool(
31,
f
);
}
f = message.getRelayEdRelayOnly();
if (f) {
writer.writeBool(
32,
f
);
}
f = message.getRelayEnabled();
if (f) {
writer.writeBool(
33,
f
);
}
f = message.getRelayCadPeriodicity();
if (f !== 0.0) {
writer.writeEnum(
34,
f
);
}
f = message.getRelayDefaultChannelIndex();
if (f !== 0) {
writer.writeUint32(
35,
f
);
}
f = message.getRelaySecondChannelFreq();
if (f !== 0) {
writer.writeUint32(
36,
f
);
}
f = message.getRelaySecondChannelDr();
if (f !== 0) {
writer.writeUint32(
37,
f
);
}
f = message.getRelaySecondChannelAckOffset();
if (f !== 0.0) {
writer.writeEnum(
38,
f
);
}
f = message.getRelayEdActivationMode();
if (f !== 0.0) {
writer.writeEnum(
39,
f
);
}
f = message.getRelayEdSmartEnableLevel();
if (f !== 0) {
writer.writeUint32(
40,
f
);
}
f = message.getRelayEdBackOff();
if (f !== 0) {
writer.writeUint32(
41,
f
);
}
f = message.getRelayEdUplinkLimitBucketSize();
if (f !== 0) {
writer.writeUint32(
42,
f
);
}
f = message.getRelayEdUplinkLimitReloadRate();
if (f !== 0) {
writer.writeUint32(
43,
f
);
}
f = message.getRelayJoinReqLimitReloadRate();
if (f !== 0) {
writer.writeUint32(
44,
f
);
}
f = message.getRelayNotifyLimitReloadRate();
if (f !== 0) {
writer.writeUint32(
45,
f
);
}
f = message.getRelayGlobalUplinkLimitReloadRate();
if (f !== 0) {
writer.writeUint32(
46,
f
);
}
f = message.getRelayOverallLimitReloadRate();
if (f !== 0) {
writer.writeUint32(
47,
f
);
}
f = message.getRelayJoinReqLimitBucketSize();
if (f !== 0) {
writer.writeUint32(
48,
f
);
}
f = message.getRelayNotifyLimitBucketSize();
if (f !== 0) {
writer.writeUint32(
49,
f
);
}
f = message.getRelayGlobalUplinkLimitBucketSize();
if (f !== 0) {
writer.writeUint32(
50,
f
);
}
f = message.getRelayOverallLimitBucketSize();
if (f !== 0) {
writer.writeUint32(
51,
f
);
}
};
@ -1040,10 +1328,10 @@ proto.api.DeviceProfile.prototype.setClassBTimeout = function(value) {
/**
* optional uint32 class_b_ping_slot_period = 17;
* optional uint32 class_b_ping_slot_nb_k = 17;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getClassBPingSlotPeriod = function() {
proto.api.DeviceProfile.prototype.getClassBPingSlotNbK = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 17, 0));
};
@ -1052,7 +1340,7 @@ proto.api.DeviceProfile.prototype.getClassBPingSlotPeriod = function() {
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setClassBPingSlotPeriod = function(value) {
proto.api.DeviceProfile.prototype.setClassBPingSlotNbK = function(value) {
return jspb.Message.setProto3IntField(this, 17, value);
};
@ -1227,6 +1515,438 @@ proto.api.DeviceProfile.prototype.clearMeasurementsMap = function() {
return this;};
/**
* optional bool auto_detect_measurements = 28;
* @return {boolean}
*/
proto.api.DeviceProfile.prototype.getAutoDetectMeasurements = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 28, false));
};
/**
* @param {boolean} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setAutoDetectMeasurements = function(value) {
return jspb.Message.setProto3BooleanField(this, 28, value);
};
/**
* optional string region_config_id = 29;
* @return {string}
*/
proto.api.DeviceProfile.prototype.getRegionConfigId = function() {
return /** @type {string} */ (jspb.Message.getFieldWithDefault(this, 29, ""));
};
/**
* @param {string} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRegionConfigId = function(value) {
return jspb.Message.setProto3StringField(this, 29, value);
};
/**
* optional bool is_relay = 30;
* @return {boolean}
*/
proto.api.DeviceProfile.prototype.getIsRelay = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 30, false));
};
/**
* @param {boolean} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setIsRelay = function(value) {
return jspb.Message.setProto3BooleanField(this, 30, value);
};
/**
* optional bool is_relay_ed = 31;
* @return {boolean}
*/
proto.api.DeviceProfile.prototype.getIsRelayEd = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 31, false));
};
/**
* @param {boolean} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setIsRelayEd = function(value) {
return jspb.Message.setProto3BooleanField(this, 31, value);
};
/**
* optional bool relay_ed_relay_only = 32;
* @return {boolean}
*/
proto.api.DeviceProfile.prototype.getRelayEdRelayOnly = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 32, false));
};
/**
* @param {boolean} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdRelayOnly = function(value) {
return jspb.Message.setProto3BooleanField(this, 32, value);
};
/**
* optional bool relay_enabled = 33;
* @return {boolean}
*/
proto.api.DeviceProfile.prototype.getRelayEnabled = function() {
return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 33, false));
};
/**
* @param {boolean} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEnabled = function(value) {
return jspb.Message.setProto3BooleanField(this, 33, value);
};
/**
* optional CadPeriodicity relay_cad_periodicity = 34;
* @return {!proto.api.CadPeriodicity}
*/
proto.api.DeviceProfile.prototype.getRelayCadPeriodicity = function() {
return /** @type {!proto.api.CadPeriodicity} */ (jspb.Message.getFieldWithDefault(this, 34, 0));
};
/**
* @param {!proto.api.CadPeriodicity} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayCadPeriodicity = function(value) {
return jspb.Message.setProto3EnumField(this, 34, value);
};
/**
* optional uint32 relay_default_channel_index = 35;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayDefaultChannelIndex = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 35, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayDefaultChannelIndex = function(value) {
return jspb.Message.setProto3IntField(this, 35, value);
};
/**
* optional uint32 relay_second_channel_freq = 36;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelaySecondChannelFreq = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 36, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelaySecondChannelFreq = function(value) {
return jspb.Message.setProto3IntField(this, 36, value);
};
/**
* optional uint32 relay_second_channel_dr = 37;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelaySecondChannelDr = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 37, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelaySecondChannelDr = function(value) {
return jspb.Message.setProto3IntField(this, 37, value);
};
/**
* optional SecondChAckOffset relay_second_channel_ack_offset = 38;
* @return {!proto.api.SecondChAckOffset}
*/
proto.api.DeviceProfile.prototype.getRelaySecondChannelAckOffset = function() {
return /** @type {!proto.api.SecondChAckOffset} */ (jspb.Message.getFieldWithDefault(this, 38, 0));
};
/**
* @param {!proto.api.SecondChAckOffset} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelaySecondChannelAckOffset = function(value) {
return jspb.Message.setProto3EnumField(this, 38, value);
};
/**
* optional RelayModeActivation relay_ed_activation_mode = 39;
* @return {!proto.api.RelayModeActivation}
*/
proto.api.DeviceProfile.prototype.getRelayEdActivationMode = function() {
return /** @type {!proto.api.RelayModeActivation} */ (jspb.Message.getFieldWithDefault(this, 39, 0));
};
/**
* @param {!proto.api.RelayModeActivation} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdActivationMode = function(value) {
return jspb.Message.setProto3EnumField(this, 39, value);
};
/**
* optional uint32 relay_ed_smart_enable_level = 40;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayEdSmartEnableLevel = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 40, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdSmartEnableLevel = function(value) {
return jspb.Message.setProto3IntField(this, 40, value);
};
/**
* optional uint32 relay_ed_back_off = 41;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayEdBackOff = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 41, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdBackOff = function(value) {
return jspb.Message.setProto3IntField(this, 41, value);
};
/**
* optional uint32 relay_ed_uplink_limit_bucket_size = 42;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayEdUplinkLimitBucketSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 42, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdUplinkLimitBucketSize = function(value) {
return jspb.Message.setProto3IntField(this, 42, value);
};
/**
* optional uint32 relay_ed_uplink_limit_reload_rate = 43;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayEdUplinkLimitReloadRate = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 43, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayEdUplinkLimitReloadRate = function(value) {
return jspb.Message.setProto3IntField(this, 43, value);
};
/**
* optional uint32 relay_join_req_limit_reload_rate = 44;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayJoinReqLimitReloadRate = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 44, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayJoinReqLimitReloadRate = function(value) {
return jspb.Message.setProto3IntField(this, 44, value);
};
/**
* optional uint32 relay_notify_limit_reload_rate = 45;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayNotifyLimitReloadRate = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 45, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayNotifyLimitReloadRate = function(value) {
return jspb.Message.setProto3IntField(this, 45, value);
};
/**
* optional uint32 relay_global_uplink_limit_reload_rate = 46;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayGlobalUplinkLimitReloadRate = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 46, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayGlobalUplinkLimitReloadRate = function(value) {
return jspb.Message.setProto3IntField(this, 46, value);
};
/**
* optional uint32 relay_overall_limit_reload_rate = 47;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayOverallLimitReloadRate = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 47, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayOverallLimitReloadRate = function(value) {
return jspb.Message.setProto3IntField(this, 47, value);
};
/**
* optional uint32 relay_join_req_limit_bucket_size = 48;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayJoinReqLimitBucketSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 48, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayJoinReqLimitBucketSize = function(value) {
return jspb.Message.setProto3IntField(this, 48, value);
};
/**
* optional uint32 relay_notify_limit_bucket_size = 49;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayNotifyLimitBucketSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 49, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayNotifyLimitBucketSize = function(value) {
return jspb.Message.setProto3IntField(this, 49, value);
};
/**
* optional uint32 relay_global_uplink_limit_bucket_size = 50;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayGlobalUplinkLimitBucketSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 50, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayGlobalUplinkLimitBucketSize = function(value) {
return jspb.Message.setProto3IntField(this, 50, value);
};
/**
* optional uint32 relay_overall_limit_bucket_size = 51;
* @return {number}
*/
proto.api.DeviceProfile.prototype.getRelayOverallLimitBucketSize = function() {
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 51, 0));
};
/**
* @param {number} value
* @return {!proto.api.DeviceProfile} returns this
*/
proto.api.DeviceProfile.prototype.setRelayOverallLimitBucketSize = function(value) {
return jspb.Message.setProto3IntField(this, 51, value);
};
@ -3554,4 +4274,38 @@ proto.api.MeasurementKind = {
STRING: 4
};
/**
* @enum {number}
*/
proto.api.CadPeriodicity = {
SEC_1: 0,
MS_500: 1,
MS_250: 2,
MS_100: 3,
MS_50: 4,
MS_20: 5
};
/**
* @enum {number}
*/
proto.api.SecondChAckOffset = {
KHZ_0: 0,
KHZ_200: 1,
KHZ_400: 2,
KHZ_800: 3,
KHZ_1600: 4,
KHZ_3200: 5
};
/**
* @enum {number}
*/
proto.api.RelayModeActivation = {
DISABLE_RELAY_MODE: 0,
ENABLE_RELAY_MODE: 1,
DYNAMIC: 2,
END_DEVICE_CONTROLLED: 3
};
goog.object.extend(exports, proto.api);

View File

@ -1,7 +1,7 @@
import * as grpcWeb from 'grpc-web';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
import * as api_device_profile_template_pb from '../api/device_profile_template_pb';
import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb';
export class DeviceProfileTemplateServiceClient {
@ -12,35 +12,35 @@ export class DeviceProfileTemplateServiceClient {
create(
request: api_device_profile_template_pb.CreateDeviceProfileTemplateRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
get(
request: api_device_profile_template_pb.GetDeviceProfileTemplateRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_template_pb.GetDeviceProfileTemplateResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_template_pb.GetDeviceProfileTemplateResponse>;
update(
request: api_device_profile_template_pb.UpdateDeviceProfileTemplateRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
delete(
request: api_device_profile_template_pb.DeleteDeviceProfileTemplateRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: google_protobuf_empty_pb.Empty) => void
): grpcWeb.ClientReadableStream<google_protobuf_empty_pb.Empty>;
list(
request: api_device_profile_template_pb.ListDeviceProfileTemplatesRequest,
metadata: grpcWeb.Metadata | undefined,
callback: (err: grpcWeb.Error,
callback: (err: grpcWeb.RpcError,
response: api_device_profile_template_pb.ListDeviceProfileTemplatesResponse) => void
): grpcWeb.ClientReadableStream<api_device_profile_template_pb.ListDeviceProfileTemplatesResponse>;

View File

@ -4,7 +4,11 @@
* @public
*/
// GENERATED CODE -- DO NOT EDIT!
// Code generated by protoc-gen-grpc-web. DO NOT EDIT.
// versions:
// protoc-gen-grpc-web v1.4.2
// protoc v3.12.4
// source: api/device_profile_template.proto
/* eslint-disable */
@ -31,7 +35,7 @@ proto.api = require('./device_profile_template_pb.js');
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -39,7 +43,7 @@ proto.api = require('./device_profile_template_pb.js');
proto.api.DeviceProfileTemplateServiceClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -49,7 +53,7 @@ proto.api.DeviceProfileTemplateServiceClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -57,7 +61,7 @@ proto.api.DeviceProfileTemplateServiceClient =
/**
* @param {string} hostname
* @param {?Object} credentials
* @param {?Object} options
* @param {?grpc.web.ClientOptions} options
* @constructor
* @struct
* @final
@ -65,7 +69,7 @@ proto.api.DeviceProfileTemplateServiceClient =
proto.api.DeviceProfileTemplateServicePromiseClient =
function(hostname, credentials, options) {
if (!options) options = {};
options['format'] = 'text';
options.format = 'text';
/**
* @private @const {!grpc.web.GrpcWebClientBase} The client
@ -75,7 +79,7 @@ proto.api.DeviceProfileTemplateServicePromiseClient =
/**
* @private @const {string} The hostname
*/
this.hostname_ = hostname;
this.hostname_ = hostname.replace(/\/+$/, '');
};
@ -102,31 +106,12 @@ const methodDescriptor_DeviceProfileTemplateService_Create = new grpc.web.Method
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.CreateDeviceProfileTemplateRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceProfileTemplateService_Create = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.CreateDeviceProfileTemplateRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.CreateDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -145,7 +130,7 @@ proto.api.DeviceProfileTemplateServiceClient.prototype.create =
/**
* @param {!proto.api.CreateDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -182,31 +167,12 @@ const methodDescriptor_DeviceProfileTemplateService_Get = new grpc.web.MethodDes
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.GetDeviceProfileTemplateRequest,
* !proto.api.GetDeviceProfileTemplateResponse>}
*/
const methodInfo_DeviceProfileTemplateService_Get = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.GetDeviceProfileTemplateResponse,
/**
* @param {!proto.api.GetDeviceProfileTemplateRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.GetDeviceProfileTemplateResponse.deserializeBinary
);
/**
* @param {!proto.api.GetDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.GetDeviceProfileTemplateResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.GetDeviceProfileTemplateResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.GetDeviceProfileTemplateResponse>|undefined}
* The XHR Node Readable Stream
@ -225,7 +191,7 @@ proto.api.DeviceProfileTemplateServiceClient.prototype.get =
/**
* @param {!proto.api.GetDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.GetDeviceProfileTemplateResponse>}
* Promise that resolves to the response
@ -262,31 +228,12 @@ const methodDescriptor_DeviceProfileTemplateService_Update = new grpc.web.Method
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.UpdateDeviceProfileTemplateRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceProfileTemplateService_Update = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.UpdateDeviceProfileTemplateRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.UpdateDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -305,7 +252,7 @@ proto.api.DeviceProfileTemplateServiceClient.prototype.update =
/**
* @param {!proto.api.UpdateDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -342,31 +289,12 @@ const methodDescriptor_DeviceProfileTemplateService_Delete = new grpc.web.Method
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.DeleteDeviceProfileTemplateRequest,
* !proto.google.protobuf.Empty>}
*/
const methodInfo_DeviceProfileTemplateService_Delete = new grpc.web.AbstractClientBase.MethodInfo(
google_protobuf_empty_pb.Empty,
/**
* @param {!proto.api.DeleteDeviceProfileTemplateRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
google_protobuf_empty_pb.Empty.deserializeBinary
);
/**
* @param {!proto.api.DeleteDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.google.protobuf.Empty)}
* @param {function(?grpc.web.RpcError, ?proto.google.protobuf.Empty)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.google.protobuf.Empty>|undefined}
* The XHR Node Readable Stream
@ -385,7 +313,7 @@ proto.api.DeviceProfileTemplateServiceClient.prototype.delete =
/**
* @param {!proto.api.DeleteDeviceProfileTemplateRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.google.protobuf.Empty>}
* Promise that resolves to the response
@ -422,31 +350,12 @@ const methodDescriptor_DeviceProfileTemplateService_List = new grpc.web.MethodDe
);
/**
* @const
* @type {!grpc.web.AbstractClientBase.MethodInfo<
* !proto.api.ListDeviceProfileTemplatesRequest,
* !proto.api.ListDeviceProfileTemplatesResponse>}
*/
const methodInfo_DeviceProfileTemplateService_List = new grpc.web.AbstractClientBase.MethodInfo(
proto.api.ListDeviceProfileTemplatesResponse,
/**
* @param {!proto.api.ListDeviceProfileTemplatesRequest} request
* @return {!Uint8Array}
*/
function(request) {
return request.serializeBinary();
},
proto.api.ListDeviceProfileTemplatesResponse.deserializeBinary
);
/**
* @param {!proto.api.ListDeviceProfileTemplatesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* call metadata
* @param {function(?grpc.web.Error, ?proto.api.ListDeviceProfileTemplatesResponse)}
* @param {function(?grpc.web.RpcError, ?proto.api.ListDeviceProfileTemplatesResponse)}
* callback The callback function(error, response)
* @return {!grpc.web.ClientReadableStream<!proto.api.ListDeviceProfileTemplatesResponse>|undefined}
* The XHR Node Readable Stream
@ -465,7 +374,7 @@ proto.api.DeviceProfileTemplateServiceClient.prototype.list =
/**
* @param {!proto.api.ListDeviceProfileTemplatesRequest} request The
* request proto
* @param {?Object<string, string>} metadata User defined
* @param {?Object<string, string>=} metadata User defined
* call metadata
* @return {!Promise<!proto.api.ListDeviceProfileTemplatesResponse>}
* Promise that resolves to the response

View File

@ -62,8 +62,8 @@ export class DeviceProfileTemplate extends jspb.Message {
getClassBTimeout(): number;
setClassBTimeout(value: number): DeviceProfileTemplate;
getClassBPingSlotPeriod(): number;
setClassBPingSlotPeriod(value: number): DeviceProfileTemplate;
getClassBPingSlotNbK(): number;
setClassBPingSlotNbK(value: number): DeviceProfileTemplate;
getClassBPingSlotDr(): number;
setClassBPingSlotDr(value: number): DeviceProfileTemplate;
@ -92,6 +92,9 @@ export class DeviceProfileTemplate extends jspb.Message {
getMeasurementsMap(): jspb.Map<string, api_device_profile_pb.Measurement>;
clearMeasurementsMap(): DeviceProfileTemplate;
getAutoDetectMeasurements(): boolean;
setAutoDetectMeasurements(value: boolean): DeviceProfileTemplate;
serializeBinary(): Uint8Array;
toObject(includeInstance?: boolean): DeviceProfileTemplate.AsObject;
static toObject(includeInstance: boolean, msg: DeviceProfileTemplate): DeviceProfileTemplate.AsObject;
@ -120,7 +123,7 @@ export namespace DeviceProfileTemplate {
supportsClassB: boolean,
supportsClassC: boolean,
classBTimeout: number,
classBPingSlotPeriod: number,
classBPingSlotNbK: number,
classBPingSlotDr: number,
classBPingSlotFreq: number,
classCTimeout: number,
@ -130,6 +133,7 @@ export namespace DeviceProfileTemplate {
abpRx2Freq: number,
tagsMap: Array<[string, string]>,
measurementsMap: Array<[string, api_device_profile_pb.Measurement.AsObject]>,
autoDetectMeasurements: boolean,
}
}

Some files were not shown because too many files have changed in this diff Show More