currency_conversion_cli/commands/
update.rs

1use crate::config::Config;
2
3use crate::cli::UpdateArgs;
4use anyhow::Result;
5use currency_conversion::update::{
6    update_converison_rates::update_conversion_rates, update_symbols::update_symbols,
7};
8
9#[cfg(not(tarpaulin_include))]
10pub fn run_update(config: &Config, args: &UpdateArgs) -> Result<()> {
11    tracing::debug!("Update arguments : {:?}", args);
12
13    if args.all || args.symbols {
14        tracing::info!("Update symbols begin");
15
16        update_symbols(
17            &config.symbols_endpoint_url,
18            &config.api_key,
19            &config.symbols_file_path,
20        )?;
21
22        tracing::info!("Update symbols end");
23    }
24
25    if args.all || args.conversion_rates {
26        tracing::info!("Update conversion rates begin");
27
28        update_conversion_rates(
29            &config.latest_endpoint_url,
30            &config.api_key,
31            &config.base,
32            &config.conversion_rates_file_path,
33        )?;
34        tracing::info!("Update conversion rates end");
35    }
36    Ok(())
37}