packages feed

mandrill 0.2.2.0 → 0.2.2.1

raw patch · 5 files changed

+56/−2 lines, 5 filesdep ~aesonPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependency ranges changed: aeson

API changes (from Hackage documentation)

+ Network.API.Mandrill: newTemplateMessage :: EmailAddress -> [EmailAddress] -> Text -> MandrillMessage
+ Network.API.Mandrill.Messages: sendTemplate :: MandrillKey -> MandrillTemplate -> [MandrillTemplateContent] -> MandrillMessage -> Maybe Bool -> Maybe Text -> Maybe UTCTime -> Maybe Manager -> IO (MandrillResponse [MessagesResponse])
+ Network.API.Mandrill.Messages.Types: MessagesSendTemplateRq :: MandrillKey -> Text -> [MandrillTemplateContent] -> MandrillMessage -> Maybe Bool -> Maybe Text -> Maybe UTCTime -> MessagesSendTemplateRq
+ Network.API.Mandrill.Messages.Types: _mstrq_async :: MessagesSendTemplateRq -> Maybe Bool
+ Network.API.Mandrill.Messages.Types: _mstrq_ip_pool :: MessagesSendTemplateRq -> Maybe Text
+ Network.API.Mandrill.Messages.Types: _mstrq_key :: MessagesSendTemplateRq -> MandrillKey
+ Network.API.Mandrill.Messages.Types: _mstrq_message :: MessagesSendTemplateRq -> MandrillMessage
+ Network.API.Mandrill.Messages.Types: _mstrq_send_at :: MessagesSendTemplateRq -> Maybe UTCTime
+ Network.API.Mandrill.Messages.Types: _mstrq_template_content :: MessagesSendTemplateRq -> [MandrillTemplateContent]
+ Network.API.Mandrill.Messages.Types: _mstrq_template_name :: MessagesSendTemplateRq -> Text
+ Network.API.Mandrill.Messages.Types: data MessagesSendTemplateRq
+ Network.API.Mandrill.Messages.Types: instance FromJSON MessagesSendTemplateRq
+ Network.API.Mandrill.Messages.Types: instance Show MessagesSendTemplateRq
+ Network.API.Mandrill.Messages.Types: instance ToJSON MessagesSendTemplateRq
+ Network.API.Mandrill.Messages.Types: mstrq_async :: Lens' MessagesSendTemplateRq (Maybe Bool)
+ Network.API.Mandrill.Messages.Types: mstrq_ip_pool :: Lens' MessagesSendTemplateRq (Maybe Text)
+ Network.API.Mandrill.Messages.Types: mstrq_key :: Lens' MessagesSendTemplateRq MandrillKey
+ Network.API.Mandrill.Messages.Types: mstrq_message :: Lens' MessagesSendTemplateRq MandrillMessage
+ Network.API.Mandrill.Messages.Types: mstrq_send_at :: Lens' MessagesSendTemplateRq (Maybe UTCTime)
+ Network.API.Mandrill.Messages.Types: mstrq_template_content :: Lens' MessagesSendTemplateRq [MandrillTemplateContent]
+ Network.API.Mandrill.Messages.Types: mstrq_template_name :: Lens' MessagesSendTemplateRq Text
+ Network.API.Mandrill.Types: MandrillTemplateContent :: Text -> Text -> MandrillTemplateContent
+ Network.API.Mandrill.Types: _mtc_content :: MandrillTemplateContent -> Text
+ Network.API.Mandrill.Types: _mtc_name :: MandrillTemplateContent -> Text
+ Network.API.Mandrill.Types: data MandrillTemplateContent
+ Network.API.Mandrill.Types: instance FromJSON MandrillTemplateContent
+ Network.API.Mandrill.Types: instance Show MandrillTemplateContent
+ Network.API.Mandrill.Types: instance ToJSON MandrillTemplateContent
+ Network.API.Mandrill.Types: mtc_content :: Lens' MandrillTemplateContent Text
+ Network.API.Mandrill.Types: mtc_name :: Lens' MandrillTemplateContent Text
+ Network.API.Mandrill.Types: type MandrillTemplate = Text

Files

