packages feed

github-types 0.1.0.0 → 0.1.0.1

raw patch · 3 files changed

+63/−4 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ GitHub.Types.Events: eventParser :: Text -> Value -> Parser Event
+ GitHub.Types.Events: instance FromJSON CommitCommentEvent
+ GitHub.Types.Events: instance FromJSON DeploymentStatusEvent
+ GitHub.Types.Repository: Deployment :: Int -> Text -> Text -> Text -> Text -> Value -> Deployment
+ GitHub.Types.Repository: data Deployment
+ GitHub.Types.Repository: deploymentDescription :: Deployment -> Text
+ GitHub.Types.Repository: deploymentEnvironment :: Deployment -> Text
+ GitHub.Types.Repository: deploymentId :: Deployment -> Int
+ GitHub.Types.Repository: deploymentPayload :: Deployment -> Value
+ GitHub.Types.Repository: deploymentRef :: Deployment -> Text
+ GitHub.Types.Repository: deploymentSha :: Deployment -> Text
+ GitHub.Types.Repository: instance Eq Deployment
+ GitHub.Types.Repository: instance FromJSON Deployment
+ GitHub.Types.Repository: instance Show Deployment
- GitHub.Types.Events: DeploymentStatusEvent :: State -> Text -> Text -> Text -> DeploymentStatusEvent
+ GitHub.Types.Events: DeploymentStatusEvent :: State -> Maybe Text -> Deployment -> Maybe Text -> DeploymentStatusEvent
- GitHub.Types.Events: deploymentStatusEventDeployment :: DeploymentStatusEvent -> Text
+ GitHub.Types.Events: deploymentStatusEventDeployment :: DeploymentStatusEvent -> Deployment
- GitHub.Types.Events: deploymentStatusEventDescription :: DeploymentStatusEvent -> Text
+ GitHub.Types.Events: deploymentStatusEventDescription :: DeploymentStatusEvent -> Maybe Text
- GitHub.Types.Events: deploymentStatusEventTargetUrl :: DeploymentStatusEvent -> Text
+ GitHub.Types.Events: deploymentStatusEventTargetUrl :: DeploymentStatusEvent -> Maybe Text

Files

github-types.cabal view
@@ -1,5 +1,5 @@ name:                github-types-version:             0.1.0.0+version:             0.1.0.1 license:             OtherLicense license-file:        LICENSE author:              Tomas Carnecky
src/GitHub/Types/Events.hs view
@@ -7,12 +7,17 @@ import Control.Monad  import Data.Aeson+import Data.Aeson.Types import Data.Text  import GitHub.Types.Base+import GitHub.Types.Repository   +-- | All events which can be produced by GitHub.+--+-- See https://developer.github.com/v3/activity/events/types/ data Event     = CommitCommentEventType    CommitCommentEvent     | DeploymentEventType       DeploymentEvent@@ -20,7 +25,18 @@     deriving (Eq, Show)  +-- | Since the event type is included through different means (X-GitHub-Event+-- header, or inline in the JSON object), it's not possible to make 'Event'+-- an instance of 'FromJSON'. But if you know the type, you can use this+-- parser.+eventParser :: Text -> Value -> Parser Event+eventParser "commit_comment"    x = CommitCommentEventType    <$> parseJSON x+eventParser "deployment"        x = DeploymentEventType       <$> parseJSON x+eventParser "deployment_status" x = DeploymentStatusEventType <$> parseJSON x+eventParser _                   _ = mzero ++ ------------------------------------------------------------------------------ -- CommitCommentEvent @@ -28,7 +44,13 @@     { commitCommentEventRepository :: Repository     } deriving (Eq, Show) +instance FromJSON CommitCommentEvent where+    parseJSON (Object x) = CommitCommentEvent+        <$> x .: "repository" +    parseJSON _ = mzero++ ------------------------------------------------------------------------------ -- DeploymentEvent @@ -67,7 +89,20 @@  data DeploymentStatusEvent = DeploymentStatusEvent     { deploymentStatusEventState       :: State-    , deploymentStatusEventTargetUrl   :: Text-    , deploymentStatusEventDeployment  :: Text-    , deploymentStatusEventDescription :: Text+      -- ^ The new state.+    , deploymentStatusEventTargetUrl   :: Maybe Text+      -- ^ The optional link added to the status.+    , deploymentStatusEventDeployment  :: Deployment+      -- ^ The deployment that this status is associated with.+    , deploymentStatusEventDescription :: Maybe Text+      -- ^ The optional human-readable description added to the status.     } deriving (Eq, Show)++instance FromJSON DeploymentStatusEvent where+    parseJSON (Object x) = DeploymentStatusEvent+        <$> x .: "state"+        <*> x .: "target_url"+        <*> x .: "deployment"+        <*> x .: "description"++    parseJSON _ = mzero
src/GitHub/Types/Repository.hs view
@@ -4,6 +4,9 @@ module GitHub.Types.Repository where  +import Control.Applicative+import Control.Monad+ import Data.Aeson import Data.Text @@ -24,3 +27,24 @@         , "target_url"  .= cdsTargetUrl         , "description" .= cdsDescription         ]+++data Deployment = Deployment+    { deploymentId          :: Int+    , deploymentSha         :: Text+    , deploymentRef         :: Text+    , deploymentEnvironment :: Text+    , deploymentDescription :: Text+    , deploymentPayload     :: Value+    } deriving (Eq, Show)++instance FromJSON Deployment where+    parseJSON (Object x) = Deployment+        <$> x .: "id"+        <*> x .: "sha"+        <*> x .: "ref"+        <*> x .: "environment"+        <*> x .: "description"+        <*> x .: "payload"++    parseJSON _ = mzero