module OptimaForHasql.ParamGroup where
import qualified Hasql.Connection as Connection
import qualified Hasql.Pool as Pool
import Optima
import qualified OptimaForHasql.Param as Param
import OptimaForHasql.Prelude
poolAcquirer :: ParamGroup (IO Pool.Pool)
poolAcquirer :: ParamGroup (IO Pool)
poolAcquirer =
Int -> Maybe Int -> Settings -> IO Pool
Pool.acquire
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a. Text -> Param a -> ParamGroup a
member Text
"pool-size" Param Int
Param.poolSize
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall a. Text -> Param a -> ParamGroup a
member Text
"pool-acquisition-timeout" Param (Maybe Int)
Param.poolAcquisitionTimeout
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> ParamGroup Settings
connectionSettings
connectionSettings :: ParamGroup Connection.Settings
connectionSettings :: ParamGroup Settings
connectionSettings =
Settings -> Word16 -> Settings -> Settings -> Settings -> Settings
Connection.settings
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> forall a. Text -> Param a -> ParamGroup a
member Text
"host" Param Settings
Param.host
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall a. Text -> Param a -> ParamGroup a
member Text
"port" Param Word16
Param.port
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall a. Text -> Param a -> ParamGroup a
member Text
"user" Param Settings
Param.user
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall a. Text -> Param a -> ParamGroup a
member Text
"password" Param Settings
Param.password
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> forall a. Text -> Param a -> ParamGroup a
member Text
"database" Param Settings
Param.database