packages feed

yam-datasource 0.5.2 → 0.5.3

raw patch · 2 files changed

+55/−40 lines, 2 filesdep ~conduitdep ~persistentdep ~resource-pool

Dependency ranges changed: conduit, persistent, resource-pool, resourcet, unliftio-core, yam

Files

src/Yam/DataSource.hs view
@@ -1,6 +1,6 @@ module Yam.DataSource(   -- * DataSource Types-    DataSourceProvider+    DataSourceProvider(..)   , DataSource   , DB   -- * Primary DataSource Functions@@ -30,7 +30,11 @@ dataSourceKey :: Key DataSource dataSourceKey = unsafePerformIO newKey -type DataSourceProvider = LoggingT IO DataSource+data DataSourceProvider = DataSourceProvider+  { datasource :: LoggingT IO DataSource+  , migration  :: DB (LoggingT IO) ()+  , dbtype     :: Text+  } -- SqlPersistT ~ ReaderT SqlBackend type DB = SqlPersistT @@ -60,12 +64,18 @@  {-# INLINE runInDB #-} runInDB :: LogFunc -> DataSourceProvider -> (DataSource -> IO a) -> IO a-runInDB logfunc f g = bracket (runLoggingT f logfunc) destroyAllResources g+runInDB logfunc DataSourceProvider{..} action =+  bracket (runLoggingT datasource logfunc) destroyAllResources $ \ds -> do+    runLoggingT (runDB ds migration) logfunc+    action ds  datasourceMiddleware :: Key DataSource -> DataSourceProvider -> AppMiddleware datasourceMiddleware k dsp = AppMiddleware $ \env f -> do   lf <- askLoggerIO-  logInfo "Datasource Initialized..."-  liftIO $ runInDB lf dsp $ \ds -> runLoggingT (f (setAttr k ds env, id)) lf+  logInfo $ "Datasource " <> dbtype dsp <> " Initialized..."+  liftIO  $ runInDB lf dsp $ \ds -> runLoggingT (f (setAttr k ds env, id)) lf  primaryDatasourceMiddleware = datasourceMiddleware dataSourceKey+++
yam-datasource.cabal view
@@ -1,40 +1,45 @@ cabal-version: 1.12---- This file has been generated from package.yaml by hpack version 0.31.1.------ see: https://github.com/sol/hpack------ hash: da4d905c8e8eb99f485ad5bb9ff89a2b445a96c7e83f80d5baea9bf69bff3e6e--name:           yam-datasource-version:        0.5.2-synopsis:       Yam DataSource Middleware-category:       Web-homepage:       https://github.com/leptonyu/yam/yam-datasource#readme-author:         Daniel YU-maintainer:     Daniel YU <leptonyu@gmail.com>-copyright:      (c) Daniel YU-license:        BSD3-license-file:   LICENSE-build-type:     Simple+name: yam-datasource+version: 0.5.3+license: BSD3+license-file: LICENSE+copyright: (c) Daniel YU+maintainer: Daniel YU <leptonyu@gmail.com>+author: Daniel YU+homepage: https://github.com/leptonyu/yam/yam-datasource#readme+synopsis: Yam DataSource Middleware+category: Web+build-type: Simple extra-source-files:     README.md  library-  exposed-modules:-      Yam.DataSource-  other-modules:-      Paths_yam_datasource-  hs-source-dirs:-      src-  default-extensions: AutoDeriveTypeable BangPatterns BinaryLiterals ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable DuplicateRecordFields DoAndIfThenElse EmptyDataDecls ExistentialQuantification FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase MonadFailDesugaring MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings PartialTypeSignatures PatternGuards PolyKinds RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving TupleSections TypeApplications TypeFamilies TypeOperators TypeSynonymInstances ViewPatterns-  ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans -fno-warn-missing-signatures-  build-depends:-      base >=4.7 && <5-    , conduit-    , persistent-    , resource-pool-    , resourcet-    , unliftio-core-    , yam-  default-language: Haskell2010+    exposed-modules:+        Yam.DataSource+    hs-source-dirs: src+    other-modules:+        Paths_yam_datasource+    default-language: Haskell2010+    default-extensions: AutoDeriveTypeable BangPatterns BinaryLiterals+                        ConstraintKinds DataKinds DefaultSignatures DeriveDataTypeable+                        DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable+                        DuplicateRecordFields DoAndIfThenElse EmptyDataDecls+                        ExistentialQuantification FlexibleContexts FlexibleInstances+                        FunctionalDependencies GADTs GeneralizedNewtypeDeriving+                        InstanceSigs KindSignatures LambdaCase MonadFailDesugaring+                        MultiParamTypeClasses MultiWayIf NamedFieldPuns OverloadedStrings+                        PartialTypeSignatures PatternGuards PolyKinds RankNTypes+                        RecordWildCards ScopedTypeVariables StandaloneDeriving+                        TupleSections TypeApplications TypeFamilies TypeOperators+                        TypeSynonymInstances ViewPatterns+    ghc-options: -Wall -Wcompat -Wincomplete-record-updates+                 -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-orphans+                 -fno-warn-missing-signatures+    build-depends:+        base >=4.7 && <5,+        conduit >=1.3.1 && <1.4,+        persistent >=2.9.0 && <2.10,+        resource-pool >=0.2.3.2 && <0.3,+        resourcet >=1.2.2 && <1.3,+        unliftio-core >=0.1.2.0 && <0.2,+        yam >=0.5.3 && <0.6