Skip to content

Commit 1f988ab

Browse files
committed
Add fields in graphql response for pc events
1 parent 2dc7a59 commit 1f988ab

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

backend/infrahub/graphql/types/event.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,27 @@ class Meta:
113113
payload = Field(GenericScalar, required=True)
114114

115115

116+
# ---------------------------------------
117+
# Proposed change events
118+
# ---------------------------------------
119+
class ProposedChangeReviewEvent(ObjectType):
120+
class Meta:
121+
interfaces = (EventNodeInterface,)
122+
123+
reviewer_account_id = String(required=True, description="The ID of the user who reviewed the proposed change")
124+
reviewer_account_name = String(required=True, description="The name of the user who reviewed the proposed change")
125+
reviewer_decision = String(required=True, description="The decision made by the reviewer")
126+
127+
128+
class ProposedChangeReviewRevokedEvent(ObjectType):
129+
class Meta:
130+
interfaces = (EventNodeInterface,)
131+
132+
reviewer_account_id = String(required=True, description="The ID of the user who reviewed the proposed change")
133+
reviewer_account_name = String(required=True, description="The name of the user who reviewed the proposed change")
134+
reviewer_former_decision = String(required=True, description="The decision made by the reviewer")
135+
136+
116137
# ---------------------------------------
117138
# Node/Object events
118139
# ---------------------------------------
@@ -163,5 +184,9 @@ class Meta:
163184
events.BranchDeletedEvent.event_name: BranchDeletedEvent,
164185
events.GroupMemberAddedEvent.event_name: GroupEvent,
165186
events.GroupMemberRemovedEvent.event_name: GroupEvent,
187+
events.ProposedChangeApprovedEvent.event_name: ProposedChangeReviewEvent,
188+
events.ProposedChangeApprovalRevokedEvent.event_name: ProposedChangeReviewRevokedEvent,
189+
events.ProposedChangeRejectedEvent.event_name: ProposedChangeReviewEvent,
190+
events.ProposedChangeRejectionRevokedEvent.event_name: ProposedChangeReviewRevokedEvent,
166191
"undefined": StandardEvent,
167192
}

backend/infrahub/task_manager/event.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,18 @@ def _return_group_event(self) -> dict[str, Any]:
172172

173173
return {"members": members, "ancestors": ancestors}
174174

175+
def _return_proposed_change_reviewer(self) -> dict[str, Any]:
176+
return {
177+
"reviewer_account_id": self.resource.get("infrahub.proposed_change.reviewer_account_id"),
178+
"reviewer_account_name": self.resource.get("infrahub.proposed_change.reviewer_account_name"),
179+
}
180+
181+
def _return_proposed_change_reviewer_decision(self) -> dict[str, Any]:
182+
return {"reviewer_decision": self.resource.get("infrahub.proposed_change.reviewer_decision")}
183+
184+
def _return_proposed_change_reviewer_former_decision(self) -> dict[str, Any]:
185+
return {"reviewer_former_decision": self.resource.get("infrahub.proposed_change.reviewer_former_decision")}
186+
175187
def _return_event_specifics(self) -> dict[str, Any]:
176188
"""Return event specific data based on the type of event being processed"""
177189

@@ -192,6 +204,16 @@ def _return_event_specifics(self) -> dict[str, Any]:
192204
event_specifics = self._return_branch_rebased()
193205
case "infrahub.group.member_added" | "infrahub.group.member_removed":
194206
event_specifics = self._return_group_event()
207+
case "infrahub.proposed_change.approved" | "infrahub.proposed_change.rejected":
208+
event_specifics = {
209+
**self._return_proposed_change_reviewer(),
210+
**self._return_proposed_change_reviewer_decision(),
211+
}
212+
case "infrahub.proposed_change.approval_revoked" | "infrahub.proposed_change.rejection_revoked":
213+
event_specifics = {
214+
**self._return_proposed_change_reviewer(),
215+
**self._return_proposed_change_reviewer_former_decision(),
216+
}
195217

196218
return event_specifics
197219

0 commit comments

Comments
 (0)