-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Access to the GitHub API, v3.
--   
--   The GitHub API provides programmatic access to the full GitHub Web
--   site, from Issues to Gists to repos down to the underlying git data
--   like references and trees. This library wraps all of that, exposing a
--   basic but Haskell-friendly set of functions and data structures.
--   
--   For supported endpoints see <a>GitHub</a> module.
--   
--   <pre>
--   import qualified GitHub as GH
--   
--   main :: IO ()
--   main = do
--       possibleUser &lt;- GH.executeRequest' $ GH.userInfoR "phadej"
--       print possibleUser
--   </pre>
--   
--   For more of an overview please see the README:
--   <a>https://github.com/phadej/github/blob/master/README.md</a>
@package github
@version 0.14.1


-- | Verification of incomming webhook payloads, as described at
--   <a>https://developer.github.com/webhooks/securing/</a>
module GitHub.Data.Webhooks.Validate

-- | Validates a given payload against a given HMAC hexdigest using a given
--   secret. Returns <a>True</a> iff the given hash is non-empty and it's a
--   valid signature of the payload.
isValidPayload :: String -> Maybe String -> ByteString -> Bool


module GitHub.Data.Name
newtype Name entity
N :: Text -> Name entity

-- | Smart constructor for <a>Name</a>
mkName :: proxy entity -> Text -> Name entity
untagName :: Name entity -> Text
instance GHC.Generics.Constructor GitHub.Data.Name.C1_0Name
instance GHC.Generics.Datatype GitHub.Data.Name.D1Name
instance Data.Data.Data entity => Data.Data.Data (GitHub.Data.Name.Name entity)
instance GHC.Generics.Generic (GitHub.Data.Name.Name entity)
instance GHC.Show.Show (GitHub.Data.Name.Name entity)
instance GHC.Classes.Ord (GitHub.Data.Name.Name entity)
instance GHC.Classes.Eq (GitHub.Data.Name.Name entity)
instance Data.Hashable.Class.Hashable (GitHub.Data.Name.Name entity)
instance Data.Binary.Class.Binary (GitHub.Data.Name.Name entity)
instance Control.DeepSeq.NFData (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.Class.FromJSON (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.Class.ToJSON (GitHub.Data.Name.Name entity)
instance Data.String.IsString (GitHub.Data.Name.Name entity)


module GitHub.Data.Id

-- | Numeric identifier.
newtype Id entity
Id :: Int -> Id entity

-- | Smart constructor for <a>Id</a>.
mkId :: proxy entity -> Int -> Id entity
untagId :: Id entity -> Int
instance GHC.Generics.Constructor GitHub.Data.Id.C1_0Id
instance GHC.Generics.Datatype GitHub.Data.Id.D1Id
instance Data.Data.Data entity => Data.Data.Data (GitHub.Data.Id.Id entity)
instance GHC.Generics.Generic (GitHub.Data.Id.Id entity)
instance GHC.Show.Show (GitHub.Data.Id.Id entity)
instance GHC.Classes.Ord (GitHub.Data.Id.Id entity)
instance GHC.Classes.Eq (GitHub.Data.Id.Id entity)
instance Data.Hashable.Class.Hashable (GitHub.Data.Id.Id entity)
instance Data.Binary.Class.Binary (GitHub.Data.Id.Id entity)
instance Control.DeepSeq.NFData (GitHub.Data.Id.Id entity)
instance Data.Aeson.Types.Class.FromJSON (GitHub.Data.Id.Id entity)
instance Data.Aeson.Types.Class.ToJSON (GitHub.Data.Id.Id entity)


module GitHub.Data.Webhooks
data RepoWebhook
RepoWebhook :: !Text -> !Text -> !(Id RepoWebhook) -> !Text -> !Bool -> !(Vector RepoWebhookEvent) -> !(Map Text Text) -> !RepoWebhookResponse -> !UTCTime -> !UTCTime -> RepoWebhook
[repoWebhookUrl] :: RepoWebhook -> !Text
[repoWebhookTestUrl] :: RepoWebhook -> !Text
[repoWebhookId] :: RepoWebhook -> !(Id RepoWebhook)
[repoWebhookName] :: RepoWebhook -> !Text
[repoWebhookActive] :: RepoWebhook -> !Bool
[repoWebhookEvents] :: RepoWebhook -> !(Vector RepoWebhookEvent)
[repoWebhookConfig] :: RepoWebhook -> !(Map Text Text)
[repoWebhookLastResponse] :: RepoWebhook -> !RepoWebhookResponse
[repoWebhookUpdatedAt] :: RepoWebhook -> !UTCTime
[repoWebhookCreatedAt] :: RepoWebhook -> !UTCTime
data RepoWebhookEvent
WebhookWildcardEvent :: RepoWebhookEvent
WebhookCommitCommentEvent :: RepoWebhookEvent
WebhookCreateEvent :: RepoWebhookEvent
WebhookDeleteEvent :: RepoWebhookEvent
WebhookDeploymentEvent :: RepoWebhookEvent
WebhookDeploymentStatusEvent :: RepoWebhookEvent
WebhookForkEvent :: RepoWebhookEvent
WebhookGollumEvent :: RepoWebhookEvent
WebhookIssueCommentEvent :: RepoWebhookEvent
WebhookIssuesEvent :: RepoWebhookEvent
WebhookMemberEvent :: RepoWebhookEvent
WebhookPageBuildEvent :: RepoWebhookEvent
WebhookPublicEvent :: RepoWebhookEvent
WebhookPullRequestReviewCommentEvent :: RepoWebhookEvent
WebhookPullRequestEvent :: RepoWebhookEvent
WebhookPushEvent :: RepoWebhookEvent
WebhookReleaseEvent :: RepoWebhookEvent
WebhookStatusEvent :: RepoWebhookEvent
WebhookTeamAddEvent :: RepoWebhookEvent
WebhookWatchEvent :: RepoWebhookEvent
data RepoWebhookResponse
RepoWebhookResponse :: !(Maybe Int) -> !Text -> !(Maybe Text) -> RepoWebhookResponse
[repoWebhookResponseCode] :: RepoWebhookResponse -> !(Maybe Int)
[repoWebhookResponseStatus] :: RepoWebhookResponse -> !Text
[repoWebhookResponseMessage] :: RepoWebhookResponse -> !(Maybe Text)
data PingEvent
PingEvent :: !Text -> !RepoWebhook -> !(Id RepoWebhook) -> PingEvent
[pingEventZen] :: PingEvent -> !Text
[pingEventHook] :: PingEvent -> !RepoWebhook
[pingEventHookId] :: PingEvent -> !(Id RepoWebhook)
data NewRepoWebhook
NewRepoWebhook :: !Text -> !(Map Text Text) -> !(Maybe (Vector RepoWebhookEvent)) -> !(Maybe Bool) -> NewRepoWebhook
[newRepoWebhookName] :: NewRepoWebhook -> !Text
[newRepoWebhookConfig] :: NewRepoWebhook -> !(Map Text Text)
[newRepoWebhookEvents] :: NewRepoWebhook -> !(Maybe (Vector RepoWebhookEvent))
[newRepoWebhookActive] :: NewRepoWebhook -> !(Maybe Bool)
data EditRepoWebhook
EditRepoWebhook :: !(Maybe (Map Text Text)) -> !(Maybe (Vector RepoWebhookEvent)) -> !(Maybe (Vector RepoWebhookEvent)) -> !(Maybe (Vector RepoWebhookEvent)) -> !(Maybe Bool) -> EditRepoWebhook
[editRepoWebhookConfig] :: EditRepoWebhook -> !(Maybe (Map Text Text))
[editRepoWebhookEvents] :: EditRepoWebhook -> !(Maybe (Vector RepoWebhookEvent))
[editRepoWebhookAddEvents] :: EditRepoWebhook -> !(Maybe (Vector RepoWebhookEvent))
[editRepoWebhookRemoveEvents] :: EditRepoWebhook -> !(Maybe (Vector RepoWebhookEvent))
[editRepoWebhookActive] :: EditRepoWebhook -> !(Maybe Bool)
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_4EditRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_3EditRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_2EditRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_1EditRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_0EditRepoWebhook
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0EditRepoWebhook
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1EditRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_3NewRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_2NewRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_1NewRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_0NewRepoWebhook
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0NewRepoWebhook
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1NewRepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_2PingEvent
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_1PingEvent
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_0PingEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0PingEvent
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1PingEvent
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_9RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_8RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_7RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_6RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_5RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_4RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_3RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_2RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_1RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_0RepoWebhook
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0RepoWebhook
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1RepoWebhook
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_2RepoWebhookResponse
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_1RepoWebhookResponse
instance GHC.Generics.Selector GitHub.Data.Webhooks.S1_0_0RepoWebhookResponse
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0RepoWebhookResponse
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1RepoWebhookResponse
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_19RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_18RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_17RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_16RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_15RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_14RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_13RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_12RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_11RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_10RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_9RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_8RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_7RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_6RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_5RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_4RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_3RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_2RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_1RepoWebhookEvent
instance GHC.Generics.Constructor GitHub.Data.Webhooks.C1_0RepoWebhookEvent
instance GHC.Generics.Datatype GitHub.Data.Webhooks.D1RepoWebhookEvent
instance GHC.Generics.Generic GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Generics.Generic GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Generics.Generic GitHub.Data.Webhooks.PingEvent
instance GHC.Classes.Ord GitHub.Data.Webhooks.PingEvent
instance GHC.Classes.Eq GitHub.Data.Webhooks.PingEvent
instance Data.Data.Data GitHub.Data.Webhooks.PingEvent
instance GHC.Show.Show GitHub.Data.Webhooks.PingEvent
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhook
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhookEvent
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhookEvent
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhookResponse
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.PingEvent
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.PingEvent
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.NewRepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Webhooks.RepoWebhook
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Webhooks.PingEvent


module GitHub.Data.Request

-- | Github request data type.
--   
--   <ul>
--   <li><tt>k</tt> describes whether authentication is required. It's
--   required for non-<tt>GET</tt> requests.</li>
--   <li><tt>a</tt> is the result type</li>
--   </ul>
--   
--   <i>Note:</i> <a>Request</a> is not <a>Functor</a> on purpose.
data Request (k :: Bool) a
Query :: Paths -> QueryString -> Request k a
PagedQuery :: Paths -> QueryString -> Maybe Count -> Request k (Vector a)
Command :: CommandMethod a -> Paths -> ByteString -> Request True a
StatusQuery :: StatusMap a -> Request k () -> Request k a

-- | Http method of requests with body.
data CommandMethod a
Post :: CommandMethod a
Patch :: CommandMethod a
Put :: CommandMethod a
Delete :: CommandMethod ()
toMethod :: CommandMethod a -> Method

-- | Status code transform
data StatusMap a
StatusOnlyOk :: StatusMap Bool
StatusMerge :: StatusMap MergeResult

-- | Result of merge operation
data MergeResult
MergeSuccessful :: MergeResult
MergeCannotPerform :: MergeResult
MergeConflict :: MergeResult
type Paths = [String]
class IsPathPart a
toPathPart :: IsPathPart a => a -> String
type QueryString = [(ByteString, Maybe ByteString)]
type Count = Int
instance GHC.Generics.Constructor GitHub.Data.Request.C1_2MergeResult
instance GHC.Generics.Constructor GitHub.Data.Request.C1_1MergeResult
instance GHC.Generics.Constructor GitHub.Data.Request.C1_0MergeResult
instance GHC.Generics.Datatype GitHub.Data.Request.D1MergeResult
instance GHC.Generics.Generic GitHub.Data.Request.MergeResult
instance GHC.Enum.Bounded GitHub.Data.Request.MergeResult
instance GHC.Enum.Enum GitHub.Data.Request.MergeResult
instance GHC.Show.Show GitHub.Data.Request.MergeResult
instance GHC.Read.Read GitHub.Data.Request.MergeResult
instance GHC.Classes.Ord GitHub.Data.Request.MergeResult
instance GHC.Classes.Eq GitHub.Data.Request.MergeResult
instance GHC.Classes.Eq (GitHub.Data.Request.CommandMethod a)
instance GHC.Classes.Eq (GitHub.Data.Request.StatusMap a)
instance GHC.Classes.Eq (GitHub.Data.Request.Request k a)
instance GitHub.Data.Request.IsPathPart (GitHub.Data.Name.Name a)
instance GitHub.Data.Request.IsPathPart (GitHub.Data.Id.Id a)
instance GHC.Show.Show (GitHub.Data.Request.CommandMethod a)
instance Data.Hashable.Class.Hashable (GitHub.Data.Request.CommandMethod a)
instance Data.Hashable.Class.Hashable GitHub.Data.Request.MergeResult
instance GHC.Show.Show (GitHub.Data.Request.StatusMap a)
instance Data.Hashable.Class.Hashable (GitHub.Data.Request.StatusMap a)
instance GHC.Show.Show (GitHub.Data.Request.Request k a)
instance Data.Hashable.Class.Hashable (GitHub.Data.Request.Request k a)


module GitHub.Data.Definitions

-- | Errors have been tagged according to their source, so you can more
--   easily dispatch and handle them.
data Error

-- | A HTTP error occurred. The actual caught error is included.
HTTPError :: !HttpException -> Error

-- | An error in the parser itself.
ParseError :: !Text -> Error

-- | The JSON is malformed or unexpected.
JsonError :: !Text -> Error

-- | Incorrect input.
UserError :: !Text -> Error

-- | Type of the repository owners.
data OwnerType
OwnerUser :: OwnerType
OwnerOrganization :: OwnerType
data SimpleUser
SimpleUser :: !(Id User) -> !(Name User) -> !Text -> !Text -> !OwnerType -> SimpleUser
[simpleUserId] :: SimpleUser -> !(Id User)
[simpleUserLogin] :: SimpleUser -> !(Name User)
[simpleUserAvatarUrl] :: SimpleUser -> !Text
[simpleUserUrl] :: SimpleUser -> !Text

-- | Should always be <a>OwnerUser</a>
[simpleUserType] :: SimpleUser -> !OwnerType
data SimpleOrganization
SimpleOrganization :: !(Id Organization) -> !(Name Organization) -> !Text -> !Text -> SimpleOrganization
[simpleOrganizationId] :: SimpleOrganization -> !(Id Organization)
[simpleOrganizationLogin] :: SimpleOrganization -> !(Name Organization)
[simpleOrganizationUrl] :: SimpleOrganization -> !Text
[simpleOrganizationAvatarUrl] :: SimpleOrganization -> !Text

-- | Sometimes we don't know the type of the owner, e.g. in <tt>Repo</tt>
data SimpleOwner
SimpleOwner :: !(Id Owner) -> !(Name Owner) -> !Text -> !Text -> !OwnerType -> SimpleOwner
[simpleOwnerId] :: SimpleOwner -> !(Id Owner)
[simpleOwnerLogin] :: SimpleOwner -> !(Name Owner)
[simpleOwnerUrl] :: SimpleOwner -> !Text
[simpleOwnerAvatarUrl] :: SimpleOwner -> !Text
[simpleOwnerType] :: SimpleOwner -> !OwnerType
data User
User :: !(Id User) -> !(Name User) -> !(Maybe Text) -> !OwnerType -> !UTCTime -> !Int -> !Text -> !Int -> !Int -> !(Maybe Bool) -> !(Maybe Text) -> !(Maybe Text) -> !Int -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> !Text -> !Text -> User
[userId] :: User -> !(Id User)
[userLogin] :: User -> !(Name User)
[userName] :: User -> !(Maybe Text)

-- | Should always be <a>OwnerUser</a>
[userType] :: User -> !OwnerType
[userCreatedAt] :: User -> !UTCTime
[userPublicGists] :: User -> !Int
[userAvatarUrl] :: User -> !Text
[userFollowers] :: User -> !Int
[userFollowing] :: User -> !Int
[userHireable] :: User -> !(Maybe Bool)
[userBlog] :: User -> !(Maybe Text)
[userBio] :: User -> !(Maybe Text)
[userPublicRepos] :: User -> !Int
[userLocation] :: User -> !(Maybe Text)
[userCompany] :: User -> !(Maybe Text)
[userEmail] :: User -> !(Maybe Text)
[userUrl] :: User -> !Text
[userHtmlUrl] :: User -> !Text
data Organization
Organization :: !(Id Organization) -> !(Name Organization) -> !(Maybe Text) -> !OwnerType -> !(Maybe Text) -> !(Maybe Text) -> !Int -> !(Maybe Text) -> !Text -> !Int -> !Text -> !(Maybe Text) -> !Int -> !Int -> !Text -> !UTCTime -> Organization
[organizationId] :: Organization -> !(Id Organization)
[organizationLogin] :: Organization -> !(Name Organization)
[organizationName] :: Organization -> !(Maybe Text)

-- | Should always be <a>OwnerOrganization</a>
[organizationType] :: Organization -> !OwnerType
[organizationBlog] :: Organization -> !(Maybe Text)
[organizationLocation] :: Organization -> !(Maybe Text)
[organizationFollowers] :: Organization -> !Int
[organizationCompany] :: Organization -> !(Maybe Text)
[organizationAvatarUrl] :: Organization -> !Text
[organizationPublicGists] :: Organization -> !Int
[organizationHtmlUrl] :: Organization -> !Text
[organizationEmail] :: Organization -> !(Maybe Text)
[organizationFollowing] :: Organization -> !Int
[organizationPublicRepos] :: Organization -> !Int
[organizationUrl] :: Organization -> !Text
[organizationCreatedAt] :: Organization -> !UTCTime

-- | In practic, you cam't have concrete values of <a>Owner</a>.
newtype Owner
Owner :: (Either User Organization) -> Owner
fromOwner :: Owner -> Either User Organization
parseUser :: Object -> Parser User
parseOrganization :: Object -> Parser Organization

-- | Filter members returned in the list.
data OrgMemberFilter

-- | Members without two-factor authentication enabled. Available for
--   organization owners.
OrgMemberFilter2faDisabled :: OrgMemberFilter

-- | All members the authenticated user can see.
OrgMemberFilterAll :: OrgMemberFilter

-- | Filter members returned by their role.
data OrgMemberRole

-- | All members of the organization, regardless of role.
OrgMemberRoleAll :: OrgMemberRole

-- | Organization owners.
OrgMemberRoleAdmin :: OrgMemberRole

-- | Non-owner organization members.
OrgMemberRoleMember :: OrgMemberRole
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_2OrgMemberRole
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_1OrgMemberRole
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0OrgMemberRole
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1OrgMemberRole
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_1OrgMemberFilter
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0OrgMemberFilter
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1OrgMemberFilter
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_4SimpleOwner
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_3SimpleOwner
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_2SimpleOwner
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_1SimpleOwner
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_0SimpleOwner
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0SimpleOwner
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1SimpleOwner
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0Owner
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1Owner
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_3SimpleOrganization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_2SimpleOrganization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_1SimpleOrganization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_0SimpleOrganization
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0SimpleOrganization
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1SimpleOrganization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_15Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_14Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_13Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_12Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_11Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_10Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_9Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_8Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_7Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_6Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_5Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_4Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_3Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_2Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_1Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_0Organization
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0Organization
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1Organization
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_4SimpleUser
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_3SimpleUser
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_2SimpleUser
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_1SimpleUser
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_0SimpleUser
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0SimpleUser
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1SimpleUser
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_17User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_16User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_15User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_14User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_13User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_12User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_11User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_10User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_9User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_8User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_7User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_6User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_5User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_4User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_3User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_2User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_1User
instance GHC.Generics.Selector GitHub.Data.Definitions.S1_0_0User
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0User
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1User
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_1OwnerType
instance GHC.Generics.Constructor GitHub.Data.Definitions.C1_0OwnerType
instance GHC.Generics.Datatype GitHub.Data.Definitions.D1OwnerType
instance GHC.Generics.Generic GitHub.Data.Definitions.OrgMemberRole
instance Data.Data.Data GitHub.Data.Definitions.OrgMemberRole
instance GHC.Enum.Bounded GitHub.Data.Definitions.OrgMemberRole
instance GHC.Enum.Enum GitHub.Data.Definitions.OrgMemberRole
instance GHC.Classes.Ord GitHub.Data.Definitions.OrgMemberRole
instance GHC.Classes.Eq GitHub.Data.Definitions.OrgMemberRole
instance GHC.Show.Show GitHub.Data.Definitions.OrgMemberRole
instance GHC.Generics.Generic GitHub.Data.Definitions.OrgMemberFilter
instance Data.Data.Data GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Enum.Bounded GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Enum.Enum GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Classes.Ord GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Classes.Eq GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Show.Show GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleOwner
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleOwner
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleOwner
instance Data.Data.Data GitHub.Data.Definitions.SimpleOwner
instance GHC.Show.Show GitHub.Data.Definitions.SimpleOwner
instance GHC.Generics.Generic GitHub.Data.Definitions.Owner
instance GHC.Classes.Ord GitHub.Data.Definitions.Owner
instance GHC.Classes.Eq GitHub.Data.Definitions.Owner
instance Data.Data.Data GitHub.Data.Definitions.Owner
instance GHC.Show.Show GitHub.Data.Definitions.Owner
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleOrganization
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleOrganization
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleOrganization
instance Data.Data.Data GitHub.Data.Definitions.SimpleOrganization
instance GHC.Show.Show GitHub.Data.Definitions.SimpleOrganization
instance GHC.Generics.Generic GitHub.Data.Definitions.Organization
instance GHC.Classes.Ord GitHub.Data.Definitions.Organization
instance GHC.Classes.Eq GitHub.Data.Definitions.Organization
instance Data.Data.Data GitHub.Data.Definitions.Organization
instance GHC.Show.Show GitHub.Data.Definitions.Organization
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleUser
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleUser
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleUser
instance Data.Data.Data GitHub.Data.Definitions.SimpleUser
instance GHC.Show.Show GitHub.Data.Definitions.SimpleUser
instance GHC.Generics.Generic GitHub.Data.Definitions.User
instance GHC.Classes.Ord GitHub.Data.Definitions.User
instance GHC.Classes.Eq GitHub.Data.Definitions.User
instance Data.Data.Data GitHub.Data.Definitions.User
instance GHC.Show.Show GitHub.Data.Definitions.User
instance Data.Data.Data GitHub.Data.Definitions.OwnerType
instance GHC.Generics.Generic GitHub.Data.Definitions.OwnerType
instance GHC.Read.Read GitHub.Data.Definitions.OwnerType
instance GHC.Show.Show GitHub.Data.Definitions.OwnerType
instance GHC.Enum.Bounded GitHub.Data.Definitions.OwnerType
instance GHC.Enum.Enum GitHub.Data.Definitions.OwnerType
instance GHC.Classes.Ord GitHub.Data.Definitions.OwnerType
instance GHC.Classes.Eq GitHub.Data.Definitions.OwnerType
instance GHC.Show.Show GitHub.Data.Definitions.Error
instance GHC.Exception.Exception GitHub.Data.Definitions.Error
instance Control.DeepSeq.NFData GitHub.Data.Definitions.OwnerType
instance Data.Binary.Class.Binary GitHub.Data.Definitions.OwnerType
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleUser
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleUser
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleOrganization
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleOrganization
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleOwner
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleOwner
instance Control.DeepSeq.NFData GitHub.Data.Definitions.User
instance Data.Binary.Class.Binary GitHub.Data.Definitions.User
instance Control.DeepSeq.NFData GitHub.Data.Definitions.Organization
instance Data.Binary.Class.Binary GitHub.Data.Definitions.Organization
instance Control.DeepSeq.NFData GitHub.Data.Definitions.Owner
instance Data.Binary.Class.Binary GitHub.Data.Definitions.Owner
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.OwnerType
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.SimpleUser
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.SimpleOrganization
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.SimpleOwner
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.User
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.Organization
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Definitions.Owner


module GitHub.Data.GitData

-- | The options for querying commits.
data CommitQueryOption
CommitQuerySha :: !Text -> CommitQueryOption
CommitQueryPath :: !Text -> CommitQueryOption
CommitQueryAuthor :: !Text -> CommitQueryOption
CommitQuerySince :: !UTCTime -> CommitQueryOption
CommitQueryUntil :: !UTCTime -> CommitQueryOption
data Stats
Stats :: !Int -> !Int -> !Int -> Stats
[statsAdditions] :: Stats -> !Int
[statsTotal] :: Stats -> !Int
[statsDeletions] :: Stats -> !Int
data Commit
Commit :: !(Name Commit) -> !(Vector Tree) -> !Text -> !GitCommit -> !(Maybe SimpleUser) -> !(Maybe SimpleUser) -> !(Vector File) -> !(Maybe Stats) -> Commit
[commitSha] :: Commit -> !(Name Commit)
[commitParents] :: Commit -> !(Vector Tree)
[commitUrl] :: Commit -> !Text
[commitGitCommit] :: Commit -> !GitCommit
[commitCommitter] :: Commit -> !(Maybe SimpleUser)
[commitAuthor] :: Commit -> !(Maybe SimpleUser)
[commitFiles] :: Commit -> !(Vector File)
[commitStats] :: Commit -> !(Maybe Stats)
data Tree
Tree :: !(Name Tree) -> !Text -> !(Vector GitTree) -> Tree
[treeSha] :: Tree -> !(Name Tree)
[treeUrl] :: Tree -> !Text
[treeGitTrees] :: Tree -> !(Vector GitTree)
data GitTree
GitTree :: !Text -> !(Name GitTree) -> !(Maybe Text) -> !(Maybe Int) -> !Text -> !Text -> GitTree
[gitTreeType] :: GitTree -> !Text
[gitTreeSha] :: GitTree -> !(Name GitTree)
[gitTreeUrl] :: GitTree -> !(Maybe Text)
[gitTreeSize] :: GitTree -> !(Maybe Int)
[gitTreePath] :: GitTree -> !Text
[gitTreeMode] :: GitTree -> !Text
data GitCommit
GitCommit :: !Text -> !Text -> !GitUser -> !GitUser -> !Tree -> !(Maybe (Name GitCommit)) -> !(Vector Tree) -> GitCommit
[gitCommitMessage] :: GitCommit -> !Text
[gitCommitUrl] :: GitCommit -> !Text
[gitCommitCommitter] :: GitCommit -> !GitUser
[gitCommitAuthor] :: GitCommit -> !GitUser
[gitCommitTree] :: GitCommit -> !Tree
[gitCommitSha] :: GitCommit -> !(Maybe (Name GitCommit))
[gitCommitParents] :: GitCommit -> !(Vector Tree)
data Blob
Blob :: !Text -> !Text -> !Text -> !(Name Blob) -> !Int -> Blob
[blobUrl] :: Blob -> !Text
[blobEncoding] :: Blob -> !Text
[blobContent] :: Blob -> !Text
[blobSha] :: Blob -> !(Name Blob)
[blobSize] :: Blob -> !Int
data Tag
Tag :: !Text -> !Text -> !Text -> !BranchCommit -> Tag
[tagName] :: Tag -> !Text
[tagZipballUrl] :: Tag -> !Text
[tagTarballUrl] :: Tag -> !Text
[tagCommit] :: Tag -> !BranchCommit
data Branch
Branch :: !Text -> !BranchCommit -> Branch
[branchName] :: Branch -> !Text
[branchCommit] :: Branch -> !BranchCommit
data BranchCommit
BranchCommit :: !Text -> !Text -> BranchCommit
[branchCommitSha] :: BranchCommit -> !Text
[branchCommitUrl] :: BranchCommit -> !Text
data Diff
Diff :: !Text -> !Int -> !Text -> !Text -> !Commit -> !(Vector Commit) -> !Int -> !Text -> !(Vector File) -> !Int -> !Text -> !Text -> Diff
[diffStatus] :: Diff -> !Text
[diffBehindBy] :: Diff -> !Int
[diffPatchUrl] :: Diff -> !Text
[diffUrl] :: Diff -> !Text
[diffBaseCommit] :: Diff -> !Commit
[diffCommits] :: Diff -> !(Vector Commit)
[diffTotalCommits] :: Diff -> !Int
[diffHtmlUrl] :: Diff -> !Text
[diffFiles] :: Diff -> !(Vector File)
[diffAheadBy] :: Diff -> !Int
[diffDiffUrl] :: Diff -> !Text
[diffPermalinkUrl] :: Diff -> !Text
data NewGitReference
NewGitReference :: !Text -> !Text -> NewGitReference
[newGitReferenceRef] :: NewGitReference -> !Text
[newGitReferenceSha] :: NewGitReference -> !Text
data GitReference
GitReference :: !GitObject -> !Text -> !Text -> GitReference
[gitReferenceObject] :: GitReference -> !GitObject
[gitReferenceUrl] :: GitReference -> !Text
[gitReferenceRef] :: GitReference -> !Text
data GitObject
GitObject :: !Text -> !Text -> !Text -> GitObject
[gitObjectType] :: GitObject -> !Text
[gitObjectSha] :: GitObject -> !Text
[gitObjectUrl] :: GitObject -> !Text
data GitUser
GitUser :: !Text -> !Text -> !UTCTime -> GitUser
[gitUserName] :: GitUser -> !Text
[gitUserEmail] :: GitUser -> !Text
[gitUserDate] :: GitUser -> !UTCTime
data File
File :: !Text -> !Text -> !Text -> !Int -> !Text -> !Int -> !(Maybe Text) -> !Text -> !Int -> File
[fileBlobUrl] :: File -> !Text
[fileStatus] :: File -> !Text
[fileRawUrl] :: File -> !Text
[fileAdditions] :: File -> !Int
[fileSha] :: File -> !Text
[fileChanges] :: File -> !Int
[filePatch] :: File -> !(Maybe Text)
[fileFilename] :: File -> !Text
[fileDeletions] :: File -> !Int
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_11Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_10Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_9Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_8Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_7Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_6Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_5Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Diff
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Diff
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Diff
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_7Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_6Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_5Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Commit
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Commit
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Commit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_8File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_7File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_6File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_5File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0File
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0File
instance GHC.Generics.Datatype GitHub.Data.GitData.D1File
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_6GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_5GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0GitCommit
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0GitCommit
instance GHC.Generics.Datatype GitHub.Data.GitData.D1GitCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2GitUser
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1GitUser
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0GitUser
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0GitUser
instance GHC.Generics.Datatype GitHub.Data.GitData.D1GitUser
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2GitReference
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1GitReference
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0GitReference
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0GitReference
instance GHC.Generics.Datatype GitHub.Data.GitData.D1GitReference
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2GitObject
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1GitObject
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0GitObject
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0GitObject
instance GHC.Generics.Datatype GitHub.Data.GitData.D1GitObject
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1NewGitReference
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0NewGitReference
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0NewGitReference
instance GHC.Generics.Datatype GitHub.Data.GitData.D1NewGitReference
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3Tag
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Tag
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Tag
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Tag
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Tag
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Tag
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Branch
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Branch
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Branch
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Branch
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1BranchCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0BranchCommit
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0BranchCommit
instance GHC.Generics.Datatype GitHub.Data.GitData.D1BranchCommit
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4Blob
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3Blob
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Blob
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Blob
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Blob
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Blob
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Blob
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Tree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Tree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Tree
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Tree
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Tree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_5GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_4GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_3GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0GitTree
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0GitTree
instance GHC.Generics.Datatype GitHub.Data.GitData.D1GitTree
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_2Stats
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_1Stats
instance GHC.Generics.Selector GitHub.Data.GitData.S1_0_0Stats
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0Stats
instance GHC.Generics.Datatype GitHub.Data.GitData.D1Stats
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_4CommitQueryOption
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_3CommitQueryOption
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_2CommitQueryOption
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_1CommitQueryOption
instance GHC.Generics.Constructor GitHub.Data.GitData.C1_0CommitQueryOption
instance GHC.Generics.Datatype GitHub.Data.GitData.D1CommitQueryOption
instance GHC.Generics.Generic GitHub.Data.GitData.Diff
instance GHC.Classes.Ord GitHub.Data.GitData.Diff
instance GHC.Classes.Eq GitHub.Data.GitData.Diff
instance Data.Data.Data GitHub.Data.GitData.Diff
instance GHC.Show.Show GitHub.Data.GitData.Diff
instance GHC.Generics.Generic GitHub.Data.GitData.Commit
instance GHC.Classes.Ord GitHub.Data.GitData.Commit
instance GHC.Classes.Eq GitHub.Data.GitData.Commit
instance Data.Data.Data GitHub.Data.GitData.Commit
instance GHC.Show.Show GitHub.Data.GitData.Commit
instance GHC.Generics.Generic GitHub.Data.GitData.File
instance GHC.Classes.Ord GitHub.Data.GitData.File
instance GHC.Classes.Eq GitHub.Data.GitData.File
instance Data.Data.Data GitHub.Data.GitData.File
instance GHC.Show.Show GitHub.Data.GitData.File
instance GHC.Generics.Generic GitHub.Data.GitData.GitCommit
instance GHC.Classes.Ord GitHub.Data.GitData.GitCommit
instance GHC.Classes.Eq GitHub.Data.GitData.GitCommit
instance Data.Data.Data GitHub.Data.GitData.GitCommit
instance GHC.Show.Show GitHub.Data.GitData.GitCommit
instance GHC.Generics.Generic GitHub.Data.GitData.GitUser
instance GHC.Classes.Ord GitHub.Data.GitData.GitUser
instance GHC.Classes.Eq GitHub.Data.GitData.GitUser
instance Data.Data.Data GitHub.Data.GitData.GitUser
instance GHC.Show.Show GitHub.Data.GitData.GitUser
instance GHC.Generics.Generic GitHub.Data.GitData.GitReference
instance GHC.Classes.Ord GitHub.Data.GitData.GitReference
instance GHC.Classes.Eq GitHub.Data.GitData.GitReference
instance Data.Data.Data GitHub.Data.GitData.GitReference
instance GHC.Show.Show GitHub.Data.GitData.GitReference
instance GHC.Generics.Generic GitHub.Data.GitData.GitObject
instance GHC.Classes.Ord GitHub.Data.GitData.GitObject
instance GHC.Classes.Eq GitHub.Data.GitData.GitObject
instance Data.Data.Data GitHub.Data.GitData.GitObject
instance GHC.Show.Show GitHub.Data.GitData.GitObject
instance GHC.Generics.Generic GitHub.Data.GitData.NewGitReference
instance GHC.Classes.Ord GitHub.Data.GitData.NewGitReference
instance GHC.Classes.Eq GitHub.Data.GitData.NewGitReference
instance Data.Data.Data GitHub.Data.GitData.NewGitReference
instance GHC.Show.Show GitHub.Data.GitData.NewGitReference
instance GHC.Generics.Generic GitHub.Data.GitData.Tag
instance GHC.Classes.Ord GitHub.Data.GitData.Tag
instance GHC.Classes.Eq GitHub.Data.GitData.Tag
instance Data.Data.Data GitHub.Data.GitData.Tag
instance GHC.Show.Show GitHub.Data.GitData.Tag
instance GHC.Generics.Generic GitHub.Data.GitData.Branch
instance GHC.Classes.Ord GitHub.Data.GitData.Branch
instance GHC.Classes.Eq GitHub.Data.GitData.Branch
instance Data.Data.Data GitHub.Data.GitData.Branch
instance GHC.Show.Show GitHub.Data.GitData.Branch
instance GHC.Generics.Generic GitHub.Data.GitData.BranchCommit
instance GHC.Classes.Ord GitHub.Data.GitData.BranchCommit
instance GHC.Classes.Eq GitHub.Data.GitData.BranchCommit
instance Data.Data.Data GitHub.Data.GitData.BranchCommit
instance GHC.Show.Show GitHub.Data.GitData.BranchCommit
instance GHC.Generics.Generic GitHub.Data.GitData.Blob
instance GHC.Classes.Ord GitHub.Data.GitData.Blob
instance GHC.Classes.Eq GitHub.Data.GitData.Blob
instance Data.Data.Data GitHub.Data.GitData.Blob
instance GHC.Show.Show GitHub.Data.GitData.Blob
instance GHC.Generics.Generic GitHub.Data.GitData.Tree
instance GHC.Classes.Ord GitHub.Data.GitData.Tree
instance GHC.Classes.Eq GitHub.Data.GitData.Tree
instance Data.Data.Data GitHub.Data.GitData.Tree
instance GHC.Show.Show GitHub.Data.GitData.Tree
instance GHC.Generics.Generic GitHub.Data.GitData.GitTree
instance GHC.Classes.Ord GitHub.Data.GitData.GitTree
instance GHC.Classes.Eq GitHub.Data.GitData.GitTree
instance Data.Data.Data GitHub.Data.GitData.GitTree
instance GHC.Show.Show GitHub.Data.GitData.GitTree
instance GHC.Generics.Generic GitHub.Data.GitData.Stats
instance GHC.Classes.Ord GitHub.Data.GitData.Stats
instance GHC.Classes.Eq GitHub.Data.GitData.Stats
instance Data.Data.Data GitHub.Data.GitData.Stats
instance GHC.Show.Show GitHub.Data.GitData.Stats
instance Data.Data.Data GitHub.Data.GitData.CommitQueryOption
instance GHC.Generics.Generic GitHub.Data.GitData.CommitQueryOption
instance GHC.Classes.Ord GitHub.Data.GitData.CommitQueryOption
instance GHC.Classes.Eq GitHub.Data.GitData.CommitQueryOption
instance GHC.Show.Show GitHub.Data.GitData.CommitQueryOption
instance Control.DeepSeq.NFData GitHub.Data.GitData.Stats
instance Data.Binary.Class.Binary GitHub.Data.GitData.Stats
instance Control.DeepSeq.NFData GitHub.Data.GitData.Commit
instance Data.Binary.Class.Binary GitHub.Data.GitData.Commit
instance Control.DeepSeq.NFData GitHub.Data.GitData.Tree
instance Data.Binary.Class.Binary GitHub.Data.GitData.Tree
instance Control.DeepSeq.NFData GitHub.Data.GitData.GitTree
instance Data.Binary.Class.Binary GitHub.Data.GitData.GitTree
instance Control.DeepSeq.NFData GitHub.Data.GitData.GitCommit
instance Data.Binary.Class.Binary GitHub.Data.GitData.GitCommit
instance Control.DeepSeq.NFData GitHub.Data.GitData.Blob
instance Data.Binary.Class.Binary GitHub.Data.GitData.Blob
instance Control.DeepSeq.NFData GitHub.Data.GitData.Tag
instance Data.Binary.Class.Binary GitHub.Data.GitData.Tag
instance Control.DeepSeq.NFData GitHub.Data.GitData.Branch
instance Control.DeepSeq.NFData GitHub.Data.GitData.BranchCommit
instance Data.Binary.Class.Binary GitHub.Data.GitData.BranchCommit
instance Control.DeepSeq.NFData GitHub.Data.GitData.Diff
instance Data.Binary.Class.Binary GitHub.Data.GitData.Diff
instance Control.DeepSeq.NFData GitHub.Data.GitData.NewGitReference
instance Data.Binary.Class.Binary GitHub.Data.GitData.NewGitReference
instance Control.DeepSeq.NFData GitHub.Data.GitData.GitReference
instance Data.Binary.Class.Binary GitHub.Data.GitData.GitReference
instance Control.DeepSeq.NFData GitHub.Data.GitData.GitObject
instance Data.Binary.Class.Binary GitHub.Data.GitData.GitObject
instance Control.DeepSeq.NFData GitHub.Data.GitData.GitUser
instance Data.Binary.Class.Binary GitHub.Data.GitData.GitUser
instance Control.DeepSeq.NFData GitHub.Data.GitData.File
instance Data.Binary.Class.Binary GitHub.Data.GitData.File
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Stats
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Commit
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Tree
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.GitTree
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.GitCommit
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.GitUser
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.File
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.GitData.NewGitReference
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.GitReference
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.GitObject
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Diff
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Blob
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Tag
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.Branch
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.GitData.BranchCommit


-- | This module also exports <tt><a>FromJSON</a> a =&gt; <a>FromJSON</a>
--   (<a>HashMap</a> <a>Language</a> a)</tt> orphan-ish instance.
module GitHub.Data.Repos
data Repo
Repo :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe UTCTime) -> !Text -> !(Maybe Text) -> !(Maybe Int) -> !(Maybe Text) -> !(Maybe Bool) -> !(Maybe Text) -> !Bool -> !(Maybe Text) -> !(Maybe Int) -> !(Maybe UTCTime) -> !(Maybe Int) -> !SimpleOwner -> !(Name Repo) -> !(Maybe Language) -> !(Maybe Text) -> !(Maybe UTCTime) -> !(Id Repo) -> !Text -> !(Maybe Int) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe RepoRef) -> !(Maybe RepoRef) -> !Text -> !Int -> Repo
[repoSshUrl] :: Repo -> !(Maybe Text)
[repoDescription] :: Repo -> !(Maybe Text)
[repoCreatedAt] :: Repo -> !(Maybe UTCTime)
[repoHtmlUrl] :: Repo -> !Text
[repoSvnUrl] :: Repo -> !(Maybe Text)
[repoForks] :: Repo -> !(Maybe Int)
[repoHomepage] :: Repo -> !(Maybe Text)
[repoFork] :: Repo -> !(Maybe Bool)
[repoGitUrl] :: Repo -> !(Maybe Text)
[repoPrivate] :: Repo -> !Bool
[repoCloneUrl] :: Repo -> !(Maybe Text)
[repoSize] :: Repo -> !(Maybe Int)
[repoUpdatedAt] :: Repo -> !(Maybe UTCTime)
[repoWatchers] :: Repo -> !(Maybe Int)
[repoOwner] :: Repo -> !SimpleOwner
[repoName] :: Repo -> !(Name Repo)
[repoLanguage] :: Repo -> !(Maybe Language)
[repoMasterBranch] :: Repo -> !(Maybe Text)

