From e8c029c9d002a169ec2e9be3be86e9d886bc7591 Mon Sep 17 00:00:00 2001 From: tuxmain Date: Thu, 17 Dec 2020 12:12:21 +0100 Subject: [PATCH] Remove Arc around Dbs --- src/db.rs | 6 ++---- src/server.rs | 15 +++++++-------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/db.rs b/src/db.rs index ba9fcf2..70579c0 100644 --- a/src/db.rs +++ b/src/db.rs @@ -1,21 +1,19 @@ -use sled::{Db, Tree}; +use sled::Tree; use std::path::Path; const DB_DIR: &str = "db"; const DB_NAME_ADS: &str = "ads"; +#[derive(Clone)] pub struct Dbs { - pub db: Db, pub ads: Tree, } pub fn load_dbs(path: &Path) -> Dbs { - //std::fs::create_dir_all(path.join(DB_DIR)).expect("Cannot create db dir"); let db = sled::open(path.join(DB_DIR)).expect("Cannot open db"); Dbs { ads: db.open_tree(DB_NAME_ADS).unwrap(), - db, } } diff --git a/src/server.rs b/src/server.rs index ddbc6ce..7b36142 100644 --- a/src/server.rs +++ b/src/server.rs @@ -15,7 +15,6 @@ pub async fn start_server( ) { let templates = Arc::new(templates); let config = Arc::new(config); - let dbs = Arc::new(dbs); let mut app = tide::new(); app.at("/static") @@ -57,7 +56,7 @@ pub async fn start_server( async fn serve_index<'a>( req: tide::Request<()>, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, errors: &[ErrorTemplate<'a>], new_ad_form_refill: Option, ) -> tide::Result { @@ -97,7 +96,7 @@ async fn serve_index<'a>( async fn serve_admin<'a>( req: tide::Request<()>, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, errors: &[ErrorTemplate<'a>], ) -> tide::Result { let selected_ad = req.param("ad").ok(); @@ -154,7 +153,7 @@ async fn serve_admin_login<'a>( async fn handle_post_index( mut req: tide::Request<()>, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, ) -> tide::Result { match req.body_form::().await? { Query::NewAdQuery(query) => handle_new_ad(req, templates.clone(), dbs.clone(), query).await, @@ -165,7 +164,7 @@ async fn handle_post_index( async fn handle_new_ad( req: tide::Request<()>, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, query: NewAdQuery, ) -> tide::Result { let mut hasher = Sha512Trunc256::new(); @@ -215,7 +214,7 @@ async fn handle_new_ad( async fn handle_rm_ad( req: tide::Request<()>, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, query: RmAdQuery, ) -> tide::Result { let mut hasher = Sha512Trunc256::new(); @@ -265,7 +264,7 @@ async fn handle_admin( req: tide::Request<()>, config: Arc, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, ) -> tide::Result { if let Some(psw) = req.cookie("admin") { if config.admin_passwords.contains(&String::from(psw.value())) { @@ -289,7 +288,7 @@ async fn handle_post_admin( mut req: tide::Request<()>, config: Arc, templates: Arc>, - dbs: Arc, + dbs: db::Dbs, ) -> tide::Result { if let Some(psw) = req.cookie("admin") { if config.admin_passwords.contains(&String::from(psw.value())) {