message_flow/sagas/orchestration/saga_instance_repository.py (13 lines of code) (raw):
import abc
from .saga_instance import SagaInstance
__all__ = ["ISagaInstanceRepository"]
class ISagaInstanceRepository(abc.ABC):
@abc.abstractmethod
def save(self, saga_instance: SagaInstance) -> SagaInstance:
...
@abc.abstractmethod
def find(self, saga_id: str) -> SagaInstance:
...
@abc.abstractmethod
def update(self, saga_instance: SagaInstance) -> SagaInstance:
...