-- | this is Nothing for new repositories
[repoPushedAt] :: Repo -> !(Maybe UTCTime)
[repoId] :: Repo -> !(Id Repo)
[repoUrl] :: Repo -> !Text
[repoOpenIssues] :: Repo -> !(Maybe Int)
[repoHasWiki] :: Repo -> !(Maybe Bool)
[repoHasIssues] :: Repo -> !(Maybe Bool)
[repoHasDownloads] :: Repo -> !(Maybe Bool)
[repoParent] :: Repo -> !(Maybe RepoRef)
[repoSource] :: Repo -> !(Maybe RepoRef)
[repoHooksUrl] :: Repo -> !Text
[repoStargazersCount] :: Repo -> !Int
data RepoRef
RepoRef :: !SimpleOwner -> !(Name Repo) -> RepoRef
[repoRefOwner] :: RepoRef -> !SimpleOwner
[repoRefRepo] :: RepoRef -> !(Name Repo)
data NewRepo
NewRepo :: !(Name Repo) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> NewRepo
[newRepoName] :: NewRepo -> !(Name Repo)
[newRepoDescription] :: NewRepo -> !(Maybe Text)
[newRepoHomepage] :: NewRepo -> !(Maybe Text)
[newRepoPrivate] :: NewRepo -> !(Maybe Bool)
[newRepoHasIssues] :: NewRepo -> !(Maybe Bool)
[newRepoHasWiki] :: NewRepo -> !(Maybe Bool)
[newRepoAutoInit] :: NewRepo -> !(Maybe Bool)
newRepo :: Name Repo -> NewRepo
data EditRepo
EditRepo :: !(Maybe (Name Repo)) -> !(Maybe Text) -> !(Maybe Text) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> !(Maybe Bool) -> EditRepo
[editName] :: EditRepo -> !(Maybe (Name Repo))
[editDescription] :: EditRepo -> !(Maybe Text)
[editHomepage] :: EditRepo -> !(Maybe Text)
[editPublic] :: EditRepo -> !(Maybe Bool)
[editHasIssues] :: EditRepo -> !(Maybe Bool)
[editHasWiki] :: EditRepo -> !(Maybe Bool)
[editHasDownloads] :: EditRepo -> !(Maybe Bool)

-- | Filter the list of the user's repos using any of these constructors.
data RepoPublicity

-- | All repos accessible to the user.
RepoPublicityAll :: RepoPublicity

-- | Only repos owned by the user.
RepoPublicityOwner :: RepoPublicity

-- | Only public repos.
RepoPublicityPublic :: RepoPublicity

-- | Only private repos.
RepoPublicityPrivate :: RepoPublicity

-- | Only repos to which the user is a member but not an owner.
RepoPublicityMember :: RepoPublicity

-- | The value is the number of bytes of code written in that language.
type Languages = HashMap Language Int

-- | A programming language.
newtype Language
Language :: Text -> Language
getLanguage :: Language -> Text
data Contributor

-- | An existing Github user, with their number of contributions, avatar
--   URL, login, URL, ID, and Gravatar ID.
KnownContributor :: !Int -> !Text -> !(Name User) -> !Text -> !(Id User) -> !Text -> Contributor

