ref(conf): rework cli command
This commit is contained in:
parent
3971214821
commit
838d817ab0
3 changed files with 32 additions and 39 deletions
30
Cargo.lock
generated
30
Cargo.lock
generated
|
@ -760,7 +760,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-bc-reader"
|
name = "duniter-bc-reader"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"dubp",
|
"dubp",
|
||||||
|
@ -806,7 +806,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-conf"
|
name = "duniter-conf"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"dubp",
|
"dubp",
|
||||||
|
@ -819,7 +819,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-core"
|
name = "duniter-core"
|
||||||
version = "1.8.1"
|
version = "1.8.1"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"duniter-bc-reader",
|
"duniter-bc-reader",
|
||||||
"duniter-conf",
|
"duniter-conf",
|
||||||
|
@ -827,13 +827,12 @@ dependencies = [
|
||||||
"duniter-global",
|
"duniter-global",
|
||||||
"duniter-mempools",
|
"duniter-mempools",
|
||||||
"duniter-module",
|
"duniter-module",
|
||||||
"duniter-module-cli",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-dbs"
|
name = "duniter-dbs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
"bincode",
|
"bincode",
|
||||||
|
@ -856,7 +855,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-dbs-write-ops"
|
name = "duniter-dbs-write-ops"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"dubp",
|
"dubp",
|
||||||
|
@ -871,7 +870,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-global"
|
name = "duniter-global"
|
||||||
version = "1.8.1"
|
version = "1.8.1"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-rwlock",
|
"async-rwlock",
|
||||||
"dubp",
|
"dubp",
|
||||||
|
@ -920,6 +919,7 @@ dependencies = [
|
||||||
name = "duniter-gva-conf"
|
name = "duniter-gva-conf"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
"duniter-core",
|
"duniter-core",
|
||||||
"read_input",
|
"read_input",
|
||||||
"serde",
|
"serde",
|
||||||
|
@ -1001,7 +1001,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-mempools"
|
name = "duniter-mempools"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"dubp",
|
"dubp",
|
||||||
"duniter-bc-reader",
|
"duniter-bc-reader",
|
||||||
|
@ -1014,7 +1014,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "duniter-module"
|
name = "duniter-module"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-mutex",
|
"async-mutex",
|
||||||
|
@ -1031,16 +1031,6 @@ dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "duniter-module-cli"
|
|
||||||
version = "0.1.0"
|
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"serde",
|
|
||||||
"structopt",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dup-crypto"
|
name = "dup-crypto"
|
||||||
version = "0.53.1"
|
version = "0.53.1"
|
||||||
|
@ -1594,7 +1584,7 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "kv_typed"
|
name = "kv_typed"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://git.duniter.org/nodes/rust/duniter-core#085ca88dd1d3045d5512e2398c099510938d5a20"
|
source = "git+https://git.duniter.org/nodes/rust/duniter-core#06f484b17a8336ec908ef423f32cbd0a5a0f16f5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder",
|
"byteorder",
|
||||||
"cfg-if 0.1.10",
|
"cfg-if 0.1.10",
|
||||||
|
|
|
@ -11,6 +11,7 @@ edition = "2018"
|
||||||
path = "src/lib.rs"
|
path = "src/lib.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
anyhow = "1.0"
|
||||||
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
|
duniter-core = { git = "https://git.duniter.org/nodes/rust/duniter-core" }
|
||||||
read_input = "0.8"
|
read_input = "0.8"
|
||||||
serde = { version = "1.0.105", features = ["derive"] }
|
serde = { version = "1.0.105", features = ["derive"] }
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
// You should have received a copy of the GNU Affero General Public License
|
// You should have received a copy of the GNU Affero General Public License
|
||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use duniter_core::module_cli::anyhow;
|
use anyhow::Context;
|
||||||
use read_input::prelude::*;
|
use read_input::prelude::*;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::{
|
use std::{
|
||||||
|
@ -22,6 +22,8 @@ use std::{
|
||||||
};
|
};
|
||||||
use structopt::StructOpt;
|
use structopt::StructOpt;
|
||||||
|
|
||||||
|
const MODULE_NAME: &str = "gva";
|
||||||
|
|
||||||
#[derive(Clone, Debug, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
pub struct GvaConf {
|
pub struct GvaConf {
|
||||||
pub enabled: bool,
|
pub enabled: bool,
|
||||||
|
@ -101,21 +103,29 @@ impl GvaConf {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(StructOpt)]
|
#[derive(StructOpt)]
|
||||||
pub struct GvaCli {}
|
pub enum GvaCommand {
|
||||||
|
Configure,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(StructOpt)]
|
impl GvaCommand {
|
||||||
pub struct GvaCliConfigure {}
|
pub fn command(self, profile_path: std::path::PathBuf) -> anyhow::Result<()> {
|
||||||
|
match self {
|
||||||
|
GvaCommand::Configure => {
|
||||||
|
let gva_conf =
|
||||||
|
duniter_core::conf::load_module_conf(MODULE_NAME, &Some(profile_path.clone()))
|
||||||
|
.context("fail to load gva conf")?;
|
||||||
|
|
||||||
impl duniter_core::module_cli::DuniterModuleCli for GvaCli {
|
let new_gva_conf = GvaCommand::configure(gva_conf);
|
||||||
const MODULE_NAME: &'static str = "gva";
|
|
||||||
|
|
||||||
type Conf = GvaConf;
|
duniter_core::conf::write_module_conf(new_gva_conf, MODULE_NAME, &profile_path)
|
||||||
|
.context("fail to write gva conf")?;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type ConfigureOpt = GvaCliConfigure;
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
type Opt = Self;
|
fn configure(mut conf: GvaConf) -> GvaConf {
|
||||||
|
|
||||||
fn configure(mut conf: Self::Conf, _: Self::ConfigureOpt) -> Self::Conf {
|
|
||||||
// Enable GVA API?
|
// Enable GVA API?
|
||||||
let res = input().msg("Enable GVA API? [Y/n]").default('Y').get();
|
let res = input().msg("Enable GVA API? [Y/n]").default('Y').get();
|
||||||
conf.enabled = res != 'n';
|
conf.enabled = res != 'n';
|
||||||
|
@ -244,12 +254,4 @@ impl duniter_core::module_cli::DuniterModuleCli for GvaCli {
|
||||||
|
|
||||||
conf
|
conf
|
||||||
}
|
}
|
||||||
|
|
||||||
fn command(
|
|
||||||
_conf: Self::Conf,
|
|
||||||
_opt: Self::Opt,
|
|
||||||
_data_path: std::path::PathBuf,
|
|
||||||
) -> anyhow::Result<()> {
|
|
||||||
unimplemented!()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue