{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-} ---------------------------------------------------------------------- -- | -- Module: Web.Slack.User -- Description: -- -- -- ---------------------------------------------------------------------- module Web.Slack.User ( User(..) , 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 User = User { userId :: UserId , userName :: Text , userDeleted :: Bool , userColor :: Maybe Color , userIsAdmin :: Maybe Bool , userIsOwner :: Maybe Bool , userIsPrimaryOwner :: Maybe Bool , userIsRestricted :: Maybe Bool , userIsUltraRestricted :: Maybe Bool , userUpdated :: POSIXTime } deriving (Eq, Generic, Show) $(deriveFromJSON (jsonOpts "user") ''User) data ListRsp = ListRsp { listRspMembers :: [User] } deriving (Eq, Generic, Show) $(deriveFromJSON (jsonOpts "listRsp") ''ListRsp)