-- | An unknown Github user with their number of contributions and recorded
--   name.
AnonymousContributor :: !Int -> !Text -> Contributor
contributorToSimpleUser :: Contributor -> Maybe SimpleUser
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_1Contributor
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0Contributor
instance GHC.Generics.Datatype GitHub.Data.Repos.D1Contributor
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_6NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_5NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_4NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_3NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_2NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_1NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_0NewRepo
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0NewRepo
instance GHC.Generics.Datatype GitHub.Data.Repos.D1NewRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_6EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_5EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_4EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_3EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_2EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_1EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_0EditRepo
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0EditRepo
instance GHC.Generics.Datatype GitHub.Data.Repos.D1EditRepo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_1RepoRef
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_0RepoRef
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0RepoRef
instance GHC.Generics.Datatype GitHub.Data.Repos.D1RepoRef
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_28Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_27Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_26Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_25Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_24Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_23Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_22Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_21Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_20Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_19Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_18Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_17Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_16Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_15Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_14Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_13Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_12Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_11Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_10Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_9Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_8Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_7Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_6Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_5Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_4Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_3Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_2Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_1Repo
instance GHC.Generics.Selector GitHub.Data.Repos.S1_0_0Repo
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0Repo
instance GHC.Generics.Datatype GitHub.Data.Repos.D1Repo
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0Language
instance GHC.Generics.Datatype GitHub.Data.Repos.D1Language
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_4RepoPublicity
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_3RepoPublicity
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_2RepoPublicity
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_1RepoPublicity
instance GHC.Generics.Constructor GitHub.Data.Repos.C1_0RepoPublicity
instance GHC.Generics.Datatype GitHub.Data.Repos.D1RepoPublicity
instance GHC.Generics.Generic GitHub.Data.Repos.Contributor
instance GHC.Classes.Ord GitHub.Data.Repos.Contributor
instance GHC.Classes.Eq GitHub.Data.Repos.Contributor
instance Data.Data.Data GitHub.Data.Repos.Contributor
instance GHC.Show.Show GitHub.Data.Repos.Contributor
instance GHC.Generics.Generic GitHub.Data.Repos.NewRepo
instance Data.Data.Data GitHub.Data.Repos.NewRepo
instance GHC.Show.Show GitHub.Data.Repos.NewRepo
instance GHC.Classes.Ord GitHub.Data.Repos.NewRepo
instance GHC.Classes.Eq GitHub.Data.Repos.NewRepo
instance GHC.Generics.Generic GitHub.Data.Repos.EditRepo
instance Data.Data.Data GitHub.Data.Repos.EditRepo
instance GHC.Show.Show GitHub.Data.Repos.EditRepo
instance GHC.Classes.Ord GitHub.Data.Repos.EditRepo
instance GHC.Classes.Eq GitHub.Data.Repos.EditRepo
instance GHC.Generics.Generic GitHub.Data.Repos.RepoRef
instance GHC.Classes.Ord GitHub.Data.Repos.RepoRef
instance GHC.Classes.Eq GitHub.Data.Repos.RepoRef
instance Data.Data.Data GitHub.Data.Repos.RepoRef
instance GHC.Show.Show GitHub.Data.Repos.RepoRef
instance GHC.Generics.Generic GitHub.Data.Repos.Repo
instance GHC.Classes.Ord GitHub.Data.Repos.Repo
instance GHC.Classes.Eq GitHub.Data.Repos.Repo
instance Data.Data.Data GitHub.Data.Repos.Repo
instance GHC.Show.Show GitHub.Data.Repos.Repo
instance GHC.Generics.Generic GitHub.Data.Repos.Language
instance GHC.Classes.Ord GitHub.Data.Repos.Language
instance GHC.Classes.Eq GitHub.Data.Repos.Language
instance Data.Data.Data GitHub.Data.Repos.Language
instance GHC.Show.Show GitHub.Data.Repos.Language
instance GHC.Generics.Generic GitHub.Data.Repos.RepoPublicity
instance Data.Data.Data GitHub.Data.Repos.RepoPublicity
instance GHC.Enum.Bounded GitHub.Data.Repos.RepoPublicity
instance GHC.Enum.Enum GitHub.Data.Repos.RepoPublicity
instance GHC.Classes.Ord GitHub.Data.Repos.RepoPublicity
instance GHC.Classes.Eq GitHub.Data.Repos.RepoPublicity
instance GHC.Show.Show GitHub.Data.Repos.RepoPublicity
instance Control.DeepSeq.NFData GitHub.Data.Repos.Repo
instance Data.Binary.Class.Binary GitHub.Data.Repos.Repo
instance Control.DeepSeq.NFData GitHub.Data.Repos.RepoRef
instance Data.Binary.Class.Binary GitHub.Data.Repos.RepoRef
instance Control.DeepSeq.NFData GitHub.Data.Repos.NewRepo
instance Data.Binary.Class.Binary GitHub.Data.Repos.NewRepo
instance Control.DeepSeq.NFData GitHub.Data.Repos.EditRepo
instance Data.Binary.Class.Binary GitHub.Data.Repos.EditRepo
instance Control.DeepSeq.NFData GitHub.Data.Repos.Language
instance Data.Binary.Class.Binary GitHub.Data.Repos.Language
instance Data.Hashable.Class.Hashable GitHub.Data.Repos.Language
instance Data.String.IsString GitHub.Data.Repos.Language
instance Control.DeepSeq.NFData GitHub.Data.Repos.Contributor
instance Data.Binary.Class.Binary GitHub.Data.Repos.Contributor
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Repos.Repo
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Repos.NewRepo
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Repos.EditRepo
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Repos.RepoRef
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Repos.Contributor
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Repos.Language
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Repos.Language
instance Data.Aeson.Types.Class.FromJSON a => Data.Aeson.Types.Class.FromJSON (Data.HashMap.Base.HashMap GitHub.Data.Repos.Language a)


module GitHub.Data.Gists
data Gist
Gist :: !SimpleUser -> !Text -> !Text -> !(Maybe Text) -> !UTCTime -> !Bool -> !Int -> !UTCTime -> !Text -> !(Name Gist) -> !(HashMap Text GistFile) -> !Text -> Gist
[gistUser] :: Gist -> !SimpleUser
[gistGitPushUrl] :: Gist -> !Text
[gistUrl] :: Gist -> !Text
[gistDescription] :: Gist -> !(Maybe Text)
[gistCreatedAt] :: Gist -> !UTCTime
[gistPublic] :: Gist -> !Bool
[gistComments] :: Gist -> !Int
[gistUpdatedAt] :: Gist -> !UTCTime
[gistHtmlUrl] :: Gist -> !Text
[gistId] :: Gist -> !(Name Gist)
[gistFiles] :: Gist -> !(HashMap Text GistFile)
[gistGitPullUrl] :: Gist -> !Text
data GistFile
GistFile :: !Text -> !Text -> !Int -> !(Maybe Language) -> !Text -> !(Maybe Text) -> GistFile
[gistFileType] :: GistFile -> !Text
[gistFileRawUrl] :: GistFile -> !Text
[gistFileSize] :: GistFile -> !Int
[gistFileLanguage] :: GistFile -> !(Maybe Language)
[gistFileFilename] :: GistFile -> !Text
[gistFileContent] :: GistFile -> !(Maybe Text)
data GistComment
GistComment :: !SimpleUser -> !Text -> !UTCTime -> !Text -> !UTCTime -> !(Id GistComment) -> GistComment
[gistCommentUser] :: GistComment -> !SimpleUser
[gistCommentUrl] :: GistComment -> !Text
[gistCommentCreatedAt] :: GistComment -> !UTCTime
[gistCommentBody] :: GistComment -> !Text
[gistCommentUpdatedAt] :: GistComment -> !UTCTime
[gistCommentId] :: GistComment -> !(Id GistComment)
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_5GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_4GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_3GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_2GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_1GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_0GistComment
instance GHC.Generics.Constructor GitHub.Data.Gists.C1_0GistComment
instance GHC.Generics.Datatype GitHub.Data.Gists.D1GistComment
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_11Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_10Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_9Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_8Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_7Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_6Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_5Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_4Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_3Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_2Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_1Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_0Gist
instance GHC.Generics.Constructor GitHub.Data.Gists.C1_0Gist
instance GHC.Generics.Datatype GitHub.Data.Gists.D1Gist
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_5GistFile
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_4GistFile
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_3GistFile
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_2GistFile
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_1GistFile
instance GHC.Generics.Selector GitHub.Data.Gists.S1_0_0GistFile
instance GHC.Generics.Constructor GitHub.Data.Gists.C1_0GistFile
instance GHC.Generics.Datatype GitHub.Data.Gists.D1GistFile
instance GHC.Generics.Generic GitHub.Data.Gists.GistComment
instance GHC.Classes.Ord GitHub.Data.Gists.GistComment
instance GHC.Classes.Eq GitHub.Data.Gists.GistComment
instance Data.Data.Data GitHub.Data.Gists.GistComment
instance GHC.Show.Show GitHub.Data.Gists.GistComment
instance GHC.Generics.Generic GitHub.Data.Gists.Gist
instance GHC.Classes.Eq GitHub.Data.Gists.Gist
instance Data.Data.Data GitHub.Data.Gists.Gist
instance GHC.Show.Show GitHub.Data.Gists.Gist
instance GHC.Generics.Generic GitHub.Data.Gists.GistFile
instance GHC.Classes.Eq GitHub.Data.Gists.GistFile
instance Data.Data.Data GitHub.Data.Gists.GistFile
instance GHC.Show.Show GitHub.Data.Gists.GistFile
instance Control.DeepSeq.NFData GitHub.Data.Gists.Gist
instance Data.Binary.Class.Binary GitHub.Data.Gists.Gist
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Gists.Gist
instance Control.DeepSeq.NFData GitHub.Data.Gists.GistFile
instance Data.Binary.Class.Binary GitHub.Data.Gists.GistFile
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Gists.GistFile
instance Control.DeepSeq.NFData GitHub.Data.Gists.GistComment
instance Data.Binary.Class.Binary GitHub.Data.Gists.GistComment
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Gists.GistComment


module GitHub.Data.PullRequests
data SimplePullRequest
SimplePullRequest :: !(Maybe UTCTime) -> !UTCTime -> !SimpleUser -> !Text -> !Text -> !Int -> !Text -> !UTCTime -> !Text -> !Text -> !Text -> !Text -> !PullRequestLinks -> !(Maybe UTCTime) -> !Text -> !Int -> SimplePullRequest
[simplePullRequestClosedAt] :: SimplePullRequest -> !(Maybe UTCTime)
[simplePullRequestCreatedAt] :: SimplePullRequest -> !UTCTime
[simplePullRequestUser] :: SimplePullRequest -> !SimpleUser
[simplePullRequestPatchUrl] :: SimplePullRequest -> !Text
[simplePullRequestState] :: SimplePullRequest -> !Text
[simplePullRequestNumber] :: SimplePullRequest -> !Int
[simplePullRequestHtmlUrl] :: SimplePullRequest -> !Text
[simplePullRequestUpdatedAt] :: SimplePullRequest -> !UTCTime
[simplePullRequestBody] :: SimplePullRequest -> !Text
[simplePullRequestIssueUrl] :: SimplePullRequest -> !Text
[simplePullRequestDiffUrl] :: SimplePullRequest -> !Text
[simplePullRequestUrl] :: SimplePullRequest -> !Text
[simplePullRequestLinks] :: SimplePullRequest -> !PullRequestLinks
[simplePullRequestMergedAt] :: SimplePullRequest -> !(Maybe UTCTime)
[simplePullRequestTitle] :: SimplePullRequest -> !Text
[simplePullRequestId] :: SimplePullRequest -> !Int
data PullRequest
PullRequest :: !(Maybe UTCTime) -> !UTCTime -> !SimpleUser -> !Text -> !Text -> !Int -> !Text -> !UTCTime -> !Text -> !Text -> !Text -> !Text -> !PullRequestLinks -> !(Maybe UTCTime) -> !Text -> !Int -> !(Maybe SimpleUser) -> !Int -> !PullRequestCommit -> !Int -> !Int -> !Int -> !Int -> !PullRequestCommit -> !Int -> !Bool -> !(Maybe Bool) -> PullRequest
[pullRequestClosedAt] :: PullRequest -> !(Maybe UTCTime)
[pullRequestCreatedAt] :: PullRequest -> !UTCTime
[pullRequestUser] :: PullRequest -> !SimpleUser
[pullRequestPatchUrl] :: PullRequest -> !Text
[pullRequestState] :: PullRequest -> !Text
[pullRequestNumber] :: PullRequest -> !Int
[pullRequestHtmlUrl] :: PullRequest -> !Text
[pullRequestUpdatedAt] :: PullRequest -> !UTCTime
[pullRequestBody] :: PullRequest -> !Text
[pullRequestIssueUrl] :: PullRequest -> !Text
[pullRequestDiffUrl] :: PullRequest -> !Text
[pullRequestUrl] :: PullRequest -> !Text
[pullRequestLinks] :: PullRequest -> !PullRequestLinks
[pullRequestMergedAt] :: PullRequest -> !(Maybe UTCTime)
[pullRequestTitle] :: PullRequest -> !Text
[pullRequestId] :: PullRequest -> !Int
[pullRequestMergedBy] :: PullRequest -> !(Maybe SimpleUser)
[pullRequestChangedFiles] :: PullRequest -> !Int
[pullRequestHead] :: PullRequest -> !PullRequestCommit
[pullRequestComments] :: PullRequest -> !Int
[pullRequestDeletions] :: PullRequest -> !Int
[pullRequestAdditions] :: PullRequest -> !Int
[pullRequestReviewComments] :: PullRequest -> !Int
[pullRequestBase] :: PullRequest -> !PullRequestCommit
[pullRequestCommits] :: PullRequest -> !Int
[pullRequestMerged] :: PullRequest -> !Bool
[pullRequestMergeable] :: PullRequest -> !(Maybe Bool)
data EditPullRequest
EditPullRequest :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe EditPullRequestState) -> EditPullRequest
[editPullRequestTitle] :: EditPullRequest -> !(Maybe Text)
[editPullRequestBody] :: EditPullRequest -> !(Maybe Text)
[editPullRequestState] :: EditPullRequest -> !(Maybe EditPullRequestState)
data CreatePullRequest
CreatePullRequest :: !Text -> !Text -> !Text -> !Text -> CreatePullRequest
[createPullRequestTitle] :: CreatePullRequest -> !Text
[createPullRequestBody] :: CreatePullRequest -> !Text
[createPullRequestHead] :: CreatePullRequest -> !Text
[createPullRequestBase] :: CreatePullRequest -> !Text
CreatePullRequestIssue :: !Int -> !Text -> !Text -> CreatePullRequest
[createPullRequestIssueNum] :: CreatePullRequest -> !Int
[createPullRequestHead] :: CreatePullRequest -> !Text
[createPullRequestBase] :: CreatePullRequest -> !Text
data PullRequestLinks
PullRequestLinks :: !Text -> !Text -> !Text -> !Text -> PullRequestLinks
[pullRequestLinksReviewComments] :: PullRequestLinks -> !Text
[pullRequestLinksComments] :: PullRequestLinks -> !Text
[pullRequestLinksHtml] :: PullRequestLinks -> !Text
[pullRequestLinksSelf] :: PullRequestLinks -> !Text
data PullRequestCommit
PullRequestCommit :: !Text -> !Text -> !Text -> !SimpleUser -> !Repo -> PullRequestCommit
[pullRequestCommitLabel] :: PullRequestCommit -> !Text
[pullRequestCommitRef] :: PullRequestCommit -> !Text
[pullRequestCommitSha] :: PullRequestCommit -> !Text
[pullRequestCommitUser] :: PullRequestCommit -> !SimpleUser
[pullRequestCommitRepo] :: PullRequestCommit -> !Repo
data PullRequestEvent
PullRequestEvent :: !PullRequestEventType -> !Int -> !PullRequest -> !Repo -> !SimpleUser -> PullRequestEvent
[pullRequestEventAction] :: PullRequestEvent -> !PullRequestEventType
[pullRequestEventNumber] :: PullRequestEvent -> !Int
[pullRequestEventPullRequest] :: PullRequestEvent -> !PullRequest
[pullRequestRepository] :: PullRequestEvent -> !Repo
[pullRequestSender] :: PullRequestEvent -> !SimpleUser
data PullRequestEventType
PullRequestOpened :: PullRequestEventType
PullRequestClosed :: PullRequestEventType
PullRequestSynchronized :: PullRequestEventType
PullRequestReopened :: PullRequestEventType
PullRequestAssigned :: PullRequestEventType
PullRequestUnassigned :: PullRequestEventType
PullRequestLabeled :: PullRequestEventType
PullRequestUnlabeled :: PullRequestEventType
data PullRequestReference
PullRequestReference :: !(Maybe Text) -> !(Maybe Text) -> !(Maybe Text) -> PullRequestReference
[pullRequestReferenceHtmlUrl] :: PullRequestReference -> !(Maybe Text)
[pullRequestReferencePatchUrl] :: PullRequestReference -> !(Maybe Text)
[pullRequestReferenceDiffUrl] :: PullRequestReference -> !(Maybe Text)
data EditPullRequestState
EditPullRequestStateOpen :: EditPullRequestState
EditPullRequestStateClosed :: EditPullRequestState

-- | Produce the value for the last key by traversing.
(<.:>) :: FromJSON v => Object -> [Text] -> Parser v
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2EditPullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1EditPullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0EditPullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0EditPullRequest
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1EditPullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_1EditPullRequestState
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0EditPullRequestState
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1EditPullRequestState
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2PullRequestReference
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1PullRequestReference
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0PullRequestReference
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequestReference
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequestReference
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_4PullRequestEvent
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3PullRequestEvent
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2PullRequestEvent
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1PullRequestEvent
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0PullRequestEvent
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequestEvent
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequestEvent
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_7PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_6PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_5PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_4PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_3PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_2PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_1PullRequestEventType
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequestEventType
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequestEventType
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_26PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_25PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_24PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_23PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_22PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_21PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_20PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_19PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_18PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_17PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_16PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_15PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_14PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_13PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_12PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_11PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_10PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_9PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_8PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_7PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_6PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_5PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_4PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0PullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequest
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_4PullRequestCommit
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3PullRequestCommit
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2PullRequestCommit
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1PullRequestCommit
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0PullRequestCommit
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequestCommit
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequestCommit
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_15SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_14SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_13SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_12SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_11SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_10SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_9SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_8SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_7SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_6SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_5SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_4SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0SimplePullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0SimplePullRequest
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1SimplePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3PullRequestLinks
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2PullRequestLinks
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1PullRequestLinks
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0PullRequestLinks
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0PullRequestLinks
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1PullRequestLinks
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_1_2CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_1_1CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_1_0CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_3CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_2CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_1CreatePullRequest
instance GHC.Generics.Selector GitHub.Data.PullRequests.S1_0_0CreatePullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_1CreatePullRequest
instance GHC.Generics.Constructor GitHub.Data.PullRequests.C1_0CreatePullRequest
instance GHC.Generics.Datatype GitHub.Data.PullRequests.D1CreatePullRequest
instance GHC.Generics.Generic GitHub.Data.PullRequests.EditPullRequest
instance GHC.Show.Show GitHub.Data.PullRequests.EditPullRequest
instance GHC.Generics.Generic GitHub.Data.PullRequests.EditPullRequestState
instance GHC.Show.Show GitHub.Data.PullRequests.EditPullRequestState
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestReference
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestReference
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestReference
instance Data.Data.Data GitHub.Data.PullRequests.PullRequestReference
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestReference
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestEvent
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestEvent
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestEvent
instance Data.Data.Data GitHub.Data.PullRequests.PullRequestEvent
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestEvent
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestEventType
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestEventType
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestEventType
instance Data.Data.Data GitHub.Data.PullRequests.PullRequestEventType
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestEventType
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequest
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequest
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequest
instance Data.Data.Data GitHub.Data.PullRequests.PullRequest
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequest
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestCommit
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestCommit
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestCommit
instance Data.Data.Data GitHub.Data.PullRequests.PullRequestCommit
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestCommit
instance GHC.Generics.Generic GitHub.Data.PullRequests.SimplePullRequest
instance GHC.Classes.Ord GitHub.Data.PullRequests.SimplePullRequest
instance GHC.Classes.Eq GitHub.Data.PullRequests.SimplePullRequest
instance Data.Data.Data GitHub.Data.PullRequests.SimplePullRequest
instance GHC.Show.Show GitHub.Data.PullRequests.SimplePullRequest
instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestLinks
instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestLinks
instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestLinks
instance Data.Data.Data GitHub.Data.PullRequests.PullRequestLinks
instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestLinks
instance GHC.Generics.Generic GitHub.Data.PullRequests.CreatePullRequest
instance GHC.Show.Show GitHub.Data.PullRequests.CreatePullRequest
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.SimplePullRequest
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.SimplePullRequest
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequest
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequest
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.EditPullRequest
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.EditPullRequest
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.CreatePullRequest
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.CreatePullRequest
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestLinks
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestLinks
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestCommit
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestCommit
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestEvent
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestEvent
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestEventType
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestEventType
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestReference
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestReference
instance Control.DeepSeq.NFData GitHub.Data.PullRequests.EditPullRequestState
instance Data.Binary.Class.Binary GitHub.Data.PullRequests.EditPullRequestState
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.SimplePullRequest
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.PullRequests.EditPullRequestState
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.PullRequests.EditPullRequest
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.PullRequests.CreatePullRequest
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequest
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequestLinks
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequestCommit
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequestEvent
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequestEventType
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.PullRequests.PullRequestReference


module GitHub.Data.Issues
data Issue
Issue :: Maybe UTCTime -> UTCTime -> Text -> Maybe Text -> Maybe SimpleUser -> (Vector IssueLabel) -> Int -> Maybe SimpleUser -> SimpleUser -> Text -> Maybe PullRequestReference -> Text -> UTCTime -> Maybe Text -> Text -> Id Issue -> Int -> Maybe Milestone -> Issue
[issueClosedAt] :: Issue -> Maybe UTCTime
[issueUpdatedAt] :: Issue -> UTCTime
[issueEventsUrl] :: Issue -> Text
[issueHtmlUrl] :: Issue -> Maybe Text
[issueClosedBy] :: Issue -> Maybe SimpleUser
[issueLabels] :: Issue -> (Vector IssueLabel)
[issueNumber] :: Issue -> Int
[issueAssignee] :: Issue -> Maybe SimpleUser
[issueUser] :: Issue -> SimpleUser
[issueTitle] :: Issue -> Text
[issuePullRequest] :: Issue -> Maybe PullRequestReference
[issueUrl] :: Issue -> Text
[issueCreatedAt] :: Issue -> UTCTime
[issueBody] :: Issue -> Maybe Text
[issueState] :: Issue -> Text
[issueId] :: Issue -> Id Issue
[issueComments] :: Issue -> Int
[issueMilestone] :: Issue -> Maybe Milestone
data NewIssue
NewIssue :: Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe (Vector Text) -> NewIssue
[newIssueTitle] :: NewIssue -> Text
[newIssueBody] :: NewIssue -> Maybe Text
[newIssueAssignee] :: NewIssue -> Maybe Text
[newIssueMilestone] :: NewIssue -> Maybe Int
[newIssueLabels] :: NewIssue -> Maybe (Vector Text)
data EditIssue
EditIssue :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe (Vector Text) -> EditIssue
[editIssueTitle] :: EditIssue -> Maybe Text
[editIssueBody] :: EditIssue -> Maybe Text
[editIssueAssignee] :: EditIssue -> Maybe Text
[editIssueState] :: EditIssue -> Maybe Text
[editIssueMilestone] :: EditIssue -> Maybe Int
[editIssueLabels] :: EditIssue -> Maybe (Vector Text)
data Milestone
Milestone :: SimpleUser -> Maybe UTCTime -> Int -> Int -> Int -> Maybe Text -> Text -> Text -> UTCTime -> Text -> Milestone
[milestoneCreator] :: Milestone -> SimpleUser
[milestoneDueOn] :: Milestone -> Maybe UTCTime
[milestoneOpenIssues] :: Milestone -> Int
[milestoneNumber] :: Milestone -> Int
[milestoneClosedIssues] :: Milestone -> Int
[milestoneDescription] :: Milestone -> Maybe Text
[milestoneTitle] :: Milestone -> Text
[milestoneUrl] :: Milestone -> Text
[milestoneCreatedAt] :: Milestone -> UTCTime
[milestoneState] :: Milestone -> Text
data IssueLabel
IssueLabel :: Text -> Text -> Text -> IssueLabel
[labelColor] :: IssueLabel -> Text
[labelUrl] :: IssueLabel -> Text
[labelName] :: IssueLabel -> Text
data IssueComment
IssueComment :: UTCTime -> SimpleUser -> Text -> Text -> UTCTime -> Text -> Int -> IssueComment
[issueCommentUpdatedAt] :: IssueComment -> UTCTime
[issueCommentUser] :: IssueComment -> SimpleUser
[issueCommentUrl] :: IssueComment -> Text
[issueCommentHtmlUrl] :: IssueComment -> Text
[issueCommentCreatedAt] :: IssueComment -> UTCTime
[issueCommentBody] :: IssueComment -> Text
[issueCommentId] :: IssueComment -> Int
data EventType

