24 lines
727 B
Haskell
24 lines
727 B
Haskell
{-# LANGUAGE DeriveGeneric #-}
|
|
module Data.Config where
|
|
|
|
import Server (Port)
|
|
import Solidabis.API (Token)
|
|
|
|
import Control.Monad.Trans (MonadIO, liftIO)
|
|
import Data.Aeson (FromJSON)
|
|
import Data.Yaml.Config
|
|
import GHC.Generics (Generic)
|
|
import Servant.Client (BaseUrl)
|
|
|
|
data Config
|
|
= Config { _accessToken :: Token
|
|
, _solidabisBase :: BaseUrl
|
|
, _port :: Port
|
|
, _training :: FilePath }
|
|
deriving (Show, Generic)
|
|
|
|
instance FromJSON Config
|
|
|
|
readConfigFromFile :: MonadIO m => FilePath -> m Config
|
|
readConfigFromFile path = liftIO $ loadYamlSettings [path] [] ignoreEnv
|