From 42b5042aa61eca507e2fe6a6e8987010cfb56171 Mon Sep 17 00:00:00 2001 From: Mike Dilger Date: Fri, 27 Oct 2023 11:17:15 +1300 Subject: [PATCH] Setup Store in GLOBALS at start --- src/globals.rs | 4 ++++ src/main.rs | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/globals.rs b/src/globals.rs index 4ec542d..c97ff65 100644 --- a/src/globals.rs +++ b/src/globals.rs @@ -1,15 +1,19 @@ use crate::config::Config; +use crate::store::Store; use lazy_static::lazy_static; +use std::sync::OnceLock; use tokio::sync::RwLock; pub struct Globals { pub config: RwLock, + pub store: OnceLock, } lazy_static! { pub static ref GLOBALS: Globals = { Globals { config: RwLock::new(Config::default()), + store: OnceLock::new(), } }; } diff --git a/src/main.rs b/src/main.rs index 363caa4..e656616 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,6 +9,7 @@ pub mod types; use crate::config::Config; use crate::error::Error; use crate::globals::GLOBALS; +use crate::store::Store; use std::env; use std::fs::OpenOptions; use std::io::Read; @@ -32,6 +33,10 @@ async fn main() -> Result<(), Error> { let config: Config = ron::from_str(&contents)?; log::debug!("Loaded config file."); + // Setup store + let store = Store::new(&config.data_directory)?; + let _ = GLOBALS.store.set(store); + // Store config into GLOBALS *GLOBALS.config.write().await = config;