packages feed

apiary-persistent 0.16.0 → 0.17.0

raw patch · 2 files changed

+28/−30 lines, 2 filesdep +persistent-sqlitedep ~apiarydep ~apiary-loggerPVP ok

version bump matches the API change (PVP)

Dependencies added: persistent-sqlite

Dependency ranges changed: apiary, apiary-logger

API changes (from Hackage documentation)

- Web.Apiary.Database.Persist: initPersist :: (MonadIO m, MonadBaseControl IO m, Has Logger exts) => With Connection (LogWrapper exts m) -> Migration -> Initializer exts m (Persist : exts)
+ Web.Apiary.Database.Persist: initPersist :: (MonadIO m, MonadBaseControl IO m) => With Connection (LogWrapper exts m) -> Migration -> Initializer m exts (Persist : exts)
- Web.Apiary.Database.Persist: initPersist' :: (MonadIO n, MonadBaseControl IO n) => (forall a. Extensions exts -> n a -> m a) -> With Connection n -> Migrator -> Initializer exts m (Persist : exts)
+ Web.Apiary.Database.Persist: initPersist' :: (MonadIO n, MonadBaseControl IO n) => (forall a. m a -> n a) -> (forall a. Extensions exts -> n a -> m a) -> With Connection n -> Migrator -> Initializer m exts (Persist : exts)
- Web.Apiary.Database.Persist: initPersistNoLog :: (MonadIO m, MonadBaseControl IO m) => With Connection (NoLoggingT m) -> Migration -> Initializer es m (Persist : es)
+ Web.Apiary.Database.Persist: initPersistNoLog :: (MonadIO m, MonadBaseControl IO m) => With Connection (NoLoggingT m) -> Migration -> Initializer m es (Persist : es)
- Web.Apiary.Database.Persist: initPersistPool :: (MonadIO m, MonadBaseControl IO m, Has Logger exts) => With ConnectionPool (LogWrapper exts m) -> Migration -> Initializer exts m (Persist : exts)
+ Web.Apiary.Database.Persist: initPersistPool :: (MonadIO m, MonadBaseControl IO m) => With ConnectionPool (LogWrapper exts m) -> Migration -> Initializer m exts (Persist : exts)
- Web.Apiary.Database.Persist: initPersistPool' :: (MonadIO n, MonadBaseControl IO n) => (forall a. Extensions exts -> n a -> m a) -> With ConnectionPool n -> Migrator -> Initializer exts m (Persist : exts)
+ Web.Apiary.Database.Persist: initPersistPool' :: (MonadIO n, MonadBaseControl IO n) => (forall a. m a -> n a) -> (forall a. Extensions exts -> n a -> m a) -> With ConnectionPool n -> Migrator -> Initializer m exts (Persist : exts)
- Web.Apiary.Database.Persist: initPersistPoolNoLog :: (MonadIO m, MonadBaseControl IO m) => With ConnectionPool (NoLoggingT m) -> Migration -> Initializer exts m (Persist : exts)
+ Web.Apiary.Database.Persist: initPersistPoolNoLog :: (MonadIO m, MonadBaseControl IO m) => With ConnectionPool (NoLoggingT m) -> Migration -> Initializer m es (Persist : es)

Files

