{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} module Env where import Data.Aeson import Data.Aeson.KeyMap import Data.Default import Data.Text.Lazy (Text) import GHC.Generics data EnvConfigAuthParams = EnvConfigAuthParams { clientId :: Text , clientSecret :: Text , scopes :: Maybe [Text] } deriving (Generic) instance Default EnvConfigAuthParams where def = EnvConfigAuthParams { clientId = "" , clientSecret = "" , scopes = Just [] } instance FromJSON EnvConfigAuthParams type EnvConfig = KeyMap EnvConfigAuthParams