From d699d2ecd0ec90aeb513b06b657d2db5c0e493a1 Mon Sep 17 00:00:00 2001 From: "giannis.tsepas" Date: Thu, 30 Jan 2025 11:56:48 +0200 Subject: [PATCH] fixed result/mapping and other minor --- .../src/logic/profile_update.rs | 30 +++++++++++-------- .../security_structure_metadata.rs | 5 ++-- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/crates/profile/logic/logic_SPLIT_ME/src/logic/profile_update.rs b/crates/profile/logic/logic_SPLIT_ME/src/logic/profile_update.rs index e26fc33b0..8584ac931 100644 --- a/crates/profile/logic/logic_SPLIT_ME/src/logic/profile_update.rs +++ b/crates/profile/logic/logic_SPLIT_ME/src/logic/profile_update.rs @@ -342,39 +342,43 @@ pub trait ProfileSecurityStructuresUpdating { fn update_security_structure_remove_flag_default( &mut self, shield_id: &SecurityStructureID, - ) -> Result; + ) -> Result<()>; fn update_security_structure_add_flag_default( &mut self, shield_id: &SecurityStructureID, - ) -> Result; + ) -> Result<()>; } impl ProfileSecurityStructuresUpdating for Profile { fn update_security_structure_remove_flag_default( &mut self, shield_id: &SecurityStructureID, - ) -> Result { - Ok(self - .app_preferences + ) -> Result<()> { + self.app_preferences .security .security_structures_of_factor_source_ids - .update_with(shield_id, |s| { + .try_update_with(shield_id, |s| { s.metadata.remove_flag(SecurityStructureFlag::Default) - })) + }) + .map_err(|_| CommonError::InvalidSecurityStructureID { + bad_value: shield_id.to_string(), + }) } fn update_security_structure_add_flag_default( &mut self, shield_id: &SecurityStructureID, - ) -> Result { - Ok(self - .app_preferences + ) -> Result<()> { + self.app_preferences .security .security_structures_of_factor_source_ids - .update_with(shield_id, |s| { - s.metadata.set_flag(SecurityStructureFlag::Default) - })) + .try_update_with(shield_id, |s| { + s.metadata.insert_flag(SecurityStructureFlag::Default) + }) + .map_err(|_| CommonError::InvalidSecurityStructureID { + bad_value: shield_id.to_string(), + }) } } diff --git a/crates/profile/models/security-structures/src/roles_matrices_structures/security_structure_metadata.rs b/crates/profile/models/security-structures/src/roles_matrices_structures/security_structure_metadata.rs index 91a205cc0..f40e21761 100644 --- a/crates/profile/models/security-structures/src/roles_matrices_structures/security_structure_metadata.rs +++ b/crates/profile/models/security-structures/src/roles_matrices_structures/security_structure_metadata.rs @@ -53,13 +53,12 @@ impl SecurityStructureMetadata { ) } - pub fn set_flag(&mut self, flag: SecurityStructureFlag) { + pub fn insert_flag(&mut self, flag: SecurityStructureFlag) { self.flags.insert(flag); } pub fn remove_flag(&mut self, flag: SecurityStructureFlag) { - let result = self.flags.remove_id(&flag.id()); - println!("flag removed: {:?}", result) + self.flags.remove_id(&flag.id()); } pub fn is_default(&self) -> bool {