From 5f71a49c0fdbc227660a1667b09c517d7ac71f55 Mon Sep 17 00:00:00 2001 From: parsonsmatt Date: Wed, 13 Apr 2022 10:10:35 -0600 Subject: [PATCH] Support persistent-2.14 --- yesod-persistent/Yesod/Persist/Core.hs | 31 +++++++++++++++++++------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/yesod-persistent/Yesod/Persist/Core.hs b/yesod-persistent/Yesod/Persist/Core.hs index 6a671ca7..79acd444 100644 --- a/yesod-persistent/Yesod/Persist/Core.hs +++ b/yesod-persistent/Yesod/Persist/Core.hs @@ -37,6 +37,9 @@ import qualified Database.Persist.Sql as SQL #if MIN_VERSION_persistent(2,13,0) import qualified Database.Persist.SqlBackend.Internal as SQL #endif +#if MIN_VERSION_persistent(2,14,0) +import Database.Persist.Class.PersistEntity +#endif unSqlPersistT :: a -> a unSqlPersistT = id @@ -187,14 +190,21 @@ getBy404 key = do -- is violated. -- -- @since 1.4.1 -#if MIN_VERSION_persistent(2,5,0) -insert400 :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend) - => val - -> ReaderT backend m (Key val) +#if MIN_VERSION_persistent(2,14,0) +insert400 + :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend, SafeToInsert 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 -insert400 :: (MonadIO m, PersistUnique (PersistEntityBackend val), PersistEntity val) - => val - -> ReaderT (PersistEntityBackend val) m (Key val) +insert400 + :: (MonadIO m, PersistUnique (PersistEntityBackend val), PersistEntity val) + => val + -> ReaderT (PersistEntityBackend val) m (Key val) #endif insert400 datum = do conflict <- checkUnique datum @@ -214,7 +224,12 @@ insert400 datum = do -- | Same as 'insert400', but doesn’t return a key. -- -- @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) => val -> ReaderT backend m ()