summaryrefslogtreecommitdiff
path: root/crates/vcs_data/src/data/vault.rs
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2025-10-29 15:28:50 +0800
committerGitHub <noreply@github.com>2025-10-29 15:28:50 +0800
commit4f35da85641549c3e08c4e1b73fccfc7ec9779a2 (patch)
tree360a7c95183bc9800f95fdb34e162383f66daffa /crates/vcs_data/src/data/vault.rs
parent23784691ed4668e4e308fb5af70c2574f5936346 (diff)
parent50945b098e3f6ff16f3f4cf25c2835ddf1e7b3a8 (diff)
Merge pull request #29 from JustEnoughVCS/jvcs_dev_actions
Jvcs dev actions
Diffstat (limited to 'crates/vcs_data/src/data/vault.rs')
-rw-r--r--crates/vcs_data/src/data/vault.rs18
1 files changed, 15 insertions, 3 deletions
diff --git a/crates/vcs_data/src/data/vault.rs b/crates/vcs_data/src/data/vault.rs
index 80ebe1d..efb4eec 100644
--- a/crates/vcs_data/src/data/vault.rs
+++ b/crates/vcs_data/src/data/vault.rs
@@ -2,6 +2,7 @@ use std::{
env::current_dir,
fs::{self, create_dir_all},
path::PathBuf,
+ sync::Arc,
};
use cfg_file::config::ConfigFile;
@@ -22,7 +23,7 @@ pub mod sheets;
pub mod virtual_file;
pub struct Vault {
- config: VaultConfig,
+ config: Arc<VaultConfig>,
vault_path: PathBuf,
}
@@ -35,13 +36,19 @@ impl Vault {
/// Initialize vault
pub fn init(config: VaultConfig, vault_path: impl Into<PathBuf>) -> Option<Self> {
let vault_path = find_vault_path(vault_path)?;
- Some(Self { config, vault_path })
+ Some(Self {
+ config: Arc::new(config),
+ vault_path,
+ })
}
/// Initialize vault
pub fn init_current_dir(config: VaultConfig) -> Option<Self> {
let vault_path = current_vault_path()?;
- Some(Self { config, vault_path })
+ Some(Self {
+ config: Arc::new(config),
+ vault_path,
+ })
}
/// Setup vault
@@ -144,4 +151,9 @@ Thank you for using `JustEnoughVCS!`
Self::setup_vault(current_dir()?).await?;
Ok(())
}
+
+ /// Get vault configuration
+ pub fn config(&self) -> &Arc<VaultConfig> {
+ &self.config
+ }
}