{-# LANGUAGE DeriveDataTypeable , DeriveGeneric #-} module Type.Comment (Comment (..)) where import Data.Aeson import Data.JSON.Schema import Data.Text (Text) import Data.Time import Data.Typeable import GHC.Generics import Generics.Generic.Aeson import Generics.XmlPickler import Text.XML.HXT.Arrow.Pickle import Type.Post () import qualified Type.User as User data Comment = Comment { author :: User.Name , createdTime :: UTCTime , content :: Text } deriving (Eq, Generic, Ord, Show, Typeable) instance XmlPickler Comment where xpickle = gxpickle instance JSONSchema Comment where schema = gSchema instance FromJSON Comment where parseJSON = gparseJson instance ToJSON Comment where toJSON = gtoJson