apiary-persistent.cabal view
@@ -1,5 +1,5 @@ name:                apiary-persistent-version:             0.16.0+version:             0.17.0 synopsis:            persistent support for apiary web framework. description:   example: <https://github.com/philopon/apiary/blob/master/examples/persistent.hs>@@ -21,8 +21,8 @@   build-depends:       base               >=4.6  && <4.8                      , persistent         >=2.0  && <2.1 -                     , apiary             >=0.16 && <0.17-                     , apiary-logger      >=0.16 && <0.17+                     , apiary             >=0.17 && <0.18+                     , apiary-logger      >=0.17 && <0.18                       , resourcet          >=1.1  && <1.2                      , resource-pool      >=0.2  && <0.3@@ -31,6 +31,7 @@                      , transformers       >=0.2  && <0.5                      , transformers-base  >=0.4  && <0.5                      , monad-control      >=0.3  && <0.4+                     , persistent-sqlite   hs-source-dirs:      src   ghc-options:         -O2 -Wall   default-language:    Haskell2010
src/Web/Apiary/Database/Persist.hs view
@@ -10,6 +10,7 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE ScopedTypeVariables #-}  module Web.Apiary.Database.Persist     ( Persist@@ -54,15 +55,13 @@  type With c m = forall a. (c -> m a) -> m a -initPersist' :: (MonadIO n, MonadBaseControl IO n)-             => (forall a. Extensions exts -> n a -> m a)-             -> With Connection n-             -> Migrator-             -> Initializer exts m (Persist ': exts)-initPersist' run with migr = Initializer $ \e ->-    run e $ with $ \conn -> do+initPersist' :: (MonadIO n, MonadBaseControl IO n) +             => (forall a. m a -> n a) -> (forall a. Extensions exts -> n a -> m a)+             -> With Connection n -> Migrator -> Initializer m exts (Persist ': exts)+initPersist' wrap run with migr = Initializer $ \es m -> run es $+    with $ \conn -> do         doMigration migr conn-        return $ addExtension (PersistConn conn) e+        wrap $ m (addExtension (PersistConn conn) es)  -- | construct persist extension initializer with no connection pool. --@@ -71,35 +70,33 @@ -- @ -- initPersist (withSqliteConn "db.sqlite") migrateAll -- @-initPersist :: (MonadIO m, MonadBaseControl IO m, Has Logger exts)+initPersist :: (MonadIO m, MonadBaseControl IO m)              => With Connection (LogWrapper exts m) -> Migration-            -> Initializer exts m (Persist ': exts)-initPersist w = initPersist' runLogWrapper w . Logging+            -> Initializer m exts (Persist ': exts)+initPersist with = initPersist' logWrapper runLogWrapper with . Logging -initPersistNoLog :: (MonadIO m, MonadBaseControl IO m)+initPersistNoLog :: (MonadIO m, MonadBaseControl IO m)                   => With Connection (NoLoggingT m)-                 -> Migration -> Initializer es m (Persist ': es)-initPersistNoLog w = initPersist' (const runNoLoggingT) w . Silent+                 -> Migration -> Initializer m es (Persist ': es)+initPersistNoLog with = initPersist' NoLoggingT (const runNoLoggingT) with . Silent  initPersistPool' :: (MonadIO n, MonadBaseControl IO n)-                 => (forall a. Extensions exts -> n a -> m a)-                 -> With ConnectionPool n-                 -> Migrator-                 -> Initializer exts m (Persist ': exts)-initPersistPool' run with migr = Initializer $ \e ->-    run e $ with $ \pool -> do+                 => (forall a. m a -> n a) -> (forall a. Extensions exts -> n a -> m a)+                 -> With ConnectionPool n -> Migrator -> Initializer m exts (Persist ': exts)+initPersistPool' wrap run with migr = Initializer $ \es m -> run es $+    with $ \pool -> do         withResource pool $ doMigration migr-        return $ addExtension (PersistPool pool) e+        wrap $ m (addExtension (PersistPool pool) es) -initPersistPool :: (MonadIO m, MonadBaseControl IO m, Has Logger exts)+initPersistPool :: (MonadIO m, MonadBaseControl IO m)                 => With ConnectionPool (LogWrapper exts m) -> Migration-                -> Initializer exts m (Persist ': exts)-initPersistPool w = initPersistPool' runLogWrapper w . Logging+                -> Initializer m exts (Persist ': exts)+initPersistPool with = initPersistPool' logWrapper runLogWrapper with . Logging  initPersistPoolNoLog :: (MonadIO m, MonadBaseControl IO m)-                     => With ConnectionPool (NoLoggingT m) -> Migration-                     -> Initializer exts m (Persist ': exts)-initPersistPoolNoLog w = initPersistPool' (const runNoLoggingT) w . Silent+                     => With ConnectionPool (NoLoggingT m)+                     -> Migration -> Initializer m es (Persist ': es)+initPersistPoolNoLog with = initPersistPool' NoLoggingT (const runNoLoggingT) with . Silent  doMigration :: (MonadIO m, MonadBaseControl IO m) => Migrator -> Connection -> m () doMigration migr conn = case migr of