Beeswax ======= An easy to use CRUD client for the [Beeswax API](https://docs.beeswax.com/docs/getting-started) 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::{AsyncBeeswaxClient, resource::authenticate::Authenticate}; let user = std::env::var("BEESWAX_USER")?; let password = std::env::var("BEESWAX_PASSWORD")?; let url = "https://buzzkey.api.beeswax.com".to_string(); let beeswax_api = AsyncBeeswaxClient::builder(url) .auth(Authenticate::simple(user, password)) .await?; ``` You can then create, update, read and delete [resources](beeswax::resource). ``` use beeswax::resource::Advertiser; let create_advertiser = Advertiser::create_builder() .advertiser_name("Example advertiser") .build(); let mut created_advertiser = beeswax_api.create(&create_advertiser).await?; created_advertiser.active = true; let updated_advertiser = beeswax_api.update(&created_advertiser).await?; let read_advertiser = Advertiser::read_builder() .advertiser_id(updated_advertiser.advertiser_id) .build(); let read_advertiser = beeswax_api.read(&read_advertiser).await?.pop().unwrap(); beeswax_api.delete(&read_advertiser).await?; ```