2323 REMOVE_ADD_NODE_FROM_GROUP ,
2424)
2525
26- from .constants import BranchScope , ValueMatch
26+ from .constants import BranchScope , MemberAction , MemberUpdate , RelationshipMatch , ValueMatch
2727
2828
2929class EventGroupMember (BaseModel ):
@@ -40,7 +40,7 @@ class CoreGeneratorAction(CoreAction):
4040
4141
4242class CoreGroupAction (CoreAction ):
43- add_members : bool
43+ member_action : MemberAction
4444 group_id : str
4545
4646
@@ -52,7 +52,7 @@ class CoreTriggerRule(BaseModel):
5252
5353
5454class CoreGroupTriggerRule (CoreTriggerRule ):
55- members_added : bool
55+ member_update : MemberUpdate
5656 group_id : str
5757 group_kind : str
5858
@@ -70,7 +70,7 @@ class CoreNodeTriggerAttributeMatch(CoreNodeTriggerMatch):
7070
7171class CoreNodeTriggerRelationshipMatch (CoreNodeTriggerMatch ):
7272 relationship_name : str
73- added : bool
73+ modification_type : RelationshipMatch
7474 peer : str | None
7575
7676
@@ -135,14 +135,16 @@ def _from_node_trigger(
135135 match_related ["infrahub.attribute.value_previous" ] = match .value_previous or ""
136136
137137 elif isinstance (match , CoreNodeTriggerRelationshipMatch ):
138- peer_status = "added" if match .added else "removed"
139138 match_related = {
140139 "prefect.resource.role" : "infrahub.node.relationship_update" ,
141140 "infrahub.field.name" : match .relationship_name ,
142- "infrahub.relationship.peer_status" : peer_status ,
143141 }
144142 if isinstance (match .peer , str ):
145143 match_related ["infrahub.relationship.peer_id" ] = match .peer
144+
145+ if match .modification_type != RelationshipMatch .UPDATED :
146+ match_related ["infrahub.relationship.peer_status" ] = match .modification_type .value .name
147+
146148 related_matches .append (match_related )
147149
148150 event_trigger .match_related = related_matches or {}
@@ -164,7 +166,7 @@ def _from_node_trigger(
164166 },
165167 )
166168 elif isinstance (trigger_rule .action , CoreGroupAction ):
167- if trigger_rule .action .add_members :
169+ if trigger_rule .action .member_action == MemberAction . ADD_MEMBER :
168170 flow = ACTION_ADD_NODE_TO_GROUP
169171 else :
170172 flow = REMOVE_ADD_NODE_FROM_GROUP
@@ -198,7 +200,7 @@ def _from_group_trigger(
198200 ) -> Self :
199201 event_trigger = EventTrigger ()
200202
201- if trigger_rule .members_added :
203+ if trigger_rule .member_update == MemberUpdate . ADDED :
202204 event_trigger .events .add (GroupMemberAddedEvent .event_name )
203205 else :
204206 event_trigger .events .add (GroupMemberRemovedEvent .event_name )
0 commit comments