{-# LANGUAGE DeriveGeneric #-} module Data.ContactData (Contact, makeContact) where import Data.Aeson import Data.Aeson.TH import GHC.Generics (Generic) type EMail = String type MXID = String data Contact = Contact { email_address :: EMail , matrix_id :: MXID , role :: String -- Enum? [m.role.admin, m.role.security] } deriving (Eq, Show, Generic) instance FromJSON Contact where instance ToJSON Contact where makeContact :: String -> String -> String -> Contact makeContact = Contact