dgira 0.1.3

Simple Jira Utility
Documentation
use clap::Parser;
use color_eyre::Result;
use dgira::{cli::Args, client, query, search_options};
use gouqi::Issue;

fn main() -> Result<()> {
    tracing_subscriber::fmt::init();

    let args = Args::parse();
    let search_options = search_options(&args);
    let query = query(&args);

    let jira = client();

    let results = jira.search().iter(&query, &search_options)?;
    let results: Box<dyn Iterator<Item = Issue>> = match args.limit {
        Some(limit) => Box::new(results.take(limit)),
        _ => Box::new(results),
    };
    results
        .filter_map(|issue| serde_json::to_string(&issue).ok())
        .for_each(|issue| {
            println!("{issue}");
        });

    Ok(())
}