summaryrefslogtreecommitdiff
path: root/legacy_data/src/data/local/modified_status.rs
diff options
context:
space:
mode:
Diffstat (limited to 'legacy_data/src/data/local/modified_status.rs')
-rw-r--r--legacy_data/src/data/local/modified_status.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/legacy_data/src/data/local/modified_status.rs b/legacy_data/src/data/local/modified_status.rs
new file mode 100644
index 0000000..e0e6dd5
--- /dev/null
+++ b/legacy_data/src/data/local/modified_status.rs
@@ -0,0 +1,30 @@
+use crate::{constants::CLIENT_FILE_VAULT_MODIFIED, env::current_local_path};
+
+pub async fn check_vault_modified() -> bool {
+ let Some(current_dir) = current_local_path() else {
+ return false;
+ };
+
+ let record_file = current_dir.join(CLIENT_FILE_VAULT_MODIFIED);
+ if !record_file.exists() {
+ return false;
+ }
+
+ let Ok(contents) = tokio::fs::read_to_string(&record_file).await else {
+ return false;
+ };
+
+ matches!(contents.trim().to_lowercase().as_str(), "true")
+}
+
+pub async fn sign_vault_modified(modified: bool) {
+ let Some(current_dir) = current_local_path() else {
+ return;
+ };
+
+ let record_file = current_dir.join(CLIENT_FILE_VAULT_MODIFIED);
+
+ let contents = if modified { "true" } else { "false" };
+
+ let _ = tokio::fs::write(&record_file, contents).await;
+}