Skip to content

Commit 2d027dd

Browse files
resolved issues
1 parent 1beaa34 commit 2d027dd

12 files changed

+5547
-3388
lines changed

internal/acctest/sweep/organizations.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,16 @@ func Organizations() {
2424

2525
var result *multierror.Error
2626
var from string
27+
firstTime := true
2728

2829
for {
29-
organizationList, err := api.Organization.List(ctx, management.From(from), management.Take(100))
30+
var options []management.RequestOption
31+
if !firstTime {
32+
options = append(options, management.From(from))
33+
}
34+
options = append(options, management.Take(100))
35+
36+
organizationList, err := api.Organization.List(ctx, options...)
3037
if err != nil {
3138
return err
3239
}
@@ -49,6 +56,7 @@ func Organizations() {
4956
}
5057

5158
from = organizationList.Next
59+
firstTime = false
5260
}
5361

5462
return result.ErrorOrNil()

internal/auth0/organization/data_source.go

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,25 +127,33 @@ func fetchAllOrganizationConnections(ctx context.Context, api *management.Manage
127127
return foundConnections, nil
128128
}
129129

130-
func fetchAllOrganizationMembers(ctx context.Context, api *management.Management, organizationID string) ([]string, error) {
131-
foundMembers := make([]string, 0)
130+
func fetchAllOrganizationMembers(ctx context.Context, api *management.Management, organizationID string) ([]*management.OrganizationMember, error) {
131+
var foundMembers []*management.OrganizationMember
132132
var from string
133+
firstTime := true
133134

134135
for {
135-
members, err := api.Organization.Members(ctx, organizationID, management.From(from), management.Take(100), management.IncludeFields("user_id"))
136+
var options []management.RequestOption
137+
if !firstTime {
138+
options = append(options, management.From(from))
139+
}
140+
options = append(options, management.Take(100), management.IncludeFields("user_id"))
141+
142+
membersList, err := api.Organization.Members(ctx, organizationID, options...)
136143
if err != nil {
137144
return nil, err
138145
}
139146

140-
for _, member := range members.Members {
141-
foundMembers = append(foundMembers, member.GetUserID())
147+
for _, member := range membersList.Members {
148+
foundMembers = append(foundMembers, &member)
142149
}
143150

144-
if !members.HasNext() {
151+
if !membersList.HasNext() {
145152
break
146153
}
147154

148-
from = members.Next
155+
from = membersList.Next
156+
firstTime = false
149157
}
150158

151159
return foundMembers, nil

internal/auth0/organization/flatten.go

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,23 @@ func flattenOrganizationForDataSource(
2121
data *schema.ResourceData,
2222
organization *management.Organization,
2323
connections []*management.OrganizationConnection,
24-
memberIDs []string,
24+
members []*management.OrganizationMember,
2525
) error {
2626
result := multierror.Append(
2727
flattenOrganization(data, organization),
2828
data.Set("connections", flattenOrganizationEnabledConnections(connections)),
29-
data.Set("members", memberIDs),
3029
)
3130

31+
var memberIDs []string
32+
for _, member := range members {
33+
memberIDs = append(memberIDs, member.GetUserID())
34+
}
35+
36+
err := data.Set("members", memberIDs)
37+
if err != nil {
38+
result = multierror.Append(result, err)
39+
}
40+
3241
return result.ErrorOrNil()
3342
}
3443

@@ -89,7 +98,7 @@ func flattenOrganizationMemberRole(data *schema.ResourceData, role management.Or
8998
return result.ErrorOrNil()
9099
}
91100

92-
func flattenOrganizationMembers(data *schema.ResourceData, members []string) error {
101+
func flattenOrganizationMembers(data *schema.ResourceData, members []*management.OrganizationMember) error {
93102
result := multierror.Append(
94103
data.Set("organization_id", data.Id()),
95104
data.Set("members", flattenOrganizationMembersSlice(members)),
@@ -98,10 +107,14 @@ func flattenOrganizationMembers(data *schema.ResourceData, members []string) err
98107
return result.ErrorOrNil()
99108
}
100109

101-
func flattenOrganizationMembersSlice(members []string) []string {
110+
func flattenOrganizationMembersSlice(members []*management.OrganizationMember) []string {
102111
if len(members) == 0 {
103112
return nil
104113
}
114+
flattenedMembers := make([]string, 0)
115+
for _, member := range members {
116+
flattenedMembers = append(flattenedMembers, member.GetUserID())
117+
}
105118

106-
return members
119+
return flattenedMembers
107120
}

internal/auth0/organization/resource_member.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ func readOrganizationMember(ctx context.Context, data *schema.ResourceData, meta
6464
}
6565

6666
userID := data.Get("user_id").(string)
67-
for _, memberID := range members {
68-
if memberID == userID {
67+
for _, member := range members {
68+
if member.UserID != nil && *member.UserID == userID {
6969
return nil
7070
}
7171
}

internal/auth0/organization/resource_members.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package organization
33
import (
44
"context"
55
"fmt"
6+
"github.com/auth0/go-auth0/management"
67

78
"github.com/google/go-cmp/cmp"
89
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
@@ -138,13 +139,18 @@ func deleteOrganizationMembers(ctx context.Context, data *schema.ResourceData, m
138139

139140
func guardAgainstErasingUnwantedMembers(
140141
organizationID string,
141-
alreadyMemberIDs []string,
142+
alreadyMembers []*management.OrganizationMember,
142143
memberIDsToAdd []string,
143144
) diag.Diagnostics {
144-
if len(alreadyMemberIDs) == 0 {
145+
if len(alreadyMembers) == 0 {
145146
return nil
146147
}
147148

149+
alreadyMemberIDs := make([]string, 0)
150+
for _, member := range alreadyMembers {
151+
alreadyMemberIDs = append(alreadyMemberIDs, member.GetUserID())
152+
}
153+
148154
if cmp.Equal(memberIDsToAdd, alreadyMemberIDs) {
149155
return nil
150156
}

0 commit comments

Comments
 (0)