packages feed

yesod-0.9.1: scaffold/mongoDBConnPool.cg

runConnectionPool :: MonadControlIO m => Action m a -> ConnectionPool -> m a
runConnectionPool = runMongoDBConn (ConfirmWrites [u"j" =: True])

withConnectionPool :: (MonadControlIO m, Applicative m) => AppConfig -> (ConnectionPool -> m b) -> m b
withConnectionPool conf f = do
    (database,host) <- liftIO $ loadConnParams (appEnv conf)
    withMongoDBPool (u database) host (connectionPoolSize conf) f
  where
    -- | The database connection parameters.
    --  loadConnParams :: AppEnvironment -> IO (Database, HostName)
    loadConnParams env = do
        allSettings <- (join $ YAML.decodeFile ("config/mongoDB.yml" :: String)) >>= fromMapping
        settings <- lookupMapping (show env) allSettings
        database <- lookupScalar "database" settings
        host <- lookupScalar "host" settings
        return (database, host)