From cc8dfa634144186d1fd4f8a6a8efd2e1662df2e0 Mon Sep 17 00:00:00 2001 From: Kevin Glisson Date: Wed, 13 Sep 2023 09:56:43 -0700 Subject: [PATCH] clean pr --- src/dispatch/signal/flows.py | 4 ++++ src/dispatch/signal/models.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/dispatch/signal/flows.py b/src/dispatch/signal/flows.py index 373ec4efa85f..680d10a75ed8 100644 --- a/src/dispatch/signal/flows.py +++ b/src/dispatch/signal/flows.py @@ -90,6 +90,10 @@ def signal_instance_create_flow( ) return signal_instance + # limited support for canary signals, just store the instance and return + if signal_instance.canary: + return signal_instance + if not signal_instance.signal.create_case: return signal_instance diff --git a/src/dispatch/signal/models.py b/src/dispatch/signal/models.py index 23dfd127e490..d35154a8c325 100644 --- a/src/dispatch/signal/models.py +++ b/src/dispatch/signal/models.py @@ -231,6 +231,7 @@ class SignalInstance(Base, TimeStampMixin, ProjectMixin): case_priority = relationship("CasePriority", backref="signal_instances") fingerprint = Column(String) filter_action = Column(String) + canary = Column(Boolean, default=False) raw = Column(JSONB) signal = relationship("Signal", backref="instances") signal_id = Column(Integer, ForeignKey("signal.id")) @@ -364,6 +365,7 @@ class AdditionalMetadata(DispatchBase): class SignalInstanceBase(DispatchBase): project: ProjectRead case: Optional[CaseReadMinimal] + canary: Optional[bool] = False entities: Optional[List[EntityRead]] = [] raw: dict[str, Any] filter_action: SignalFilterAction = None