use clap::Parser;
use cli::{Cli, Commands};
use ibflex::{compare::CompareParams, download::DownloadParams};
mod cli;
#[tokio::main]
async fn main() {
env_logger::init();
let cli = Cli::parse();
match &cli.command {
Commands::Dl(params) => {
println!("downloading report...");
let dl_params = DownloadParams::new(params.query_id, ¶ms.token);
let path = ibflex::download::download(dl_params).await;
println!("Flex Query saved to {path}");
}
Commands::Cmp(params) => {
let cmp_params = CompareParams {
flex_report_path: params.flex_report_path.to_owned(),
flex_reports_dir: params.flex_reports_dir.to_owned(),
ledger_journal_file: params.ledger_journal_file.to_owned(),
symbols_path: params.symbols_path.to_owned(),
effective_dates: params.effective,
};
ibflex::compare::compare(cmp_params).expect("transactions compared");
}
}
}