Skip to content

Commit 3aab420

Browse files
committed
Improve event timing
1 parent 79b2f7f commit 3aab420

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

backend/infrahub/graphql/mutations/proposed_change.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ async def mutate(
264264
)
265265

266266
async with graphql_context.db.start_session() as db:
267-
await cls._handle_decision(
267+
event = await cls._handle_decision(
268268
db=db,
269269
decision=data.decision,
270270
proposed_change=proposed_change,
@@ -273,6 +273,10 @@ async def mutate(
273273
)
274274
await proposed_change.save(db=db)
275275

276+
if event:
277+
event_service = await get_event_service()
278+
await event_service.send(event=event)
279+
276280
return {"ok": True}
277281

278282
@classmethod
@@ -283,7 +287,7 @@ async def _handle_decision(
283287
proposed_change: CoreProposedChange,
284288
current_user: Node,
285289
context: GraphqlContext,
286-
) -> None:
290+
) -> InfrahubEvent | None:
287291
"""Modify approved_by and rejected_by relationships of the prpoposed change based on the decision."""
288292

289293
approved_by = await proposed_change.approved_by.get_peers(db=db)
@@ -365,9 +369,7 @@ async def _handle_decision(
365369
case _:
366370
raise ValidationError(input_value=f"Invalid decision {decision}")
367371

368-
if event:
369-
event_service = await get_event_service()
370-
await event_service.send(event=event)
372+
return event
371373

372374

373375
class ProposedChangeMergeInput(InputObjectType):

0 commit comments

Comments
 (0)