Run transactions against event stores.
- data TransactionT e m a
- getAggregateRoot :: (Default a, Serialize e, Typeable a, Typeable e, Aggregate a, Eventable a e) => GUID a -> TransactionT e IO (AggregateRef a e, a)
- publishEvent :: (MonadIO m, Serialize e, Typeable a, Typeable e, Aggregate a, Eventable a e, Default a) => AggregateRef a e -> e -> TransactionT e m ()
- runTransactionT :: (Typeable e, Serialize e) => EventStore e -> TransactionT e IO c -> IO c
Documentation
data TransactionT e m a Source
Transaction monad transformer.
MonadTrans (TransactionT e) | |
Monad m => Monad (TransactionT e m) | |
Functor m => Functor (TransactionT e m) |
getAggregateRoot :: (Default a, Serialize e, Typeable a, Typeable e, Aggregate a, Eventable a e) => GUID a -> TransactionT e IO (AggregateRef a e, a)Source
Get aggregate root.
publishEvent :: (MonadIO m, Serialize e, Typeable a, Typeable e, Aggregate a, Eventable a e, Default a) => AggregateRef a e -> e -> TransactionT e m ()Source
Publish event for an aggregate root.
runTransactionT :: (Typeable e, Serialize e) => EventStore e -> TransactionT e IO c -> IO cSource
Run transaction against an event store.