-- |
-- The user followers API as described on
-- <http://developer.github.com/v3/users/followers/>.

module GitHub.Endpoints.Users.Followers (
    usersFollowingR,
    usersFollowedByR,
    module GitHub.Data,
    ) where

import GitHub.Data
import GitHub.Internal.Prelude
import Prelude ()

-- | List followers of a user.
-- See <https://developer.github.com/v3/users/followers/#list-followers-of-a-user>
usersFollowingR :: Name User -> FetchCount -> Request k (Vector SimpleUser)
usersFollowingR :: forall (k :: RW).
Name User -> FetchCount -> Request k (Vector SimpleUser)
usersFollowingR Name User
user =
    Paths -> QueryString -> FetchCount -> Request k (Vector SimpleUser)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery [Text
"users", Name User -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name User
user, Text
"followers"] []

-- | List users followed by another user.
-- See <https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user>
usersFollowedByR :: Name User -> FetchCount -> Request k (Vector SimpleUser)
usersFollowedByR :: forall (k :: RW).
Name User -> FetchCount -> Request k (Vector SimpleUser)
usersFollowedByR Name User
user =
    Paths -> QueryString -> FetchCount -> Request k (Vector SimpleUser)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery [Text
"users", Name User -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name User
user, Text
"following"] []