Skip to content

Commit 63efc7f

Browse files
authored
Merge pull request haskell-github#444 from marcosh/user-search
add endpoint for users search
2 parents e5a1acc + f376582 commit 63efc7f

File tree

3 files changed

+18
-6
lines changed

3 files changed

+18
-6
lines changed

spec/GitHub/SearchSpec.hs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@ import qualified Data.Vector as V
1616

1717
import GitHub (github)
1818
import GitHub.Data
19-
(Auth (..), Issue (..), IssueNumber (..), IssueState (..), mkId)
20-
import GitHub.Endpoints.Search (SearchResult (..), searchIssuesR)
19+
(Auth (..), Issue (..), IssueNumber (..), IssueState (..),
20+
SimpleUser (..), User, mkId)
21+
import GitHub.Endpoints.Search (SearchResult (..), searchIssuesR, searchUsersR)
2122

2223
fromRightS :: Show a => Either a b -> b
2324
fromRightS (Right b) = b
@@ -57,3 +58,10 @@ spec = do
5758
issues <- searchResultResults . fromRightS <$> github auth searchIssuesR query
5859
length issues `shouldBe` 1
5960
issueId (V.head issues) `shouldBe` mkId (Proxy :: Proxy Issue) 119694665
61+
62+
describe "searchUsers" $
63+
it "performs a user search via the API" $ withAuth $ \auth -> do
64+
let query = "[email protected] created:<2020-01-01"
65+
users <- searchResultResults . fromRightS <$> github auth searchUsersR query
66+
length users `shouldBe` 1
67+
simpleUserId (V.head users) `shouldBe` mkId (Proxy :: Proxy User) 51087

src/GitHub.hs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -360,13 +360,10 @@ module GitHub (
360360

361361
-- * Search
362362
-- | See <https://developer.github.com/v3/search/>
363-
--
364-
-- Missing endpoints:
365-
--
366-
-- * Search users
367363
searchReposR,
368364
searchCodeR,
369365
searchIssuesR,
366+
searchUsersR,
370367

371368
-- * Users
372369
-- | See <https://developer.github.com/v3/users/>

src/GitHub/Endpoints/Search.hs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module GitHub.Endpoints.Search(
99
searchReposR,
1010
searchCodeR,
1111
searchIssuesR,
12+
searchUsersR,
1213
module GitHub.Data,
1314
) where
1415

@@ -35,3 +36,9 @@ searchCodeR searchString =
3536
searchIssuesR :: Text -> Request k (SearchResult Issue)
3637
searchIssuesR searchString =
3738
query ["search", "issues"] [("q", Just $ TE.encodeUtf8 searchString)]
39+
40+
-- | Search users.
41+
-- See <https://developer.github.com/v3/search/#search-code>
42+
searchUsersR :: Text -> Request k (SearchResult SimpleUser)
43+
searchUsersR searchString =
44+
query ["search", "users"] [("q", Just $ TE.encodeUtf8 searchString)]

0 commit comments

Comments
 (0)