diff --git a/src/config/mod.rs b/src/config/mod.rs index 586e4d5..b091ca9 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -1,5 +1,6 @@ pub const APP_NAME: &str = "sender"; +/// Returns numbers and message paths pub fn get_paths(args: Vec) -> Result<(String, String), std::io::Error> { if args.len() < 2 { Err(std::io::Error::other("Not enough arguments")) diff --git a/src/main.rs b/src/main.rs index ed76943..51d1427 100644 --- a/src/main.rs +++ b/src/main.rs @@ -11,4 +11,37 @@ async fn main() { version::print_version(); std::process::exit(-1); } + + match config::get_paths(args) { + Ok((n_path, m_path)) => { + println!("Message path: {m_path:?}"); + println!("Phone Number path: {n_path:?}"); + + let (config, success) = config::parse_config().await; + if !success { + eprintln!("Error parsing config"); + } else { + let contacts = match messaging::parse_numbers(&n_path) { + Ok(contacts) => contacts, + Err(err) => { + eprintln!("Error: {err:?}"); + std::process::exit(-1); + } + }; + let message = match messaging::parse_message(&m_path) { + Ok(message) => message, + Err(err) => { + eprintln!("Error: {err:?}"); + std::process::exit(-1); + } + }; + + println!("Message: {:?}", message.content); + messaging::send_messages(&config, &contacts, &message, 5).await; + } + } + Err(err) => { + eprintln!("Error: {err:?}"); + } + }; }