{-# LANGUAGE DataKinds #-} {-# LANGUAGE OverloadedStrings #-} module GitHub.Paths.Orgs.Teams.Members where import Data.Aeson (encode) import Data.Text (Text) import Data.Vector (Vector) import GitHub.Data.Request (CommandMethod (Delete, Put), FetchCount (FetchAll), GenRequest (Command), MediaType (..), RW (..), Request, command, pagedQuery, query) import GitHub.Types.Base.User (User) import GitHub.Types.Settings (TeamMembership) getMembersR :: Text -> Text -> Request 'RO (Vector User) getMembersR :: Text -> Text -> Request 'RO (Vector User) getMembersR Text org Text team = Paths -> QueryString -> FetchCount -> Request 'RO (Vector User) forall a (mt :: RW). FromJSON a => Paths -> QueryString -> FetchCount -> Request mt (Vector a) pagedQuery [Text "orgs", Text org, Text "teams", Text team, Text "members"] [] FetchCount FetchAll addMemberR :: Text -> Text -> Text -> TeamMembership -> Request 'RW TeamMembership addMemberR :: Text -> Text -> Text -> TeamMembership -> Request 'RW TeamMembership addMemberR Text org Text team Text member = CommandMethod -> Paths -> ByteString -> Request 'RW TeamMembership forall a. CommandMethod -> Paths -> ByteString -> Request 'RW a command CommandMethod Put [Text "orgs", Text org, Text "teams", Text team, Text "memberships", Text member] (ByteString -> Request 'RW TeamMembership) -> (TeamMembership -> ByteString) -> TeamMembership -> Request 'RW TeamMembership forall b c a. (b -> c) -> (a -> b) -> a -> c . TeamMembership -> ByteString forall a. ToJSON a => a -> ByteString encode getMembershipR :: Text -> Text -> Text -> Request 'RO TeamMembership getMembershipR :: Text -> Text -> Text -> Request 'RO TeamMembership getMembershipR Text org Text team Text member = Paths -> QueryString -> Request 'RO TeamMembership forall (mt :: RW) a. Paths -> QueryString -> Request mt a query [Text "orgs", Text org, Text "teams", Text team, Text "memberships", Text member] [] deleteMemberR :: Text -> Text -> Text -> GenRequest 'MtUnit 'RW () deleteMemberR :: Text -> Text -> Text -> GenRequest 'MtUnit 'RW () deleteMemberR Text org Text team Text member = CommandMethod -> Paths -> ByteString -> GenRequest 'MtUnit 'RW () forall (mt :: MediaType *) a. CommandMethod -> Paths -> ByteString -> GenRequest mt 'RW a Command CommandMethod Delete [Text "orgs", Text org, Text "teams", Text team, Text "members", Text member] ByteString forall a. Monoid a => a mempty