Skip to content
Snippets Groups Projects
Commit 1e1b7447 authored by Éloïs's avatar Éloïs
Browse files

[feat] dex: add db dunp_v1

parent e5a5cd08
No related branches found
No related tags found
1 merge request!1338Peers heads
...@@ -28,7 +28,7 @@ pub struct Opt { ...@@ -28,7 +28,7 @@ pub struct Opt {
pub home: Option<PathBuf>, pub home: Option<PathBuf>,
/// database /// database
#[structopt(default_value = "bc_v1", possible_values = &["bc_v1", "bc_v2", "gva_v1", "txs_mp_v2"])] #[structopt(default_value = "bc_v1", possible_values = &["bc_v1", "bc_v2", "dunp_v1", "gva_v1", "txs_mp_v2"])]
pub database: Database, pub database: Database,
#[structopt(subcommand)] #[structopt(subcommand)]
...@@ -39,6 +39,7 @@ pub struct Opt { ...@@ -39,6 +39,7 @@ pub struct Opt {
pub enum Database { pub enum Database {
BcV1, BcV1,
BcV2, BcV2,
DunpV1,
GvaV1, GvaV1,
TxsMpV2, TxsMpV2,
} }
...@@ -50,6 +51,7 @@ impl FromStr for Database { ...@@ -50,6 +51,7 @@ impl FromStr for Database {
match s { match s {
"bc_v1" => Ok(Self::BcV1), "bc_v1" => Ok(Self::BcV1),
"bc_v2" => Ok(Self::BcV2), "bc_v2" => Ok(Self::BcV2),
"dunp_v1" => Ok(Self::DunpV1),
"gva_v1" => Ok(Self::GvaV1), "gva_v1" => Ok(Self::GvaV1),
"txs_mp_v2" => Ok(Self::TxsMpV2), "txs_mp_v2" => Ok(Self::TxsMpV2),
_ => unreachable!(), _ => unreachable!(),
......
...@@ -31,13 +31,13 @@ use self::cli::{Database, Opt, OutputFormat, SubCommand}; ...@@ -31,13 +31,13 @@ use self::cli::{Database, Opt, OutputFormat, SubCommand};
use self::stringify_json_value::stringify_json_value; use self::stringify_json_value::stringify_json_value;
use anyhow::anyhow; use anyhow::anyhow;
use comfy_table::Table; use comfy_table::Table;
use duniter_dbs::databases::bc_v2::{BcV2Db, BcV2DbWritable};
use duniter_dbs::databases::{ use duniter_dbs::databases::{
bc_v1::{BcV1Db, BcV1DbWritable}, bc_v1::{BcV1Db, BcV1DbWritable},
bc_v2::{BcV2Db, BcV2DbWritable},
dunp_v1::{DunpV1Db, DunpV1DbWritable},
gva_v1::{GvaV1Db, GvaV1DbWritable}, gva_v1::{GvaV1Db, GvaV1DbWritable},
txs_mp_v2::{TxsMpV2Db, TxsMpV2DbWritable}, txs_mp_v2::{TxsMpV2Db, TxsMpV2DbWritable},
}; };
use duniter_dbs::kv_typed::backend::sled;
use duniter_dbs::kv_typed::prelude::*; use duniter_dbs::kv_typed::prelude::*;
use duniter_dbs::prelude::*; use duniter_dbs::prelude::*;
use duniter_dbs::regex::Regex; use duniter_dbs::regex::Regex;
...@@ -100,23 +100,34 @@ fn main() -> anyhow::Result<()> { ...@@ -100,23 +100,34 @@ fn main() -> anyhow::Result<()> {
open_db_start_time, open_db_start_time,
), ),
Database::BcV2 => apply_subcommand( Database::BcV2 => apply_subcommand(
BcV2Db::<Sled>::open( BcV2Db::<Sled>::open(Sled::gen_backend_conf(
sled::Config::default().path(data_path.as_path().join("bc_v2_sled")), BcV2Db::<Sled>::NAME,
)?, Some(profile_path.as_path()),
))?,
opt.cmd,
open_db_start_time,
),
Database::DunpV1 => apply_subcommand(
DunpV1Db::<Sled>::open(Sled::gen_backend_conf(
DunpV1Db::<Sled>::NAME,
Some(profile_path.as_path()),
))?,
opt.cmd, opt.cmd,
open_db_start_time, open_db_start_time,
), ),
Database::GvaV1 => apply_subcommand( Database::GvaV1 => apply_subcommand(
GvaV1Db::<Sled>::open( GvaV1Db::<Sled>::open(Sled::gen_backend_conf(
sled::Config::default().path(data_path.as_path().join("gva_v1_sled")), GvaV1Db::<Sled>::NAME,
)?, Some(profile_path.as_path()),
))?,
opt.cmd, opt.cmd,
open_db_start_time, open_db_start_time,
), ),
Database::TxsMpV2 => apply_subcommand( Database::TxsMpV2 => apply_subcommand(
TxsMpV2Db::<Sled>::open( TxsMpV2Db::<Sled>::open(Sled::gen_backend_conf(
sled::Config::default().path(data_path.as_path().join("txs_mp_v2_sled")), TxsMpV2Db::<Sled>::NAME,
)?, Some(profile_path.as_path()),
))?,
opt.cmd, opt.cmd,
open_db_start_time, open_db_start_time,
), ),
......
...@@ -40,6 +40,7 @@ pub use kv_typed; ...@@ -40,6 +40,7 @@ pub use kv_typed;
// Prelude // Prelude
pub mod prelude { pub mod prelude {
pub use crate::open_dbs::BackendConf;
pub use crate::DuniterDbs; pub use crate::DuniterDbs;
#[cfg(feature = "explorer")] #[cfg(feature = "explorer")]
pub use kv_typed::explorer::{ pub use kv_typed::explorer::{
......
...@@ -23,25 +23,27 @@ use crate::*; ...@@ -23,25 +23,27 @@ use crate::*;
pub fn open_dbs<B: BackendConf>( pub fn open_dbs<B: BackendConf>(
home_path_opt: Option<&Path>, home_path_opt: Option<&Path>,
) -> (crate::databases::bc_v2::BcV2Db<B>, DuniterDbs<B>) { ) -> (crate::databases::bc_v2::BcV2Db<B>, DuniterDbs<B>) {
let bc_db = let bc_db = crate::databases::bc_v2::BcV2Db::<B>::open(B::gen_backend_conf(
crate::databases::bc_v2::BcV2Db::<B>::open(B::gen_backend_conf("bc_v2", home_path_opt)) crate::databases::bc_v2::BcV2Db::<B>::NAME,
home_path_opt,
))
.expect("fail to open BcV2 DB"); .expect("fail to open BcV2 DB");
let dbs = DuniterDbs { let dbs = DuniterDbs {
bc_db_ro: bc_db.get_ro_handler(), bc_db_ro: bc_db.get_ro_handler(),
cm_db: crate::databases::cm_v1::CmV1Db::<Mem>::open(MemConf::default()) cm_db: crate::databases::cm_v1::CmV1Db::<Mem>::open(MemConf::default())
.expect("fail to open CmV1 DB"), .expect("fail to open CmV1 DB"),
dunp_db: crate::databases::dunp_v1::DunpV1Db::<B>::open(B::gen_backend_conf( dunp_db: crate::databases::dunp_v1::DunpV1Db::<B>::open(B::gen_backend_conf(
"dunp_v1", crate::databases::dunp_v1::DunpV1Db::<B>::NAME,
home_path_opt, home_path_opt,
)) ))
.expect("fail to open Dunp DB"), .expect("fail to open Dunp DB"),
gva_db: crate::databases::gva_v1::GvaV1Db::<B>::open(B::gen_backend_conf( gva_db: crate::databases::gva_v1::GvaV1Db::<B>::open(B::gen_backend_conf(
"gva_v1", crate::databases::gva_v1::GvaV1Db::<B>::NAME,
home_path_opt, home_path_opt,
)) ))
.expect("fail to open Gva DB"), .expect("fail to open Gva DB"),
txs_mp_db: crate::databases::txs_mp_v2::TxsMpV2Db::<B>::open(B::gen_backend_conf( txs_mp_db: crate::databases::txs_mp_v2::TxsMpV2Db::<B>::open(B::gen_backend_conf(
"txs_mp_v2", crate::databases::txs_mp_v2::TxsMpV2Db::<B>::NAME,
home_path_opt, home_path_opt,
)) ))
.expect("fail to open TxsMp DB"), .expect("fail to open TxsMp DB"),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment