Support persistent-2.14

This commit is contained in:
parsonsmatt 2022-04-13 10:10:35 -06:00
parent d831b9f108
commit 5f71a49c0f

View File

@ -37,6 +37,9 @@ import qualified Database.Persist.Sql as SQL
#if MIN_VERSION_persistent(2,13,0) #if MIN_VERSION_persistent(2,13,0)
import qualified Database.Persist.SqlBackend.Internal as SQL import qualified Database.Persist.SqlBackend.Internal as SQL
#endif #endif
#if MIN_VERSION_persistent(2,14,0)
import Database.Persist.Class.PersistEntity
#endif
unSqlPersistT :: a -> a unSqlPersistT :: a -> a
unSqlPersistT = id unSqlPersistT = id
@ -187,14 +190,21 @@ getBy404 key = do
-- is violated. -- is violated.
-- --
-- @since 1.4.1 -- @since 1.4.1
#if MIN_VERSION_persistent(2,5,0) #if MIN_VERSION_persistent(2,14,0)
insert400 :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend) insert400
=> val :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend, SafeToInsert val)
-> ReaderT backend m (Key val) => val
-> ReaderT backend m (Key val)
#elif MIN_VERSION_persistent(2,5,0)
insert400
:: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend)
=> val
-> ReaderT backend m (Key val)
#else #else
insert400 :: (MonadIO m, PersistUnique (PersistEntityBackend val), PersistEntity val) insert400
=> val :: (MonadIO m, PersistUnique (PersistEntityBackend val), PersistEntity val)
-> ReaderT (PersistEntityBackend val) m (Key val) => val
-> ReaderT (PersistEntityBackend val) m (Key val)
#endif #endif
insert400 datum = do insert400 datum = do
conflict <- checkUnique datum conflict <- checkUnique datum
@ -214,7 +224,12 @@ insert400 datum = do
-- | Same as 'insert400', but doesnt return a key. -- | Same as 'insert400', but doesnt return a key.
-- --
-- @since 1.4.1 -- @since 1.4.1
#if MIN_VERSION_persistent(2,5,0) #if MIN_VERSION_persistent(2,14,0)
insert400_ :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend, SafeToInsert val)
=> val
-> ReaderT backend m ()
#elif MIN_VERSION_persistent(2,5,0)
insert400_ :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend) insert400_ :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend)
=> val => val
-> ReaderT backend m () -> ReaderT backend m ()