-- | The actor was @mentioned in an issue body.
Mentioned :: EventType

-- | The actor subscribed to receive notifications for an issue.
Subscribed :: EventType

-- | The issue was unsubscribed from by the actor.
Unsubscribed :: EventType

-- | The issue was referenced from a commit message. The commit_id
--   attribute is the commit SHA1 of where that happened.
Referenced :: EventType

-- | The issue was merged by the actor. The commit_id attribute is the SHA1
--   of the HEAD commit that was merged.
Merged :: EventType

-- | The issue was assigned to the actor.
Assigned :: EventType

-- | The issue was closed by the actor. When the commit_id is present, it
--   identifies the commit that closed the issue using “closes / fixes #NN”
--   syntax.
Closed :: EventType

-- | The issue was reopened by the actor.
Reopened :: EventType

-- | The issue was unassigned to the actor
ActorUnassigned :: EventType

-- | A label was added to the issue.
Labeled :: EventType

-- | A label was removed from the issue.
Unlabeled :: EventType

-- | The issue was added to a milestone.
Milestoned :: EventType

-- | The issue was removed from a milestone.
Demilestoned :: EventType

-- | The issue title was changed.
Renamed :: EventType

-- | The issue was locked by the actor.
Locked :: EventType

-- | The issue was unlocked by the actor.
Unlocked :: EventType

-- | The pull request’s branch was deleted.
HeadRefDeleted :: EventType

-- | The pull request’s branch was restored.
HeadRefRestored :: EventType

-- | Issue event
data Event
Event :: !SimpleUser -> !EventType -> !(Maybe Text) -> !Text -> !UTCTime -> !Int -> !(Maybe Issue) -> Event
[eventActor] :: Event -> !SimpleUser
[eventType] :: Event -> !EventType
[eventCommitId] :: Event -> !(Maybe Text)
[eventUrl] :: Event -> !Text
[eventCreatedAt] :: Event -> !UTCTime
[eventId] :: Event -> !Int
[eventIssue] :: Event -> !(Maybe Issue)

-- | A data structure for describing how to filter issues. This is used by
--   <tt>issuesForRepo</tt>.
data IssueLimitation

-- | Issues appearing in any milestone. [default]
AnyMilestone :: IssueLimitation

-- | Issues without a milestone.
NoMilestone :: IssueLimitation

-- | Only issues that are in the milestone with the given id.
MilestoneId :: Int -> IssueLimitation

-- | Only open issues. [default]
Open :: IssueLimitation

-- | Only closed issues.
OnlyClosed :: IssueLimitation

-- | Issues to which no one has been assigned ownership.
Unassigned :: IssueLimitation

-- | All issues regardless of assignment. [default]
AnyAssignment :: IssueLimitation

-- | Only issues assigned to the user with the given login.
AssignedTo :: String -> IssueLimitation

-- | Issues which mention the given string, taken to be a user's login.
Mentions :: String -> IssueLimitation

-- | A list of labels to filter by.
Labels :: [String] -> IssueLimitation

-- | Sort ascending.
Ascending :: IssueLimitation

-- | Sort descending. [default]
Descending :: IssueLimitation

-- | Only issues created since the specified date and time.
Since :: UTCTime -> IssueLimitation

-- | Download this many issues per query
PerPage :: Int -> IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_13IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_12IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_11IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_10IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_9IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_8IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_7IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_6IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_5IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_4IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_3IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_2IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_1IssueLimitation
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0IssueLimitation
instance GHC.Generics.Datatype GitHub.Data.Issues.D1IssueLimitation
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_6Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_5Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1Event
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0Event
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0Event
instance GHC.Generics.Datatype GitHub.Data.Issues.D1Event
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_17EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_16EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_15EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_14EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_13EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_12EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_11EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_10EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_9EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_8EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_7EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_6EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_5EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_4EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_3EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_2EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_1EventType
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0EventType
instance GHC.Generics.Datatype GitHub.Data.Issues.D1EventType
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_6IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_5IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0IssueComment
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0IssueComment
instance GHC.Generics.Datatype GitHub.Data.Issues.D1IssueComment
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_17Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_16Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_15Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_14Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_13Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_12Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_11Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_10Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_9Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_8Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_7Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_6Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_5Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0Issue
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0Issue
instance GHC.Generics.Datatype GitHub.Data.Issues.D1Issue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2IssueLabel
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1IssueLabel
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0IssueLabel
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0IssueLabel
instance GHC.Generics.Datatype GitHub.Data.Issues.D1IssueLabel
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_9Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_8Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_7Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_6Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_5Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0Milestone
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0Milestone
instance GHC.Generics.Datatype GitHub.Data.Issues.D1Milestone
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_5EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0EditIssue
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0EditIssue
instance GHC.Generics.Datatype GitHub.Data.Issues.D1EditIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_4NewIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_3NewIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_2NewIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_1NewIssue
instance GHC.Generics.Selector GitHub.Data.Issues.S1_0_0NewIssue
instance GHC.Generics.Constructor GitHub.Data.Issues.C1_0NewIssue
instance GHC.Generics.Datatype GitHub.Data.Issues.D1NewIssue
instance GHC.Generics.Generic GitHub.Data.Issues.IssueLimitation
instance Data.Data.Data GitHub.Data.Issues.IssueLimitation
instance GHC.Show.Show GitHub.Data.Issues.IssueLimitation
instance GHC.Classes.Ord GitHub.Data.Issues.IssueLimitation
instance GHC.Classes.Eq GitHub.Data.Issues.IssueLimitation
instance GHC.Generics.Generic GitHub.Data.Issues.Event
instance GHC.Classes.Ord GitHub.Data.Issues.Event
instance GHC.Classes.Eq GitHub.Data.Issues.Event
instance Data.Data.Data GitHub.Data.Issues.Event
instance GHC.Show.Show GitHub.Data.Issues.Event
instance GHC.Generics.Generic GitHub.Data.Issues.EventType
instance GHC.Classes.Ord GitHub.Data.Issues.EventType
instance GHC.Classes.Eq GitHub.Data.Issues.EventType
instance Data.Data.Data GitHub.Data.Issues.EventType
instance GHC.Show.Show GitHub.Data.Issues.EventType
instance GHC.Generics.Generic GitHub.Data.Issues.IssueComment
instance GHC.Classes.Ord GitHub.Data.Issues.IssueComment
instance GHC.Classes.Eq GitHub.Data.Issues.IssueComment
instance Data.Data.Data GitHub.Data.Issues.IssueComment
instance GHC.Show.Show GitHub.Data.Issues.IssueComment
instance GHC.Generics.Generic GitHub.Data.Issues.Issue
instance GHC.Classes.Ord GitHub.Data.Issues.Issue
instance GHC.Classes.Eq GitHub.Data.Issues.Issue
instance Data.Data.Data GitHub.Data.Issues.Issue
instance GHC.Show.Show GitHub.Data.Issues.Issue
instance GHC.Generics.Generic GitHub.Data.Issues.IssueLabel
instance GHC.Classes.Ord GitHub.Data.Issues.IssueLabel
instance GHC.Classes.Eq GitHub.Data.Issues.IssueLabel
instance Data.Data.Data GitHub.Data.Issues.IssueLabel
instance GHC.Show.Show GitHub.Data.Issues.IssueLabel
instance GHC.Generics.Generic GitHub.Data.Issues.Milestone
instance GHC.Classes.Ord GitHub.Data.Issues.Milestone
instance GHC.Classes.Eq GitHub.Data.Issues.Milestone
instance Data.Data.Data GitHub.Data.Issues.Milestone
instance GHC.Show.Show GitHub.Data.Issues.Milestone
instance GHC.Generics.Generic GitHub.Data.Issues.EditIssue
instance GHC.Classes.Ord GitHub.Data.Issues.EditIssue
instance GHC.Classes.Eq GitHub.Data.Issues.EditIssue
instance Data.Data.Data GitHub.Data.Issues.EditIssue
instance GHC.Show.Show GitHub.Data.Issues.EditIssue
instance GHC.Generics.Generic GitHub.Data.Issues.NewIssue
instance GHC.Classes.Ord GitHub.Data.Issues.NewIssue
instance GHC.Classes.Eq GitHub.Data.Issues.NewIssue
instance Data.Data.Data GitHub.Data.Issues.NewIssue
instance GHC.Show.Show GitHub.Data.Issues.NewIssue
instance Control.DeepSeq.NFData GitHub.Data.Issues.Issue
instance Data.Binary.Class.Binary GitHub.Data.Issues.Issue
instance Control.DeepSeq.NFData GitHub.Data.Issues.NewIssue
instance Data.Binary.Class.Binary GitHub.Data.Issues.NewIssue
instance Control.DeepSeq.NFData GitHub.Data.Issues.EditIssue
instance Data.Binary.Class.Binary GitHub.Data.Issues.EditIssue
instance Control.DeepSeq.NFData GitHub.Data.Issues.Milestone
instance Data.Binary.Class.Binary GitHub.Data.Issues.Milestone
instance Control.DeepSeq.NFData GitHub.Data.Issues.IssueLabel
instance Data.Binary.Class.Binary GitHub.Data.Issues.IssueLabel
instance Control.DeepSeq.NFData GitHub.Data.Issues.IssueComment
instance Data.Binary.Class.Binary GitHub.Data.Issues.IssueComment
instance Control.DeepSeq.NFData GitHub.Data.Issues.EventType
instance Data.Binary.Class.Binary GitHub.Data.Issues.EventType
instance Control.DeepSeq.NFData GitHub.Data.Issues.Event
instance Data.Binary.Class.Binary GitHub.Data.Issues.Event
instance Control.DeepSeq.NFData GitHub.Data.Issues.IssueLimitation
instance Data.Binary.Class.Binary GitHub.Data.Issues.IssueLimitation
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.Event
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.EventType
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.IssueLabel
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.IssueComment
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.Issue
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Issues.NewIssue
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Issues.EditIssue
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Issues.Milestone


module GitHub.Data.Search
data SearchResult entity
SearchResult :: !Int -> !(Vector entity) -> SearchResult entity
[searchResultTotalCount] :: SearchResult entity -> !Int
[searchResultResults] :: SearchResult entity -> !(Vector entity)
data Code
Code :: !Text -> !Text -> !Text -> !Text -> !Text -> !Text -> !Repo -> Code
[codeName] :: Code -> !Text
[codePath] :: Code -> !Text
[codeSha] :: Code -> !Text
[codeUrl] :: Code -> !Text
[codeGitUrl] :: Code -> !Text
[codeHtmlUrl] :: Code -> !Text
[codeRepo] :: Code -> !Repo
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_6Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_5Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_4Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_3Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_2Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_1Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_0Code
instance GHC.Generics.Constructor GitHub.Data.Search.C1_0Code
instance GHC.Generics.Datatype GitHub.Data.Search.D1Code
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_1SearchResult
instance GHC.Generics.Selector GitHub.Data.Search.S1_0_0SearchResult
instance GHC.Generics.Constructor GitHub.Data.Search.C1_0SearchResult
instance GHC.Generics.Datatype GitHub.Data.Search.D1SearchResult
instance GHC.Generics.Generic GitHub.Data.Search.Code
instance GHC.Classes.Ord GitHub.Data.Search.Code
instance GHC.Classes.Eq GitHub.Data.Search.Code
instance Data.Data.Data GitHub.Data.Search.Code
instance GHC.Show.Show GitHub.Data.Search.Code
instance GHC.Generics.Generic (GitHub.Data.Search.SearchResult entity)
instance GHC.Classes.Ord entity => GHC.Classes.Ord (GitHub.Data.Search.SearchResult entity)
instance GHC.Classes.Eq entity => GHC.Classes.Eq (GitHub.Data.Search.SearchResult entity)
instance Data.Data.Data entity => Data.Data.Data (GitHub.Data.Search.SearchResult entity)
instance GHC.Show.Show entity => GHC.Show.Show (GitHub.Data.Search.SearchResult entity)
instance Control.DeepSeq.NFData entity => Control.DeepSeq.NFData (GitHub.Data.Search.SearchResult entity)
instance Data.Binary.Class.Binary entity => Data.Binary.Class.Binary (GitHub.Data.Search.SearchResult entity)
instance Data.Aeson.Types.Class.FromJSON entity => Data.Aeson.Types.Class.FromJSON (GitHub.Data.Search.SearchResult entity)
instance Control.DeepSeq.NFData GitHub.Data.Search.Code
instance Data.Binary.Class.Binary GitHub.Data.Search.Code
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Search.Code


module GitHub.Data.Teams
data Privacy
PrivacyClosed :: Privacy
PrivacySecret :: Privacy
data Permission
PermissionPull :: Permission
PermissionPush :: Permission
PermissionAdmin :: Permission
data SimpleTeam
SimpleTeam :: !(Id Team) -> !Text -> !Text -> !(Name Team) -> !(Maybe Text) -> !(Maybe Privacy) -> !Permission -> !Text -> !Text -> SimpleTeam
[simpleTeamId] :: SimpleTeam -> !(Id Team)
[simpleTeamUrl] :: SimpleTeam -> !Text
[simpleTeamName] :: SimpleTeam -> !Text
[simpleTeamSlug] :: SimpleTeam -> !(Name Team)
[simpleTeamDescription] :: SimpleTeam -> !(Maybe Text)
[simpleTeamPrivacy] :: SimpleTeam -> !(Maybe Privacy)
[simpleTeamPermission] :: SimpleTeam -> !Permission
[simpleTeamMembersUrl] :: SimpleTeam -> !Text
[simpleTeamRepositoriesUrl] :: SimpleTeam -> !Text
data Team
Team :: !(Id Team) -> !Text -> !(Name Team) -> !Text -> !(Maybe Text) -> !(Maybe Privacy) -> !Permission -> !Text -> !Text -> !Int -> !Int -> !SimpleOrganization -> Team
[teamId] :: Team -> !(Id Team)
[teamUrl] :: Team -> !Text
[teamName] :: Team -> !(Name Team)
[teamSlug] :: Team -> !Text
[teamDescription] :: Team -> !(Maybe Text)
[teamPrivacy] :: Team -> !(Maybe Privacy)
[teamPermission] :: Team -> !Permission
[teamMembersUrl] :: Team -> !Text
[teamRepositoriesUrl] :: Team -> !Text
[teamMembersCount] :: Team -> !Int
[teamReposCount] :: Team -> !Int
[teamOrganization] :: Team -> !SimpleOrganization
data CreateTeam
CreateTeam :: !(Name Team) -> !(Maybe Text) -> !(Vector (Name Repo)) -> Permission -> CreateTeam
[createTeamName] :: CreateTeam -> !(Name Team)
[createTeamDescription] :: CreateTeam -> !(Maybe Text)
[createTeamRepoNames] :: CreateTeam -> !(Vector (Name Repo))
[createTeamPermission] :: CreateTeam -> Permission
data EditTeam
EditTeam :: !(Name Team) -> !(Maybe Text) -> !Permission -> EditTeam
[editTeamName] :: EditTeam -> !(Name Team)
[editTeamDescription] :: EditTeam -> !(Maybe Text)
[editTeamPermission] :: EditTeam -> !Permission
data Role
RoleMaintainer :: Role
RoleMember :: Role
data ReqState
StatePending :: ReqState
StateActive :: ReqState
data TeamMembership
TeamMembership :: !Text -> !Role -> !ReqState -> TeamMembership
[teamMembershipUrl] :: TeamMembership -> !Text
[teamMembershipRole] :: TeamMembership -> !Role
[teamMembershipReqState] :: TeamMembership -> !ReqState
data CreateTeamMembership
CreateTeamMembership :: !Role -> CreateTeamMembership
[createTeamMembershipRole] :: CreateTeamMembership -> !Role

-- | Filters members returned by their role in the team.
data TeamMemberRole

-- | all members of the team.
TeamMemberRoleAll :: TeamMemberRole

-- | team maintainers
TeamMemberRoleMaintainer :: TeamMemberRole

-- | normal members of the team.
TeamMemberRoleMember :: TeamMemberRole
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_2TeamMemberRole
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_1TeamMemberRole
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0TeamMemberRole
instance GHC.Generics.Datatype GitHub.Data.Teams.D1TeamMemberRole
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0CreateTeamMembership
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0CreateTeamMembership
instance GHC.Generics.Datatype GitHub.Data.Teams.D1CreateTeamMembership
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_2TeamMembership
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_1TeamMembership
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0TeamMembership
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0TeamMembership
instance GHC.Generics.Datatype GitHub.Data.Teams.D1TeamMembership
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_1ReqState
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0ReqState
instance GHC.Generics.Datatype GitHub.Data.Teams.D1ReqState
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_1Role
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0Role
instance GHC.Generics.Datatype GitHub.Data.Teams.D1Role
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_2EditTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_1EditTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0EditTeam
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0EditTeam
instance GHC.Generics.Datatype GitHub.Data.Teams.D1EditTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_3CreateTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_2CreateTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_1CreateTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0CreateTeam
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0CreateTeam
instance GHC.Generics.Datatype GitHub.Data.Teams.D1CreateTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_8SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_7SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_6SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_5SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_4SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_3SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_2SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_1SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0SimpleTeam
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0SimpleTeam
instance GHC.Generics.Datatype GitHub.Data.Teams.D1SimpleTeam
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_11Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_10Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_9Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_8Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_7Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_6Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_5Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_4Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_3Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_2Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_1Team
instance GHC.Generics.Selector GitHub.Data.Teams.S1_0_0Team
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0Team
instance GHC.Generics.Datatype GitHub.Data.Teams.D1Team
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_2Permission
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_1Permission
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0Permission
instance GHC.Generics.Datatype GitHub.Data.Teams.D1Permission
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_1Privacy
instance GHC.Generics.Constructor GitHub.Data.Teams.C1_0Privacy
instance GHC.Generics.Datatype GitHub.Data.Teams.D1Privacy
instance GHC.Generics.Generic GitHub.Data.Teams.TeamMemberRole
instance Data.Data.Data GitHub.Data.Teams.TeamMemberRole
instance GHC.Enum.Bounded GitHub.Data.Teams.TeamMemberRole
instance GHC.Enum.Enum GitHub.Data.Teams.TeamMemberRole
instance GHC.Classes.Ord GitHub.Data.Teams.TeamMemberRole
instance GHC.Classes.Eq GitHub.Data.Teams.TeamMemberRole
instance GHC.Show.Show GitHub.Data.Teams.TeamMemberRole
instance GHC.Generics.Generic GitHub.Data.Teams.CreateTeamMembership
instance GHC.Classes.Ord GitHub.Data.Teams.CreateTeamMembership
instance GHC.Classes.Eq GitHub.Data.Teams.CreateTeamMembership
instance Data.Data.Data GitHub.Data.Teams.CreateTeamMembership
instance GHC.Show.Show GitHub.Data.Teams.CreateTeamMembership
instance GHC.Generics.Generic GitHub.Data.Teams.TeamMembership
instance GHC.Classes.Ord GitHub.Data.Teams.TeamMembership
instance GHC.Classes.Eq GitHub.Data.Teams.TeamMembership
instance Data.Data.Data GitHub.Data.Teams.TeamMembership
instance GHC.Show.Show GitHub.Data.Teams.TeamMembership
instance GHC.Generics.Generic GitHub.Data.Teams.ReqState
instance GHC.Classes.Ord GitHub.Data.Teams.ReqState
instance GHC.Classes.Eq GitHub.Data.Teams.ReqState
instance Data.Data.Data GitHub.Data.Teams.ReqState
instance GHC.Show.Show GitHub.Data.Teams.ReqState
instance GHC.Generics.Generic GitHub.Data.Teams.Role
instance GHC.Classes.Ord GitHub.Data.Teams.Role
instance GHC.Classes.Eq GitHub.Data.Teams.Role
instance Data.Data.Data GitHub.Data.Teams.Role
instance GHC.Show.Show GitHub.Data.Teams.Role
instance GHC.Generics.Generic GitHub.Data.Teams.EditTeam
instance GHC.Classes.Ord GitHub.Data.Teams.EditTeam
instance GHC.Classes.Eq GitHub.Data.Teams.EditTeam
instance Data.Data.Data GitHub.Data.Teams.EditTeam
instance GHC.Show.Show GitHub.Data.Teams.EditTeam
instance GHC.Generics.Generic GitHub.Data.Teams.CreateTeam
instance GHC.Classes.Ord GitHub.Data.Teams.CreateTeam
instance GHC.Classes.Eq GitHub.Data.Teams.CreateTeam
instance Data.Data.Data GitHub.Data.Teams.CreateTeam
instance GHC.Show.Show GitHub.Data.Teams.CreateTeam
instance GHC.Generics.Generic GitHub.Data.Teams.SimpleTeam
instance GHC.Classes.Ord GitHub.Data.Teams.SimpleTeam
instance GHC.Classes.Eq GitHub.Data.Teams.SimpleTeam
instance Data.Data.Data GitHub.Data.Teams.SimpleTeam
instance GHC.Show.Show GitHub.Data.Teams.SimpleTeam
instance GHC.Generics.Generic GitHub.Data.Teams.Team
instance GHC.Classes.Ord GitHub.Data.Teams.Team
instance GHC.Classes.Eq GitHub.Data.Teams.Team
instance Data.Data.Data GitHub.Data.Teams.Team
instance GHC.Show.Show GitHub.Data.Teams.Team
instance GHC.Generics.Generic GitHub.Data.Teams.Permission
instance GHC.Classes.Ord GitHub.Data.Teams.Permission
instance GHC.Classes.Eq GitHub.Data.Teams.Permission
instance GHC.Enum.Bounded GitHub.Data.Teams.Permission
instance GHC.Enum.Enum GitHub.Data.Teams.Permission
instance Data.Data.Data GitHub.Data.Teams.Permission
instance GHC.Show.Show GitHub.Data.Teams.Permission
instance GHC.Generics.Generic GitHub.Data.Teams.Privacy
instance GHC.Classes.Ord GitHub.Data.Teams.Privacy
instance GHC.Classes.Eq GitHub.Data.Teams.Privacy
instance GHC.Enum.Bounded GitHub.Data.Teams.Privacy
instance GHC.Enum.Enum GitHub.Data.Teams.Privacy
instance Data.Data.Data GitHub.Data.Teams.Privacy
instance GHC.Show.Show GitHub.Data.Teams.Privacy
instance Control.DeepSeq.NFData GitHub.Data.Teams.Privacy
instance Data.Binary.Class.Binary GitHub.Data.Teams.Privacy
instance Control.DeepSeq.NFData GitHub.Data.Teams.Permission
instance Data.Binary.Class.Binary GitHub.Data.Teams.Permission
instance Control.DeepSeq.NFData GitHub.Data.Teams.SimpleTeam
instance Data.Binary.Class.Binary GitHub.Data.Teams.SimpleTeam
instance Control.DeepSeq.NFData GitHub.Data.Teams.Team
instance Data.Binary.Class.Binary GitHub.Data.Teams.Team
instance Control.DeepSeq.NFData GitHub.Data.Teams.CreateTeam
instance Data.Binary.Class.Binary GitHub.Data.Teams.CreateTeam
instance Control.DeepSeq.NFData GitHub.Data.Teams.EditTeam
instance Data.Binary.Class.Binary GitHub.Data.Teams.EditTeam
instance Control.DeepSeq.NFData GitHub.Data.Teams.Role
instance Data.Binary.Class.Binary GitHub.Data.Teams.Role
instance Control.DeepSeq.NFData GitHub.Data.Teams.ReqState
instance Data.Binary.Class.Binary GitHub.Data.Teams.ReqState
instance Control.DeepSeq.NFData GitHub.Data.Teams.TeamMembership
instance Data.Binary.Class.Binary GitHub.Data.Teams.TeamMembership
instance Control.DeepSeq.NFData GitHub.Data.Teams.CreateTeamMembership
instance Data.Binary.Class.Binary GitHub.Data.Teams.CreateTeamMembership
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.SimpleTeam
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.Team
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.CreateTeam
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.EditTeam
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.TeamMembership
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.CreateTeamMembership
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.CreateTeamMembership
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.Role
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.Role
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.Permission
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.Permission
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.Privacy
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.Privacy
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Teams.ReqState
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Teams.ReqState


