peach-workspace/peach-lib
notplants a4f459e1fc Change /send_password_reset to /forgot_password 2021-11-10 12:33:37 +01:00
..
debug First workspace commit 2021-08-06 13:58:40 -04:00
src Change /send_password_reset to /forgot_password 2021-11-10 12:33:37 +01:00
.gitignore First workspace commit 2021-08-06 13:58:40 -04:00
Cargo.toml Add rocket authentication to all routes 2021-11-08 16:38:10 +01:00
README.md First workspace commit 2021-08-06 13:58:40 -04:00

README.md

peach-lib

Generic badge

JSON-RPC client library for the PeachCloud ecosystem.

peach-lib offers the ability to programmatically interact with the peach-network, peach-oled and peach-stats microservices.

Overview

The peach-lib crate bundles JSON-RPC client code for making requests to the three PeachCloud microservices which expose JSON-RPC servers (peach-network, peach-oled and peach-menu). The full list of available RPC APIs can be found in the READMEs of the respective microservices (peach-network, peach-oled, peach-menu), or in the developer documentation for PeachCloud.

The library also includes a custom error type, PeachError, which bundles the underlying error types into three variants: JsonRpcHttp, JsonRpcCore and Serde. When used as the returned error type in a Result function response, this allows convenient use of the ? operator (as illustrated in the example usage code below).

Usage

Define the dependency in your Cargo.toml file:

peach-lib = { git = "https://github.com/peachcloud/peach-lib", branch = "main" }

Import the required client from the library:

use peach_lib::network_client;

Call one of the exposed methods:

network_client::ip("wlan0")?;

Further example usage can be found in the peach-menu code (see src/states.rs).

Licensing

AGPL-3.0