From 6ec0491aae50223315faf95739e08a8ad1088e47 Mon Sep 17 00:00:00 2001 From: NicolasCantu Date: Thu, 9 Jan 2025 17:31:06 +0100 Subject: [PATCH] Write to disk Member when process is pairing --- src/commit.rs | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/commit.rs b/src/commit.rs index 0060ee0..a6c0632 100644 --- a/src/commit.rs +++ b/src/commit.rs @@ -76,7 +76,12 @@ fn handle_initial_transaction(tx: Transaction, commit_msg: &CommitMessage) -> Re let merkle_root_bin = pcd_commitment.create_merkle_tree()?.root().unwrap(); - handle_member_list(pcd_commitment, &parsed_roles, root_commitment)?; + match handle_member_list(pcd_commitment, &parsed_roles, root_commitment) { + Ok(()) => { + dump_cached_members()?; + } + Err(e) => log::error!("{}", e) + } let mut new_process = Process::new(root_commitment); let init_state = ProcessState { @@ -119,7 +124,7 @@ fn handle_member_list(pcd_commitment: &Value, roles: &HashMap } } +pub fn dump_cached_members() -> Result<(), anyhow::Error> { + let members = lock_members()?.clone(); + + let storage = STORAGE.get().ok_or(Error::msg("STORAGE is not initialized"))?.lock_anyhow()?; + + let members_file = &storage.members_file; + + members_file.save(&members)?; + + log::debug!("saved members"); + + Ok(()) +} + pub fn dump_cached_processes() -> Result<(), anyhow::Error> { let processes = lock_processes()?.clone();