use sift_science::{score::ScoreOptions, AbuseType, Client};
use std::env;
use tracing::{info, Level};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt().with_max_level(Level::INFO).init();
let user_id = env::var("USER_ID").expect("must specify USER_ID env var");
let http_client = reqwest::Client::default();
let api_key = env::var("API_KEY").expect("must specify API_KEY env var");
let sift = Client::new(api_key, http_client);
let response = sift
.get_user_score(
user_id,
ScoreOptions {
abuse_types: Some(vec![AbuseType::PaymentAbuse]),
..Default::default()
},
)
.await;
info!(?response, "Got sift score response");
Ok(())
}