diff --git a/ingestify/domain/models/event/subscriber.py b/ingestify/domain/models/event/subscriber.py index 46287be..5406015 100644 --- a/ingestify/domain/models/event/subscriber.py +++ b/ingestify/domain/models/event/subscriber.py @@ -7,6 +7,7 @@ DatasetCreated, MetadataUpdated, RevisionAdded, + RevisionInvalidated, ) @@ -23,12 +24,16 @@ def on_metadata_updated(self, event: "MetadataUpdated"): def on_revision_added(self, event: "RevisionAdded"): pass + def on_revision_invalidated(self, event: "RevisionInvalidated"): + pass + def handle(self, event: DomainEvent): # TODO: fix the circular dependencies from ingestify.domain.models.dataset.events import ( DatasetCreated, MetadataUpdated, RevisionAdded, + RevisionInvalidated, ) if isinstance(event, DatasetCreated): @@ -37,3 +42,5 @@ def handle(self, event: DomainEvent): self.on_metadata_updated(event) elif isinstance(event, RevisionAdded): self.on_revision_added(event) + elif isinstance(event, RevisionInvalidated): + self.on_revision_invalidated(event) diff --git a/ingestify/infra/event_log/event_log.py b/ingestify/infra/event_log/event_log.py index 800128a..a2be564 100644 --- a/ingestify/infra/event_log/event_log.py +++ b/ingestify/infra/event_log/event_log.py @@ -6,6 +6,7 @@ DatasetCreated, MetadataUpdated, RevisionAdded, + RevisionInvalidated, ) from ingestify.domain.models.event.domain_event import DomainEvent from ingestify.utils import utcnow @@ -18,6 +19,7 @@ "dataset_created": DatasetCreated, "revision_added": RevisionAdded, "metadata_updated": MetadataUpdated, + "revision_invalidated": RevisionInvalidated, } diff --git a/ingestify/infra/event_log/subscriber.py b/ingestify/infra/event_log/subscriber.py index 6eb413d..eac38b5 100644 --- a/ingestify/infra/event_log/subscriber.py +++ b/ingestify/infra/event_log/subscriber.py @@ -42,3 +42,6 @@ def on_metadata_updated(self, event) -> None: def on_revision_added(self, event) -> None: self._write(event) + + def on_revision_invalidated(self, event) -> None: + self._write(event)