packages feed

experimenter-0.1.0.0: src/Experimenter/Parameter/Query.hs


module Experimenter.Parameter.Query
    ( queryParamSettings
    ) where

import           Control.Monad.Reader
import           Database.Esqueleto
import           Prelude              hiding (exp)

import           Experimenter.Models


queryParamSettings :: (MonadIO m) => Key Exp -> ReaderT SqlBackend m [(Entity Exp, Entity ParamSetting)]
queryParamSettings kExp =
  select $
  from $ \(exp, paramSet) -> do
    where_ (exp ^. ExpId ==. paramSet ^. ParamSettingExp)
    where_ (exp ^. ExpId ==. val kExp)
    orderBy [asc (exp ^. ExpNumber)]
    return (exp, paramSet)