From 2b48a574e8b9fed03a5c1969af4bb1e338f1be26 Mon Sep 17 00:00:00 2001 From: adambrangenberg Date: Sun, 7 Dec 2025 06:36:43 +0100 Subject: implemented section 1-3 --- src/Data/ContactData.hs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/Data/ContactData.hs (limited to 'src/Data/ContactData.hs') diff --git a/src/Data/ContactData.hs b/src/Data/ContactData.hs new file mode 100644 index 0000000..397c465 --- /dev/null +++ b/src/Data/ContactData.hs @@ -0,0 +1,22 @@ +{-# 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 -- cgit v1.2.3