{-# LANGUAGE CPP #-}
-----------------------------------------------------------------------------
-- |
-- License     :  BSD-3-Clause
-- Maintainer  :  Oleg Grenrus <oleg.grenrus@iki.fi>
--
-- This module re-exports the @GitHub.Data.@ and "GitHub.Auth" submodules.
module GitHub.Data (
    -- * Tagged types
    -- ** Name
    Name,
    mkName,
    untagName,
    mkOwnerName,
    mkUserName,
    mkTeamName,
    mkOrganizationName,
    mkRepoName,
    mkCommitName,
    fromUserName,
    fromOrganizationName,
    -- ** Id
    Id,
    mkId,
    untagId,
    mkOwnerId,
    mkUserId,
    mkTeamId,
    mkOrganizationId,
    mkRepoId,
    fromUserId,
    fromOrganizationId,
    -- * IssueNumber
    IssueNumber (..),
    -- * Module re-exports
    module GitHub.Auth,
    module GitHub.Data.Activities,
    module GitHub.Data.Comments,
    module GitHub.Data.Content,
    module GitHub.Data.Definitions,
    module GitHub.Data.DeployKeys,
    module GitHub.Data.Deployments,
    module GitHub.Data.Email,
    module GitHub.Data.Events,
    module GitHub.Data.Gists,
    module GitHub.Data.GitData,
    module GitHub.Data.Invitation,
    module GitHub.Data.Issues,
    module GitHub.Data.Milestone,
    module GitHub.Data.Options,
    module GitHub.Data.PublicSSHKeys,
    module GitHub.Data.PullRequests,
    module GitHub.Data.RateLimit,
    module GitHub.Data.Releases,
    module GitHub.Data.Repos,
    module GitHub.Data.Request,
    module GitHub.Data.Reviews,
    module GitHub.Data.Search,
    module GitHub.Data.Statuses,
    module GitHub.Data.Teams,
    module GitHub.Data.URL,
    module GitHub.Data.Webhooks,
    module GitHub.Data.Webhooks.Validate,
    ) where

import GitHub.Internal.Prelude
import Prelude ()

import GitHub.Auth
import GitHub.Data.Activities
import GitHub.Data.Comments
import GitHub.Data.Content
import GitHub.Data.Definitions
import GitHub.Data.DeployKeys
import GitHub.Data.Deployments
import GitHub.Data.Email
import GitHub.Data.Events
import GitHub.Data.Gists
import GitHub.Data.GitData
import GitHub.Data.Id
import GitHub.Data.Invitation
import GitHub.Data.Issues
import GitHub.Data.Milestone
import GitHub.Data.Name
import GitHub.Data.Options
import GitHub.Data.PublicSSHKeys
import GitHub.Data.PullRequests
import GitHub.Data.RateLimit
import GitHub.Data.Releases
import GitHub.Data.Repos
import GitHub.Data.Request
import GitHub.Data.Reviews
import GitHub.Data.Search
import GitHub.Data.Statuses
import GitHub.Data.Teams
import GitHub.Data.URL
import GitHub.Data.Webhooks
import GitHub.Data.Webhooks.Validate

mkOwnerId :: Int -> Id Owner
mkOwnerId :: Int -> Id Owner
mkOwnerId = Int -> Id Owner
forall entity. Int -> Id entity
Id

mkOwnerName :: Text -> Name Owner
mkOwnerName :: Text -> Name Owner
mkOwnerName = Text -> Name Owner
forall entity. Text -> Name entity
N

mkUserId :: Int -> Id User
mkUserId :: Int -> Id User
mkUserId = Int -> Id User
forall entity. Int -> Id entity
Id

mkUserName :: Text -> Name User
mkUserName :: Text -> Name User
mkUserName = Text -> Name User
forall entity. Text -> Name entity
N

mkTeamId :: Int -> Id Team
mkTeamId :: Int -> Id Team
mkTeamId = Int -> Id Team
forall entity. Int -> Id entity
Id

mkTeamName :: Text -> Name Team
mkTeamName :: Text -> Name Team
mkTeamName = Text -> Name Team
forall entity. Text -> Name entity
N

mkOrganizationId :: Int -> Id Organization
mkOrganizationId :: Int -> Id Organization
mkOrganizationId = Int -> Id Organization
forall entity. Int -> Id entity
Id

mkOrganizationName :: Text -> Name Organization
mkOrganizationName :: Text -> Name Organization
mkOrganizationName = Text -> Name Organization
forall entity. Text -> Name entity
N

mkRepoId :: Int -> Id Repo
mkRepoId :: Int -> Id Repo
mkRepoId = Int -> Id Repo
forall entity. Int -> Id entity
Id

mkRepoName :: Text -> Name Repo
mkRepoName :: Text -> Name Repo
mkRepoName = Text -> Name Repo
forall entity. Text -> Name entity
N

mkCommitName :: Text -> Name Commit
mkCommitName :: Text -> Name Commit
mkCommitName = Text -> Name Commit
forall entity. Text -> Name entity
N

fromOrganizationName :: Name Organization -> Name Owner
fromOrganizationName :: Name Organization -> Name Owner
fromOrganizationName = Text -> Name Owner
forall entity. Text -> Name entity
N (Text -> Name Owner)
-> (Name Organization -> Text) -> Name Organization -> Name Owner
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Name Organization -> Text
forall entity. Name entity -> Text
untagName

fromUserName :: Name User -> Name Owner
fromUserName :: Name User -> Name Owner
fromUserName = Text -> Name Owner
forall entity. Text -> Name entity
N (Text -> Name Owner)
-> (Name User -> Text) -> Name User -> Name Owner
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Name User -> Text
forall entity. Name entity -> Text
untagName

fromOrganizationId :: Id Organization -> Id Owner
fromOrganizationId :: Id Organization -> Id Owner
fromOrganizationId = Int -> Id Owner
forall entity. Int -> Id entity
Id (Int -> Id Owner)
-> (Id Organization -> Int) -> Id Organization -> Id Owner
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Id Organization -> Int
forall entity. Id entity -> Int
untagId

fromUserId :: Id User -> Id Owner
fromUserId :: Id User -> Id Owner
fromUserId = Int -> Id Owner
forall entity. Int -> Id entity
Id (Int -> Id Owner) -> (Id User -> Int) -> Id User -> Id Owner
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Id User -> Int
forall entity. Id entity -> Int
untagId