def create()

in message_flow/sagas/orchestration/saga_manager_impl.py [0:0]


    def create(self, saga_data: Data) -> SagaInstance:
        saga_instance = SagaInstance(
            self._saga_type,
            "None",
            "????",
            "None",
            SagaDataSerde.serialize_saga_data(saga_data),
        )

        saga_instance = self._saga_instance_repository.save(saga_instance)

        saga_id = saga_instance.saga_id

        self._saga.on_starting(saga_instance.saga_id, saga_data)

        actions: SagaActions[Data] = self._state_definition.start(saga_data)

        if actions.local_exception is not None:
            raise actions.local_exception

        self._process_actions(
            self._saga.saga_type, saga_id, saga_instance, saga_data, actions
        )

        return saga_instance