use sled::Tree; use std::path::Path; const DB_DIR: &str = "db"; const DB_NAME_AD: &str = "ad"; const DB_NAME_AD_BY_GROUP: &str = "ad_by_group"; const DB_NAME_GROUP: &str = "group"; const DB_NAME_GROUP_BY_GROUP: &str = "group_by_group"; const DB_NAME_GROUP_BY_NAME: &str = "group_by_name"; #[derive(Clone)] pub struct Dbs { pub ad: Tree, pub ad_by_group: Tree, pub group: Tree, pub group_by_group: Tree, pub group_by_name: Tree, } pub fn load_dbs(path: &Path) -> Dbs { let db = sled::open(path.join(DB_DIR)).expect("Cannot open db"); Dbs { ad: db.open_tree(DB_NAME_AD).unwrap(), ad_by_group: db.open_tree(DB_NAME_AD_BY_GROUP).unwrap(), group: db.open_tree(DB_NAME_GROUP).unwrap(), group_by_group: db.open_tree(DB_NAME_GROUP_BY_GROUP).unwrap(), group_by_name: db.open_tree(DB_NAME_GROUP_BY_NAME).unwrap(), } }