@@ -8,30 +8,44 @@ import (
88 "github.com/boringtools/git-alerts/pkg/models"
99)
1010
11- type RepoURL struct {
12- URL string `json:"repos_url"`
13- }
14-
1511var (
16- rURL [] RepoURL
12+ users []models. GitHubUser
1713 repos []models.GitHubRepository
1814 allRepos []models.GitHubRepository
1915)
2016
2117func GetGitHubUsersRepos () ([]byte , error ) {
22- ui .PrintMsg ("Fetching " + common .GitHubOrg + " users public repositories..." )
23-
24- users , _ := common .GetJSONFileContent (common .GetReportFilePaths ().GitHubOrgUsers )
25- json .Unmarshal (users , & rURL )
18+ ui .PrintMsg ("Fetching %s users public repositories..." , common .GitHubOrg )
2619
2720 parameters := map [string ]string {
2821 "per_page" : "100" ,
2922 }
30- for _ , value := range rURL {
31- usersRepo , _ , _ := GetGitHubResponse (value .URL , common .AuthenticatedScan , parameters )
3223
33- json .Unmarshal (usersRepo , & repos )
34- allRepos = append (allRepos , repos ... )
24+ if common .UsersFilePath == "" {
25+ data , _ := common .GetJSONFileContent (common .GetReportFilePaths ().GitHubOrgUsers )
26+ json .Unmarshal (data , & users )
27+
28+ for _ , value := range users {
29+ usersRepo , _ , _ := GetGitHubResponse (value .ReposUrl , common .AuthenticatedScan , parameters )
30+
31+ json .Unmarshal (usersRepo , & repos )
32+ allRepos = append (allRepos , repos ... )
33+ }
34+
35+ } else {
36+
37+ users , errUsers := common .GetCSVFileContent (common .UsersFilePath )
38+
39+ if errUsers != nil {
40+ return nil , errUsers
41+ }
42+
43+ for _ , username := range users {
44+ repos_url := common .GetGitHubAPIEndPoints (username ).GetUsersRepo
45+ usersRepo , _ , _ := GetGitHubResponse (repos_url , common .AuthenticatedScan , parameters )
46+ json .Unmarshal (usersRepo , & repos )
47+ allRepos = append (allRepos , repos ... )
48+ }
3549 }
3650
3751 jsonData , err := json .Marshal (allRepos )
0 commit comments