jsonbox.rs

crates.io docs.rs build

⚠️ NOTICE: Alpha quality. Unstable API ⚠️

⚙️ Rust wrapper for 📦 jsonbox.io.

Usage

```rust // Declaration use jsonbox::{Client, Error}; use serde::{Deserialize, Serialize};

// Define struct

[derive(Serialize, Deserialize)]

pub struct Data { pub name: String, pub message: String, }

fn main() -> Result<(), Error> { // Create client with let client = Client::new("enjoyyourfirstjsonboxrs");

// Put data
let data = Data {
    name: "kuy".into(),
    message: "Hello, Jsonbox!".into(),
};
let (record, meta) = client.create(&data)?;
println!("CREATE: data={:?}, meta={:?}", record, meta);

Ok(())

} ```

CREATE

rust let data = Data { name: "kuy".into(), message: "Hello, Jsonbox!".into(), }; let (record, meta) = client.create(&data)?; println!("CREATE: data={:?}, meta={:?}", record, meta);

READ

all (default parameters)

rust let all = client.read().all::<Data>()?; println!("READ: len={}, all={:?}", all.len(), all);

with record id

rust let (record, meta) = client.read().id("5d876d852a780700177c0557")?; println!("READ: data={:?}, meta={:?}", record, meta);

with limit

rust let few = client.read().limit(10).run::<Data>()?; println!("READ: len={}, few={:?}", few.len(), few);

with skip

rust let rest = client.read().skip(5).run::<Data>()?; println!("READ: len={}, rest={:?}", rest.len(), rest);

with sort (asc/desc)

```rust let asc = client.read().order_by("name").run::()?; println!("READ: len={}, asc={:?}", asc.len(), asc);

let desc = client.read().order_by("count").desc().run::()?; println!("READ: len={}, desc={:?}", desc.len(), desc); ```

UPDATE

rust let data = Data::new("kuy", "Hello, Jsonbox!"); let _ = client.update("5d876d852a780700177c0557", &data)?; println!("UPDATE: OK");

DELETE

rust let _ = client.delete("5d876d852a780700177c0557")?; println!("DELETE: OK");

Examples

License

MIT

Author

Yuki Kodama / @kuy