module GitHub.Data.Content
data Content
ContentFile :: !ContentFileData -> Content
ContentDirectory :: !(Vector ContentItem) -> Content
data ContentFileData
ContentFileData :: !ContentInfo -> !Text -> !Int -> !Text -> ContentFileData
[contentFileInfo] :: ContentFileData -> !ContentInfo
[contentFileEncoding] :: ContentFileData -> !Text
[contentFileSize] :: ContentFileData -> !Int
[contentFileContent] :: ContentFileData -> !Text

-- | An item in a directory listing.
data ContentItem
ContentItem :: !ContentItemType -> !ContentInfo -> ContentItem
[contentItemType] :: ContentItem -> !ContentItemType
[contentItemInfo] :: ContentItem -> !ContentInfo
data ContentItemType
ItemFile :: ContentItemType
ItemDir :: ContentItemType

-- | Information common to both kinds of Content: files and directories.
data ContentInfo
ContentInfo :: !Text -> !Text -> !Text -> !Text -> !Text -> !Text -> ContentInfo
[contentName] :: ContentInfo -> !Text
[contentPath] :: ContentInfo -> !Text
[contentSha] :: ContentInfo -> !Text
[contentUrl] :: ContentInfo -> !Text
[contentGitUrl] :: ContentInfo -> !Text
[contentHtmlUrl] :: ContentInfo -> !Text
instance GHC.Generics.Constructor GitHub.Data.Content.C1_1Content
instance GHC.Generics.Constructor GitHub.Data.Content.C1_0Content
instance GHC.Generics.Datatype GitHub.Data.Content.D1Content
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_3ContentFileData
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_2ContentFileData
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_1ContentFileData
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_0ContentFileData
instance GHC.Generics.Constructor GitHub.Data.Content.C1_0ContentFileData
instance GHC.Generics.Datatype GitHub.Data.Content.D1ContentFileData
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_1ContentItem
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_0ContentItem
instance GHC.Generics.Constructor GitHub.Data.Content.C1_0ContentItem
instance GHC.Generics.Datatype GitHub.Data.Content.D1ContentItem
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_5ContentInfo
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_4ContentInfo
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_3ContentInfo
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_2ContentInfo
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_1ContentInfo
instance GHC.Generics.Selector GitHub.Data.Content.S1_0_0ContentInfo
instance GHC.Generics.Constructor GitHub.Data.Content.C1_0ContentInfo
instance GHC.Generics.Datatype GitHub.Data.Content.D1ContentInfo
instance GHC.Generics.Constructor GitHub.Data.Content.C1_1ContentItemType
instance GHC.Generics.Constructor GitHub.Data.Content.C1_0ContentItemType
instance GHC.Generics.Datatype GitHub.Data.Content.D1ContentItemType
instance GHC.Generics.Generic GitHub.Data.Content.Content
instance GHC.Classes.Ord GitHub.Data.Content.Content
instance GHC.Classes.Eq GitHub.Data.Content.Content
instance Data.Data.Data GitHub.Data.Content.Content
instance GHC.Show.Show GitHub.Data.Content.Content
instance GHC.Generics.Generic GitHub.Data.Content.ContentFileData
instance GHC.Classes.Ord GitHub.Data.Content.ContentFileData
instance GHC.Classes.Eq GitHub.Data.Content.ContentFileData
instance Data.Data.Data GitHub.Data.Content.ContentFileData
instance GHC.Show.Show GitHub.Data.Content.ContentFileData
instance GHC.Generics.Generic GitHub.Data.Content.ContentItem
instance GHC.Classes.Ord GitHub.Data.Content.ContentItem
instance GHC.Classes.Eq GitHub.Data.Content.ContentItem
instance Data.Data.Data GitHub.Data.Content.ContentItem
instance GHC.Show.Show GitHub.Data.Content.ContentItem
instance GHC.Generics.Generic GitHub.Data.Content.ContentInfo
instance GHC.Classes.Ord GitHub.Data.Content.ContentInfo
instance GHC.Classes.Eq GitHub.Data.Content.ContentInfo
instance Data.Data.Data GitHub.Data.Content.ContentInfo
instance GHC.Show.Show GitHub.Data.Content.ContentInfo
instance GHC.Generics.Generic GitHub.Data.Content.ContentItemType
instance GHC.Classes.Ord GitHub.Data.Content.ContentItemType
instance GHC.Classes.Eq GitHub.Data.Content.ContentItemType
instance Data.Data.Data GitHub.Data.Content.ContentItemType
instance GHC.Show.Show GitHub.Data.Content.ContentItemType
instance Control.DeepSeq.NFData GitHub.Data.Content.Content
instance Data.Binary.Class.Binary GitHub.Data.Content.Content
instance Control.DeepSeq.NFData GitHub.Data.Content.ContentFileData
instance Data.Binary.Class.Binary GitHub.Data.Content.ContentFileData
instance Control.DeepSeq.NFData GitHub.Data.Content.ContentItem
instance Data.Binary.Class.Binary GitHub.Data.Content.ContentItem
instance Control.DeepSeq.NFData GitHub.Data.Content.ContentItemType
instance Data.Binary.Class.Binary GitHub.Data.Content.ContentItemType
instance Control.DeepSeq.NFData GitHub.Data.Content.ContentInfo
instance Data.Binary.Class.Binary GitHub.Data.Content.ContentInfo
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Content.Content
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Content.ContentFileData
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Content.ContentItem
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Content.ContentItemType
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Content.ContentInfo


module GitHub.Data.Comments
data Comment
Comment :: !(Maybe Int) -> !(Maybe Int) -> !Text -> !(Maybe Text) -> !UTCTime -> !(Maybe Text) -> !Text -> !(Maybe UTCTime) -> !(Maybe Text) -> !SimpleUser -> !(Id Comment) -> Comment
[commentPosition] :: Comment -> !(Maybe Int)
[commentLine] :: Comment -> !(Maybe Int)
[commentBody] :: Comment -> !Text
[commentCommitId] :: Comment -> !(Maybe Text)
[commentUpdatedAt] :: Comment -> !UTCTime
[commentHtmlUrl] :: Comment -> !(Maybe Text)
[commentUrl] :: Comment -> !Text
[commentCreatedAt] :: Comment -> !(Maybe UTCTime)
[commentPath] :: Comment -> !(Maybe Text)
[commentUser] :: Comment -> !SimpleUser
[commentId] :: Comment -> !(Id Comment)
data NewComment
NewComment :: !Text -> NewComment
[newCommentBody] :: NewComment -> !Text
data EditComment
EditComment :: !Text -> EditComment
[editCommentBody] :: EditComment -> !Text
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_0EditComment
instance GHC.Generics.Constructor GitHub.Data.Comments.C1_0EditComment
instance GHC.Generics.Datatype GitHub.Data.Comments.D1EditComment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_0NewComment
instance GHC.Generics.Constructor GitHub.Data.Comments.C1_0NewComment
instance GHC.Generics.Datatype GitHub.Data.Comments.D1NewComment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_10Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_9Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_8Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_7Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_6Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_5Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_4Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_3Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_2Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_1Comment
instance GHC.Generics.Selector GitHub.Data.Comments.S1_0_0Comment
instance GHC.Generics.Constructor GitHub.Data.Comments.C1_0Comment
instance GHC.Generics.Datatype GitHub.Data.Comments.D1Comment
instance GHC.Generics.Generic GitHub.Data.Comments.EditComment
instance GHC.Classes.Ord GitHub.Data.Comments.EditComment
instance GHC.Classes.Eq GitHub.Data.Comments.EditComment
instance Data.Data.Data GitHub.Data.Comments.EditComment
instance GHC.Show.Show GitHub.Data.Comments.EditComment
instance GHC.Generics.Generic GitHub.Data.Comments.NewComment
instance GHC.Classes.Ord GitHub.Data.Comments.NewComment
instance GHC.Classes.Eq GitHub.Data.Comments.NewComment
instance Data.Data.Data GitHub.Data.Comments.NewComment
instance GHC.Show.Show GitHub.Data.Comments.NewComment
instance GHC.Generics.Generic GitHub.Data.Comments.Comment
instance GHC.Classes.Ord GitHub.Data.Comments.Comment
instance GHC.Classes.Eq GitHub.Data.Comments.Comment
instance Data.Data.Data GitHub.Data.Comments.Comment
instance GHC.Show.Show GitHub.Data.Comments.Comment
instance Control.DeepSeq.NFData GitHub.Data.Comments.Comment
instance Data.Binary.Class.Binary GitHub.Data.Comments.Comment
instance Data.Aeson.Types.Class.FromJSON GitHub.Data.Comments.Comment
instance Control.DeepSeq.NFData GitHub.Data.Comments.NewComment
instance Data.Binary.Class.Binary GitHub.Data.Comments.NewComment
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Comments.NewComment
instance Control.DeepSeq.NFData GitHub.Data.Comments.EditComment
instance Data.Binary.Class.Binary GitHub.Data.Comments.EditComment
instance Data.Aeson.Types.Class.ToJSON GitHub.Data.Comments.EditComment


module GitHub.Auth
type Token = ByteString

-- | The Github auth data type
data Auth
BasicAuth :: ByteString -> ByteString -> Auth

-- | token
OAuth :: Token -> Auth
EnterpriseOAuth :: String -> Token -> Auth
instance GHC.Generics.Constructor GitHub.Auth.C1_2Auth
instance GHC.Generics.Constructor GitHub.Auth.C1_1Auth
instance GHC.Generics.Constructor GitHub.Auth.C1_0Auth
instance GHC.Generics.Datatype GitHub.Auth.D1Auth
instance GHC.Generics.Generic GitHub.Auth.Auth
instance GHC.Classes.Ord GitHub.Auth.Auth
instance GHC.Classes.Eq GitHub.Auth.Auth
instance Data.Data.Data GitHub.Auth.Auth
instance GHC.Show.Show GitHub.Auth.Auth
instance Control.DeepSeq.NFData GitHub.Auth.Auth
instance Data.Binary.Class.Binary GitHub.Auth.Auth


-- | This module re-exports the <tt>GitHub.Data.</tt> and
--   <a>Github.Auth</a> submodules.
module GitHub.Data
data Name entity

-- | Smart constructor for <a>Name</a>
mkName :: proxy entity -> Text -> Name entity
untagName :: Name entity -> Text
mkOwnerName :: Text -> Name Owner
mkTeamName :: Text -> Name Team
mkOrganizationName :: Text -> Name Organization
mkRepoName :: Text -> Name Repo
fromUserName :: Name User -> Name Owner
fromOrganizationName :: Name Organization -> Name Owner

-- | Numeric identifier.
data Id entity

-- | Smart constructor for <a>Id</a>.
mkId :: proxy entity -> Int -> Id entity
untagId :: Id entity -> Int
mkOwnerId :: Int -> Id Owner
mkTeamId :: Int -> Id Team
mkOrganizationId :: Int -> Id Organization
mkRepoId :: Int -> Id Repo


-- | This module provides data types and helper methods, which makes
--   possible to build alternative API request intepreters in addition to
--   provided <a>IO</a> functions.
--   
--   Simple example using <tt>operational</tt> package. See
--   <tt>samples/Operational/Operational.hs</tt>
--   
--   <pre>
--   type GithubMonad a = Program (GH.Request 'False) a
--   
--   -- | Intepret GithubMonad value into IO
--   runMonad :: Manager -&gt; GH.Auth -&gt; GithubMonad a -&gt; ExceptT GH.Error IO a
--   runMonad mgr auth m = case view m of
--      Return a   -&gt; return a
--      req :&gt;&gt;= k -&gt; do
--          b &lt;- ExceptT $ GH.executeRequestWithMgr mgr auth req
--          runMonad mgr auth (k b)
--   
--   -- | Lift request into Monad
--   githubRequest :: GH.Request 'False a -&gt; GithubMonad a
--   githubRequest = singleton
--   </pre>
module GitHub.Request

-- | Github request data type.
--   
--   <ul>
--   <li><tt>k</tt> describes whether authentication is required. It's
--   required for non-<tt>GET</tt> requests.</li>
--   <li><tt>a</tt> is the result type</li>
--   </ul>
--   
--   <i>Note:</i> <a>Request</a> is not <a>Functor</a> on purpose.
data Request (k :: Bool) a
Query :: Paths -> QueryString -> Request k a
PagedQuery :: Paths -> QueryString -> Maybe Count -> Request k (Vector a)
Command :: CommandMethod a -> Paths -> ByteString -> Request True a
StatusQuery :: StatusMap a -> Request k () -> Request k a

-- | Http method of requests with body.
data CommandMethod a
Post :: CommandMethod a
Patch :: CommandMethod a
Put :: CommandMethod a
Delete :: CommandMethod ()
toMethod :: CommandMethod a -> Method
type Paths = [String]
type QueryString = [(ByteString, Maybe ByteString)]

-- | Execute <a>Request</a> in <a>IO</a>
executeRequest :: Auth -> Request k a -> IO (Either Error a)

-- | Like <a>executeRequest</a> but with provided <a>Manager</a>.
executeRequestWithMgr :: Manager -> Auth -> Request k a -> IO (Either Error a)

-- | Like <a>executeRequest</a> but without authentication.
executeRequest' :: Request False a -> IO (Either Error a)

-- | Like <a>executeRequestWithMgr</a> but without authentication.
executeRequestWithMgr' :: Manager -> Request False a -> IO (Either Error a)

-- | Helper for picking between <a>executeRequest</a> and
--   <a>executeRequest'</a>.
--   
--   The use is discouraged.
executeRequestMaybe :: Maybe Auth -> Request False a -> IO (Either Error a)

-- | Partial function to drop authentication need.
unsafeDropAuthRequirements :: Request True a -> Request k a

-- | Create <tt>http-client</tt> <a>Request</a>.
--   
--   <ul>
--   <li>for <a>PagedQuery</a>, the initial request is created.</li>
--   <li>for <a>Status</a>, the <a>Request</a> for underlying
--   <a>Request</a> is created, status checking is modifying
--   accordingly.</li>
--   </ul>
--   
--   <pre>
--   parseResponse :: <a>Maybe</a> <a>Auth</a> -&gt; <a>Request</a> k a -&gt; <a>Maybe</a> <a>Request</a>
--   </pre>
makeHttpRequest :: MonadThrow m => Maybe Auth -> Request k a -> m Request

-- | Parse API response.
--   
--   <pre>
--   parseResponse :: <a>FromJSON</a> a =&gt; <a>Response</a> <a>ByteString</a> -&gt; <a>Either</a> <a>Error</a> a
--   </pre>
parseResponse :: (FromJSON a, MonadError Error m) => Response ByteString -> m a

-- | Helper for handling of <tt>RequestStatus</tt>.
--   
--   <pre>
--   parseStatus :: <a>StatusMap</a> a -&gt; <a>Status</a> -&gt; <a>Either</a> <a>Error</a> a
--   </pre>
parseStatus :: MonadError Error m => StatusMap a -> Status -> m a

-- | Query <tt>Link</tt> header with <tt>rel=next</tt> from the request
--   headers.
getNextUrl :: Response a -> Maybe URI

-- | Helper for making paginated requests. Responses, <tt>a</tt> are
--   combined monoidally.
--   
--   <pre>
--   performPagedRequest :: (<a>FromJSON</a> a, <a>Semigroup</a> a)
--                       =&gt; (<a>Request</a> -&gt; <a>ExceptT</a> <a>Error</a> <a>IO</a> (<a>Response</a> <a>ByteString</a>))
--                       -&gt; (a -&gt; <a>Bool</a>)
--                       -&gt; <a>Request</a>
--                       -&gt; <a>ExceptT</a> <a>Error</a> <a>IO</a> a
--   </pre>
performPagedRequest :: (FromJSON a, Semigroup a, MonadCatch m, MonadError Error m) => (Request -> m (Response ByteString)) -> (a -> Bool) -> Request -> m a


-- | The repo starring API as described on
--   <a>https://developer.github.com/v3/activity/starring/</a>.
module GitHub.Endpoints.Activity.Starring

-- | The list of users that have starred the specified Github repo.
--   
--   <pre>
--   userInfoFor' Nothing "mike-burns"
--   </pre>
stargazersFor :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector SimpleUser))

-- | List Stargazers. See
--   <a>https://developer.github.com/v3/activity/starring/#list-stargazers</a>
stargazersForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | All the public repos starred by the specified user.
--   
--   <pre>
--   reposStarredBy Nothing "croaky"
--   </pre>
reposStarredBy :: Maybe Auth -> Name Owner -> IO (Either Error (Vector Repo))

-- | List repositories being starred. See
--   <a>https://developer.github.com/v3/activity/starring/#list-repositories-being-starred</a>
reposStarredByR :: Name Owner -> Maybe Count -> Request k (Vector Repo)

-- | All the repos starred by the authenticated user.
myStarred :: Auth -> IO (Either Error (Vector Repo))

-- | All the repos starred by the authenticated user.
myStarredR :: Maybe Count -> Request True (Vector Repo)


-- | The repo watching API as described on
--   <a>https://developer.github.com/v3/activity/watching/</a>.
module GitHub.Endpoints.Activity.Watching

-- | The list of users that are watching the specified Github repo.
--   
--   <pre>
--   watchersFor "thoughtbot" "paperclip"
--   </pre>
watchersFor :: Name Owner -> Name Repo -> IO (Either Error (Vector SimpleUser))

-- | The list of users that are watching the specified Github repo. With
--   authentication
--   
--   <pre>
--   watchersFor' (Just (User (user, password))) "thoughtbot" "paperclip"
--   </pre>
watchersFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector SimpleUser))

-- | List watchers. See
--   <a>https://developer.github.com/v3/activity/watching/#list-watchers</a>
watchersForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | All the public repos watched by the specified user.
--   
--   <pre>
--   reposWatchedBy "croaky"
--   </pre>
reposWatchedBy :: Name Owner -> IO (Either Error (Vector Repo))

-- | All the public repos watched by the specified user. With
--   authentication
--   
--   <pre>
--   reposWatchedBy' (Just (User (user, password))) "croaky"
--   </pre>
reposWatchedBy' :: Maybe Auth -> Name Owner -> IO (Either Error (Vector Repo))

-- | List repositories being watched. See
--   <a>https://developer.github.com/v3/activity/watching/#list-repositories-being-watched</a>
reposWatchedByR :: Name Owner -> Maybe Count -> Request k (Vector Repo)


-- | The gists API as described at
--   <a>http://developer.github.com/v3/gists/</a>.
module GitHub.Endpoints.Gists

-- | The list of all public gists created by the user.
--   
--   <pre>
--   gists "mike-burns"
--   </pre>
gists :: Name Owner -> IO (Either Error (Vector Gist))

-- | The list of all gists created by the user
--   
--   <pre>
--   gists' (Just ("github-username", "github-password")) "mike-burns"
--   </pre>
gists' :: Maybe Auth -> Name Owner -> IO (Either Error (Vector Gist))

-- | List gists. See
--   <a>https://developer.github.com/v3/gists/#list-gists</a>
gistsR :: Name Owner -> Maybe Count -> Request k (Vector Gist)

-- | A specific gist, given its id.
--   
--   <pre>
--   gist "225074"
--   </pre>
gist :: Name Gist -> IO (Either Error Gist)

-- | A specific gist, given its id, with authentication credentials
--   
--   <pre>
--   gist' (Just ("github-username", "github-password")) "225074"
--   </pre>
gist' :: Maybe Auth -> Name Gist -> IO (Either Error Gist)

-- | Query a single gist. See
--   <a>https://developer.github.com/v3/gists/#get-a-single-gist</a>
gistR :: Name Gist -> Request k Gist


-- | The loving comments people have left on Gists, described on
--   <a>http://developer.github.com/v3/gists/comments/</a>.
module GitHub.Endpoints.Gists.Comments

-- | All the comments on a Gist, given the Gist ID.
--   
--   <pre>
--   commentsOn "1174060"
--   </pre>
commentsOn :: Name Gist -> IO (Either Error (Vector GistComment))

-- | List comments on a gist. See
--   <a>https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist</a>
commentsOnR :: Name Gist -> Maybe Count -> Request k (Vector GistComment)

-- | A specific comment, by the comment ID.
--   
--   <pre>
--   comment (Id 62449)
--   </pre>
comment :: Id GistComment -> IO (Either Error GistComment)

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/gists/comments/#get-a-single-comment</a>
gistCommentR :: Id GistComment -> Request k GistComment


-- | The API for dealing with git blobs from Github repos, as described in
--   <a>http://developer.github.com/v3/git/blobs/</a>.
module GitHub.Endpoints.GitData.Blobs

-- | Query a blob by SHA1.
--   
--   <pre>
--   blob "thoughtbot" "paperclip" "bc5c51d1ece1ee45f94b056a0f5a1674d7e8cba9"
--   </pre>
blob :: Name Owner -> Name Repo -> Name Blob -> IO (Either Error Blob)

-- | Query a blob by SHA1.
--   
--   <pre>
--   blob' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" "bc5c51d1ece1ee45f94b056a0f5a1674d7e8cba9"
--   </pre>
blob' :: Maybe Auth -> Name Owner -> Name Repo -> Name Blob -> IO (Either Error Blob)

-- | Query a blob. See
--   <a>https://developer.github.com/v3/git/blobs/#get-a-blob</a>
blobR :: Name Owner -> Name Repo -> Name Blob -> Request k Blob


-- | The API for underlying git commits of a Github repo, as described on
--   <a>http://developer.github.com/v3/git/commits/</a>.
module GitHub.Endpoints.GitData.Commits

-- | A single commit, by SHA1.
--   
--   <pre>
--   commit "thoughtbot" "paperclip" "bc5c51d1ece1ee45f94b056a0f5a1674d7e8cba9"
--   </pre>
commit :: Name Owner -> Name Repo -> Name GitCommit -> IO (Either Error GitCommit)

-- | Query a commit. See
--   <a>https://developer.github.com/v3/git/commits/#get-a-commit</a>
gitCommitR :: Name Owner -> Name Repo -> Name GitCommit -> Request k GitCommit


-- | The underlying git references on a Github repo, exposed for the world
--   to see. The git internals documentation will also prove handy for
--   understanding these. API documentation at
--   <a>http://developer.github.com/v3/git/refs/</a>.
module GitHub.Endpoints.GitData.References

