git.iko.soy/typeable/pagerduty
on develop help sign in
Ensuring additional REST resources compile
076abbaBrendan Hay
src/Network/PagerDuty/REST/EscalationPolicies.hs+16−16
@@ -1,7 +1,10 @@
1+{-# LANGUAGE ExtendedDefaultRules #-}
1−{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DataKinds #-}
2−{-# LANGUAGE OverloadedStrings #-}
3+{-# LANGUAGE OverloadedStrings #-}
3−{-# LANGUAGE TemplateHaskell #-}
4+{-# LANGUAGE TemplateHaskell #-}
4−{-# LANGUAGE TypeFamilies #-}
5+{-# LANGUAGE TypeFamilies #-}
6+
7+{-# OPTIONS_GHC -fno-warn-type-defaults #-}
5
8
6-- Module : Network.PagerDuty.REST.EscalationPolicies
9-- Module : Network.PagerDuty.REST.EscalationPolicies
7-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
10-- Copyright : (c) 2013-2014 Brendan Hay <brendan.g.hay@gmail.com>
@@ -57,21 +60,18 @@ module Network.PagerDuty.REST.EscalationPolicies
57 , pServices
60 , pServices
58 ) where
61 ) where
59
62
60−import Control.Applicative ((<$>))
61−import Control.Lens
63+import Control.Lens
62−import Data.Aeson
63−import Data.Aeson.Lens
64+import Data.Aeson.Lens
64−import qualified Data.HashMap.Strict as Map
65−import Data.Text (Text)
65+import Data.Text (Text)
66−import qualified Data.Text as Text
67−import Network.HTTP.Types
66+import Network.HTTP.Types
68−import Network.PagerDuty.REST.Services (Service)
67+import Network.PagerDuty.REST.Services (Service)
69−import Network.PagerDuty.REST.Users
70−import Network.PagerDuty.TH
68+import Network.PagerDuty.TH
71−import Network.PagerDuty.Types
69+import Network.PagerDuty.Types
72
70
73import Network.PagerDuty.REST.EscalationPolicies.EscalationRules
71import Network.PagerDuty.REST.EscalationPolicies.EscalationRules
74
72
73+default (Path)
74+
75policies :: Path
75policies :: Path
76policies = "escalation_policies"
76policies = "escalation_policies"
77
77
src/Network/PagerDuty/REST/Schedules.hs−1
@@ -112,7 +112,6 @@ module Network.PagerDuty.REST.Schedules
112
112
113import Control.Lens hiding ((.=))
113import Control.Lens hiding ((.=))
114import Data.Aeson
114import Data.Aeson
115−import Data.ByteString.Builder (Builder)
116import Data.Text (Text)
115import Data.Text (Text)
117import Data.Time
116import Data.Time
118import Network.HTTP.Types
117import Network.HTTP.Types
src/Network/PagerDuty/REST/Services.hs+4−4
@@ -108,10 +108,10 @@ module Network.PagerDuty.REST.Services
108
108
109import Control.Lens
109import Control.Lens
110import Data.Aeson.Lens
110import Data.Aeson.Lens
111−import Data.ByteString.Builder (Builder)
112−import Data.Text (Text)
111+import Data.Text (Text)
113import Data.Time
112import Data.Time
114import Network.HTTP.Types
113import Network.HTTP.Types
114+import Network.PagerDuty.REST.Services.EmailFilters
115import Network.PagerDuty.TH
115import Network.PagerDuty.TH
116import Network.PagerDuty.Types
116import Network.PagerDuty.Types
117
117
@@ -223,8 +223,8 @@ data Service = Service
223 , _svcIncidentCounts :: IncidentCounts
223 , _svcIncidentCounts :: IncidentCounts
224 , _svcEmailFilterMode :: EmailFilterMode
224 , _svcEmailFilterMode :: EmailFilterMode
225 , _svcType :: ServiceType
225 , _svcType :: ServiceType
226− , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
226+ , _svcEscalationPolicy :: Maybe PolicyInfo -- FIXME: extract from inline.
227− , _svcEmailFilters :: Maybe EmailFilters -- FIXME: extract from inline.
227+ , _svcEmailFilters :: Maybe [EmailFilterInfo] -- FIXME: extract from inline.
228 , _svcSeverityFilter :: Maybe SeverityFilter
228 , _svcSeverityFilter :: Maybe SeverityFilter
229 } deriving (Eq, Show)
229 } deriving (Eq, Show)
230
230
src/Network/PagerDuty/REST/Users.hs+12−11
@@ -85,6 +85,7 @@ import Control.Applicative hiding (empty)
85import Control.Lens hiding ((.=))
85import Control.Lens hiding ((.=))
86import Data.Aeson
86import Data.Aeson
87import Data.Default.Class
87import Data.Default.Class
88+import Data.Monoid
88import Data.Text (Text)
89import Data.Text (Text)
89import Data.Time
90import Data.Time
90import Network.HTTP.Types
91import Network.HTTP.Types
@@ -192,17 +193,17 @@ instance FromJSON User where
192 <*> o .: "invitation_sent"
193 <*> o .: "invitation_sent"
193 <*> o .:? "job_title"
194 <*> o .:? "job_title"
194
195
195−-- instance ToJSON User where
196+instance ToJSON User where
196−-- toJSON u = Object (x <> y)
197+ toJSON u = Object (x <> y)
197−-- where
198+ where
198−-- Object x = toJSON (_uInfo u)
199+ Object x = toJSON (_uInfo u)
199−-- Object y = object
200+ Object y = object
200−-- [ "role" .= _uRole u
201+ [ "role" .= _uRole u
201−-- , "avatar_url" .= _uAvatarUrl u
202+ , "avatar_url" .= _uAvatarUrl u
202−-- , "user_url" .= _uUserUrl u
203+ , "user_url" .= _uUserUrl u
203−-- , "invitation_sent" .= _uInvitationSent' u
204+ , "invitation_sent" .= _uInvitationSent' u
204−-- , "job_title"
205+ , "job_title" .= _uJobTitle u
205−-- ]
206+ ]
206
207
207instance HasUserInfo User where
208instance HasUserInfo User where
208 userInfo = uInfo
209 userInfo = uInfo
src/Network/PagerDuty/REST/Webhooks.hs−1
@@ -30,7 +30,6 @@ module Network.PagerDuty.REST.Webhooks
30 , wId
30 , wId
31 , wType
31 , wType
32 , wCreatedOn
32 , wCreatedOn
33− , wData
34 ) where
33 ) where
35
34
36import Control.Applicative hiding (empty)
35import Control.Applicative hiding (empty)