diff --git a/src/main.rs b/src/main.rs index 5051c18..be48a8b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,8 @@ use std::io::{self, Write}; mod queries; use queries::*; +mod state; +use state::*; mod datasets; use datasets::*; @@ -11,7 +13,14 @@ fn main() { let mut config_dir = dirs::config_dir().unwrap(); config_dir.push("ggelo"); - let path = dataset_path(&config_dir, "test"); + let auth_token = get_auth_key(&config_dir).unwrap(); + + // let config = AppState { + // config_dir, + // auth_token, + // }; + + let path = dataset_path(&config_dir, "test").unwrap(); let connection = open_dataset(&path).unwrap(); let set_data = SetData { diff --git a/src/queries.rs b/src/queries.rs index c4f6452..9fb58fe 100644 --- a/src/queries.rs +++ b/src/queries.rs @@ -9,6 +9,7 @@ pub use tournament_sets::*; pub mod player_info; pub use player_info::*; +use crate::state::*; use schema::schema; // Auth key @@ -65,7 +66,7 @@ pub trait QueryUnwrap: 'static + QueryBuilder { } // Generic function for running start.gg queries -pub fn run_query(vars: Vars, auth: &str) -> Option +pub fn run_query(vars: Vars, state: &AppState) -> Option where Builder: QueryUnwrap, Vars: Serialize, @@ -77,7 +78,7 @@ where let response = reqwest::blocking::Client::new() .post("https://api.start.gg/gql/alpha") - .header("Authorization", String::from("Bearer ") + auth) + .header("Authorization", String::from("Bearer ") + &state.auth_token) .run_graphql(query); Builder::unwrap_response(response.unwrap()) diff --git a/src/state.rs b/src/state.rs new file mode 100644 index 0000000..bb7be58 --- /dev/null +++ b/src/state.rs @@ -0,0 +1,6 @@ +use std::path::PathBuf; + +pub struct AppState { + pub config_dir: PathBuf, + pub auth_token: String, +}