-- | A single reference by the ref name.
--   
--   <pre>
--   reference "mike-burns" "github" "heads/master"
--   </pre>
reference :: Name Owner -> Name Repo -> Name GitReference -> IO (Either Error GitReference)

-- | A single reference by the ref name.
--   
--   <pre>
--   reference' (Just ("github-username", "github-password")) "mike-burns" "github" "heads/master"
--   </pre>
reference' :: Maybe Auth -> Name Owner -> Name Repo -> Name GitReference -> IO (Either Error GitReference)

-- | Query a reference. See
--   <a>https://developer.github.com/v3/git/refs/#get-a-reference</a>
referenceR :: Name Owner -> Name Repo -> Name GitReference -> Request k GitReference

-- | The history of references for a repo.
--   
--   <pre>
--   references "mike-burns" "github"
--   </pre>
references :: Name Owner -> Name Repo -> IO (Either Error (Vector GitReference))

-- | The history of references for a repo.
--   
--   <pre>
--   references "mike-burns" "github"
--   </pre>
references' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector GitReference))

-- | Query all References. See
--   <a>https://developer.github.com/v3/git/refs/#get-all-references</a>
referencesR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector GitReference)

-- | Create a reference.
createReference :: Auth -> Name Owner -> Name Repo -> NewGitReference -> IO (Either Error GitReference)

-- | Create a reference. See
--   <a>https://developer.github.com/v3/git/refs/#create-a-reference</a>
createReferenceR :: Name Owner -> Name Repo -> NewGitReference -> Request True GitReference

-- | Limited references by a namespace.
--   
--   <pre>
--   namespacedReferences "thoughtbot" "paperclip" "tags"
--   </pre>
namespacedReferences :: Name Owner -> Name Repo -> String -> IO (Either Error [GitReference])


-- | The underlying tree of SHA1s and files that make up a git repo. The
--   API is described on <a>http://developer.github.com/v3/git/trees/</a>.
module GitHub.Endpoints.GitData.Trees

-- | A tree for a SHA1.
--   
--   <pre>
--   tree "thoughtbot" "paperclip" "fe114451f7d066d367a1646ca7ac10e689b46844"
--   </pre>
tree :: Name Owner -> Name Repo -> Name Tree -> IO (Either Error Tree)

-- | A tree for a SHA1.
--   
--   <pre>
--   tree (Just ("github-username", "github-password")) "thoughtbot" "paperclip" "fe114451f7d066d367a1646ca7ac10e689b46844"
--   </pre>
tree' :: Maybe Auth -> Name Owner -> Name Repo -> Name Tree -> IO (Either Error Tree)

-- | Query a Tree. See
--   <a>https://developer.github.com/v3/git/trees/#get-a-tree</a>
treeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree

-- | A recursively-nested tree for a SHA1.
--   
--   <pre>
--   nestedTree "thoughtbot" "paperclip" "fe114451f7d066d367a1646ca7ac10e689b46844"
--   </pre>
nestedTree :: Name Owner -> Name Repo -> Name Tree -> IO (Either Error Tree)

-- | A recursively-nested tree for a SHA1.
--   
--   <pre>
--   nestedTree' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" "fe114451f7d066d367a1646ca7ac10e689b46844"
--   </pre>
nestedTree' :: Maybe Auth -> Name Owner -> Name Repo -> Name Tree -> IO (Either Error Tree)

-- | Query a Tree Recursively. See
--   <a>https://developer.github.com/v3/git/trees/#get-a-tree-recursively</a>
nestedTreeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree


-- | The issues API as described on
--   <a>http://developer.github.com/v3/issues/</a>.
module GitHub.Endpoints.Issues

-- | Details on a specific issue, given the repo owner and name, and the
--   issue number.
--   
--   <pre>
--   issue "thoughtbot" "paperclip" (Id "462")
--   </pre>
issue :: Name Owner -> Name Repo -> Id Issue -> IO (Either Error Issue)

-- | Details on a specific issue, given the repo owner and name, and the
--   issue number.'
--   
--   <pre>
--   issue' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" "462"
--   </pre>
issue' :: Maybe Auth -> Name Owner -> Name Repo -> Id Issue -> IO (Either Error Issue)

-- | Query a single issue. See
--   <a>https://developer.github.com/v3/issues/#get-a-single-issue</a>
issueR :: Name Owner -> Name Repo -> Id Issue -> Request k Issue

-- | All issues for a repo (given the repo owner and name), with optional
--   restrictions as described in the <tt>IssueLimitation</tt> data type.
--   
--   <pre>
--   issuesForRepo "thoughtbot" "paperclip" [NoMilestone, OnlyClosed, Mentions "jyurek", Ascending]
--   </pre>
issuesForRepo :: Name Owner -> Name Repo -> [IssueLimitation] -> IO (Either Error (Vector Issue))

-- | All issues for a repo (given the repo owner and name), with optional
--   restrictions as described in the <tt>IssueLimitation</tt> data type.
--   
--   <pre>
--   issuesForRepo' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" [NoMilestone, OnlyClosed, Mentions "jyurek", Ascending]
--   </pre>
issuesForRepo' :: Maybe Auth -> Name Owner -> Name Repo -> [IssueLimitation] -> IO (Either Error (Vector Issue))

-- | List issues for a repository. See
--   <a>https://developer.github.com/v3/issues/#list-issues-for-a-repository</a>
issuesForRepoR :: Name Owner -> Name Repo -> [IssueLimitation] -> Maybe Count -> Request k (Vector Issue)

-- | A data structure for describing how to filter issues. This is used by
--   <tt>issuesForRepo</tt>.
data IssueLimitation

-- | Issues appearing in any milestone. [default]
AnyMilestone :: IssueLimitation

-- | Issues without a milestone.
NoMilestone :: IssueLimitation

-- | Only issues that are in the milestone with the given id.
MilestoneId :: Int -> IssueLimitation

-- | Only open issues. [default]
Open :: IssueLimitation

-- | Only closed issues.
OnlyClosed :: IssueLimitation

-- | Issues to which no one has been assigned ownership.
Unassigned :: IssueLimitation

-- | All issues regardless of assignment. [default]
AnyAssignment :: IssueLimitation

-- | Only issues assigned to the user with the given login.
AssignedTo :: String -> IssueLimitation

-- | Issues which mention the given string, taken to be a user's login.
Mentions :: String -> IssueLimitation

-- | A list of labels to filter by.
Labels :: [String] -> IssueLimitation

-- | Sort ascending.
Ascending :: IssueLimitation

-- | Sort descending. [default]
Descending :: IssueLimitation

-- | Only issues created since the specified date and time.
Since :: UTCTime -> IssueLimitation

-- | Download this many issues per query
PerPage :: Int -> IssueLimitation

-- | Create a new issue.
--   
--   <pre>
--   createIssue (User (user, password)) user repo
--    (newIssue "some_repo") {...}
--   </pre>
createIssue :: Auth -> Name Owner -> Name Repo -> NewIssue -> IO (Either Error Issue)

-- | Create an issue. See
--   <a>https://developer.github.com/v3/issues/#create-an-issue</a>
createIssueR :: Name Owner -> Name Repo -> NewIssue -> Request True Issue
newIssue :: Text -> NewIssue

-- | Edit an issue.
--   
--   <pre>
--   editIssue (User (user, password)) user repo issue
--    editOfIssue {...}
--   </pre>
editIssue :: Auth -> Name Owner -> Name Repo -> Id Issue -> EditIssue -> IO (Either Error Issue)

-- | Edit an issue. See
--   <a>https://developer.github.com/v3/issues/#edit-an-issue</a>
editIssueR :: Name Owner -> Name Repo -> Id Issue -> EditIssue -> Request True Issue
editOfIssue :: EditIssue


-- | The Github issue comments API from
--   <a>http://developer.github.com/v3/issues/comments/</a>.
module GitHub.Endpoints.Issues.Comments

-- | A specific comment, by ID.
--   
--   <pre>
--   comment "thoughtbot" "paperclip" 1468184
--   </pre>
comment :: Name Owner -> Name Repo -> Id Comment -> IO (Either Error IssueComment)

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/issues/comments/#get-a-single-comment</a>
commentR :: Name Owner -> Name Repo -> Id Comment -> Request k IssueComment

-- | All comments on an issue, by the issue's number.
--   
--   <pre>
--   comments "thoughtbot" "paperclip" 635
--   </pre>
comments :: Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector IssueComment))

-- | List comments on an issue. See
--   <a>https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue</a>
commentsR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector IssueComment)

-- | All comments on an issue, by the issue's number, using authentication.
--   
--   <pre>
--   comments' (User (user, password)) "thoughtbot" "paperclip" 635
--   </pre>
comments' :: Maybe Auth -> Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector IssueComment))

-- | Create a new comment.
--   
--   <pre>
--   createComment (User (user, password)) user repo issue
--    "some words"
--   </pre>
createComment :: Auth -> Name Owner -> Name Repo -> Id Issue -> Text -> IO (Either Error Comment)

-- | Create a comment. See
--   <a>https://developer.github.com/v3/issues/comments/#create-a-comment</a>
createCommentR :: Name Owner -> Name Repo -> Id Issue -> Text -> Request True Comment

-- | Edit a comment.
--   
--   <pre>
--   editComment (User (user, password)) user repo commentid
--    "new words"
--   </pre>
editComment :: Auth -> Name Owner -> Name Repo -> Id Comment -> Text -> IO (Either Error Comment)

-- | Edit a comment. See
--   <a>https://developer.github.com/v3/issues/comments/#edit-a-comment</a>
editCommentR :: Name Owner -> Name Repo -> Id Comment -> Text -> Request True Comment


-- | The Github issue events API, which is described on
--   <a>http://developer.github.com/v3/issues/events/</a>
module GitHub.Endpoints.Issues.Events

-- | All events that have happened on an issue.
--   
--   <pre>
--   eventsForIssue "thoughtbot" "paperclip" 49
--   </pre>
eventsForIssue :: Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector Event))

-- | All events that have happened on an issue, using authentication.
--   
--   <pre>
--   eventsForIssue' (User (user, password)) "thoughtbot" "paperclip" 49
--   </pre>
eventsForIssue' :: Maybe Auth -> Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector Event))

-- | List events for an issue. See
--   <a>https://developer.github.com/v3/issues/events/#list-events-for-an-issue</a>
eventsForIssueR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector Event)

-- | All the events for all issues in a repo.
--   
--   <pre>
--   eventsForRepo "thoughtbot" "paperclip"
--   </pre>
eventsForRepo :: Name Owner -> Name Repo -> IO (Either Error (Vector Event))

-- | All the events for all issues in a repo, using authentication.
--   
--   <pre>
--   eventsForRepo' (User (user, password)) "thoughtbot" "paperclip"
--   </pre>
eventsForRepo' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Event))

-- | List events for a repository. See
--   <a>https://developer.github.com/v3/issues/events/#list-events-for-a-repository</a>
eventsForRepoR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Event)

-- | Details on a specific event, by the event's ID.
--   
--   <pre>
--   event "thoughtbot" "paperclip" 5335772
--   </pre>
event :: Name Owner -> Name Repo -> Id Event -> IO (Either Error Event)

-- | Details on a specific event, by the event's ID, using authentication.
--   
--   <pre>
--   event' (User (user, password)) "thoughtbot" "paperclip" 5335772
--   </pre>
event' :: Maybe Auth -> Name Owner -> Name Repo -> Id Event -> IO (Either Error Event)

-- | Query a single event. See
--   <a>https://developer.github.com/v3/issues/events/#get-a-single-event</a>
eventR :: Name Owner -> Name Repo -> Id Event -> Request k Event


-- | The API for dealing with labels on Github issues as described on
--   <a>http://developer.github.com/v3/issues/labels/</a>.
module GitHub.Endpoints.Issues.Labels

-- | All the labels available to use on any issue in the repo.
--   
--   <pre>
--   labelsOnRepo "thoughtbot" "paperclip"
--   </pre>
labelsOnRepo :: Name Owner -> Name Repo -> IO (Either Error (Vector IssueLabel))

-- | All the labels available to use on any issue in the repo using
--   authentication.
--   
--   <pre>
--   labelsOnRepo' (Just (User (user password))) "thoughtbot" "paperclip"
--   </pre>
labelsOnRepo' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector IssueLabel))

-- | List all labels for this repository. See
--   <a>https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository</a>
labelsOnRepoR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector IssueLabel)

-- | A label by name.
--   
--   <pre>
--   label "thoughtbot" "paperclip" "bug"
--   </pre>
label :: Name Owner -> Name Repo -> Name IssueLabel -> IO (Either Error IssueLabel)

-- | A label by name using authentication.
--   
--   <pre>
--   label' (Just (User (user password))) "thoughtbot" "paperclip" "bug"
--   </pre>
label' :: Maybe Auth -> Name Owner -> Name Repo -> Name IssueLabel -> IO (Either Error IssueLabel)

-- | Query a single label. See
--   <a>https://developer.github.com/v3/issues/labels/#get-a-single-label</a>
labelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request k IssueLabel

-- | Create a label
--   
--   <pre>
--   createLabel (User (user password)) "thoughtbot" "paperclip" "bug" "f29513"
--   </pre>
createLabel :: Auth -> Name Owner -> Name Repo -> Name IssueLabel -> String -> IO (Either Error IssueLabel)

-- | Create a label. See
--   <a>https://developer.github.com/v3/issues/labels/#create-a-label</a>
createLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> String -> Request True IssueLabel

-- | Update a label
--   
--   <pre>
--   updateLabel (User (user password)) "thoughtbot" "paperclip" "bug" "new-bug" "ff1111"
--   </pre>
updateLabel :: Auth -> Name Owner -> Name Repo -> Name IssueLabel -> Name IssueLabel -> String -> IO (Either Error IssueLabel)

-- | Update a label. See
--   <a>https://developer.github.com/v3/issues/labels/#update-a-label</a>
updateLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> Name IssueLabel -> String -> Request True IssueLabel

-- | Delete a label
--   
--   <pre>
--   deleteLabel (User (user password)) "thoughtbot" "paperclip" "bug"
--   </pre>
deleteLabel :: Auth -> Name Owner -> Name Repo -> Name IssueLabel -> IO (Either Error ())

-- | Delete a label. See
--   <a>https://developer.github.com/v3/issues/labels/#delete-a-label</a>
deleteLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request True ()

-- | The labels on an issue in a repo.
--   
--   <pre>
--   labelsOnIssue "thoughtbot" "paperclip" 585
--   </pre>
labelsOnIssue :: Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector IssueLabel))

-- | The labels on an issue in a repo using authentication.
--   
--   <pre>
--   labelsOnIssue' (Just (User (user password))) "thoughtbot" "paperclip" (Id 585)
--   </pre>
labelsOnIssue' :: Maybe Auth -> Name Owner -> Name Repo -> Id Issue -> IO (Either Error (Vector IssueLabel))

-- | List labels on an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue</a>
labelsOnIssueR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector IssueLabel)

-- | Add labels to an issue.
--   
--   <pre>
--   addLabelsToIssue (User (user password)) "thoughtbot" "paperclip" (Id 585) ["Label1" "Label2"]
--   </pre>
addLabelsToIssue :: Foldable f => Auth -> Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> IO (Either Error (Vector IssueLabel))

-- | Add lables to an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue</a>
addLabelsToIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request True (Vector IssueLabel)

-- | Remove a label from an issue.
--   
--   <pre>
--   removeLabelFromIssue (User (user password)) "thoughtbot" "paperclip" (Id 585) "bug"
--   </pre>
removeLabelFromIssue :: Auth -> Name Owner -> Name Repo -> Id Issue -> Name IssueLabel -> IO (Either Error ())

-- | Remove a label from an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue</a>
removeLabelFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Name IssueLabel -> Request True ()

-- | Replace all labels on an issue. Sending an empty list will remove all
--   labels from the issue.
--   
--   <pre>
--   replaceAllLabelsForIssue (User (user password)) "thoughtbot" "paperclip" (Id 585) ["Label1" "Label2"]
--   </pre>
replaceAllLabelsForIssue :: Foldable f => Auth -> Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> IO (Either Error (Vector IssueLabel))

-- | Replace all labels on an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue</a>
--   
--   Sending an empty list will remove all labels from the issue.
replaceAllLabelsForIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request True (Vector IssueLabel)

-- | Remove all labels from an issue.
--   
--   <pre>
--   removeAllLabelsFromIssue (User (user password)) "thoughtbot" "paperclip" (Id 585)
--   </pre>
removeAllLabelsFromIssue :: Auth -> Name Owner -> Name Repo -> Id Issue -> IO (Either Error ())

-- | Remove all labels from an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue</a>
removeAllLabelsFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Request True ()

-- | All the labels on a repo's milestone given the milestone ID.
--   
--   <pre>
--   labelsOnMilestone "thoughtbot" "paperclip" (Id 2)
--   </pre>
labelsOnMilestone :: Name Owner -> Name Repo -> Id Milestone -> IO (Either Error (Vector IssueLabel))

-- | All the labels on a repo's milestone given the milestone ID using
--   authentication.
--   
--   <pre>
--   labelsOnMilestone' (Just (User (user password))) "thoughtbot" "paperclip" (Id 2)
--   </pre>
labelsOnMilestone' :: Maybe Auth -> Name Owner -> Name Repo -> Id Milestone -> IO (Either Error (Vector IssueLabel))

-- | Query labels for every issue in a milestone. See
--   <a>https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone</a>
labelsOnMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> Maybe Count -> Request k (Vector IssueLabel)


-- | The milestones API as described on
--   <a>http://developer.github.com/v3/issues/milestones/</a>.
module GitHub.Endpoints.Issues.Milestones

-- | All milestones in the repo.
--   
--   <pre>
--   milestones "thoughtbot" "paperclip"
--   </pre>
milestones :: Name Owner -> Name Repo -> IO (Either Error (Vector Milestone))

-- | All milestones in the repo, using authentication.
--   
--   <pre>
--   milestones' (User (user, passwordG) "thoughtbot" "paperclip"
--   </pre>
milestones' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Milestone))

-- | List milestones for a repository. See
--   <a>https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository</a>
milestonesR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Milestone)

-- | Details on a specific milestone, given it's milestone number.
--   
--   <pre>
--   milestone "thoughtbot" "paperclip" (Id 2)
--   </pre>
milestone :: Name Owner -> Name Repo -> Id Milestone -> IO (Either Error Milestone)

-- | Query a single milestone. See
--   <a>https://developer.github.com/v3/issues/milestones/#get-a-single-milestone</a>
milestoneR :: Name Owner -> Name Repo -> Id Milestone -> Request k Milestone


-- | The orgs API as described on
--   <a>http://developer.github.com/v3/orgs/</a>.
module GitHub.Endpoints.Organizations

-- | List user organizations. The public organizations for a user, given
--   the user's login.
--   
--   <pre>
--   publicOrganizationsFor "mike-burns"
--   </pre>
publicOrganizationsFor :: Name User -> IO (Either Error (Vector SimpleOrganization))

-- | The public organizations for a user, given the user's login, with
--   authorization
--   
--   <pre>
--   publicOrganizationsFor' (Just ("github-username", "github-password")) "mike-burns"
--   </pre>
publicOrganizationsFor' :: Maybe Auth -> Name User -> IO (Either Error (Vector SimpleOrganization))

-- | List user organizations. See
--   <a>https://developer.github.com/v3/orgs/#list-user-organizations</a>
publicOrganizationsForR :: Name User -> Maybe Count -> Request k (Vector SimpleOrganization)

-- | Query an organization. Details on a public organization. Takes the
--   organization's login.
--   
--   <pre>
--   publicOrganization "thoughtbot"
--   </pre>
publicOrganization :: Name Organization -> IO (Either Error Organization)

-- | Details on a public organization. Takes the organization's login.
--   
--   <pre>
--   publicOrganization' (Just ("github-username", "github-password")) "thoughtbot"
--   </pre>
publicOrganization' :: Maybe Auth -> Name Organization -> IO (Either Error Organization)

-- | Query an organization. See
--   <a>https://developer.github.com/v3/orgs/#get-an-organization</a>
publicOrganizationR :: Name Organization -> Request k Organization


-- | The organization members API as described on
--   <a>http://developer.github.com/v3/orgs/members/</a>.
module GitHub.Endpoints.Organizations.Members

-- | All the users who are members of the specified organization, | without
--   authentication.
--   
--   <pre>
--   membersOf "thoughtbot"
--   </pre>
membersOf :: Name Organization -> IO (Either Error (Vector SimpleUser))

-- | All the users who are members of the specified organization, | with or
--   without authentication.
--   
--   <pre>
--   membersOf' (Just $ OAuth "token") "thoughtbot"
--   </pre>
membersOf' :: Maybe Auth -> Name Organization -> IO (Either Error (Vector SimpleUser))

-- | All the users who are members of the specified organization.
--   
--   See <a>https://developer.github.com/v3/orgs/members/#members-list</a>
membersOfR :: Name Organization -> Maybe Count -> Request k (Vector SimpleUser)

-- | <a>membersOfR</a> with filters.
--   
--   See <a>https://developer.github.com/v3/orgs/members/#members-list</a>
membersOfWithR :: Name Organization -> OrgMemberFilter -> OrgMemberRole -> Maybe Count -> Request k (Vector SimpleUser)


-- | The Owner teams API as described on
--   <a>http://developer.github.com/v3/orgs/teams/</a>.
module GitHub.Endpoints.Organizations.Teams

-- | List the public teams of an Owner.
--   
--   <pre>
--   teamsOf "thoughtbot"
--   </pre>
teamsOf :: Name Organization -> IO (Either Error (Vector SimpleTeam))

-- | List teams. List the teams of an Owner. When authenticated, lists
--   private teams visible to the authenticated user. When unauthenticated,
--   lists only public teams for an Owner.
--   
--   <pre>
--   teamsOf' (Just $ OAuth "token") "thoughtbot"
--   </pre>
teamsOf' :: Maybe Auth -> Name Organization -> IO (Either Error (Vector SimpleTeam))

-- | List teams. See
--   <a>https://developer.github.com/v3/orgs/teams/#list-teams</a>
teamsOfR :: Name Organization -> Maybe Count -> Request k (Vector SimpleTeam)

-- | The information for a single team, by team id.
--   
--   <pre>
--   teamInfoFor' (Just $ OAuth "token") 1010101
--   </pre>
teamInfoFor :: Id Team -> IO (Either Error Team)

-- | The information for a single team, by team id. | With authentication
--   
--   <pre>
--   teamInfoFor' (Just $ OAuth "token") 1010101
--   </pre>
teamInfoFor' :: Maybe Auth -> Id Team -> IO (Either Error Team)

-- | Query team. See
--   <a>https://developer.github.com/v3/orgs/teams/#get-team</a>
teamInfoForR :: Id Team -> Request k Team

-- | Create a team under an Owner
--   
--   <pre>
--   createTeamFor' (OAuth "token") "Owner" (CreateTeam "newteamname" "some description" [] PermssionPull)
--   </pre>
createTeamFor' :: Auth -> Name Organization -> CreateTeam -> IO (Either Error Team)

-- | Create team. See
--   <a>https://developer.github.com/v3/orgs/teams/#create-team</a>
createTeamForR :: Name Organization -> CreateTeam -> Request True Team

