aboutsummaryrefslogtreecommitdiff
path: root/src/Data/Message.hs
diff options
context:
space:
mode:
authorJacques Comeaux <jacquesrcomeaux@gmail.com>2022-05-28 10:40:52 -0500
committerJacques Comeaux <jacquesrcomeaux@gmail.com>2022-05-28 10:40:52 -0500
commit31c3566895bb717f51e986697d3452e549451f73 (patch)
tree723b9fd36af8fd6997903590948d700508f05b83 /src/Data/Message.hs
parent3d3163a1028e99e5073fd39adc9aee5d76a5e5a2 (diff)
Handle requests
Diffstat (limited to 'src/Data/Message.hs')
-rw-r--r--src/Data/Message.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Data/Message.hs b/src/Data/Message.hs
index dfbc20b..c218cdc 100644
--- a/src/Data/Message.hs
+++ b/src/Data/Message.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveGeneric #-}
module Data.Message
( InMessage (..)
, GMIUrl (..)
@@ -21,15 +22,17 @@ import qualified Text.URI as URI
data InMessage = InMessage
{ hasAttach :: !Bool
- , groupId :: !Word
+ , groupId :: !Text
, isUser :: !Bool
, text :: !Text
- } deriving Show
+ } deriving (Show, Generic)
+
+instance NFData InMessage
instance Ae.FromJSON InMessage where
parseJSON = Ae.withObject "InMessage" $ \o -> InMessage
<$> (o .: "attachments" >>= Ae.withArray "attachments" (pure . not . null))
- <*> o .: "group-id"
+ <*> o .: "group_id"
<*> ((==) ("user" :: Text) <$> o .: "sender_type")
<*> o .: "text"