@@ -95,13 +95,12 @@ func resourceGithubEMUGroupMappingCreate(ctx context.Context, d *schema.Resource
9595
9696 tflog .Debug (ctx , "Successfully updated connected external group" )
9797
98- teamID , err := matchTeamID (ctx , meta , teamSlug , group . Teams )
98+ teamID , err := lookupTeamID (ctx , meta .( * Owner ) , teamSlug )
9999 if err != nil {
100100 return diag .FromErr (err )
101101 }
102102
103- err = d .Set ("team_id" , teamID )
104- if err != nil {
103+ if err := d .Set ("team_id" , teamID ); err != nil {
105104 return diag .FromErr (err )
106105 }
107106
@@ -119,11 +118,11 @@ func resourceGithubEMUGroupMappingCreate(ctx context.Context, d *schema.Resource
119118 tflog .Trace (ctx , "Setting state attribute: etag" , map [string ]any {
120119 "etag" : etag ,
121120 })
122- if err = d .Set ("etag" , etag ); err != nil {
121+ if err : = d .Set ("etag" , etag ); err != nil {
123122 return diag .FromErr (err )
124123 }
125124
126- if err = d .Set ("group_name" , group .GetGroupName ()); err != nil {
125+ if err : = d .Set ("group_name" , group .GetGroupName ()); err != nil {
127126 return diag .FromErr (err )
128127 }
129128
@@ -200,11 +199,11 @@ func resourceGithubEMUGroupMappingRead(ctx context.Context, d *schema.ResourceDa
200199 return diag .FromErr (err )
201200 }
202201
203- if err = d .Set ("group_id" , int (group .GetGroupID ())); err != nil {
202+ if err : = d .Set ("group_id" , int (group .GetGroupID ())); err != nil {
204203 return diag .FromErr (err )
205204 }
206205
207- if err = d .Set ("group_name" , group .GetGroupName ()); err != nil {
206+ if err : = d .Set ("group_name" , group .GetGroupName ()); err != nil {
208207 return diag .FromErr (err )
209208 }
210209
@@ -247,8 +246,6 @@ func resourceGithubEMUGroupMappingUpdate(ctx context.Context, d *schema.Resource
247246
248247 if d .HasChanges ("group_id" , "team_slug" ) {
249248
250- var teamID int64
251-
252249 tflog .Debug (ctx , "Updating connected external group via GitHub API" )
253250
254251 group , resp , err := client .Teams .UpdateConnectedExternalGroup (ctx , orgName , teamSlug , eg )
@@ -258,32 +255,20 @@ func resourceGithubEMUGroupMappingUpdate(ctx context.Context, d *schema.Resource
258255
259256 tflog .Debug (ctx , "Successfully updated connected external group" )
260257
261- if d .HasChange ("team_slug" ) {
262- teamID , err = matchTeamID (ctx , meta , teamSlug , group .Teams )
263- if err != nil {
264- return diag .FromErr (err )
265- }
266-
267- err = d .Set ("team_id" , teamID )
268- if err != nil {
269- return diag .FromErr (err )
270- }
271- } else {
272- teamID = toInt64 (d .Get ("team_id" ))
273- }
274-
275258 etag := resp .Header .Get ("ETag" )
276259 tflog .Trace (ctx , "Setting state attribute: etag" , map [string ]any {
277260 "etag" : etag ,
278261 })
279- if err = d .Set ("etag" , etag ); err != nil {
262+ if err : = d .Set ("etag" , etag ); err != nil {
280263 return diag .FromErr (err )
281264 }
282265
283- if err = d .Set ("group_name" , group .GetGroupName ()); err != nil {
266+ if err : = d .Set ("group_name" , group .GetGroupName ()); err != nil {
284267 return diag .FromErr (err )
285268 }
286269
270+ teamID := toInt64 (d .Get ("team_id" ))
271+
287272 newResourceID , err := buildID (strconv .FormatInt (teamID , 10 ), teamSlug , strconv .FormatInt (groupID , 10 ))
288273 if err != nil {
289274 return diag .FromErr (err )
@@ -392,24 +377,6 @@ func resourceGithubEMUGroupMappingImport(ctx context.Context, d *schema.Resource
392377 return []* schema.ResourceData {d }, nil
393378}
394379
395- func matchTeamID (ctx context.Context , meta any , teamSlug string , groupTeams []* github.ExternalGroupTeam ) (int64 , error ) {
396- client := meta .(* Owner ).v3client
397- orgName := meta .(* Owner ).name
398- configuredTeam , _ , err := client .Teams .GetTeamBySlug (ctx , orgName , teamSlug )
399- if err != nil {
400- return 0 , err
401- }
402-
403- var teamID int64
404- for _ , team := range groupTeams {
405- if team .GetTeamID () == configuredTeam .GetID () {
406- teamID = team .GetTeamID ()
407- break
408- }
409- }
410- return teamID , nil
411- }
412-
413380func hasNewTeamID (ctx context.Context , diff * schema.ResourceDiff , meta any ) bool {
414381 // Skip for new resources - no existing team_id to compare against
415382 if diff .Id () == "" {
0 commit comments