{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-} module Network.DigitalOcean.Services.Account where ----------------------------------------------------------------- import Data.Aeson import Data.Aeson.Casing import GHC.Generics ----------------------------------------------------------------- import Network.DigitalOcean.Types ----------------------------------------------------------------- data Account = Account { accountDropletLimit :: Int , accountFloatingIpLimit :: Int , accountEmail :: String , accountUuid :: String , accountEmailVerified :: Bool , accountStatus :: String , accountStatusMessage :: String } deriving (Show, Generic) instance FromJSON (Response Account) where parseJSON (Object v) = fmap Response $ parseJSON =<< (v .: "account") instance FromJSON Account where parseJSON = genericParseJSON $ aesonPrefix snakeCase