mandrill.cabal view
@@ -1,5 +1,5 @@ name:                mandrill-version:             0.2.2.0+version:             0.2.2.1 synopsis:            Library for interfacing with the Mandrill JSON API description:         Pure Haskell client for the Mandrill JSON API license:             MIT@@ -39,7 +39,7 @@     , http-types >= 0.8.0     , http-client >= 0.3.0     , http-client-tls >= 0.2.0.0-    , aeson >= 0.7.0.3 && < 0.9+    , aeson >= 0.7.0.3 && < 0.10.0.0     , lens >= 4.0     , blaze-html >= 0.5.0.0     , QuickCheck >= 2.6 && < 2.9
src/Network/API/Mandrill.hs view
@@ -12,6 +12,7 @@   , emptyMessage   , newTextMessage   , newHtmlMessage+  , newTemplateMessage   , liftIO    -- * Appendix: Example Usage@@ -106,6 +107,16 @@ newHtmlMessage f t subj html = let body = mkMandrillHtml html in   ((mmsg_html .~ body) . (mmsg_subject .~ subj)) $ (emptyMessage f t) +--------------------------------------------------------------------------------+-- | Create a new template message (no HTML).+newTemplateMessage :: EmailAddress+                   -- ^ Sender email+                   -> [EmailAddress]+                   -- ^ Receivers email+                   -> T.Text+                   -- ^ Subject+                   -> MandrillMessage+newTemplateMessage f t subj = (mmsg_subject .~ subj) $ (emptyMessage f t)  -------------------------------------------------------------------------------- -- | Create a new textual message. By default Mandrill doesn't require you
src/Network/API/Mandrill/Messages.hs view
@@ -24,3 +24,22 @@      -> Maybe Manager      -> IO (MandrillResponse [MessagesResponse]) send k msg async ip_pool send_at = toMandrillResponse MessagesSend (MessagesSendRq k msg async ip_pool send_at)++-- | Send a new transactional message through Mandrill using a template+sendTemplate :: MandrillKey+             -- ^ The API key+             -> MandrillTemplate+             -- ^ The template name+             -> [MandrillTemplateContent]+             -- ^ Template content for 'editable regions'+             -> MandrillMessage+             -- ^ The email message+             -> Maybe Bool+             -- ^ Enable a background sending mode that is optimized for bulk sending+             -> Maybe T.Text+             -- ^ ip_pool+             -> Maybe UTCTime+             -- ^ send_at+             -> Maybe Manager+             -> IO (MandrillResponse [MessagesResponse])+sendTemplate k template content msg async ip_pool send_at = toMandrillResponse MessagesSendTemplate (MessagesSendTemplateRq k template content msg async ip_pool send_at)
src/Network/API/Mandrill/Messages/Types.hs view
@@ -27,6 +27,19 @@ makeLenses ''MessagesSendRq deriveJSON defaultOptions { fieldLabelModifier = drop 6 } ''MessagesSendRq +--------------------------------------------------------------------------------+data MessagesSendTemplateRq = MessagesSendTemplateRq {+    _mstrq_key              :: MandrillKey+  , _mstrq_template_name    :: T.Text+  , _mstrq_template_content :: [MandrillTemplateContent]+  , _mstrq_message          :: MandrillMessage+  , _mstrq_async            :: Maybe Bool+  , _mstrq_ip_pool          :: Maybe T.Text+  , _mstrq_send_at          :: Maybe UTCTime+  } deriving Show++makeLenses ''MessagesSendTemplateRq+deriveJSON defaultOptions { fieldLabelModifier = drop 7 } ''MessagesSendTemplateRq  -------------------------------------------------------------------------------- data MessagesResponse = MessagesResponse {
src/Network/API/Mandrill/Types.hs view
@@ -331,7 +331,18 @@                               <*> pure []  --------------------------------------------------------------------------------+-- | Key value pair for replacing content in templates via 'Editable Regions'+data MandrillTemplateContent = MandrillTemplateContent {+    _mtc_name    :: T.Text+  , _mtc_content :: T.Text+  } deriving Show++makeLenses ''MandrillTemplateContent+deriveJSON defaultOptions { fieldLabelModifier = drop 5 } ''MandrillTemplateContent++-------------------------------------------------------------------------------- type MandrillKey = T.Text+type MandrillTemplate = T.Text  newtype MandrillDate = MandrillDate {   fromMandrillDate :: UTCTime