39 lines
1.1 KiB
Rust
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:#?}"),
|
|
}
|
|
}
|