Rust
Query options for analytics statistics
AnalyticsStatsOptions
pub struct AnalyticsStatsOptions { pub start_date: Option<String>, pub end_date: Option<String>, pub organization_id: Option<String>, }
use wacht::api::analytics::{fetch_analytics_stats, AnalyticsStatsOptions}; // Fetch analytics with default date range (last 30 days) let default_stats = fetch_analytics_stats(None).await?; // Fetch analytics for a specific date range let date_range_options = AnalyticsStatsOptions { start_date: Some("2024-01-01".to_string()), end_date: Some("2024-01-31".to_string()), organization_id: None, }; let january_stats = fetch_analytics_stats(Some(date_range_options)).await?; // Fetch analytics for a specific organization let org_options = AnalyticsStatsOptions { organization_id: Some("org_123".to_string()), ..Default::default() }; let org_stats = fetch_analytics_stats(Some(org_options)).await?; // Fetch year-to-date analytics for an organization use chrono::{Local, Datelike}; let current_year = Local::now().year(); let ytd_options = AnalyticsStatsOptions { start_date: Some(format!("{}-01-01", current_year)), end_date: None, // Defaults to today organization_id: Some("org_123".to_string()), }; let ytd_stats = fetch_analytics_stats(Some(ytd_options)).await?; // Display analytics println!("Total users: {}", default_stats.total_users); println!("Active users: {}", default_stats.active_users); println!("New signups: {}", default_stats.new_signups); println!("Total organizations: {}", default_stats.total_organizations);