-- | Edit a team, by id.
--   
--   <pre>
--   editTeamFor'
--   </pre>
editTeam' :: Auth -> Id Team -> EditTeam -> IO (Either Error Team)

-- | Edit team. See
--   <a>https://developer.github.com/v3/orgs/teams/#edit-team</a>
editTeamR :: Id Team -> EditTeam -> Request True Team

-- | Delete a team, by id.
--   
--   <pre>
--   deleteTeam' (OAuth "token") 1010101
--   </pre>
deleteTeam' :: Auth -> Id Team -> IO (Either Error ())

-- | Delete team.
--   
--   See <a>https://developer.github.com/v3/orgs/teams/#delete-team</a>
deleteTeamR :: Id Team -> Request True ()
listTeamMembersR :: Id Team -> TeamMemberRole -> Maybe Count -> Request True (Vector SimpleUser)

-- | Retrieve team mebership information for a user.
--   
--   <pre>
--   teamMembershipInfoFor 1010101 "mburns"
--   </pre>
teamMembershipInfoFor :: Id Team -> Name Owner -> IO (Either Error TeamMembership)

-- | Retrieve team mebership information for a user. | With authentication
--   
--   <pre>
--   teamMembershipInfoFor' (Just $ OAuth "token") 1010101 "mburns"
--   </pre>
teamMembershipInfoFor' :: Maybe Auth -> Id Team -> Name Owner -> IO (Either Error TeamMembership)

-- | Query team membership. See
--   &lt;<a>https://developer.github.com/v3/orgs/teams/#get-team-membership</a>
teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership

-- | Add (or invite) a member to a team.
--   
--   <pre>
--   addTeamMembershipFor' (OAuth "token") 1010101 "mburns" RoleMember
--   </pre>
addTeamMembershipFor' :: Auth -> Id Team -> Name Owner -> Role -> IO (Either Error TeamMembership)

-- | Add team membership. See
--   <a>https://developer.github.com/v3/orgs/teams/#add-team-membership</a>
addTeamMembershipForR :: Id Team -> Name Owner -> Role -> Request True TeamMembership

-- | Delete a member of a team.
--   
--   <pre>
--   deleteTeamMembershipFor' (OAuth "token") 1010101 "mburns"
--   </pre>
deleteTeamMembershipFor' :: Auth -> Id Team -> Name Owner -> IO (Either Error ())

-- | Remove team membership. See
--   <a>https://developer.github.com/v3/orgs/teams/#remove-team-membership</a>
deleteTeamMembershipForR :: Id Team -> Name Owner -> Request True ()

-- | List teams for current authenticated user
--   
--   <pre>
--   listTeamsCurrent' (OAuth "token")
--   </pre>
listTeamsCurrent' :: Auth -> IO (Either Error (Vector Team))

-- | List user teams. See
--   <a>https://developer.github.com/v3/orgs/teams/#list-user-teams</a>
listTeamsCurrentR :: Maybe Count -> Request True (Vector Team)


-- | The pull requests API as documented at
--   <a>http://developer.github.com/v3/pulls/</a>.
module GitHub.Endpoints.PullRequests

-- | All pull requests for the repo, by owner, repo name, and pull request
--   state. | With authentification
--   
--   <pre>
--   pullRequestsFor' (Just ("github-username", "github-password"))  (Just "open") "rails" "rails"
--   </pre>
--   
--   State can be one of <tt>all</tt>, <tt>open</tt>, or <tt>closed</tt>.
--   Default is <tt>open</tt>.
pullRequestsFor'' :: Maybe Auth -> Maybe String -> Name Owner -> Name Repo -> IO (Either Error (Vector SimplePullRequest))

-- | All pull requests for the repo, by owner and repo name. | With
--   authentification
--   
--   <pre>
--   pullRequestsFor' (Just ("github-username", "github-password")) "rails" "rails"
--   </pre>
pullRequestsFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector SimplePullRequest))

-- | All pull requests for the repo, by owner and repo name.
--   
--   <pre>
--   pullRequestsFor "rails" "rails"
--   </pre>
pullRequestsFor :: Name Owner -> Name Repo -> IO (Either Error (Vector SimplePullRequest))

-- | List pull requests. See
--   <a>https://developer.github.com/v3/pulls/#list-pull-requests</a>
pullRequestsForR :: Name Owner -> Name Repo -> Maybe String -> Maybe Count -> Request k (Vector SimplePullRequest)

-- | A detailed pull request, which has much more information. This takes
--   the repo owner and name along with the number assigned to the pull
--   request. | With authentification
--   
--   <pre>
--   pullRequest' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" 562
--   </pre>
pullRequest' :: Maybe Auth -> Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error PullRequest)

-- | A detailed pull request, which has much more information. This takes
--   the repo owner and name along with the number assigned to the pull
--   request.
--   
--   <pre>
--   pullRequest "thoughtbot" "paperclip" 562
--   </pre>
pullRequest :: Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error PullRequest)

-- | Query a single pull request. See
--   <a>https://developer.github.com/v3/pulls/#get-a-single-pull-request</a>
pullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> Request k PullRequest
createPullRequest :: Auth -> Name Owner -> Name Repo -> CreatePullRequest -> IO (Either Error PullRequest)

-- | Create a pull request. See
--   <a>https://developer.github.com/v3/pulls/#create-a-pull-request</a>
createPullRequestR :: Name Owner -> Name Repo -> CreatePullRequest -> Request True PullRequest

-- | Update a pull request
updatePullRequest :: Auth -> Name Owner -> Name Repo -> Id PullRequest -> EditPullRequest -> IO (Either Error PullRequest)

-- | Update a pull request. See
--   <a>https://developer.github.com/v3/pulls/#update-a-pull-request</a>
updatePullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> EditPullRequest -> Request True PullRequest

-- | All the commits on a pull request, given the repo owner, repo name,
--   and the number of the pull request. | With authentification
--   
--   <pre>
--   pullRequestCommits' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" 688
--   </pre>
pullRequestCommits' :: Maybe Auth -> Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error (Vector Commit))

-- | All the commits on a pull request, given the repo owner, repo name,
--   and the number of the pull request.
--   
--   <pre>
--   pullRequestCommits "thoughtbot" "paperclip" 688
--   </pre>
pullRequestCommitsIO :: Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error (Vector Commit))

-- | List commits on a pull request. See
--   <a>https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request</a>
pullRequestCommitsR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector Commit)

-- | The individual files that a pull request patches. Takes the repo owner
--   and name, plus the number assigned to the pull request. | With
--   authentification
--   
--   <pre>
--   pullRequestFiles' (Just ("github-username", "github-password")) "thoughtbot" "paperclip" 688
--   </pre>
pullRequestFiles' :: Maybe Auth -> Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error (Vector File))

-- | The individual files that a pull request patches. Takes the repo owner
--   and name, plus the number assigned to the pull request.
--   
--   <pre>
--   pullRequestFiles "thoughtbot" "paperclip" 688
--   </pre>
pullRequestFiles :: Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error (Vector File))

-- | List pull requests files. See
--   <a>https://developer.github.com/v3/pulls/#list-pull-requests-files</a>
pullRequestFilesR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector File)

-- | Check if pull request has been merged.
isPullRequestMerged :: Auth -> Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error Bool)

-- | Query if a pull request has been merged. See
--   <a>https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged</a>
isPullRequestMergedR :: Name Owner -> Name Repo -> Id PullRequest -> Request k Bool

-- | Merge a pull request.
mergePullRequest :: Auth -> Name Owner -> Name Repo -> Id PullRequest -> Maybe String -> IO (Either Error MergeResult)

-- | Merge a pull request (Merge Button).
--   <a>https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button</a>
mergePullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe String -> Request True MergeResult


-- | The pull request review comments API as described at
--   <a>http://developer.github.com/v3/pulls/comments/</a>.
module GitHub.Endpoints.PullRequests.ReviewComments

-- | All the comments on a pull request with the given ID.
--   
--   <pre>
--   pullRequestReviewComments "thoughtbot" "factory_girl" (Id 256)
--   </pre>
pullRequestReviewCommentsIO :: Name Owner -> Name Repo -> Id PullRequest -> IO (Either Error (Vector Comment))

-- | List comments on a pull request. See
--   <a>https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request</a>
pullRequestReviewCommentsR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector Comment)

-- | One comment on a pull request, by the comment's ID.
--   
--   <pre>
--   pullRequestReviewComment "thoughtbot" "factory_girl" (Id 301819)
--   </pre>
pullRequestReviewComment :: Name Owner -> Name Repo -> Id Comment -> IO (Either Error Comment)

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/pulls/comments/#get-a-single-comment</a>
pullRequestReviewCommentR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment


-- | The Github Repos API, as documented at
--   <a>http://developer.github.com/v3/repos/</a>
module GitHub.Endpoints.Repos

-- | List your repositories.
currentUserRepos :: Auth -> RepoPublicity -> IO (Either Error (Vector Repo))

-- | List your repositories. See
--   <a>https://developer.github.com/v3/repos/#list-your-repositories</a>
currentUserReposR :: RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | The repos for a user, by their login. Can be restricted to just repos
--   they own, are a member of, or publicize. Private repos will return
--   empty list.
--   
--   <pre>
--   userRepos "mike-burns" All
--   </pre>
userRepos :: Name Owner -> RepoPublicity -> IO (Either Error (Vector Repo))

-- | The repos for a user, by their login. With authentication.
--   
--   <pre>
--   userRepos' (Just (BasicAuth (user, password))) "mike-burns" All
--   </pre>
userRepos' :: Maybe Auth -> Name Owner -> RepoPublicity -> IO (Either Error (Vector Repo))

-- | List user repositories. See
--   <a>https://developer.github.com/v3/repos/#list-user-repositories</a>
userReposR :: Name Owner -> RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | The repos for an organization, by the organization name.
--   
--   <pre>
--   organizationRepos "thoughtbot"
--   </pre>
organizationRepos :: Name Organization -> IO (Either Error (Vector Repo))

-- | The repos for an organization, by the organization name. With
--   authentication.
--   
--   <pre>
--   organizationRepos (Just (BasicAuth (user, password))) "thoughtbot" All
--   </pre>
organizationRepos' :: Maybe Auth -> Name Organization -> RepoPublicity -> IO (Either Error (Vector Repo))

-- | List organization repositories. See
--   <a>https://developer.github.com/v3/repos/#list-organization-repositories</a>
organizationReposR :: Name Organization -> RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | Details on a specific repo, given the owner and repo name.
--   
--   <pre>
--   userRepo "mike-burns" "github"
--   </pre>
repository :: Name Owner -> Name Repo -> IO (Either Error Repo)

-- | Details on a specific repo, given the owner and repo name. With
--   authentication.
--   
--   <pre>
--   userRepo' (Just (BasicAuth (user, password))) "mike-burns" "github"
--   </pre>
repository' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Repo)

-- | Query single repository. See
--   <a>https://developer.github.com/v3/repos/#get</a>
repositoryR :: Name Owner -> Name Repo -> Request k Repo

-- | The contributors to a repo, given the owner and repo name.
--   
--   <pre>
--   contributors "thoughtbot" "paperclip"
--   </pre>
contributors :: Name Owner -> Name Repo -> IO (Either Error (Vector Contributor))

-- | The contributors to a repo, given the owner and repo name. With
--   authentication.
--   
--   <pre>
--   contributors' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip"
--   </pre>
contributors' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Contributor))

-- | List contributors. See
--   <a>https://developer.github.com/v3/repos/#list-contributors</a>
contributorsR :: Name Owner -> Name Repo -> Bool -> Maybe Count -> Request k (Vector Contributor)

-- | The contributors to a repo, including anonymous contributors (such as
--   deleted users or git commits with unknown email addresses), given the
--   owner and repo name.
--   
--   <pre>
--   contributorsWithAnonymous "thoughtbot" "paperclip"
--   </pre>
contributorsWithAnonymous :: Name Owner -> Name Repo -> IO (Either Error (Vector Contributor))

-- | The contributors to a repo, including anonymous contributors (such as
--   deleted users or git commits with unknown email addresses), given the
--   owner and repo name. With authentication.
--   
--   <pre>
--   contributorsWithAnonymous' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip"
--   </pre>
contributorsWithAnonymous' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Contributor))

-- | The programming languages used in a repo along with the number of
--   characters written in that language. Takes the repo owner and name.
--   
--   <pre>
--   languagesFor "mike-burns" "ohlaunch"
--   </pre>
languagesFor :: Name Owner -> Name Repo -> IO (Either Error Languages)

-- | The programming languages used in a repo along with the number of
--   characters written in that language. Takes the repo owner and name.
--   With authentication.
--   
--   <pre>
--   languagesFor' (Just (BasicAuth (user, password))) "mike-burns" "ohlaunch"
--   </pre>
languagesFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Languages)

-- | List languages. See
--   <a>https://developer.github.com/v3/repos/#list-languages</a>
languagesForR :: Name Owner -> Name Repo -> Request k Languages

-- | The git tags on a repo, given the repo owner and name.
--   
--   <pre>
--   tagsFor "thoughtbot" "paperclip"
--   </pre>
tagsFor :: Name Owner -> Name Repo -> IO (Either Error (Vector Tag))

-- | The git tags on a repo, given the repo owner and name. With
--   authentication.
--   
--   <pre>
--   tagsFor' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip"
--   </pre>
tagsFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Tag))

-- | List tags. See <a>https://developer.github.com/v3/repos/#list-tags</a>
tagsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Tag)

-- | The git branches on a repo, given the repo owner and name.
--   
--   <pre>
--   branchesFor "thoughtbot" "paperclip"
--   </pre>
branchesFor :: Name Owner -> Name Repo -> IO (Either Error (Vector Branch))

-- | The git branches on a repo, given the repo owner and name. With
--   authentication.
--   
--   <pre>
--   branchesFor' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip"
--   </pre>
branchesFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Branch))

-- | List branches. See
--   <a>https://developer.github.com/v3/repos/#list-branches</a>
branchesForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Branch)

-- | The contents of a file or directory in a repo, given the repo owner,
--   name, and path to the file
--   
--   <pre>
--   contentsFor "thoughtbot" "paperclip" "README.md"
--   </pre>
contentsFor :: Name Owner -> Name Repo -> String -> Maybe String -> IO (Either Error Content)

-- | The contents of a file or directory in a repo, given the repo owner,
--   name, and path to the file With Authentication
--   
--   <pre>
--   contentsFor' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip" "README.md" Nothing
--   </pre>
contentsFor' :: Maybe Auth -> Name Owner -> Name Repo -> String -> Maybe String -> IO (Either Error Content)

-- | The contents of a README file in a repo, given the repo owner and name
--   
--   <pre>
--   readmeFor "thoughtbot" "paperclip"
--   </pre>
readmeFor :: Name Owner -> Name Repo -> IO (Either Error Content)

-- | The contents of a README file in a repo, given the repo owner and name
--   With Authentication
--   
--   <pre>
--   readmeFor' (Just (BasicAuth (user, password))) "thoughtbot" "paperclip"
--   </pre>
readmeFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Content)

-- | Create a new repository.
--   
--   <pre>
--   createRepo' (BasicAuth (user, password)) (newRepo "some_repo") {newRepoHasIssues = Just False}
--   </pre>
createRepo' :: Auth -> NewRepo -> IO (Either Error Repo)

-- | Create a new repository. See
--   <a>https://developer.github.com/v3/repos/#create</a>
createRepoR :: NewRepo -> Request True Repo

-- | Create a new repository for an organization.
--   
--   <pre>
--   createOrganizationRepo (BasicAuth (user, password)) "thoughtbot" (newRepo "some_repo") {newRepoHasIssues = Just False}
--   </pre>
createOrganizationRepo' :: Auth -> Name Organization -> NewRepo -> IO (Either Error Repo)

-- | Create a new repository for an organization. See
--   <a>https://developer.github.com/v3/repos/#create</a>
createOrganizationRepoR :: Name Organization -> NewRepo -> Request True Repo

-- | Edit an existing repository.
--   
--   <pre>
--   editRepo (BasicAuth (user, password)) "some_user" "some_repo" def {editDescription = Just "some description"}
--   </pre>
editRepo :: Auth -> Name Owner -> Name Repo -> EditRepo -> IO (Either Error Repo)

-- | Edit an existing repository. See
--   <a>https://developer.github.com/v3/repos/#edit</a>
editRepoR :: Name Owner -> Name Repo -> EditRepo -> Request True Repo

-- | Delete an existing repository.
--   
--   <pre>
--   deleteRepo (BasicAuth (user, password)) "thoughtbot" "some_repo"
--   </pre>
deleteRepo :: Auth -> Name Owner -> Name Repo -> IO (Either Error ())
deleteRepoR :: Name Owner -> Name Repo -> Request True ()


-- | The repo collaborators API as described on
--   <a>http://developer.github.com/v3/repos/collaborators/</a>.
module GitHub.Endpoints.Repos.Collaborators

-- | All the users who have collaborated on a repo.
--   
--   <pre>
--   collaboratorsOn "thoughtbot" "paperclip"
--   </pre>
collaboratorsOn :: Name Owner -> Name Repo -> IO (Either Error (Vector SimpleUser))

-- | All the users who have collaborated on a repo. With authentication.
collaboratorsOn' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector SimpleUser))

-- | List collaborators. See
--   <a>https://developer.github.com/v3/repos/collaborators/#list-collaborators</a>
collaboratorsOnR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | Whether the user is collaborating on a repo. Takes the user in
--   question, the user who owns the repo, and the repo name.
--   
--   <pre>
--   isCollaboratorOn Nothing "mike-burns" "thoughtbot" "paperclip"
--   isCollaboratorOn Nothing "johnson" "thoughtbot" "paperclip"
--   </pre>
isCollaboratorOn :: Maybe Auth -> Name Owner -> Name Repo -> Name User -> IO (Either Error Bool)

-- | Check if a user is a collaborator. See
--   <a>https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator</a>
isCollaboratorOnR :: Name Owner -> Name Repo -> Name User -> Request k Bool


-- | The repo commits API as described on
--   <a>http://developer.github.com/v3/repos/comments/</a>.
module GitHub.Endpoints.Repos.Comments

-- | All the comments on a Github repo.
--   
--   <pre>
--   commentsFor "thoughtbot" "paperclip"
--   </pre>
commentsFor :: Name Owner -> Name Repo -> IO (Either Error (Vector Comment))

-- | All the comments on a Github repo. With authentication.
--   
--   <pre>
--   commentsFor "thoughtbot" "paperclip"
--   </pre>
commentsFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Comment))

-- | List commit comments for a repository. See
--   <a>https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository</a>
commentsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Comment)

-- | Just the comments on a specific SHA for a given Github repo.
--   
--   <pre>
--   commitCommentsFor "thoughtbot" "paperclip" "41f685f6e01396936bb8cd98e7cca517e2c7d96b"
--   </pre>
commitCommentsFor :: Name Owner -> Name Repo -> Name Commit -> IO (Either Error (Vector Comment))

-- | Just the comments on a specific SHA for a given Github repo. With
--   authentication.
--   
--   <pre>
--   commitCommentsFor "thoughtbot" "paperclip" "41f685f6e01396936bb8cd98e7cca517e2c7d96b"
--   </pre>
commitCommentsFor' :: Maybe Auth -> Name Owner -> Name Repo -> Name Commit -> IO (Either Error (Vector Comment))

-- | List comments for a single commit. See
--   <a>https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit</a>
commitCommentsForR :: Name Owner -> Name Repo -> Name Commit -> Maybe Count -> Request k (Vector Comment)

-- | A comment, by its ID, relative to the Github repo.
--   
--   <pre>
--   commitCommentFor "thoughtbot" "paperclip" "669575"
--   </pre>
commitCommentFor :: Name Owner -> Name Repo -> Id Comment -> IO (Either Error Comment)

-- | A comment, by its ID, relative to the Github repo.
--   
--   <pre>
--   commitCommentFor "thoughtbot" "paperclip" "669575"
--   </pre>
commitCommentFor' :: Maybe Auth -> Name Owner -> Name Repo -> Id Comment -> IO (Either Error Comment)

-- | Query a single commit comment. See
--   <a>https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment</a>
commitCommentForR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment


-- | The repo commits API as described on
--   <a>http://developer.github.com/v3/repos/commits/</a>.
module GitHub.Endpoints.Repos.Commits

-- | The options for querying commits.
data CommitQueryOption
CommitQuerySha :: !Text -> CommitQueryOption
CommitQueryPath :: !Text -> CommitQueryOption
CommitQueryAuthor :: !Text -> CommitQueryOption
CommitQuerySince :: !UTCTime -> CommitQueryOption
CommitQueryUntil :: !UTCTime -> CommitQueryOption

-- | The commit history for a repo.
--   
--   <pre>
--   commitsFor "mike-burns" "github"
--   </pre>
commitsFor :: Name Owner -> Name Repo -> IO (Either Error (Vector Commit))

-- | The commit history for a repo. With authentication.
--   
--   <pre>
--   commitsFor' (Just (BasicAuth (user, password))) "mike-burns" "github"
--   </pre>
commitsFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Commit))

-- | List commits on a repository. See
--   <a>https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository</a>
commitsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Commit)
commitsWithOptionsFor :: Name Owner -> Name Repo -> [CommitQueryOption] -> IO (Either Error (Vector Commit))

-- | The commit history for a repo, with commits filtered to satisfy a list
--   of query options. With authentication.
--   
--   <pre>
--   commitsWithOptionsFor' (Just (BasicAuth (user, password))) "mike-burns" "github" [CommitQueryAuthor "djeik"]
--   </pre>
commitsWithOptionsFor' :: Maybe Auth -> Name Owner -> Name Repo -> [CommitQueryOption] -> IO (Either Error (Vector Commit))

-- | List commits on a repository. See
--   <a>https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository</a>
commitsWithOptionsForR :: Name Owner -> Name Repo -> Maybe Count -> [CommitQueryOption] -> Request k (Vector Commit)

-- | Details on a specific SHA1 for a repo.
--   
--   <pre>
--   commit "mike-burns" "github" "9d1a9a361266c3c890b1108ad2fdf52f824b1b81"
--   </pre>
commit :: Name Owner -> Name Repo -> Name Commit -> IO (Either Error Commit)

-- | Details on a specific SHA1 for a repo. With authentication.
--   
--   <pre>
--   commit (Just $ BasicAuth (username, password)) "mike-burns" "github" "9d1a9a361266c3c890b1108ad2fdf52f824b1b81"
--   </pre>
commit' :: Maybe Auth -> Name Owner -> Name Repo -> Name Commit -> IO (Either Error Commit)

-- | Query a single commit. See
--   <a>https://developer.github.com/v3/repos/commits/#get-a-single-commit</a>
commitR :: Name Owner -> Name Repo -> Name Commit -> Request k Commit

-- | The diff between two treeishes on a repo.
--   
--   <pre>
--   diff "thoughtbot" "paperclip" "41f685f6e01396936bb8cd98e7cca517e2c7d96b" "HEAD"
--   </pre>
diff :: Name Owner -> Name Repo -> Name Commit -> Name Commit -> IO (Either Error Diff)

-- | The diff between two treeishes on a repo.
--   
--   <pre>
--   diff "thoughtbot" "paperclip" "41f685f6e01396936bb8cd98e7cca517e2c7d96b" "HEAD"
--   </pre>
diff' :: Maybe Auth -> Name Owner -> Name Repo -> Name Commit -> Name Commit -> IO (Either Error Diff)

