Beeswax

An easy to use CRUD client for the Beeswax API

Warning

This is a very early version of this crate with only a few resources so far.

ToDo: - Add the rest of the resources - Make runtime agnostic - Add blocking version of the client

Usage

Tell the builder what the base url you'd like to connect to is, then create an Authentication object to send to the api to authenticate yourself.

```rust use beeswax::{BeeswaxClient, resource::Authenticate};

let user = std::env::var("BEESWAXUSER")?; let password = std::env::var("BEESWAXPASSWORD")?; let url = "https://buzzkey.api.beeswax.com".to_string();

let beeswax_api = BeeswaxClient::builder(url) .auth(Authenticate::simple(user, password)) .await?; ```

You can then create, update, read and delete resources.

```rust use beeswax::resource::{CreateAdvertiser, ReadAdvertiser};

let createadvertiser = CreateAdvertiser { advertisername: "Example advertiser".to_string(), ..Default::default() };

let mut createdadvertiser = beeswaxapi.create(&create_advertiser).await?;

created_advertiser.active = Some(true);

let updatedadvertiser = beeswaxapi.update(&created_advertiser).await?;

let readadvertiser = ReadAdvertiser { advertiserid: Some(updatedadvertiser.advertiserid), ..Default::default() };

let readadvertiser = beeswaxapi.read(&read_advertiser).await?.pop().unwrap();

beeswaxapi.delete(readadvertiser).await?; ```