{-# LANGUAGE OverloadedStrings, DeriveGeneric #-} module JSON.API.EventGroup.Post.Request ( Meta(..) , Data(..) , Message(..) , encode , decode , eitherDecode ) where import GHC.Generics import Data.Text import Data.Aeson data Meta = Meta { h_type :: Text , h_id :: [Char] , h_group :: Text } deriving (Show, Generic) data Data = Data { h_eventGroupType :: [Char] , h_eventGroupId :: Text , h_ownerType :: Text , h_ownerId :: [Char] } deriving (Show, Generic) data Message = Message { h_meta :: Meta , h_data :: Data } deriving (Show, Generic) instance FromJSON Meta instance FromJSON Data instance FromJSON Message instance ToJSON Meta instance ToJSON Data where toJSON (Data h_eventGroupType h_eventGroupId h_ownerType h_ownerId) = object [ "h_type" .= h_eventGroupType , "h_id" .= h_eventGroupId , "h_ownerType" .= h_ownerType , "h_ownerId" .= h_ownerId ] instance ToJSON Message