module Web.XING.Types.Address
(
Address(..)
) where
import Data.Aeson (Value(..), FromJSON(..), (.:))
import Control.Monad (mzero)
import Control.Applicative ((<*>), (<$>))
import Data.Text (Text)
data Address
= Address {
street :: Maybe Text
, zipCode :: Maybe Text
, city :: Maybe Text
, province :: Maybe Text
, country :: Maybe Text
, email :: Maybe Text
, phone :: Maybe Text
, fax :: Maybe Text
, mobilePhone :: Maybe Text
}
deriving (Show, Eq)
instance FromJSON Address where
parseJSON (Object response) = do
Address <$> (response .: "street")
<*> (response .: "zip_code")
<*> (response .: "city")
<*> (response .: "province")
<*> (response .: "country")
<*> (response .: "email")
<*> (response .: "phone")
<*> (response .: "fax")
<*> (response .: "mobile_phone")
parseJSON _ = mzero