Create struct for global app state
This commit is contained in:
parent
da6b4a9220
commit
c8cb974762
11
src/main.rs
11
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 {
|
||||
|
|
|
@ -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<Vars>: 'static + QueryBuilder<Vars> {
|
|||
}
|
||||
|
||||
// Generic function for running start.gg queries
|
||||
pub fn run_query<Builder, Vars>(vars: Vars, auth: &str) -> Option<Builder::Unwrapped>
|
||||
pub fn run_query<Builder, Vars>(vars: Vars, state: &AppState) -> Option<Builder::Unwrapped>
|
||||
where
|
||||
Builder: QueryUnwrap<Vars>,
|
||||
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())
|
||||
|
|
6
src/state.rs
Normal file
6
src/state.rs
Normal file
|
@ -0,0 +1,6 @@
|
|||
use std::path::PathBuf;
|
||||
|
||||
pub struct AppState {
|
||||
pub config_dir: PathBuf,
|
||||
pub auth_token: String,
|
||||
}
|
Loading…
Reference in a new issue