use ltfi_wsap::{Client, DisclosureLevel};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
dotenv::dotenv().ok();
let client = Client::from_env()?;
let domain = "example.com";
let verification = client.initiate_verification(domain).await?;
println!("Domain verification initiated for: {}", domain);
println!("\nAdd the following DNS TXT record:");
println!("Name: {}", verification.txt_record_name);
println!("Value: {}", verification.txt_record_value);
println!("\nStatus: {}", verification.status);
let is_verified = client.verify_domain(domain).await?;
if is_verified {
println!("\n✅ Domain is verified!");
} else {
println!("\n⏳ Domain not yet verified. DNS changes can take up to 48 hours to propagate.");
}
match client.fetch_wsap(domain).await {
Ok(wsap) => {
println!("\nPublic WSAP data found:");
println!("Entity: {}", wsap.entity_id);
println!("Disclosure level: {:?}", wsap.disclosure_level);
println!("Generated: {}", wsap.generated_at);
},
Err(e) => {
println!("\nNo public WSAP data available: {}", e);
}
}
Ok(())
}