fix: show RDG flap badge on 302 and 303 events in SAC UI (0.20.5)

Seaca surfaced flap via Problems; the web UI only flagged 303 in DB and had
no visible label. Resolve flap pairs at read time and show badge plus qwinsta
on both sides of 302→303.
This commit is contained in:
2026-06-20 17:27:41 +10:00
parent a35e50ccd1
commit 01d72d0f68
15 changed files with 249 additions and 17 deletions
+15 -3
View File
@@ -1,11 +1,21 @@
from sqlalchemy.orm import Session
from app.models.event import Event
from app.schemas.list_models import EventSummary
from app.services.event_actor_user import extract_event_actor_user
from app.services.rdg_session_flap import event_has_rdg_flap
from app.services.rdg_session_flap import resolve_rdg_flap_summary
def event_to_summary(event: Event) -> EventSummary:
def event_to_summary(event: Event, db: Session | None = None) -> EventSummary:
host = event.host
rdg_flap = False
rdg_flap_pair_event_id: int | None = None
rdg_flap_qwinsta_event_id: int | None = None
if db is not None:
rdg_flap, rdg_flap_pair_event_id, rdg_flap_qwinsta_event_id = resolve_rdg_flap_summary(
db, event
)
return EventSummary(
id=event.id,
event_id=event.event_id,
@@ -21,5 +31,7 @@ def event_to_summary(event: Event) -> EventSummary:
title=event.title,
summary=event.summary,
actor_user=extract_event_actor_user(event.type, event.details),
rdg_flap=event_has_rdg_flap(event),
rdg_flap=rdg_flap,
rdg_flap_pair_event_id=rdg_flap_pair_event_id,
rdg_flap_qwinsta_event_id=rdg_flap_qwinsta_event_id,
)