{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE OverloadedStrings #-}
module Network.API.Mandrill.Messages.Types where
import Data.Char
import Data.Time
import qualified Data.Text as T
import Control.Monad
import Data.Monoid
import Data.Aeson
import Data.Aeson.Types
import Data.Aeson.TH
import Lens.Micro.TH (makeLenses)
import Network.API.Mandrill.Types
data MessagesSendRq = MessagesSendRq {
MessagesSendRq -> MandrillKey
_msrq_key :: MandrillKey
, MessagesSendRq -> MandrillMessage
_msrq_message :: MandrillMessage
, MessagesSendRq -> Maybe Bool
_msrq_async :: Maybe Bool
, MessagesSendRq -> Maybe MandrillKey
_msrq_ip_pool :: Maybe T.Text
, MessagesSendRq -> Maybe UTCTime
_msrq_send_at :: Maybe UTCTime
} deriving Int -> MessagesSendRq -> ShowS
[MessagesSendRq] -> ShowS
MessagesSendRq -> String
(Int -> MessagesSendRq -> ShowS)
-> (MessagesSendRq -> String)
-> ([MessagesSendRq] -> ShowS)
-> Show MessagesSendRq
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MessagesSendRq] -> ShowS
$cshowList :: [MessagesSendRq] -> ShowS
show :: MessagesSendRq -> String
$cshow :: MessagesSendRq -> String
showsPrec :: Int -> MessagesSendRq -> ShowS
$cshowsPrec :: Int -> MessagesSendRq -> ShowS
Show
makeLenses ''MessagesSendRq
deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MessagesSendRq
data MessagesSendTemplateRq = MessagesSendTemplateRq {
MessagesSendTemplateRq -> MandrillKey
_mstrq_key :: MandrillKey
, MessagesSendTemplateRq -> MandrillKey
_mstrq_template_name :: T.Text
, MessagesSendTemplateRq -> [MandrillTemplateContent]
_mstrq_template_content :: [MandrillTemplateContent]
, MessagesSendTemplateRq -> MandrillMessage
_mstrq_message :: MandrillMessage
, MessagesSendTemplateRq -> Maybe Bool
_mstrq_async :: Maybe Bool
, MessagesSendTemplateRq -> Maybe MandrillKey
_mstrq_ip_pool :: Maybe T.Text
, MessagesSendTemplateRq -> Maybe UTCTime
_mstrq_send_at :: Maybe UTCTime
} deriving Int -> MessagesSendTemplateRq -> ShowS
[MessagesSendTemplateRq] -> ShowS
MessagesSendTemplateRq -> String
(Int -> MessagesSendTemplateRq -> ShowS)
-> (MessagesSendTemplateRq -> String)
-> ([MessagesSendTemplateRq] -> ShowS)
-> Show MessagesSendTemplateRq
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MessagesSendTemplateRq] -> ShowS
$cshowList :: [MessagesSendTemplateRq] -> ShowS
show :: MessagesSendTemplateRq -> String
$cshow :: MessagesSendTemplateRq -> String
showsPrec :: Int -> MessagesSendTemplateRq -> ShowS
$cshowsPrec :: Int -> MessagesSendTemplateRq -> ShowS
Show
makeLenses ''MessagesSendTemplateRq
deriveJSON defaultOptions { fieldLabelModifier = drop 7 } ''MessagesSendTemplateRq
data MessagesResponse = MessagesResponse {
MessagesResponse -> MandrillKey
_mres_email :: !T.Text
, MessagesResponse -> MandrillEmailStatus
_mres_status :: MandrillEmailStatus
, MessagesResponse -> Maybe MandrillRejectReason
_mres_reject_reason :: Maybe MandrillRejectReason
, MessagesResponse -> MandrillKey
_mres__id :: !T.Text
} deriving Int -> MessagesResponse -> ShowS
[MessagesResponse] -> ShowS
MessagesResponse -> String
(Int -> MessagesResponse -> ShowS)
-> (MessagesResponse -> String)
-> ([MessagesResponse] -> ShowS)
-> Show MessagesResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MessagesResponse] -> ShowS
$cshowList :: [MessagesResponse] -> ShowS
show :: MessagesResponse -> String
$cshow :: MessagesResponse -> String
showsPrec :: Int -> MessagesResponse -> ShowS
$cshowsPrec :: Int -> MessagesResponse -> ShowS
Show
makeLenses ''MessagesResponse
deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MessagesResponse