use files_sdk::{FilesClient, users::UserHandler};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("FILES_API_KEY")?;
let client = FilesClient::builder().api_key(&api_key).build()?;
let handler = UserHandler::new(client);
let (users, pagination) = handler.list(None, Some(50)).await?;
println!("Found {} users", users.len());
for user in &users {
println!(
" {} ({})",
user.username.as_deref().unwrap_or("N/A"),
user.email.as_deref().unwrap_or("")
);
}
if let Some(next_cursor) = pagination.cursor_next {
println!("\nNext page cursor: {}", next_cursor);
}
if let Some(first_user) = users.first()
&& let Some(user_id) = first_user.id
{
let user = handler.get(user_id).await?;
println!(
"\nUser details for {}:",
user.username.as_deref().unwrap_or("N/A")
);
println!(" ID: {}", user.id.unwrap_or(0));
println!(" Email: {}", user.email.as_deref().unwrap_or("N/A"));
}
Ok(())
}