freckle-app-1.18.1.0: library/Freckle/App/Ghci.hs
module Freckle.App.Ghci
( runDB
, runDB'
) where
import Freckle.App.Prelude
import Blammo.Logging.Simple
import Database.Persist.Postgresql (runSqlPool)
import Database.Persist.Sql (SqlBackend)
import Freckle.App.Database (makePostgresPool)
import Freckle.App.Dotenv qualified as Dotenv
-- | Run a db action against .env
runDB :: ReaderT SqlBackend IO b -> IO b
runDB f = Dotenv.load *> runDB' f
-- | Run a db action
runDB' :: ReaderT SqlBackend IO b -> IO b
runDB' f = do
pool <- runSimpleLoggingT makePostgresPool
runSqlPool f pool