{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} ---------------------------------------------------------------------- -- | -- Module: Web.Slack.Group -- Description: -- -- -- ---------------------------------------------------------------------- module Web.Slack.Group ( Group(..) , ListRsp(..) ) where -- aeson import Data.Aeson.TH -- base import GHC.Generics (Generic) -- slack-web import Web.Slack.Common import Web.Slack.Util -- text import Data.Text (Text) -- time import Data.Time.Clock.POSIX data Group = Group { groupId :: Text , groupName :: Text , groupIsMpim :: Bool , groupCreated :: POSIXTime , groupCreator :: UserId , groupIsArchived :: Bool , groupMembers :: [UserId] } deriving (Eq, Generic, Show) $(deriveFromJSON (jsonOpts "group") ''Group) data ListRsp = ListRsp { listRspGroups :: [Group] } deriving (Eq, Generic, Show) $(deriveFromJSON (jsonOpts "listRsp") ''ListRsp)