pagerduty-hs 0.1.0.1 → 0.2.0.0
raw patch · 4 files changed
+36/−18 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Network.API.PagerDuty.EventV1: _Acknowledge :: Prism' UpdateType ()
- Network.API.PagerDuty.EventV1: _Image :: Prism' Context (Text, Maybe Text, Maybe Text)
- Network.API.PagerDuty.EventV1: _Link :: Prism' Context (Text, Maybe Text)
- Network.API.PagerDuty.EventV1: _Resolve :: Prism' UpdateType ()
- Network.API.PagerDuty.EventV1: teClient :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) Text
- Network.API.PagerDuty.EventV1: teClientURL :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) Text
- Network.API.PagerDuty.EventV1: teContexts :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) [Context]
- Network.API.PagerDuty.EventV1: teDescription :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) Text
- Network.API.PagerDuty.EventV1: teDetails :: forall a_aeNp a_afH5. Lens (TriggerEvent a_aeNp) (TriggerEvent a_afH5) (Maybe a_aeNp) (Maybe a_afH5)
- Network.API.PagerDuty.EventV1: teIncidentKey :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) (Maybe Text)
- Network.API.PagerDuty.EventV1: teServiceKey :: forall a_aeNp. Lens' (TriggerEvent a_aeNp) Text
- Network.API.PagerDuty.EventV1: updateDescription :: forall a_ag0J. Lens' (UpdateEvent a_ag0J) Text
- Network.API.PagerDuty.EventV1: updateDetails :: forall a_ag0J a_ag66. Lens (UpdateEvent a_ag0J) (UpdateEvent a_ag66) (Maybe a_ag0J) (Maybe a_ag66)
- Network.API.PagerDuty.EventV1: updateIncidentKey :: forall a_ag0J. Lens' (UpdateEvent a_ag0J) Text
- Network.API.PagerDuty.EventV1: updateServiceKey :: forall a_ag0J. Lens' (UpdateEvent a_ag0J) Text
- Network.API.PagerDuty.EventV1: updateType :: forall a_ag0J. Lens' (UpdateEvent a_ag0J) UpdateType
+ Network.API.PagerDuty.EventV1Lenses: _Acknowledge :: Prism' UpdateType ()
+ Network.API.PagerDuty.EventV1Lenses: _Image :: Prism' Context (Text, Maybe Text, Maybe Text)
+ Network.API.PagerDuty.EventV1Lenses: _Link :: Prism' Context (Text, Maybe Text)
+ Network.API.PagerDuty.EventV1Lenses: _Resolve :: Prism' UpdateType ()
+ Network.API.PagerDuty.EventV1Lenses: teClient :: forall a_abNt. Lens' (TriggerEvent a_abNt) Text
+ Network.API.PagerDuty.EventV1Lenses: teClientURL :: forall a_abNt. Lens' (TriggerEvent a_abNt) Text
+ Network.API.PagerDuty.EventV1Lenses: teContexts :: forall a_abNt. Lens' (TriggerEvent a_abNt) [Context]
+ Network.API.PagerDuty.EventV1Lenses: teDescription :: forall a_abNt. Lens' (TriggerEvent a_abNt) Text
+ Network.API.PagerDuty.EventV1Lenses: teDetails :: forall a_abNt a_akGg. Lens (TriggerEvent a_abNt) (TriggerEvent a_akGg) (Maybe a_abNt) (Maybe a_akGg)
+ Network.API.PagerDuty.EventV1Lenses: teIncidentKey :: forall a_abNt. Lens' (TriggerEvent a_abNt) (Maybe Text)
+ Network.API.PagerDuty.EventV1Lenses: teServiceKey :: forall a_abNt. Lens' (TriggerEvent a_abNt) Text
+ Network.API.PagerDuty.EventV1Lenses: updateDescription :: forall a_abJ7. Lens' (UpdateEvent a_abJ7) Text
+ Network.API.PagerDuty.EventV1Lenses: updateDetails :: forall a_abJ7 a_akMO. Lens (UpdateEvent a_abJ7) (UpdateEvent a_akMO) (Maybe a_abJ7) (Maybe a_akMO)
+ Network.API.PagerDuty.EventV1Lenses: updateIncidentKey :: forall a_abJ7. Lens' (UpdateEvent a_abJ7) Text
+ Network.API.PagerDuty.EventV1Lenses: updateServiceKey :: forall a_abJ7. Lens' (UpdateEvent a_abJ7) Text
+ Network.API.PagerDuty.EventV1Lenses: updateType :: forall a_abJ7. Lens' (UpdateEvent a_abJ7) UpdateType
Files
- ChangeLog.md +3/−1
- pagerduty-hs.cabal +2/−1
- src/Network/API/PagerDuty/EventV1.hs +2/−16
- src/Network/API/PagerDuty/EventV1Lenses.hs +29/−0
ChangeLog.md view
@@ -1,3 +1,5 @@ # Changelog for pagerduty -## Unreleased changes+## 0.2.0.0++Moved EventV1 optics into a separate module.
pagerduty-hs.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: pagerduty-hs-version: 0.1.0.1+version: 0.2.0.0 synopsis: An interface to the PagerDuty API. description: Please see the README on GitHub at <https://github.com/dustin/pagerduty-hs#readme> category: API@@ -28,6 +28,7 @@ library exposed-modules: Network.API.PagerDuty.EventV1+ Network.API.PagerDuty.EventV1Lenses other-modules: Paths_pagerduty_hs hs-source-dirs:
src/Network/API/PagerDuty/EventV1.hs view
@@ -8,7 +8,6 @@ PagerDuty Event V1 interface. -}-{-# LANGUAGE TemplateHaskell #-} module Network.API.PagerDuty.EventV1 ( -- * Triggering an Event@@ -17,15 +16,10 @@ -- * Updating an Event UpdateEvent(..), UpdateEvent', UpdateType(..), -- * Delivering Events to PagerDuty- deliver, Response(..),- -- * Lenses and Prisms- _Link, _Image,- teServiceKey, teIncidentKey, teDescription, teDetails, teClient, teClientURL, teContexts,- _Acknowledge, _Resolve,- updateType, updateServiceKey, updateIncidentKey, updateDescription, updateDetails+ deliver, Response(..) ) where -import Control.Lens (makeLenses, makePrisms, view)+import Control.Lens (view) import Control.Monad.Catch (MonadCatch (..), SomeException (..), catch) import Control.Monad.IO.Class (MonadIO (..)) import Data.Aeson (FromJSON (..), ToJSON (..), Value (..), encode, object, (.:), (.=))@@ -43,8 +37,6 @@ | Image Text (Maybe Text) (Maybe Text) -- ^ Image URL, optional link ref, and optional alt text. deriving (Show, Eq) -makePrisms ''Context- optj :: ToJSON v => [(Text, Maybe v)] -> [Pair] optj = mapMaybe (fmap (uncurry (.=)) . sequenceA) @@ -67,8 +59,6 @@ } deriving (Show, Eq) -makeLenses ''TriggerEvent- instance ToJSON a => EventRequest (TriggerEvent a) -- | A 'TriggerEvent' type that doesn't have details.@@ -91,8 +81,6 @@ -- | An event update will either acknowledge or resolve an incident. data UpdateType = Acknowledge | Resolve deriving (Show, Eq, Bounded, Enum) -makePrisms ''UpdateType- -- | UpdateEvent is the message for both acknowledging and resolving -- incidents. This may be delivered using the 'deliver' function. data UpdateEvent a = UpdateEvent {@@ -103,8 +91,6 @@ , _updateDetails :: Maybe a } deriving (Show, Eq)--makeLenses ''UpdateEvent instance ToJSON a => EventRequest (UpdateEvent a)
+ src/Network/API/PagerDuty/EventV1Lenses.hs view
@@ -0,0 +1,29 @@+{-|+Module : Network.API.PagerDuty.EventV1Lenses+Description : Lenses and prisms for the PagerDuty Event V1 interface.+Copyright : (c) Dustin Sallings, 2021+License : BSD3+Maintainer : dustin@spy.net+Stability : experimental++Lenses and prisms for the PagerDuty Event V1 interface.+-}+{-# LANGUAGE TemplateHaskell #-}++module Network.API.PagerDuty.EventV1Lenses (+ _Link, _Image,+ teServiceKey, teIncidentKey, teDescription, teDetails, teClient, teClientURL, teContexts,+ _Acknowledge, _Resolve,+ updateType, updateServiceKey, updateIncidentKey, updateDescription, updateDetails+ ) where++import Control.Lens (makeLenses, makePrisms)+import Network.API.PagerDuty.EventV1++makePrisms ''Context++makeLenses ''TriggerEvent++makePrisms ''UpdateType++makeLenses ''UpdateEvent