Browse Source

Merge 2396c96214 into 5a4395fd12

pull/4632/merge
vishwa5772 3 days ago committed by GitHub
parent
commit
e5fa997c5c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 15
      connector/github/github.go

15
connector/github/github.go

@ -343,6 +343,14 @@ func formatTeamName(org string, team string) string {
func (c *githubConnector) groupsForOrgs(ctx context.Context, client *http.Client, userName string) ([]string, error) {
groups := make([]string, 0)
var inOrgNoTeams bool
// Fetch all user teams once to avoid redundant API calls across multiple orgs.
// This prevents fetching the same team data repeatedly when iterating through orgs.
allTeamsByOrg, err := c.userOrgTeams(ctx, client)
if err != nil {
return nil, fmt.Errorf("github: get teams: %v", err)
}
for _, org := range c.orgs {
inOrg, err := c.userInOrg(ctx, client, userName, org.Name)
if err != nil {
@ -352,10 +360,9 @@ func (c *githubConnector) groupsForOrgs(ctx context.Context, client *http.Client
continue
}
teams, err := c.teamsForOrg(ctx, client, org.Name)
if err != nil {
return nil, err
}
// Use cached teams from the single fetch above instead of fetching per-org
teams := allTeamsByOrg[org.Name]
// User is in at least one org. User is authorized if no teams are specified
// in config; include all teams in claim. Otherwise filter out teams not in
// 'teams' list in config.

Loading…
Cancel
Save