packages feed

hoauth2-demo-1.6.0: src/Env.hs

{-# 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