-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Common library for SQL event stores -- -- Common library for SQL event stores @package eventful-sql-common @version 0.1.3 module Eventful.Store.Sql.Orphans instance Database.Persist.Class.PersistField.PersistField Data.UUID.Types.Internal.UUID instance Database.Persist.Sql.Class.PersistFieldSql Data.UUID.Types.Internal.UUID instance Database.Persist.Class.PersistField.PersistField Eventful.Store.Class.EventVersion instance Database.Persist.Sql.Class.PersistFieldSql Eventful.Store.Class.EventVersion instance Database.Persist.Class.PersistField.PersistField Eventful.Store.Class.SequenceNumber instance Database.Persist.Sql.Class.PersistFieldSql Eventful.Store.Class.SequenceNumber module Eventful.Store.Sql.Operations data SqlEventStoreConfig entity serialized SqlEventStoreConfig :: (UUID -> EventVersion -> serialized -> entity) -> (SequenceNumber -> Key entity) -> (Key entity -> SequenceNumber) -> (entity -> UUID) -> (entity -> EventVersion) -> (entity -> serialized) -> EntityField entity (Key entity) -> EntityField entity UUID -> EntityField entity EventVersion -> EntityField entity serialized -> SqlEventStoreConfig entity serialized [sqlEventStoreConfigSequenceMakeEntity] :: SqlEventStoreConfig entity serialized -> UUID -> EventVersion -> serialized -> entity [sqlEventStoreConfigMakeKey] :: SqlEventStoreConfig entity serialized -> SequenceNumber -> Key entity [sqlEventStoreConfigUnKey] :: SqlEventStoreConfig entity serialized -> Key entity -> SequenceNumber [sqlEventStoreConfigUUID] :: SqlEventStoreConfig entity serialized -> entity -> UUID [sqlEventStoreConfigVersion] :: SqlEventStoreConfig entity serialized -> entity -> EventVersion [sqlEventStoreConfigData] :: SqlEventStoreConfig entity serialized -> entity -> serialized [sqlEventStoreConfigSequenceNumberField] :: SqlEventStoreConfig entity serialized -> EntityField entity (Key entity) [sqlEventStoreConfigUUIDField] :: SqlEventStoreConfig entity serialized -> EntityField entity UUID [sqlEventStoreConfigVersionField] :: SqlEventStoreConfig entity serialized -> EntityField entity EventVersion [sqlEventStoreConfigDataField] :: SqlEventStoreConfig entity serialized -> EntityField entity serialized sqlGloballyOrderedEventStore :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> GloballyOrderedEventStore serialized (SqlPersistT m) sqlGetProjectionIds :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> SqlPersistT m [UUID] sqlGetAggregateEvents :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> UUID -> EventStoreQueryRange EventVersion -> SqlPersistT m [StoredEvent serialized] sqlMaxEventVersion :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> (DBName -> DBName -> DBName -> Text) -> UUID -> SqlPersistT m EventVersion sqlStoreEvents :: (MonadIO m, PersistEntity entity, PersistEntityBackend entity ~ SqlBackend) => SqlEventStoreConfig entity serialized -> Maybe (Text -> Text) -> (DBName -> DBName -> DBName -> Text) -> UUID -> [serialized] -> SqlPersistT m () module Eventful.Store.Sql.JSONString -- | A more specific type than just ByteString for JSON data. data JSONString jsonStringSerializer :: (ToJSON a, FromJSON a) => Serializer a JSONString instance Database.Persist.Class.PersistField.PersistField Eventful.Store.Sql.JSONString.JSONString instance GHC.Classes.Eq Eventful.Store.Sql.JSONString.JSONString instance Database.Persist.Sql.Class.PersistFieldSql Eventful.Store.Sql.JSONString.JSONString instance GHC.Show.Show Eventful.Store.Sql.JSONString.JSONString -- | Definition for a default Entity to use with a SQL event store. module Eventful.Store.Sql.DefaultEntity data SqlEvent SqlEvent :: !UUID -> !EventVersion -> !JSONString -> SqlEvent [sqlEventUuid] :: SqlEvent -> !UUID [sqlEventVersion] :: SqlEvent -> !EventVersion [sqlEventEvent] :: SqlEvent -> !JSONString type SqlEventId = Key SqlEvent migrateSqlEvent :: Migration defaultSqlEventStoreConfig :: SqlEventStoreConfig SqlEvent JSONString instance GHC.Show.Show Eventful.Store.Sql.DefaultEntity.SqlEvent instance Data.Aeson.Types.FromJSON.FromJSON (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Data.Aeson.Types.ToJSON.ToJSON (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Database.Persist.Sql.Class.PersistFieldSql (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Database.Persist.Class.PersistField.PersistField (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Web.Internal.HttpApiData.FromHttpApiData (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Web.Internal.HttpApiData.ToHttpApiData (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Web.PathPieces.PathPiece (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance GHC.Classes.Ord (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance GHC.Classes.Eq (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance GHC.Read.Read (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance GHC.Show.Show (Database.Persist.Class.PersistEntity.Key Eventful.Store.Sql.DefaultEntity.SqlEvent) instance Database.Persist.Class.PersistField.PersistField Eventful.Store.Sql.DefaultEntity.SqlEvent instance Database.Persist.Sql.Class.PersistFieldSql Eventful.Store.Sql.DefaultEntity.SqlEvent instance Database.Persist.Class.PersistEntity.PersistEntity Eventful.Store.Sql.DefaultEntity.SqlEvent module Eventful.Store.Sql