module GitHub.Endpoints.Organizations.Teams (
teamsOf,
teamsOf',
teamsOfR,
teamInfoFor,
teamInfoFor',
teamInfoForR,
createTeamFor',
createTeamForR,
editTeam',
editTeamR,
deleteTeam',
deleteTeamR,
listTeamMembersR,
listTeamRepos,
listTeamRepos',
listTeamReposR,
addOrUpdateTeamRepo',
addOrUpdateTeamRepoR,
teamMembershipInfoFor,
teamMembershipInfoFor',
teamMembershipInfoForR,
addTeamMembershipFor',
addTeamMembershipForR,
deleteTeamMembershipFor',
deleteTeamMembershipForR,
listTeamsCurrent',
listTeamsCurrentR,
module GitHub.Data,
) where
import GitHub.Data
import GitHub.Internal.Prelude
import GitHub.Request
import Prelude ()
teamsOf' :: Maybe Auth -> Name Organization -> IO (Either Error (Vector SimpleTeam))
teamsOf' :: Maybe Auth
-> Name Organization -> IO (Either Error (Vector SimpleTeam))
teamsOf' auth :: Maybe Auth
auth org :: Name Organization
org =
Maybe Auth
-> GenRequest 'MtJSON 'RO (Vector SimpleTeam)
-> IO (Either Error (Vector SimpleTeam))
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO (Vector SimpleTeam)
-> IO (Either Error (Vector SimpleTeam)))
-> GenRequest 'MtJSON 'RO (Vector SimpleTeam)
-> IO (Either Error (Vector SimpleTeam))
forall a b. (a -> b) -> a -> b
$ Name Organization
-> FetchCount -> GenRequest 'MtJSON 'RO (Vector SimpleTeam)
forall (k :: RW).
Name Organization -> FetchCount -> Request k (Vector SimpleTeam)
teamsOfR Name Organization
org FetchCount
FetchAll
teamsOf :: Name Organization -> IO (Either Error (Vector SimpleTeam))
teamsOf :: Name Organization -> IO (Either Error (Vector SimpleTeam))
teamsOf = Maybe Auth
-> Name Organization -> IO (Either Error (Vector SimpleTeam))
teamsOf' Maybe Auth
forall a. Maybe a
Nothing
teamsOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleTeam)
teamsOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleTeam)
teamsOfR org :: Name Organization
org =
Paths -> QueryString -> FetchCount -> Request k (Vector SimpleTeam)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery ["orgs", Name Organization -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Organization
org, "teams"] []
teamInfoFor' :: Maybe Auth -> Id Team -> IO (Either Error Team)
teamInfoFor' :: Maybe Auth -> Id Team -> IO (Either Error Team)
teamInfoFor' auth :: Maybe Auth
auth tid :: Id Team
tid =
Maybe Auth -> GenRequest 'MtJSON 'RO Team -> IO (Either Error Team)
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO Team -> IO (Either Error Team))
-> GenRequest 'MtJSON 'RO Team -> IO (Either Error Team)
forall a b. (a -> b) -> a -> b
$ Id Team -> GenRequest 'MtJSON 'RO Team
forall (k :: RW). Id Team -> Request k Team
teamInfoForR Id Team
tid
teamInfoFor :: Id Team -> IO (Either Error Team)
teamInfoFor :: Id Team -> IO (Either Error Team)
teamInfoFor = Maybe Auth -> Id Team -> IO (Either Error Team)
teamInfoFor' Maybe Auth
forall a. Maybe a
Nothing
teamInfoForR :: Id Team -> Request k Team
teamInfoForR :: Id Team -> Request k Team
teamInfoForR tid :: Id Team
tid =
Paths -> QueryString -> Request k Team
forall (mt :: RW) a. Paths -> QueryString -> Request mt a
query ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid] []
createTeamFor' :: Auth
-> Name Organization
-> CreateTeam
-> IO (Either Error Team)
createTeamFor' :: Auth -> Name Organization -> CreateTeam -> IO (Either Error Team)
createTeamFor' auth :: Auth
auth org :: Name Organization
org cteam :: CreateTeam
cteam =
Auth -> GenRequest 'MtJSON 'RW Team -> IO (Either Error Team)
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtJSON 'RW Team -> IO (Either Error Team))
-> GenRequest 'MtJSON 'RW Team -> IO (Either Error Team)
forall a b. (a -> b) -> a -> b
$ Name Organization -> CreateTeam -> GenRequest 'MtJSON 'RW Team
createTeamForR Name Organization
org CreateTeam
cteam
createTeamForR :: Name Organization -> CreateTeam -> Request 'RW Team
createTeamForR :: Name Organization -> CreateTeam -> GenRequest 'MtJSON 'RW Team
createTeamForR org :: Name Organization
org cteam :: CreateTeam
cteam =
CommandMethod -> Paths -> ByteString -> GenRequest 'MtJSON 'RW Team
forall a. CommandMethod -> Paths -> ByteString -> Request 'RW a
command CommandMethod
Post ["orgs", Name Organization -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Organization
org, "teams"] (CreateTeam -> ByteString
forall a. ToJSON a => a -> ByteString
encode CreateTeam
cteam)
editTeam' :: Auth
-> Id Team
-> EditTeam
-> IO (Either Error Team)
editTeam' :: Auth -> Id Team -> EditTeam -> IO (Either Error Team)
editTeam' auth :: Auth
auth tid :: Id Team
tid eteam :: EditTeam
eteam =
Auth -> GenRequest 'MtJSON 'RW Team -> IO (Either Error Team)
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtJSON 'RW Team -> IO (Either Error Team))
-> GenRequest 'MtJSON 'RW Team -> IO (Either Error Team)
forall a b. (a -> b) -> a -> b
$ Id Team -> EditTeam -> GenRequest 'MtJSON 'RW Team
editTeamR Id Team
tid EditTeam
eteam
editTeamR :: Id Team -> EditTeam -> Request 'RW Team
editTeamR :: Id Team -> EditTeam -> GenRequest 'MtJSON 'RW Team
editTeamR tid :: Id Team
tid eteam :: EditTeam
eteam =
CommandMethod -> Paths -> ByteString -> GenRequest 'MtJSON 'RW Team
forall a. CommandMethod -> Paths -> ByteString -> Request 'RW a
command CommandMethod
Patch ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid] (EditTeam -> ByteString
forall a. ToJSON a => a -> ByteString
encode EditTeam
eteam)
deleteTeam' :: Auth -> Id Team -> IO (Either Error ())
deleteTeam' :: Auth -> Id Team -> IO (Either Error ())
deleteTeam' auth :: Auth
auth tid :: Id Team
tid =
Auth -> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtUnit 'RW () -> IO (Either Error ()))
-> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall a b. (a -> b) -> a -> b
$ Id Team -> GenRequest 'MtUnit 'RW ()
deleteTeamR Id Team
tid
deleteTeamR :: Id Team -> GenRequest 'MtUnit 'RW ()
deleteTeamR :: Id Team -> GenRequest 'MtUnit 'RW ()
deleteTeamR tid :: Id Team
tid =
CommandMethod -> Paths -> ByteString -> GenRequest 'MtUnit 'RW ()
forall (mt :: MediaType *) a.
CommandMethod -> Paths -> ByteString -> GenRequest mt 'RW a
Command CommandMethod
Delete ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid] ByteString
forall a. Monoid a => a
mempty
listTeamMembersR :: Id Team -> TeamMemberRole -> FetchCount -> Request 'RA (Vector SimpleUser)
listTeamMembersR :: Id Team
-> TeamMemberRole -> FetchCount -> Request 'RA (Vector SimpleUser)
listTeamMembersR tid :: Id Team
tid r :: TeamMemberRole
r =
Paths
-> QueryString -> FetchCount -> Request 'RA (Vector SimpleUser)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "members"] [("role", ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just ByteString
r')]
where
r' :: ByteString
r' = case TeamMemberRole
r of
TeamMemberRoleAll -> "all"
TeamMemberRoleMaintainer -> "maintainer"
TeamMemberRoleMember -> "member"
listTeamRepos' :: Maybe Auth -> Id Team -> IO (Either Error (Vector Repo))
listTeamRepos' :: Maybe Auth -> Id Team -> IO (Either Error (Vector Repo))
listTeamRepos' auth :: Maybe Auth
auth tid :: Id Team
tid = Maybe Auth
-> GenRequest 'MtJSON 'RO (Vector Repo)
-> IO (Either Error (Vector Repo))
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO (Vector Repo)
-> IO (Either Error (Vector Repo)))
-> GenRequest 'MtJSON 'RO (Vector Repo)
-> IO (Either Error (Vector Repo))
forall a b. (a -> b) -> a -> b
$ Id Team -> FetchCount -> GenRequest 'MtJSON 'RO (Vector Repo)
forall (k :: RW). Id Team -> FetchCount -> Request k (Vector Repo)
listTeamReposR Id Team
tid FetchCount
FetchAll
listTeamReposR :: Id Team -> FetchCount -> Request k (Vector Repo)
listTeamReposR :: Id Team -> FetchCount -> Request k (Vector Repo)
listTeamReposR tid :: Id Team
tid =
Paths -> QueryString -> FetchCount -> Request k (Vector Repo)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "repos"] []
listTeamRepos :: Id Team -> IO (Either Error (Vector Repo))
listTeamRepos :: Id Team -> IO (Either Error (Vector Repo))
listTeamRepos = Maybe Auth -> Id Team -> IO (Either Error (Vector Repo))
listTeamRepos' Maybe Auth
forall a. Maybe a
Nothing
addOrUpdateTeamRepo' :: Auth -> Id Team -> Name Organization -> Name Repo -> Permission -> IO (Either Error ())
addOrUpdateTeamRepo' :: Auth
-> Id Team
-> Name Organization
-> Name Repo
-> Permission
-> IO (Either Error ())
addOrUpdateTeamRepo' auth :: Auth
auth tid :: Id Team
tid org :: Name Organization
org repo :: Name Repo
repo permission :: Permission
permission =
Auth -> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtUnit 'RW () -> IO (Either Error ()))
-> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall a b. (a -> b) -> a -> b
$ Id Team
-> Name Organization
-> Name Repo
-> Permission
-> GenRequest 'MtUnit 'RW ()
addOrUpdateTeamRepoR Id Team
tid Name Organization
org Name Repo
repo Permission
permission
addOrUpdateTeamRepoR :: Id Team -> Name Organization -> Name Repo -> Permission -> GenRequest 'MtUnit 'RW ()
addOrUpdateTeamRepoR :: Id Team
-> Name Organization
-> Name Repo
-> Permission
-> GenRequest 'MtUnit 'RW ()
addOrUpdateTeamRepoR tid :: Id Team
tid org :: Name Organization
org repo :: Name Repo
repo permission :: Permission
permission =
CommandMethod -> Paths -> ByteString -> GenRequest 'MtUnit 'RW ()
forall (mt :: MediaType *) a.
CommandMethod -> Paths -> ByteString -> GenRequest mt 'RW a
Command CommandMethod
Put ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "repos", Name Organization -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Organization
org, Name Repo -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Repo
repo] (AddTeamRepoPermission -> ByteString
forall a. ToJSON a => a -> ByteString
encode (AddTeamRepoPermission -> ByteString)
-> AddTeamRepoPermission -> ByteString
forall a b. (a -> b) -> a -> b
$ Permission -> AddTeamRepoPermission
AddTeamRepoPermission Permission
permission)
teamMembershipInfoFor' :: Maybe Auth -> Id Team -> Name Owner -> IO (Either Error TeamMembership)
teamMembershipInfoFor' :: Maybe Auth
-> Id Team -> Name Owner -> IO (Either Error TeamMembership)
teamMembershipInfoFor' auth :: Maybe Auth
auth tid :: Id Team
tid user :: Name Owner
user =
Maybe Auth
-> GenRequest 'MtJSON 'RO TeamMembership
-> IO (Either Error TeamMembership)
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO TeamMembership
-> IO (Either Error TeamMembership))
-> GenRequest 'MtJSON 'RO TeamMembership
-> IO (Either Error TeamMembership)
forall a b. (a -> b) -> a -> b
$ Id Team -> Name Owner -> GenRequest 'MtJSON 'RO TeamMembership
forall (k :: RW). Id Team -> Name Owner -> Request k TeamMembership
teamMembershipInfoForR Id Team
tid Name Owner
user
teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership
teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership
teamMembershipInfoForR tid :: Id Team
tid user :: Name Owner
user =
Paths -> QueryString -> Request k TeamMembership
forall (mt :: RW) a. Paths -> QueryString -> Request mt a
query ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "memberships", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user] []
teamMembershipInfoFor :: Id Team -> Name Owner -> IO (Either Error TeamMembership)
teamMembershipInfoFor :: Id Team -> Name Owner -> IO (Either Error TeamMembership)
teamMembershipInfoFor = Maybe Auth
-> Id Team -> Name Owner -> IO (Either Error TeamMembership)
teamMembershipInfoFor' Maybe Auth
forall a. Maybe a
Nothing
addTeamMembershipFor' :: Auth -> Id Team -> Name Owner -> Role -> IO (Either Error TeamMembership)
addTeamMembershipFor' :: Auth
-> Id Team
-> Name Owner
-> Role
-> IO (Either Error TeamMembership)
addTeamMembershipFor' auth :: Auth
auth tid :: Id Team
tid user :: Name Owner
user role :: Role
role =
Auth
-> GenRequest 'MtJSON 'RW TeamMembership
-> IO (Either Error TeamMembership)
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtJSON 'RW TeamMembership
-> IO (Either Error TeamMembership))
-> GenRequest 'MtJSON 'RW TeamMembership
-> IO (Either Error TeamMembership)
forall a b. (a -> b) -> a -> b
$ Id Team
-> Name Owner -> Role -> GenRequest 'MtJSON 'RW TeamMembership
addTeamMembershipForR Id Team
tid Name Owner
user Role
role
addTeamMembershipForR :: Id Team -> Name Owner -> Role -> Request 'RW TeamMembership
addTeamMembershipForR :: Id Team
-> Name Owner -> Role -> GenRequest 'MtJSON 'RW TeamMembership
addTeamMembershipForR tid :: Id Team
tid user :: Name Owner
user role :: Role
role =
CommandMethod
-> Paths -> ByteString -> GenRequest 'MtJSON 'RW TeamMembership
forall a. CommandMethod -> Paths -> ByteString -> Request 'RW a
command CommandMethod
Put ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "memberships", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user] (CreateTeamMembership -> ByteString
forall a. ToJSON a => a -> ByteString
encode (CreateTeamMembership -> ByteString)
-> CreateTeamMembership -> ByteString
forall a b. (a -> b) -> a -> b
$ Role -> CreateTeamMembership
CreateTeamMembership Role
role)
deleteTeamMembershipFor' :: Auth -> Id Team -> Name Owner -> IO (Either Error ())
deleteTeamMembershipFor' :: Auth -> Id Team -> Name Owner -> IO (Either Error ())
deleteTeamMembershipFor' auth :: Auth
auth tid :: Id Team
tid user :: Name Owner
user =
Auth -> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtUnit 'RW () -> IO (Either Error ()))
-> GenRequest 'MtUnit 'RW () -> IO (Either Error ())
forall a b. (a -> b) -> a -> b
$ Id Team -> Name Owner -> GenRequest 'MtUnit 'RW ()
deleteTeamMembershipForR Id Team
tid Name Owner
user
deleteTeamMembershipForR :: Id Team -> Name Owner -> GenRequest 'MtUnit 'RW ()
deleteTeamMembershipForR :: Id Team -> Name Owner -> GenRequest 'MtUnit 'RW ()
deleteTeamMembershipForR tid :: Id Team
tid user :: Name Owner
user =
CommandMethod -> Paths -> ByteString -> GenRequest 'MtUnit 'RW ()
forall (mt :: MediaType *) a.
CommandMethod -> Paths -> ByteString -> GenRequest mt 'RW a
Command CommandMethod
Delete ["teams", Id Team -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Team
tid, "memberships", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user] ByteString
forall a. Monoid a => a
mempty
listTeamsCurrent' :: Auth -> IO (Either Error (Vector Team))
listTeamsCurrent' :: Auth -> IO (Either Error (Vector Team))
listTeamsCurrent' auth :: Auth
auth = Auth
-> GenRequest 'MtJSON 'RA (Vector Team)
-> IO (Either Error (Vector Team))
forall am (mt :: MediaType *) a (rw :: RW).
(AuthMethod am, ParseResponse mt a) =>
am -> GenRequest mt rw a -> IO (Either Error a)
executeRequest Auth
auth (GenRequest 'MtJSON 'RA (Vector Team)
-> IO (Either Error (Vector Team)))
-> GenRequest 'MtJSON 'RA (Vector Team)
-> IO (Either Error (Vector Team))
forall a b. (a -> b) -> a -> b
$ FetchCount -> GenRequest 'MtJSON 'RA (Vector Team)
listTeamsCurrentR FetchCount
FetchAll
listTeamsCurrentR :: FetchCount -> Request 'RA (Vector Team)
listTeamsCurrentR :: FetchCount -> GenRequest 'MtJSON 'RA (Vector Team)
listTeamsCurrentR =
Paths
-> QueryString
-> FetchCount
-> GenRequest 'MtJSON 'RA (Vector Team)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery ["user", "teams"] []