32 lines
831 B
Rust
32 lines
831 B
Rust
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(),
|
|
}
|
|
}
|