Change config to use lazy_static!

This commit is contained in:
funtimes909
2026-04-04 12:37:03 +13:00
parent 9ad447ecc3
commit 87eca4bb5d
3 changed files with 22 additions and 12 deletions
Generated
+1
View File
@@ -13,6 +13,7 @@ dependencies = [
"flate2",
"futures-util",
"indicatif",
"lazy_static",
"reqwest",
"serde",
"serde_json",
+1
View File
@@ -23,6 +23,7 @@ reqwest = { version = "0.12.19", features = ["stream", "gzip"] }
flate2 = "1.1.1"
chrono = "0.4.44"
blake3 = { version = "1.8.3", features = ["rayon"] }
lazy_static = "1.5.0"
[profile.release]
strip = true
+20 -12
View File
@@ -7,12 +7,14 @@ mod scanning;
use clap::Parser;
use config::load_config;
use lazy_static::lazy_static;
use sqlx::ConnectOptions;
use sqlx::postgres::{PgConnectOptions, PgPoolOptions};
use std::time::Duration;
use tracing::error;
use tracing::log::LevelFilter;
use crate::config::Config;
use crate::database::Database;
use crate::scanning::rescanner::{Rescanner, ServerRescanPriority};
@@ -38,26 +40,31 @@ pub enum Mode {
Rescanner,
}
lazy_static! {
static ref CONFIG: Config = {
match load_config(&Args::parse().config_file) {
Ok(config) => config,
Err(e) => {
error!("Fatal error loading config file: {}", e);
std::process::exit(1);
}
}
};
}
#[tokio::main]
async fn main() {
tracing_subscriber::fmt::init();
let arguments = Args::parse();
let config = match load_config(&arguments.config_file) {
Ok(config) => config,
Err(e) => {
error!("Fatal error loading config file: {}", e);
std::process::exit(1);
}
};
// Credentials for database
let options = PgConnectOptions::new()
.username(&config.database.user)
.password(&config.database.password)
.host(&config.database.host)
.port(config.database.port)
.database(&config.database.table)
.username(&CONFIG.database.user)
.password(&CONFIG.database.password)
.host(&CONFIG.database.host)
.port(CONFIG.database.port)
.database(&CONFIG.database.table)
.log_slow_statements(LevelFilter::Off, Duration::from_secs(60));
// Connect to the database with options
@@ -69,6 +76,7 @@ async fn main() {
.await
.expect("Failed to connect to database!");
// Run migrations to setup database
sqlx::migrate!("./migrations")
.run(&pool)
.await