git.iko.soy/typeable/pagerduty
on develop help sign in
Ensuring additional REST resources compile
commit076abba29aedf60b0a81f3a2d06306b549eeed8a authorBrendan Hay <brendan.g.hay@gmail.com> dateThu 23 Oct 2014, 20:07 (12 years ago) parent0f15bad
5 files changed+32−33
src/Network/PagerDuty/REST/EscalationPolicies.hs+16−16 src/Network/PagerDuty/REST/Schedules.hs−1 src/Network/PagerDuty/REST/Services.hs+4−4 src/Network/PagerDuty/REST/Users.hs+12−11 src/Network/PagerDuty/REST/Webhooks.hs−1
src/Network/PagerDuty/REST/EscalationPolicies.hs+16−16
@@ -1,7 +1,10 @@
1−{-# LANGUAGE DataKinds #-}
2−{-# LANGUAGE OverloadedStrings #-}
3−{-# LANGUAGE TemplateHaskell #-}
4−{-# LANGUAGE TypeFamilies #-}
1+{-# LANGUAGE ExtendedDefaultRules #-}
2+{-# LANGUAGE DataKinds #-}
3+{-# LANGUAGE OverloadedStrings #-}
4+{-# LANGUAGE TemplateHaskell #-}
5+{-# LANGUAGE TypeFamilies #-}
6+
7+{-# OPTIONS_GHC -fno-warn-type-defaults #-}
58
69-- Module : Network.PagerDuty.REST.EscalationPolicies
710-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
@@ -57,21 +60,18 @@ module Network.PagerDuty.REST.EscalationPolicies
5760 , pServices
5861 ) where
5962
60−import Control.Applicative ((<$>))
61−import Control.Lens
62−import Data.Aeson
63−import Data.Aeson.Lens
64−import qualified Data.HashMap.Strict as Map
65−import Data.Text (Text)
66−import qualified Data.Text as Text
67−import Network.HTTP.Types
68−import Network.PagerDuty.REST.Services (Service)
69−import Network.PagerDuty.REST.Users
70−import Network.PagerDuty.TH
71−import Network.PagerDuty.Types
63+import Control.Lens
64+import Data.Aeson.Lens
65+import Data.Text (Text)
66+import Network.HTTP.Types
67+import Network.PagerDuty.REST.Services (Service)
68+import Network.PagerDuty.TH
69+import Network.PagerDuty.Types
7270
7371import Network.PagerDuty.REST.EscalationPolicies.EscalationRules
7472
73+default (Path)
74+
7575policies :: Path
7676policies = "escalation_policies"
7777
src/Network/PagerDuty/REST/Schedules.hs−1
@@ -112,7 +112,6 @@ module Network.PagerDuty.REST.Schedules
112112
113113import Control.Lens hiding ((.=))
114114import Data.Aeson
115−import Data.ByteString.Builder (Builder)
116115import Data.Text (Text)
117116import Data.Time
118117import Network.HTTP.Types
src/Network/PagerDuty/REST/Services.hs+4−4
@@ -108,10 +108,10 @@ module Network.PagerDuty.REST.Services
108108
109109import Control.Lens
110110import Data.Aeson.Lens
111−import Data.ByteString.Builder (Builder)
112−import Data.Text (Text)
111+import Data.Text (Text)
113112import Data.Time
114113import Network.HTTP.Types
114+import Network.PagerDuty.REST.Services.EmailFilters
115115import Network.PagerDuty.TH
116116import Network.PagerDuty.Types
117117
@@ -223,8 +223,8 @@ data Service = Service
223223 , _svcIncidentCounts :: IncidentCounts
224224 , _svcEmailFilterMode :: EmailFilterMode
225225 , _svcType :: ServiceType
226− , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
227− , _svcEmailFilters :: Maybe EmailFilters -- FIXME: extract from inline.
226+ , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
227+ , _svcEmailFilters :: Maybe [EmailFilterInfo] -- FIXME: extract from inline.
228228 , _svcSeverityFilter :: Maybe SeverityFilter
229229 } deriving (Eq, Show)
230230
src/Network/PagerDuty/REST/Users.hs+12−11
@@ -85,6 +85,7 @@ import Control.Applicative hiding (empty)
8585import Control.Lens hiding ((.=))
8686import Data.Aeson
8787import Data.Default.Class
88+import Data.Monoid
8889import Data.Text (Text)
8990import Data.Time
9091import Network.HTTP.Types
@@ -192,17 +193,17 @@ instance FromJSON User where
192193 <*> o .: "invitation_sent"
193194 <*> o .:? "job_title"
194195
195−-- instance ToJSON User where
196−-- toJSON u = Object (x <> y)
197−-- where
198−-- Object x = toJSON (_uInfo u)
199−-- Object y = object
200−-- [ "role" .= _uRole u
201−-- , "avatar_url" .= _uAvatarUrl u
202−-- , "user_url" .= _uUserUrl u
203−-- , "invitation_sent" .= _uInvitationSent' u
204−-- , "job_title"
205−-- ]
196+instance ToJSON User where
197+ toJSON u = Object (x <> y)
198+ where
199+ Object x = toJSON (_uInfo u)
200+ Object y = object
201+ [ "role" .= _uRole u
202+ , "avatar_url" .= _uAvatarUrl u
203+ , "user_url" .= _uUserUrl u
204+ , "invitation_sent" .= _uInvitationSent' u
205+ , "job_title" .= _uJobTitle u
206+ ]
206207
207208instance HasUserInfo User where
208209 userInfo = uInfo
src/Network/PagerDuty/REST/Webhooks.hs−1
@@ -30,7 +30,6 @@ module Network.PagerDuty.REST.Webhooks
3030 , wId
3131 , wType
3232 , wCreatedOn
33− , wData
3433 ) where
3534
3635import Control.Applicative hiding (empty)