slack-web-1.5.0.0: src/Web/Slack/Api.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
----------------------------------------------------------------------
----------------------------------------------------------------------
-- |
-- Module: Web.Slack.Api
-- Description:
module Web.Slack.Api
( TestReq (..),
mkTestReq,
TestRsp (..),
)
where
-- FIXME: Web.Slack.Prelude
-- aeson
-- base
-- deepseq
import Control.DeepSeq (NFData)
import Data.Aeson.TH
-- http-api-data
-- slack-web
-- text
import Data.Text (Text)
import GHC.Generics (Generic)
import Web.FormUrlEncoded
import Web.Slack.Util
import Prelude
data TestReq = TestReq
{ testReqError :: Maybe Text
, testReqFoo :: Maybe Text
}
deriving stock (Eq, Generic, Show)
instance NFData TestReq
$(deriveJSON (jsonOpts "testReq") ''TestReq)
instance ToForm TestReq where
toForm =
genericToForm (formOpts "testReq")
mkTestReq :: TestReq
mkTestReq =
TestReq
{ testReqError = Nothing
, testReqFoo = Nothing
}
data TestRsp = TestRsp
{ testRspArgs :: Maybe TestReq
}
deriving stock (Eq, Generic, Show)
instance NFData TestRsp
$(deriveFromJSON (jsonOpts "testRsp") ''TestRsp)