module GitHub.Endpoints.Organizations.Members (
membersOf,
membersOf',
membersOfR,
membersOfWithR,
isMemberOf,
isMemberOf',
isMemberOfR,
orgInvitationsR,
module GitHub.Data,
) where
import GitHub.Data
import GitHub.Internal.Prelude
import GitHub.Request
import Prelude ()
membersOf' :: Maybe Auth -> Name Organization -> IO (Either Error (Vector SimpleUser))
membersOf' :: Maybe Auth
-> Name Organization -> IO (Either Error (Vector SimpleUser))
membersOf' auth :: Maybe Auth
auth org :: Name Organization
org =
Maybe Auth
-> GenRequest 'MtJSON 'RO (Vector SimpleUser)
-> IO (Either Error (Vector SimpleUser))
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 SimpleUser)
-> IO (Either Error (Vector SimpleUser)))
-> GenRequest 'MtJSON 'RO (Vector SimpleUser)
-> IO (Either Error (Vector SimpleUser))
forall a b. (a -> b) -> a -> b
$ Name Organization
-> FetchCount -> GenRequest 'MtJSON 'RO (Vector SimpleUser)
forall (k :: RW).
Name Organization -> FetchCount -> Request k (Vector SimpleUser)
membersOfR Name Organization
org FetchCount
FetchAll
membersOf :: Name Organization -> IO (Either Error (Vector SimpleUser))
membersOf :: Name Organization -> IO (Either Error (Vector SimpleUser))
membersOf = Maybe Auth
-> Name Organization -> IO (Either Error (Vector SimpleUser))
membersOf' Maybe Auth
forall a. Maybe a
Nothing
membersOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser)
membersOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser)
membersOfR organization :: Name Organization
organization =
Paths -> QueryString -> FetchCount -> Request k (Vector SimpleUser)
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
organization, "members"] []
membersOfWithR :: Name Organization -> OrgMemberFilter -> OrgMemberRole -> FetchCount -> Request k (Vector SimpleUser)
membersOfWithR :: Name Organization
-> OrgMemberFilter
-> OrgMemberRole
-> FetchCount
-> Request k (Vector SimpleUser)
membersOfWithR org :: Name Organization
org f :: OrgMemberFilter
f r :: OrgMemberRole
r =
Paths -> QueryString -> FetchCount -> Request k (Vector SimpleUser)
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, "members"] [("filter", ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just ByteString
f'), ("role", ByteString -> Maybe ByteString
forall a. a -> Maybe a
Just ByteString
r')]
where
f' :: ByteString
f' = case OrgMemberFilter
f of
OrgMemberFilter2faDisabled -> "2fa_disabled"
OrgMemberFilterAll -> "all"
r' :: ByteString
r' = case OrgMemberRole
r of
OrgMemberRoleAll -> "all"
OrgMemberRoleAdmin -> "admin"
OrgMemberRoleMember -> "member"
isMemberOf' :: Maybe Auth -> Name User -> Name Organization -> IO (Either Error Bool)
isMemberOf' :: Maybe Auth
-> Name User -> Name Organization -> IO (Either Error Bool)
isMemberOf' auth :: Maybe Auth
auth user :: Name User
user org :: Name Organization
org =
Maybe Auth
-> GenRequest 'MtStatus 'RO Bool -> IO (Either Error Bool)
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 'MtStatus 'RO Bool -> IO (Either Error Bool))
-> GenRequest 'MtStatus 'RO Bool -> IO (Either Error Bool)
forall a b. (a -> b) -> a -> b
$ Name User -> Name Organization -> GenRequest 'MtStatus 'RO Bool
forall (rw :: RW).
Name User -> Name Organization -> GenRequest 'MtStatus rw Bool
isMemberOfR Name User
user Name Organization
org
isMemberOf :: Name User -> Name Organization -> IO (Either Error Bool)
isMemberOf :: Name User -> Name Organization -> IO (Either Error Bool)
isMemberOf = Maybe Auth
-> Name User -> Name Organization -> IO (Either Error Bool)
isMemberOf' Maybe Auth
forall a. Maybe a
Nothing
isMemberOfR :: Name User -> Name Organization -> GenRequest 'MtStatus rw Bool
isMemberOfR :: Name User -> Name Organization -> GenRequest 'MtStatus rw Bool
isMemberOfR user :: Name User
user org :: Name Organization
org =
Paths -> QueryString -> GenRequest 'MtStatus rw Bool
forall (mt :: MediaType *) (rw :: RW) a.
Paths -> QueryString -> GenRequest mt rw a
Query [ "orgs", Name Organization -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Organization
org, "members", Name User -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name User
user ] []
orgInvitationsR :: Name Organization -> FetchCount -> Request 'RA (Vector Invitation)
orgInvitationsR :: Name Organization -> FetchCount -> Request 'RA (Vector Invitation)
orgInvitationsR org :: Name Organization
org = Paths
-> QueryString -> FetchCount -> Request 'RA (Vector Invitation)
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, "invitations"] []