vault-trans-0.1.0: src/lib/Network/VaultTool/Trans/Database/Postgresql.hs
{-# LANGUAGE OverloadedStrings #-}
module Network.VaultTool.Trans.Database.Postgresql
( connect
) where
import Control.Monad.IO.Class (MonadIO, liftIO)
import Data.Text (unpack)
import qualified Database.PostgreSQL.Simple as PSQL
import GHC.Word (Word16)
import Network.VaultTool.Trans (VaultT (..))
import Network.VaultTool.Trans.Database (readCredentials)
connect :: MonadIO m => String -> Word16 -> String -> VaultT m PSQL.Connection
connect host port database = do
(username, password) <- readCredentials
liftIO . PSQL.connect $ PSQL.ConnectInfo host port (unpack username) (unpack password) database