From d526658c7b1a07050503183822ca36712a591c01 Mon Sep 17 00:00:00 2001 From: Jason Whittle Date: Mon, 12 Dec 2016 08:18:25 -0500 Subject: [PATCH] Implement the changes requested by @snoyberg. --- yesod-persistent/Yesod/Persist/Core.hs | 26 ++++++++++++++++++++----- yesod-persistent/yesod-persistent.cabal | 2 +- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/yesod-persistent/Yesod/Persist/Core.hs b/yesod-persistent/Yesod/Persist/Core.hs index 3f8d6612..b7cfefce 100644 --- a/yesod-persistent/Yesod/Persist/Core.hs +++ b/yesod-persistent/Yesod/Persist/Core.hs @@ -168,9 +168,17 @@ getBy404 key = do -- | Create a new record in the database, returning an automatically -- created key, or raise a 400 bad request if a uniqueness constraint -- is violated. -insert400 :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend record backend) - => record - -> ReaderT backend m (Key record) +-- +-- @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) +#else +insert400 :: (MonadIO m, PersistUniqueWrite (PersistEntityBackend val), PersistEntity val) + => val + -> ReaderT (PersistEntityBackend val) m (Key val) +#endif insert400 datum = do conflict <- checkUnique datum case conflict of @@ -179,9 +187,17 @@ insert400 datum = do Nothing -> insert datum -- | Same as 'insert400', but doesn’t return a key. -insert400_ :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend record backend) - => record +-- +-- @since 1.4.1 +#if MIN_VERSION_persistent(2,5,0) +insert400_ :: (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend) + => val -> ReaderT backend m () +#else +insert400_ :: (MonadIO m, PersistUniqueWrite (PersistEntityBackend val), PersistEntity val) + => val + -> ReaderT (PersistEntityBackend val) m () +#endif insert400_ datum = insert400 datum >> return () -- | Should be equivalent to @lift . notFound@, but there's an apparent bug in diff --git a/yesod-persistent/yesod-persistent.cabal b/yesod-persistent/yesod-persistent.cabal index 4f9cc850..dd5eafc9 100644 --- a/yesod-persistent/yesod-persistent.cabal +++ b/yesod-persistent/yesod-persistent.cabal @@ -1,5 +1,5 @@ name: yesod-persistent -version: 1.4.0.6 +version: 1.4.1.0 license: MIT license-file: LICENSE author: Michael Snoyman