Skip to content
This repository was archived by the owner on May 16, 2023. It is now read-only.

Commit 14060db

Browse files
author
Lauri Piispanen
committed
request restricted (private) contributions
1 parent 4682ab6 commit 14060db

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

github/github.go

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ func (client HTTPGithubClient) SearchUsers(query UserSearchQuery) ([]User, error
6666
totalCount := 0
6767
minFollowerCount := -1
6868
maxPerQuery := 1000
69-
perPage := 100
69+
perPage := 10
7070

7171
Pages:
7272
for totalCount < query.MaxUsers {
@@ -102,6 +102,7 @@ Pages:
102102
contributionCalendar {
103103
totalContributions
104104
}
105+
restrictedContributionsCount
105106
}
106107
}
107108
},
@@ -155,18 +156,21 @@ Pages:
155156
organizations = append(organizations, orgNode.(map[string]interface{})["login"].(string))
156157
}
157158

158-
followerCount := userNode["followers"].(map[string]interface{})["totalCount"].(float64)
159-
contributionCalendar := userNode["contributionsCollection"].(map[string]interface{})["contributionCalendar"]
160-
contributionCount := int(contributionCalendar.(map[string]interface{})["totalContributions"].(float64))
159+
followerCount := int(userNode["followers"].(map[string]interface{})["totalCount"].(float64))
160+
contributionsCollection := userNode["contributionsCollection"].(map[string]interface{})
161+
contributionCount := int(contributionsCollection["contributionCalendar"].(map[string]interface{})["totalContributions"].(float64))
162+
privateContributionCount := int(contributionsCollection["restrictedContributionsCount"].(float64))
161163

162164
user := User{
163-
Login: login,
164-
AvatarURL: avatarURL,
165-
Name: name,
166-
Company: company,
167-
Organizations: organizations,
168-
FollowerCount: followerCount,
169-
ContributionCount: contributionCount}
165+
Login: login,
166+
AvatarURL: avatarURL,
167+
Name: name,
168+
Company: company,
169+
Organizations: organizations,
170+
FollowerCount: followerCount,
171+
ContributionCount: contributionCount,
172+
PublicContributionCount: (contributionCount - privateContributionCount),
173+
PrivateContributionCount: privateContributionCount}
170174
users = append(users, user)
171175

172176
previousCursor = edgeNode["cursor"].(string)
@@ -219,13 +223,15 @@ func NewGithubClient(wrappers ...net.Wrapper) HTTPGithubClient {
219223
}
220224

221225
type User struct {
222-
Login string
223-
AvatarURL string
224-
Name string
225-
Company string
226-
Organizations []string
227-
FollowerCount float64
228-
ContributionCount int
226+
Login string
227+
AvatarURL string
228+
Name string
229+
Company string
230+
Organizations []string
231+
FollowerCount int
232+
ContributionCount int
233+
PublicContributionCount int
234+
PrivateContributionCount int
229235
}
230236

231237
type UserSearchQuery struct {

0 commit comments

Comments
 (0)