eventium-sql-common-0.1.0: Common library for SQL event stores
Safe HaskellNone
LanguageHaskell2010

Eventium.Store.Sql.Operations

Synopsis

Documentation

sqlEventStoreReader :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> VersionedEventStoreReader (SqlPersistT m) serialized Source #

sqlGlobalEventStoreReader :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> GlobalEventStoreReader (SqlPersistT m) serialized Source #

sqlGetProjectionIds :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> SqlPersistT m [UUID] Source #

sqlGetStreamEvents :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> QueryRange UUID EventVersion -> SqlPersistT m [VersionedStreamEvent serialized] Source #

sqlMaxEventVersion :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> (FieldNameDB -> FieldNameDB -> FieldNameDB -> Text) -> UUID -> SqlPersistT m EventVersion Source #

sqlStoreEvents :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend, SafeToInsert entity) => SqlEventStoreConfig entity serialized -> Maybe (Text -> Text) -> (FieldNameDB -> FieldNameDB -> FieldNameDB -> Text) -> UUID -> [serialized] -> SqlPersistT m EventVersion Source #

unsafeSqlStoreGlobalStreamEvents :: forall (m :: Type -> Type) entity serialized. (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> [GlobalStreamEvent serialized] -> SqlPersistT m () Source #

Useful if you have some GlobalStreamEvents and you want to shove them in a SQL event store. This can happen when you are moving events between event stores, or you somehow generate the events outside of the current SQL event store.