diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2023-05-21 11:18:29 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2023-05-21 11:18:29 +0000 |
| commit | fda0fdd81caab1ca92eb7ed601058e6c2fdc59f5 (patch) | |
| tree | dd91fc1a7b41d02aead655ea2dc07463b3487d5d /src/config.rs | |
| parent | 0067804cc00e94ce2b7043e67f9ff50968525479 (diff) | |
helpers and utilities
Diffstat (limited to 'src/config.rs')
| -rw-r--r-- | src/config.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs new file mode 100644 index 0000000..f3b7f7b --- /dev/null +++ b/src/config.rs | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | use nostr::{secp256k1::SecretKey}; | ||
| 2 | use serde::{Deserialize, Serialize}; | ||
| 3 | |||
| 4 | #[derive(Serialize, Deserialize)] | ||
| 5 | pub struct MyConfig { | ||
| 6 | version: u8, | ||
| 7 | pub default_admin_group_event_serialized: Option<String>, | ||
| 8 | pub default_relays:Vec<String>, | ||
| 9 | pub private_key:Option<SecretKey>, | ||
| 10 | } | ||
| 11 | |||
| 12 | /// `MyConfig` implements `Default` | ||
| 13 | impl ::std::default::Default for MyConfig { | ||
| 14 | fn default() -> Self { Self { | ||
| 15 | version: 0, | ||
| 16 | default_admin_group_event_serialized: None, | ||
| 17 | default_relays:vec![], | ||
| 18 | private_key: None, | ||
| 19 | } } | ||
| 20 | } | ||
| 21 | |||
| 22 | pub fn load_config() -> MyConfig { | ||
| 23 | confy::load("ngit-cli", None) | ||
| 24 | .expect("load_config always to load confy custom config or defaults for ngit-cli") | ||
| 25 | } | ||
| 26 | |||
| 27 | pub fn save_conifg(cfg:&MyConfig) -> &MyConfig { | ||
| 28 | confy::store("ngit-cli",None, &cfg) | ||
| 29 | .expect("save_conifg always to save confy custom config or defaults for ngit-cli and return it"); | ||
| 30 | cfg | ||
| 31 | } | ||
| 32 | |||