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