yam-0.4.0: src/Yam/Config.hs
{-# LANGUAGE OverloadedStrings #-}
module Yam.Config where
import Data.Aeson
import Data.Default
import Data.Text
import Yam.DataSource
import Yam.Web.Swagger
data YamConfig = YamConfig
{ datasource :: DataSourceConfig
, swagger :: SwaggerConfig
, appName :: Text
, port :: Int
} deriving (Eq, Show)
instance FromJSON YamConfig where
parseJSON = withObject "YamConfig" $ \v -> YamConfig
<$> v .: "datasource"
<*> v .:? "swagger" .!= def
<*> v .: "application"
<*> v .:? "port" .!= 8888