message_flow/sagas/orchestration/saga_instance.py (24 lines of code) (raw):

from .serialized_saga_data import SerializedSagaData __all__ = ["SagaInstance"] class SagaInstance: def __init__( self, saga_type: str, saga_id: str, state_name: str, last_request_id: str, serialized_saga_data: SerializedSagaData, end_state: bool = False, compensating: bool = False, failed: bool = False, ) -> None: self.saga_type = saga_type self.saga_id = saga_id self.state_name = state_name self.last_request_id = last_request_id self.serialized_saga_data = serialized_saga_data self.end_state = end_state self.compensating = compensating self.failed = failed def __eq__(self, other: object) -> bool: return isinstance(other, SagaInstance) and self.saga_id == other.saga_id