@@ -81,22 +81,20 @@ func (me Provider) GetUserInfo(r *http.Request, user *structs.User, customClaims
8181 org , team := toOrgAndTeam (orgAndTeam )
8282 if org != "" {
8383 log .Info (org )
84- var (
85- e error
86- isMember bool
87- )
84+ var err error
85+ isMember := false
8886 if team != "" {
89- e , isMember = getTeamMembershipStateFromGitHub (client , user , org , team , ptoken )
87+ isMember , err = getTeamMembershipStateFromGitHub (client , user , org , team , ptoken )
9088 } else {
91- e , isMember = getOrgMembershipStateFromGitHub (client , user , org , ptoken )
89+ isMember , err = getOrgMembershipStateFromGitHub (client , user , org , ptoken )
9290 }
93- if e != nil {
94- return e
95- } else {
96- if isMember {
97- user .TeamMemberships = append (user .TeamMemberships , orgAndTeam )
98- }
91+ if err != nil {
92+ return err
93+ }
94+ if isMember {
95+ user .TeamMemberships = append (user .TeamMemberships , orgAndTeam )
9996 }
97+
10098 } else {
10199 log .Warnf ("Invalid org/team format in %s: must be written as <orgId>/<teamSlug>" , orgAndTeam )
102100 }
@@ -108,12 +106,12 @@ func (me Provider) GetUserInfo(r *http.Request, user *structs.User, customClaims
108106 return nil
109107}
110108
111- func getOrgMembershipStateFromGitHub (client * http.Client , user * structs.User , orgId string , ptoken * oauth2.Token ) (rerr error , isMember bool ) {
112- replacements := strings .NewReplacer (":org_id" , orgId , ":username" , user .Username )
109+ func getOrgMembershipStateFromGitHub (client * http.Client , user * structs.User , orgID string , ptoken * oauth2.Token ) (isMember bool , rerr error ) {
110+ replacements := strings .NewReplacer (":org_id" , orgID , ":username" , user .Username )
113111 orgMembershipResp , err := client .Get (replacements .Replace (cfg .GenOAuth .UserOrgURL ) + ptoken .AccessToken )
114112 if err != nil {
115113 log .Error (err )
116- return err , false
114+ return false , err
117115 }
118116
119117 if orgMembershipResp .StatusCode == 302 {
@@ -126,22 +124,22 @@ func getOrgMembershipStateFromGitHub(client *http.Client, user *structs.User, or
126124
127125 if orgMembershipResp .StatusCode == 204 {
128126 log .Debug ("getOrgMembershipStateFromGitHub isMember: true" )
129- return nil , true
127+ return true , nil
130128 } else if orgMembershipResp .StatusCode == 404 {
131129 log .Debug ("getOrgMembershipStateFromGitHub isMember: false" )
132- return nil , false
130+ return false , nil
133131 } else {
134132 log .Errorf ("getOrgMembershipStateFromGitHub: unexpected status code %d" , orgMembershipResp .StatusCode )
135- return errors .New ("Unexpected response status " + orgMembershipResp .Status ), false
133+ return false , errors .New ("Unexpected response status " + orgMembershipResp .Status )
136134 }
137135}
138136
139- func getTeamMembershipStateFromGitHub (client * http.Client , user * structs.User , orgId string , team string , ptoken * oauth2.Token ) (rerr error , isMember bool ) {
140- replacements := strings .NewReplacer (":org_id" , orgId , ":team_slug" , team , ":username" , user .Username )
137+ func getTeamMembershipStateFromGitHub (client * http.Client , user * structs.User , orgID string , team string , ptoken * oauth2.Token ) (isMember bool , rerr error ) {
138+ replacements := strings .NewReplacer (":org_id" , orgID , ":team_slug" , team , ":username" , user .Username )
141139 membershipStateResp , err := client .Get (replacements .Replace (cfg .GenOAuth .UserTeamURL ) + ptoken .AccessToken )
142140 if err != nil {
143141 log .Error (err )
144- return err , false
142+ return false , err
145143 }
146144 defer func () {
147145 if err := membershipStateResp .Body .Close (); err != nil {
@@ -154,16 +152,15 @@ func getTeamMembershipStateFromGitHub(client *http.Client, user *structs.User, o
154152 ghTeamState := structs.GitHubTeamMembershipState {}
155153 if err = json .Unmarshal (data , & ghTeamState ); err != nil {
156154 log .Error (err )
157- return err , false
155+ return false , err
158156 }
159- log .Debug ("getTeamMembershipStateFromGitHub ghTeamState" )
160- log .Debug (ghTeamState )
161- return nil , ghTeamState .State == "active"
157+ log .Debugf ("getTeamMembershipStateFromGitHub ghTeamState %s" , ghTeamState )
158+ return ghTeamState .State == "active" , nil
162159 } else if membershipStateResp .StatusCode == 404 {
163160 log .Debug ("getTeamMembershipStateFromGitHub isMember: false" )
164- return nil , false
161+ return false , err
165162 } else {
166163 log .Errorf ("getTeamMembershipStateFromGitHub: unexpected status code %d" , membershipStateResp .StatusCode )
167- return errors .New ("Unexpected response status " + membershipStateResp .Status ), false
164+ return false , errors .New ("Unexpected response status " + membershipStateResp .Status )
168165 }
169166}
0 commit comments