Files
beeminder-rs/examples/demo.rs
2024-12-15 14:06:18 -05:00

39 lines
1.1 KiB
Rust

use beeminder::types::CreateDatapoint;
use beeminder::BeeminderClient;
use std::env;
use time::macros::datetime;
#[tokio::main]
async fn main() {
let api_key =
env::var("BEEMINDER_API_KEY").expect("BEEMINDER_API_KEY environment variable not set");
let client = BeeminderClient::new(api_key);
match client.get_user("me").await {
Ok(user) => println!("{user:#?}"),
Err(e) => println!("{e:#?}"),
}
let since = datetime!(2024-12-13 20:00 UTC);
match client.get_user_diff("me", since).await {
Ok(user) => println!("{user:#?}"),
Err(e) => println!("{e:#?}"),
}
match client
.get_datapoints("me", "meditation", None, Some(10))
.await
{
Ok(datapoints) => println!("{datapoints:#?}"),
Err(e) => println!("{e:#?}"),
}
let d = CreateDatapoint::new(1.0)
.with_comment("Test #hashtag datapoint")
.with_requestid("unique-id-42");
match client.create_datapoint("me", "meditation", &d).await {
Ok(datapoint) => println!("Added: {datapoint:#?}"),
Err(e) => println!("{e:#?}"),
}
}