Data.CQRS.Transaction
Description
Run transactions against event stores.
- data TransactionT m a
- runTransactionT :: EventStore -> TransactionT IO a -> IO a
- publishEvent :: (MonadIO m, Event e a) => AggregateRef a e -> e -> TransactionT m ()
- getAggregateRoot :: (Default a, Binary e, Event e a, Typeable a, Typeable e) => GUID a -> TransactionT IO (AggregateRef a e, a)
Documentation
data TransactionT m a Source
Transaction monad transformer.
Instances
| MonadTrans TransactionT | |
| Monad m => Monad (TransactionT m) | |
| Functor m => Functor (TransactionT m) |
runTransactionT :: EventStore -> TransactionT IO a -> IO aSource
Run transaction against an event store.
publishEvent :: (MonadIO m, Event e a) => AggregateRef a e -> e -> TransactionT m ()Source
Publish event for an aggregate root.
getAggregateRoot :: (Default a, Binary e, Event e a, Typeable a, Typeable e) => GUID a -> TransactionT IO (AggregateRef a e, a)Source
Get aggregate root.