Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions github-tools.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ library
GitHub.Types.Base.CheckApp
GitHub.Types.Base.CheckCommit
GitHub.Types.Base.CheckOutput
GitHub.Types.Base.CheckPullRequest
GitHub.Types.Base.CheckRun
GitHub.Types.Base.CheckSuite
GitHub.Types.Base.Commit
Expand Down
52 changes: 52 additions & 0 deletions src/GitHub/Types/Base/CheckPullRequest.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
module GitHub.Types.Base.CheckPullRequest where

import Data.Aeson (FromJSON (..), ToJSON (..), object)
import Data.Aeson.Types (Value (..), (.:), (.=))
import Data.Text (Text)
import Test.QuickCheck.Arbitrary (Arbitrary (..))

import GitHub.Types.Base.Commit

------------------------------------------------------------------------------
-- CheckPullRequest

data CheckPullRequest = CheckPullRequest
{ checkPullRequestBase :: Commit
, checkPullRequestHead :: Commit
, checkPullRequestId :: Int
, checkPullRequestNumber :: Int
, checkPullRequestUrl :: Text
} deriving (Eq, Show, Read)


instance FromJSON CheckPullRequest where
parseJSON (Object x) = CheckPullRequest
<$> x .: "base"
<*> x .: "head"
<*> x .: "id"
<*> x .: "number"
<*> x .: "url"

parseJSON _ = fail "CheckPullRequest"


instance ToJSON CheckPullRequest where
toJSON CheckPullRequest{..} = object
[ "base" .= checkPullRequestBase
, "head" .= checkPullRequestHead
, "id" .= checkPullRequestId
, "number" .= checkPullRequestNumber
, "url" .= checkPullRequestUrl
]


instance Arbitrary CheckPullRequest where
arbitrary = CheckPullRequest
<$> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
14 changes: 8 additions & 6 deletions src/GitHub/Types/Base/CheckSuite.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@
{-# LANGUAGE StrictData #-}
module GitHub.Types.Base.CheckSuite where

import Data.Aeson (FromJSON (..), ToJSON (..),
object)
import Data.Aeson.Types (Value (..), (.:), (.:?), (.=))
import Data.Text (Text)
import Test.QuickCheck.Arbitrary (Arbitrary (..))
import Data.Aeson (FromJSON (..), ToJSON (..),
object)
import Data.Aeson.Types (Value (..), (.:), (.:?),
(.=))
import Data.Text (Text)
import Test.QuickCheck.Arbitrary (Arbitrary (..))

import GitHub.Types.Base.CheckApp
import GitHub.Types.Base.CheckCommit
import GitHub.Types.Base.CheckPullRequest

------------------------------------------------------------------------------
-- CheckSuite
Expand All @@ -27,7 +29,7 @@ data CheckSuite = CheckSuite
, checkSuiteId :: Int
, checkSuiteLatestCheckRunsCount :: Maybe Int
, checkSuiteNodeId :: Text
, checkSuitePullRequests :: [Text]
, checkSuitePullRequests :: [CheckPullRequest]
, checkSuiteRerequestable :: Bool
, checkSuiteRunsRerequestable :: Bool
, checkSuiteStatus :: Text
Expand Down