From e2d8e0eb774332063bbce6264812c0ab0f5ef15c Mon Sep 17 00:00:00 2001 From: Sosthene Date: Fri, 29 Nov 2024 09:51:10 +0100 Subject: [PATCH] Add RoleDefinition is_member_validation_needed() --- src/pcd.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/pcd.rs b/src/pcd.rs index babeb31..2cb1cff 100644 --- a/src/pcd.rs +++ b/src/pcd.rs @@ -430,6 +430,20 @@ impl RoleDefinition { .filter(|rule| rule.fields.contains(&field.to_string())) .collect() } + + pub fn is_member_validation_needed(&self, member: Member, modified_fields: Vec) -> bool { + if !self.members.iter().any(|m| *m == member) { + return false; + } + + for field in modified_fields { + if !self.get_applicable_rules(&field).is_empty() { + return true; + } + } + + false + } } pub fn compare_maps(map1: &Map, map2: &Map) -> bool {