module Web.XING.Types.User.MinimalUser
(
MinimalUser(..)
) where
import Web.XING.Types.User
import Data.Aeson (Value(..), FromJSON(..), (.:))
import Control.Applicative ((<$>), (<*>))
import Data.Text (Text)
data MinimalUser
= MinimalUser
UserId
Text
Text
PhotoUrls
deriving (Show, Eq)
instance User MinimalUser where
userId (MinimalUser uid _ _ _ ) = uid
displayName (MinimalUser _ name _ _) = name
permalink (MinimalUser _ _ link _) = link
photoUrls (MinimalUser _ _ _ urls) = urls
instance FromJSON MinimalUser where
parseJSON (Object response) = do
container <- response .: "id_card"
MinimalUser <$> (container .: "id")
<*> (container .: "display_name")
<*> (container .: "permalink")
<*> (container .: "photo_urls")
parseJSON _ = fail "no parse"