-- | Compare two commits. See
--   <a>https://developer.github.com/v3/repos/commits/#compare-two-commits</a>
diffR :: Name Owner -> Name Repo -> Name Commit -> Name Commit -> Request k Diff


-- | Hot forking action, as described at
--   <a>http://developer.github.com/v3/repos/forks/</a>.
module GitHub.Endpoints.Repos.Forks

-- | All the repos that are forked off the given repo.
--   
--   <pre>
--   forksFor "thoughtbot" "paperclip"
--   </pre>
forksFor :: Name Owner -> Name Repo -> IO (Either Error (Vector Repo))

-- | All the repos that are forked off the given repo. | With
--   authentication
--   
--   <pre>
--   forksFor' (Just (User (user, password))) "thoughtbot" "paperclip"
--   </pre>
forksFor' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Repo))

-- | List forks. See
--   <a>https://developer.github.com/v3/repos/forks/#list-forks</a>
forksForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Repo)


-- | The webhooks API, as described at
--   <a>https://developer.github.com/v3/repos/hooks/</a>
--   <a>https://developer.github.com/webhooks</a>
module GitHub.Endpoints.Repos.Webhooks
webhooksFor' :: Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector RepoWebhook))

-- | List hooks. See
--   <a>https://developer.github.com/v3/repos/hooks/#list-hooks</a>
webhooksForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector RepoWebhook)
webhookFor' :: Auth -> Name Owner -> Name Repo -> Id RepoWebhook -> IO (Either Error RepoWebhook)

-- | Query single hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#get-single-hook</a>
webhookForR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request k RepoWebhook
createRepoWebhook' :: Auth -> Name Owner -> Name Repo -> NewRepoWebhook -> IO (Either Error RepoWebhook)

-- | Create a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#create-a-hook</a>
createRepoWebhookR :: Name Owner -> Name Repo -> NewRepoWebhook -> Request True RepoWebhook
editRepoWebhook' :: Auth -> Name Owner -> Name Repo -> Id RepoWebhook -> EditRepoWebhook -> IO (Either Error RepoWebhook)

-- | Edit a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#edit-a-hook</a>
editRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> EditRepoWebhook -> Request True RepoWebhook
testPushRepoWebhook' :: Auth -> Name Owner -> Name Repo -> Id RepoWebhook -> IO (Either Error Bool)

-- | Test a push hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#test-a-push-hook</a>
testPushRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True Bool
pingRepoWebhook' :: Auth -> Name Owner -> Name Repo -> Id RepoWebhook -> IO (Either Error Bool)

-- | Ping a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#ping-a-hook</a>
pingRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True Bool
deleteRepoWebhook' :: Auth -> Name Owner -> Name Repo -> Id RepoWebhook -> IO (Either Error ())

-- | Delete a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#delete-a-hook</a>
deleteRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True ()


-- | The Github Search API, as described at
--   <a>http://developer.github.com/v3/search/</a>.
module GitHub.Endpoints.Search

-- | Perform a repository search. With authentication.
--   
--   <pre>
--   searchRepos' (Just $ BasicAuth "github-username" "github-password') "a in%3Aname language%3Ahaskell created%3A&gt;2013-10-01&amp;per_page=100"
--   </pre>
searchRepos' :: Maybe Auth -> Text -> IO (Either Error (SearchResult Repo))

-- | Perform a repository search. Without authentication.
--   
--   <pre>
--   searchRepos "q=a in%3Aname language%3Ahaskell created%3A&gt;2013-10-01&amp;per_page=100"
--   </pre>
searchRepos :: Text -> IO (Either Error (SearchResult Repo))

-- | Search repositories. See
--   <a>https://developer.github.com/v3/search/#search-repositories</a>
searchReposR :: Text -> Request k (SearchResult Repo)

-- | Perform a code search. With authentication.
--   
--   <pre>
--   searchCode' (Just $ BasicAuth "github-username" "github-password') "a in%3Aname language%3Ahaskell created%3A&gt;2013-10-01&amp;per_page=100"
--   </pre>
searchCode' :: Maybe Auth -> Text -> IO (Either Error (SearchResult Code))

-- | Perform a code search. Without authentication.
--   
--   <pre>
--   searchCode "q=addClass+in:file+language:js+repo:jquery/jquery"
--   </pre>
searchCode :: Text -> IO (Either Error (SearchResult Code))

-- | Search code. See
--   <a>https://developer.github.com/v3/search/#search-code</a>
searchCodeR :: Text -> Request k (SearchResult Code)

-- | Perform an issue search. With authentication.
--   
--   <pre>
--   searchIssues' (Just $ BasicAuth "github-username" "github-password') "a repo%3Aphadej%2Fgithub&amp;per_page=100"
--   </pre>
searchIssues' :: Maybe Auth -> Text -> IO (Either Error (SearchResult Issue))

-- | Perform an issue search. Without authentication.
--   
--   <pre>
--   searchIssues "q=a repo%3Aphadej%2Fgithub&amp;per_page=100"
--   </pre>
searchIssues :: Text -> IO (Either Error (SearchResult Issue))

-- | Search issues. See
--   <a>https://developer.github.com/v3/search/#search-issues</a>
searchIssuesR :: Text -> Request k (SearchResult Issue)


-- | The Github Users API, as described at
--   <a>http://developer.github.com/v3/users/</a>.
module GitHub.Endpoints.Users

-- | The information for a single user, by login name.
--   
--   <pre>
--   userInfoFor "mike-burns"
--   </pre>
userInfoFor :: Name User -> IO (Either Error User)

-- | The information for a single user, by login name. With
--   authentification
--   
--   <pre>
--   userInfoFor' (Just ("github-username", "github-password")) "mike-burns"
--   </pre>
userInfoFor' :: Maybe Auth -> Name User -> IO (Either Error User)

-- | Query a single user. See
--   <a>https://developer.github.com/v3/users/#get-a-single-user</a>
userInfoForR :: Name User -> Request k User

-- | Query a single user or an organization. See
--   <a>https://developer.github.com/v3/users/#get-a-single-user</a>
ownerInfoForR :: Name Owner -> Request k Owner

-- | Retrieve information about the user associated with the supplied
--   authentication.
--   
--   <pre>
--   userInfoCurrent' (OAuth "...")
--   </pre>
userInfoCurrent' :: Auth -> IO (Either Error User)

-- | Query the authenticated user. See
--   <a>https://developer.github.com/v3/users/#get-the-authenticated-user</a>
userInfoCurrentR :: Request True User


-- | The user followers API as described on
--   <a>http://developer.github.com/v3/users/followers/</a>.
module GitHub.Endpoints.Users.Followers

-- | All the users following the given user.
--   
--   <pre>
--   usersFollowing "mike-burns"
--   </pre>
usersFollowing :: Name User -> IO (Either Error (Vector SimpleUser))

-- | All the users that the given user follows.
--   
--   <pre>
--   usersFollowedBy "mike-burns"
--   </pre>
usersFollowedBy :: Name User -> IO (Either Error (Vector SimpleUser))

-- | List followers of a user. See
--   <a>https://developer.github.com/v3/users/followers/#list-followers-of-a-user</a>
usersFollowingR :: Name User -> Maybe Count -> Request k (Vector SimpleUser)

-- | List users followed by another user. See
--   <a>https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user</a>
usersFollowedByR :: Name User -> Maybe Count -> Request k (Vector SimpleUser)


-- | This module re-exports all request constructrors and data definitions
--   from this package.
--   
--   See <a>GitHub.Request</a> module for executing <a>Request</a>, or
--   other modules of this package (e.g. <a>GitHub.Users</a>) for already
--   composed versions.
--   
--   The missing endpoints lists show which endpoints we know are missing,
--   there might be more.
module GitHub

-- | List Stargazers. See
--   <a>https://developer.github.com/v3/activity/starring/#list-stargazers</a>
stargazersForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | List repositories being starred. See
--   <a>https://developer.github.com/v3/activity/starring/#list-repositories-being-starred</a>
reposStarredByR :: Name Owner -> Maybe Count -> Request k (Vector Repo)

-- | All the repos starred by the authenticated user.
myStarredR :: Maybe Count -> Request True (Vector Repo)

-- | List watchers. See
--   <a>https://developer.github.com/v3/activity/watching/#list-watchers</a>
watchersForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | List repositories being watched. See
--   <a>https://developer.github.com/v3/activity/watching/#list-repositories-being-watched</a>
reposWatchedByR :: Name Owner -> Maybe Count -> Request k (Vector Repo)

-- | List gists. See
--   <a>https://developer.github.com/v3/gists/#list-gists</a>
gistsR :: Name Owner -> Maybe Count -> Request k (Vector Gist)

-- | Query a single gist. See
--   <a>https://developer.github.com/v3/gists/#get-a-single-gist</a>
gistR :: Name Gist -> Request k Gist

-- | List comments on a gist. See
--   <a>https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist</a>
commentsOnR :: Name Gist -> Maybe Count -> Request k (Vector GistComment)

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/gists/comments/#get-a-single-comment</a>
gistCommentR :: Id GistComment -> Request k GistComment

-- | Query a blob. See
--   <a>https://developer.github.com/v3/git/blobs/#get-a-blob</a>
blobR :: Name Owner -> Name Repo -> Name Blob -> Request k Blob

-- | Query a commit. See
--   <a>https://developer.github.com/v3/git/commits/#get-a-commit</a>
gitCommitR :: Name Owner -> Name Repo -> Name GitCommit -> Request k GitCommit

-- | Query a reference. See
--   <a>https://developer.github.com/v3/git/refs/#get-a-reference</a>
referenceR :: Name Owner -> Name Repo -> Name GitReference -> Request k GitReference

-- | Query all References. See
--   <a>https://developer.github.com/v3/git/refs/#get-all-references</a>
referencesR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector GitReference)

-- | Create a reference. See
--   <a>https://developer.github.com/v3/git/refs/#create-a-reference</a>
createReferenceR :: Name Owner -> Name Repo -> NewGitReference -> Request True GitReference

-- | Query a Tree. See
--   <a>https://developer.github.com/v3/git/trees/#get-a-tree</a>
treeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree

-- | Query a Tree Recursively. See
--   <a>https://developer.github.com/v3/git/trees/#get-a-tree-recursively</a>
nestedTreeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree

-- | Query a single issue. See
--   <a>https://developer.github.com/v3/issues/#get-a-single-issue</a>
issueR :: Name Owner -> Name Repo -> Id Issue -> Request k Issue

-- | List issues for a repository. See
--   <a>https://developer.github.com/v3/issues/#list-issues-for-a-repository</a>
issuesForRepoR :: Name Owner -> Name Repo -> [IssueLimitation] -> Maybe Count -> Request k (Vector Issue)

-- | Create an issue. See
--   <a>https://developer.github.com/v3/issues/#create-an-issue</a>
createIssueR :: Name Owner -> Name Repo -> NewIssue -> Request True Issue

-- | Edit an issue. See
--   <a>https://developer.github.com/v3/issues/#edit-an-issue</a>
editIssueR :: Name Owner -> Name Repo -> Id Issue -> EditIssue -> Request True Issue

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/issues/comments/#get-a-single-comment</a>
commentR :: Name Owner -> Name Repo -> Id Comment -> Request k IssueComment

-- | List comments on an issue. See
--   <a>https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue</a>
commentsR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector IssueComment)

-- | Create a comment. See
--   <a>https://developer.github.com/v3/issues/comments/#create-a-comment</a>
createCommentR :: Name Owner -> Name Repo -> Id Issue -> Text -> Request True Comment

-- | Edit a comment. See
--   <a>https://developer.github.com/v3/issues/comments/#edit-a-comment</a>
editCommentR :: Name Owner -> Name Repo -> Id Comment -> Text -> Request True Comment

-- | List events for an issue. See
--   <a>https://developer.github.com/v3/issues/events/#list-events-for-an-issue</a>
eventsForIssueR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector Event)

-- | List events for a repository. See
--   <a>https://developer.github.com/v3/issues/events/#list-events-for-a-repository</a>
eventsForRepoR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Event)

-- | Query a single event. See
--   <a>https://developer.github.com/v3/issues/events/#get-a-single-event</a>
eventR :: Name Owner -> Name Repo -> Id Event -> Request k Event

-- | List all labels for this repository. See
--   <a>https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository</a>
labelsOnRepoR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector IssueLabel)

-- | Query a single label. See
--   <a>https://developer.github.com/v3/issues/labels/#get-a-single-label</a>
labelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request k IssueLabel

-- | Create a label. See
--   <a>https://developer.github.com/v3/issues/labels/#create-a-label</a>
createLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> String -> Request True IssueLabel

-- | Update a label. See
--   <a>https://developer.github.com/v3/issues/labels/#update-a-label</a>
updateLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> Name IssueLabel -> String -> Request True IssueLabel

-- | Delete a label. See
--   <a>https://developer.github.com/v3/issues/labels/#delete-a-label</a>
deleteLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request True ()

-- | List labels on an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue</a>
labelsOnIssueR :: Name Owner -> Name Repo -> Id Issue -> Maybe Count -> Request k (Vector IssueLabel)

-- | Add lables to an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue</a>
addLabelsToIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request True (Vector IssueLabel)

-- | Remove a label from an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue</a>
removeLabelFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Name IssueLabel -> Request True ()

-- | Replace all labels on an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue</a>
--   
--   Sending an empty list will remove all labels from the issue.
replaceAllLabelsForIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request True (Vector IssueLabel)

-- | Remove all labels from an issue. See
--   <a>https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue</a>
removeAllLabelsFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Request True ()

-- | Query labels for every issue in a milestone. See
--   <a>https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone</a>
labelsOnMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> Maybe Count -> Request k (Vector IssueLabel)

-- | List milestones for a repository. See
--   <a>https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository</a>
milestonesR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Milestone)

-- | Query a single milestone. See
--   <a>https://developer.github.com/v3/issues/milestones/#get-a-single-milestone</a>
milestoneR :: Name Owner -> Name Repo -> Id Milestone -> Request k Milestone

-- | List user organizations. See
--   <a>https://developer.github.com/v3/orgs/#list-user-organizations</a>
publicOrganizationsForR :: Name User -> Maybe Count -> Request k (Vector SimpleOrganization)

-- | Query an organization. See
--   <a>https://developer.github.com/v3/orgs/#get-an-organization</a>
publicOrganizationR :: Name Organization -> Request k Organization

-- | All the users who are members of the specified organization.
--   
--   See <a>https://developer.github.com/v3/orgs/members/#members-list</a>
membersOfR :: Name Organization -> Maybe Count -> Request k (Vector SimpleUser)

-- | <a>membersOfR</a> with filters.
--   
--   See <a>https://developer.github.com/v3/orgs/members/#members-list</a>
membersOfWithR :: Name Organization -> OrgMemberFilter -> OrgMemberRole -> Maybe Count -> Request k (Vector SimpleUser)

-- | List teams. See
--   <a>https://developer.github.com/v3/orgs/teams/#list-teams</a>
teamsOfR :: Name Organization -> Maybe Count -> Request k (Vector SimpleTeam)

-- | Query team. See
--   <a>https://developer.github.com/v3/orgs/teams/#get-team</a>
teamInfoForR :: Id Team -> Request k Team

-- | Create team. See
--   <a>https://developer.github.com/v3/orgs/teams/#create-team</a>
createTeamForR :: Name Organization -> CreateTeam -> Request True Team

-- | Edit team. See
--   <a>https://developer.github.com/v3/orgs/teams/#edit-team</a>
editTeamR :: Id Team -> EditTeam -> Request True Team

-- | Delete team.
--   
--   See <a>https://developer.github.com/v3/orgs/teams/#delete-team</a>
deleteTeamR :: Id Team -> Request True ()
listTeamMembersR :: Id Team -> TeamMemberRole -> Maybe Count -> Request True (Vector SimpleUser)

-- | Query team membership. See
--   &lt;<a>https://developer.github.com/v3/orgs/teams/#get-team-membership</a>
teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership

-- | Add team membership. See
--   <a>https://developer.github.com/v3/orgs/teams/#add-team-membership</a>
addTeamMembershipForR :: Id Team -> Name Owner -> Role -> Request True TeamMembership

-- | Remove team membership. See
--   <a>https://developer.github.com/v3/orgs/teams/#remove-team-membership</a>
deleteTeamMembershipForR :: Id Team -> Name Owner -> Request True ()

-- | List user teams. See
--   <a>https://developer.github.com/v3/orgs/teams/#list-user-teams</a>
listTeamsCurrentR :: Maybe Count -> Request True (Vector Team)

-- | List pull requests. See
--   <a>https://developer.github.com/v3/pulls/#list-pull-requests</a>
pullRequestsForR :: Name Owner -> Name Repo -> Maybe String -> Maybe Count -> Request k (Vector SimplePullRequest)

-- | Query a single pull request. See
--   <a>https://developer.github.com/v3/pulls/#get-a-single-pull-request</a>
pullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> Request k PullRequest

-- | Create a pull request. See
--   <a>https://developer.github.com/v3/pulls/#create-a-pull-request</a>
createPullRequestR :: Name Owner -> Name Repo -> CreatePullRequest -> Request True PullRequest

-- | Update a pull request. See
--   <a>https://developer.github.com/v3/pulls/#update-a-pull-request</a>
updatePullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> EditPullRequest -> Request True PullRequest

-- | List commits on a pull request. See
--   <a>https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request</a>
pullRequestCommitsR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector Commit)

-- | List pull requests files. See
--   <a>https://developer.github.com/v3/pulls/#list-pull-requests-files</a>
pullRequestFilesR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector File)

-- | Query if a pull request has been merged. See
--   <a>https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged</a>
isPullRequestMergedR :: Name Owner -> Name Repo -> Id PullRequest -> Request k Bool

-- | Merge a pull request (Merge Button).
--   <a>https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button</a>
mergePullRequestR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe String -> Request True MergeResult

-- | List comments on a pull request. See
--   <a>https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request</a>
pullRequestReviewCommentsR :: Name Owner -> Name Repo -> Id PullRequest -> Maybe Count -> Request k (Vector Comment)

-- | Query a single comment. See
--   <a>https://developer.github.com/v3/pulls/comments/#get-a-single-comment</a>
pullRequestReviewCommentR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment

-- | List your repositories. See
--   <a>https://developer.github.com/v3/repos/#list-your-repositories</a>
currentUserReposR :: RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | List user repositories. See
--   <a>https://developer.github.com/v3/repos/#list-user-repositories</a>
userReposR :: Name Owner -> RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | List organization repositories. See
--   <a>https://developer.github.com/v3/repos/#list-organization-repositories</a>
organizationReposR :: Name Organization -> RepoPublicity -> Maybe Count -> Request k (Vector Repo)

-- | Query single repository. See
--   <a>https://developer.github.com/v3/repos/#get</a>
repositoryR :: Name Owner -> Name Repo -> Request k Repo

-- | List contributors. See
--   <a>https://developer.github.com/v3/repos/#list-contributors</a>
contributorsR :: Name Owner -> Name Repo -> Bool -> Maybe Count -> Request k (Vector Contributor)

-- | List languages. See
--   <a>https://developer.github.com/v3/repos/#list-languages</a>
languagesForR :: Name Owner -> Name Repo -> Request k Languages

-- | List tags. See <a>https://developer.github.com/v3/repos/#list-tags</a>
tagsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Tag)

-- | List branches. See
--   <a>https://developer.github.com/v3/repos/#list-branches</a>
branchesForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Branch)

-- | List collaborators. See
--   <a>https://developer.github.com/v3/repos/collaborators/#list-collaborators</a>
collaboratorsOnR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector SimpleUser)

-- | Check if a user is a collaborator. See
--   <a>https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator</a>
isCollaboratorOnR :: Name Owner -> Name Repo -> Name User -> Request k Bool

-- | List commit comments for a repository. See
--   <a>https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository</a>
commentsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Comment)

-- | List comments for a single commit. See
--   <a>https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit</a>
commitCommentsForR :: Name Owner -> Name Repo -> Name Commit -> Maybe Count -> Request k (Vector Comment)

-- | Query a single commit comment. See
--   <a>https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment</a>
commitCommentForR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment

-- | List commits on a repository. See
--   <a>https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository</a>
commitsForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Commit)

-- | List commits on a repository. See
--   <a>https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository</a>
commitsWithOptionsForR :: Name Owner -> Name Repo -> Maybe Count -> [CommitQueryOption] -> Request k (Vector Commit)

-- | Query a single commit. See
--   <a>https://developer.github.com/v3/repos/commits/#get-a-single-commit</a>
commitR :: Name Owner -> Name Repo -> Name Commit -> Request k Commit

-- | Compare two commits. See
--   <a>https://developer.github.com/v3/repos/commits/#compare-two-commits</a>
diffR :: Name Owner -> Name Repo -> Name Commit -> Name Commit -> Request k Diff

-- | List forks. See
--   <a>https://developer.github.com/v3/repos/forks/#list-forks</a>
forksForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector Repo)

-- | List hooks. See
--   <a>https://developer.github.com/v3/repos/hooks/#list-hooks</a>
webhooksForR :: Name Owner -> Name Repo -> Maybe Count -> Request k (Vector RepoWebhook)

-- | Query single hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#get-single-hook</a>
webhookForR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request k RepoWebhook

-- | Create a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#create-a-hook</a>
createRepoWebhookR :: Name Owner -> Name Repo -> NewRepoWebhook -> Request True RepoWebhook

-- | Edit a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#edit-a-hook</a>
editRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> EditRepoWebhook -> Request True RepoWebhook

-- | Test a push hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#test-a-push-hook</a>
testPushRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True Bool

-- | Ping a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#ping-a-hook</a>
pingRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True Bool

-- | Delete a hook. See
--   <a>https://developer.github.com/v3/repos/hooks/#delete-a-hook</a>
deleteRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request True ()

-- | Search repositories. See
--   <a>https://developer.github.com/v3/search/#search-repositories</a>
searchReposR :: Text -> Request k (SearchResult Repo)

-- | Search code. See
--   <a>https://developer.github.com/v3/search/#search-code</a>
searchCodeR :: Text -> Request k (SearchResult Code)

-- | Search issues. See
--   <a>https://developer.github.com/v3/search/#search-issues</a>
searchIssuesR :: Text -> Request k (SearchResult Issue)

-- | Query a single user. See
--   <a>https://developer.github.com/v3/users/#get-a-single-user</a>
userInfoForR :: Name User -> Request k User

-- | Query a single user or an organization. See
--   <a>https://developer.github.com/v3/users/#get-a-single-user</a>
ownerInfoForR :: Name Owner -> Request k Owner

-- | Query the authenticated user. See
--   <a>https://developer.github.com/v3/users/#get-the-authenticated-user</a>
userInfoCurrentR :: Request True User

-- | List followers of a user. See
--   <a>https://developer.github.com/v3/users/followers/#list-followers-of-a-user</a>
usersFollowingR :: Name User -> Maybe Count -> Request k (Vector SimpleUser)

-- | List users followed by another user. See
--   <a>https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user</a>
usersFollowedByR :: Name User -> Maybe Count -> Request k (Vector SimpleUser)
