Skip to content

Commit 5322954

Browse files
committed
Create subpackage for utility items
These functions will be shared by the sdk v2 implementation and the plugin framework implementation
1 parent 9cba3f7 commit 5322954

25 files changed

+161
-89
lines changed

commercetools/resource_api_client.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ import (
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1111
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1212
"github.com/labd/commercetools-go-sdk/platform"
13+
14+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1315
)
1416

1517
func resourceAPIClient() *schema.Resource {
@@ -68,7 +70,7 @@ func resourceAPIClientCreate(ctx context.Context, d *schema.ResourceData, m any)
6870
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
6971
var err error
7072
apiClient, err = client.ApiClients().Post(draft).Execute(ctx)
71-
return processRemoteError(err)
73+
return utils.ProcessRemoteError(err)
7274
})
7375

7476
if err != nil {
@@ -86,7 +88,7 @@ func resourceAPIClientRead(ctx context.Context, d *schema.ResourceData, m any) d
8688
apiClient, err := client.ApiClients().WithId(d.Id()).Get().Execute(ctx)
8789

8890
if err != nil {
89-
if IsResourceNotFoundError(err) {
91+
if utils.IsResourceNotFoundError(err) {
9092
d.SetId("")
9193
return nil
9294
}
@@ -106,7 +108,7 @@ func resourceAPIClientDelete(ctx context.Context, d *schema.ResourceData, m any)
106108

107109
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
108110
_, err := client.ApiClients().WithId(d.Id()).Delete().Execute(ctx)
109-
return processRemoteError(err)
111+
return utils.ProcessRemoteError(err)
110112
})
111113

112114
return diag.FromErr(err)

commercetools/resource_api_extension.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ import (
1111
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1212
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1313
"github.com/labd/commercetools-go-sdk/platform"
14+
15+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1416
)
1517

1618
func resourceAPIExtension() *schema.Resource {
@@ -184,7 +186,7 @@ func resourceAPIExtensionCreate(ctx context.Context, d *schema.ResourceData, m a
184186
err = resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
185187
var err error
186188
extension, err = client.Extensions().Post(draft).Execute(ctx)
187-
return processRemoteError(err)
189+
return utils.ProcessRemoteError(err)
188190
})
189191

190192
if err != nil {
@@ -206,7 +208,7 @@ func resourceAPIExtensionRead(ctx context.Context, d *schema.ResourceData, m any
206208

207209
extension, err := client.Extensions().WithId(d.Id()).Get().Execute(ctx)
208210
if err != nil {
209-
if IsResourceNotFoundError(err) {
211+
if utils.IsResourceNotFoundError(err) {
210212
d.SetId("")
211213
return nil
212214
}
@@ -265,7 +267,7 @@ func resourceAPIExtensionUpdate(ctx context.Context, d *schema.ResourceData, m a
265267

266268
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
267269
_, err := client.Extensions().WithId(d.Id()).Post(input).Execute(ctx)
268-
return processRemoteError(err)
270+
return utils.ProcessRemoteError(err)
269271
})
270272

271273
if err != nil {

commercetools/resource_cart_discount.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1111
"github.com/labd/commercetools-go-sdk/ctutils"
1212
"github.com/labd/commercetools-go-sdk/platform"
13+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1314
)
1415

1516
func resourceCartDiscount() *schema.Resource {
@@ -278,7 +279,7 @@ func resourceCartDiscountCreate(ctx context.Context, d *schema.ResourceData, m a
278279
err = resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
279280
var err error
280281
cartDiscount, err = client.CartDiscounts().Post(draft).Execute(ctx)
281-
return processRemoteError(err)
282+
return utils.ProcessRemoteError(err)
282283
})
283284

284285
if err != nil {
@@ -299,7 +300,7 @@ func resourceCartDiscountRead(ctx context.Context, d *schema.ResourceData, m any
299300
client := getClient(m)
300301
cartDiscount, err := client.CartDiscounts().WithId(d.Id()).Get().Execute(ctx)
301302
if err != nil {
302-
if IsResourceNotFoundError(err) {
303+
if utils.IsResourceNotFoundError(err) {
303304
d.SetId("")
304305
return nil
305306
}
@@ -448,7 +449,7 @@ func resourceCartDiscountUpdate(ctx context.Context, d *schema.ResourceData, m a
448449

449450
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
450451
_, err := client.CartDiscounts().WithId(d.Id()).Post(input).Execute(ctx)
451-
return processRemoteError(err)
452+
return utils.ProcessRemoteError(err)
452453
})
453454

454455
if err != nil {
@@ -467,7 +468,7 @@ func resourceCartDiscountDelete(ctx context.Context, d *schema.ResourceData, m a
467468

468469
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
469470
_, err := client.CartDiscounts().WithId(d.Id()).Delete().Version(version).Execute(ctx)
470-
return processRemoteError(err)
471+
return utils.ProcessRemoteError(err)
471472
})
472473
if err != nil {
473474
return diag.FromErr(err)

commercetools/resource_category.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1010
"github.com/labd/commercetools-go-sdk/platform"
11+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1112
)
1213

1314
func resourceCategory() *schema.Resource {
@@ -232,7 +233,7 @@ func resourceCategoryCreate(ctx context.Context, d *schema.ResourceData, m any)
232233
err = resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
233234
var err error
234235
category, err = client.Categories().Post(draft).Execute(ctx)
235-
return processRemoteError(err)
236+
return utils.ProcessRemoteError(err)
236237
})
237238

238239
if err != nil {
@@ -249,7 +250,7 @@ func resourceCategoryRead(ctx context.Context, d *schema.ResourceData, m any) di
249250
client := getClient(m)
250251
category, err := client.Categories().WithId(d.Id()).Get().Execute(ctx)
251252
if err != nil {
252-
if IsResourceNotFoundError(err) {
253+
if utils.IsResourceNotFoundError(err) {
253254
d.SetId("")
254255
return nil
255256
}
@@ -404,7 +405,7 @@ func resourceCategoryUpdate(ctx context.Context, d *schema.ResourceData, m any)
404405

405406
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
406407
_, err := client.Categories().WithId(d.Id()).Post(input).Execute(ctx)
407-
return processRemoteError(err)
408+
return utils.ProcessRemoteError(err)
408409
})
409410
if err != nil {
410411
// Workaround invalid state to be written, see
@@ -422,7 +423,7 @@ func resourceCategoryDelete(ctx context.Context, d *schema.ResourceData, m any)
422423
version := d.Get("version").(int)
423424
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
424425
_, err := client.Categories().WithId(d.Id()).Delete().Version(version).Execute(ctx)
425-
return processRemoteError(err)
426+
return utils.ProcessRemoteError(err)
426427
})
427428
if err != nil {
428429
return diag.FromErr(err)

commercetools/resource_channel.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1010
"github.com/labd/commercetools-go-sdk/platform"
11+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1112
)
1213

1314
func resourceChannel() *schema.Resource {
@@ -107,7 +108,7 @@ func resourceChannelCreate(ctx context.Context, d *schema.ResourceData, m any) d
107108
var err error
108109

109110
channel, err = client.Channels().Post(draft).Execute(ctx)
110-
return processRemoteError(err)
111+
return utils.ProcessRemoteError(err)
111112
})
112113

113114
if err != nil {
@@ -124,7 +125,7 @@ func resourceChannelRead(ctx context.Context, d *schema.ResourceData, m any) dia
124125
channel, err := client.Channels().WithId(d.Id()).Get().Execute(ctx)
125126

126127
if err != nil {
127-
if IsResourceNotFoundError(err) {
128+
if utils.IsResourceNotFoundError(err) {
128129
d.SetId("")
129130
return nil
130131
}
@@ -212,7 +213,7 @@ func resourceChannelUpdate(ctx context.Context, d *schema.ResourceData, m any) d
212213

213214
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
214215
_, err := client.Channels().WithId(d.Id()).Post(input).Execute(ctx)
215-
return processRemoteError(err)
216+
return utils.ProcessRemoteError(err)
216217
})
217218
if err != nil {
218219
// Workaround invalid state to be written, see
@@ -229,7 +230,7 @@ func resourceChannelDelete(ctx context.Context, d *schema.ResourceData, m any) d
229230
version := d.Get("version").(int)
230231
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
231232
_, err := client.Channels().WithId(d.Id()).Delete().Version(version).Execute(ctx)
232-
return processRemoteError(err)
233+
return utils.ProcessRemoteError(err)
233234
})
234235
if err != nil {
235236
return diag.FromErr(err)

commercetools/resource_custom_object.go

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1111
"github.com/labd/commercetools-go-sdk/platform"
12+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1213
)
1314

1415
func resourceCustomObject() *schema.Resource {
@@ -62,7 +63,7 @@ func resourceCustomObjectCreate(ctx context.Context, d *schema.ResourceData, m a
6263
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
6364
var err error
6465
customObject, err = client.CustomObjects().Post(draft).Execute(ctx)
65-
return processRemoteError(err)
66+
return utils.ProcessRemoteError(err)
6667
})
6768
if err != nil {
6869
return diag.FromErr(err)
@@ -80,7 +81,7 @@ func resourceCustomObjectRead(ctx context.Context, d *schema.ResourceData, m any
8081
client := getClient(m)
8182
customObject, err := client.CustomObjects().WithContainerAndKey(container, key).Get().Execute(ctx)
8283
if err != nil {
83-
if IsResourceNotFoundError(err) {
84+
if utils.IsResourceNotFoundError(err) {
8485
d.SetId("")
8586
return nil
8687
}
@@ -114,7 +115,7 @@ func resourceCustomObjectUpdate(ctx context.Context, d *schema.ResourceData, m a
114115
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
115116
var err error
116117
customObject, err = client.CustomObjects().Post(draft).Execute(ctx)
117-
return processRemoteError(err)
118+
return utils.ProcessRemoteError(err)
118119
})
119120
if err != nil {
120121
// Workaround invalid state to be written, see
@@ -133,7 +134,7 @@ func resourceCustomObjectUpdate(ctx context.Context, d *schema.ResourceData, m a
133134
Version(originalVersion.(int)).
134135
DataErasure(true).
135136
Execute(ctx)
136-
return processRemoteError(err)
137+
return utils.ProcessRemoteError(err)
137138
})
138139
if err != nil {
139140
// Workaround invalid state to be written, see
@@ -155,7 +156,7 @@ func resourceCustomObjectUpdate(ctx context.Context, d *schema.ResourceData, m a
155156
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
156157
var err error
157158
customObject, err = client.CustomObjects().Post(draft).Execute(ctx)
158-
return processRemoteError(err)
159+
return utils.ProcessRemoteError(err)
159160
})
160161
if err != nil {
161162
// Workaround invalid state to be written, see
@@ -201,7 +202,7 @@ func resourceCustomObjectDelete(ctx context.Context, d *schema.ResourceData, m a
201202
Version(customObject.Version).
202203
DataErasure(false).
203204
Execute(ctx)
204-
return processRemoteError(err)
205+
return utils.ProcessRemoteError(err)
205206
})
206207
if err != nil {
207208
var diags diag.Diagnostics

commercetools/resource_customer_group.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1010
"github.com/labd/commercetools-go-sdk/platform"
11+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1112
)
1213

1314
func resourceCustomerGroup() *schema.Resource {
@@ -67,7 +68,7 @@ func resourceCustomerGroupCreate(ctx context.Context, d *schema.ResourceData, m
6768
err = resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
6869
var err error
6970
customerGroup, err = client.CustomerGroups().Post(draft).Execute(ctx)
70-
return processRemoteError(err)
71+
return utils.ProcessRemoteError(err)
7172
})
7273

7374
if err != nil {
@@ -88,7 +89,7 @@ func resourceCustomerGroupRead(ctx context.Context, d *schema.ResourceData, m an
8889
client := getClient(m)
8990
customerGroup, err := client.CustomerGroups().WithId(d.Id()).Get().Execute(ctx)
9091
if err != nil {
91-
if IsResourceNotFoundError(err) {
92+
if utils.IsResourceNotFoundError(err) {
9293
d.SetId("")
9394
return nil
9495
}
@@ -141,7 +142,7 @@ func resourceCustomerGroupUpdate(ctx context.Context, d *schema.ResourceData, m
141142

142143
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
143144
_, err := client.CustomerGroups().WithId(d.Id()).Post(input).Execute(ctx)
144-
return processRemoteError(err)
145+
return utils.ProcessRemoteError(err)
145146
})
146147
if err != nil {
147148
// Workaround invalid state to be written, see
@@ -158,7 +159,7 @@ func resourceCustomerGroupDelete(ctx context.Context, d *schema.ResourceData, m
158159
version := d.Get("version").(int)
159160
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
160161
_, err := client.CustomerGroups().WithId(d.Id()).Delete().Version(version).Execute(ctx)
161-
return processRemoteError(err)
162+
return utils.ProcessRemoteError(err)
162163
})
163164
return diag.FromErr(err)
164165
}

commercetools/resource_discount_code.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1010
"github.com/labd/commercetools-go-sdk/platform"
11+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1112
)
1213

1314
func resourceDiscountCode() *schema.Resource {
@@ -141,7 +142,7 @@ func resourceDiscountCodeCreate(ctx context.Context, d *schema.ResourceData, m a
141142
err = resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
142143
var err error
143144
discountCode, err = client.DiscountCodes().Post(draft).Execute(ctx)
144-
return processRemoteError(err)
145+
return utils.ProcessRemoteError(err)
145146
})
146147

147148
if err != nil {
@@ -158,7 +159,7 @@ func resourceDiscountCodeRead(ctx context.Context, d *schema.ResourceData, m any
158159
client := getClient(m)
159160
discountCode, err := client.DiscountCodes().WithId(d.Id()).Get().Execute(ctx)
160161
if err != nil {
161-
if IsResourceNotFoundError(err) {
162+
if utils.IsResourceNotFoundError(err) {
162163
d.SetId("")
163164
return nil
164165
}
@@ -295,7 +296,7 @@ func resourceDiscountCodeUpdate(ctx context.Context, d *schema.ResourceData, m a
295296

296297
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
297298
_, err := client.DiscountCodes().WithId(d.Id()).Post(input).Execute(ctx)
298-
return processRemoteError(err)
299+
return utils.ProcessRemoteError(err)
299300
})
300301
if err != nil {
301302
// Workaround invalid state to be written, see
@@ -313,7 +314,7 @@ func resourceDiscountCodeDelete(ctx context.Context, d *schema.ResourceData, m a
313314

314315
err := resource.RetryContext(ctx, 20*time.Second, func() *resource.RetryError {
315316
_, err := client.DiscountCodes().WithId(d.Id()).Delete().Version(version).DataErasure(true).Execute(ctx)
316-
return processRemoteError(err)
317+
return utils.ProcessRemoteError(err)
317318
})
318319
return diag.FromErr(err)
319320
}

commercetools/resource_product_discount.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
1010
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1111
"github.com/labd/commercetools-go-sdk/platform"
12+
"github.com/labd/terraform-provider-commercetools/commercetools/utils"
1213
)
1314

1415
func resourceProductDiscount() *schema.Resource {
@@ -166,7 +167,7 @@ func resourceProductDiscountCreate(ctx context.Context, d *schema.ResourceData,
166167
err = resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
167168
var err error
168169
productDiscount, err = client.ProductDiscounts().Post(draft).Execute(ctx)
169-
return processRemoteError(err)
170+
return utils.ProcessRemoteError(err)
170171
})
171172

172173
if err != nil {
@@ -184,7 +185,7 @@ func resourceProductDiscountRead(ctx context.Context, d *schema.ResourceData, m
184185

185186
productDiscount, err := client.ProductDiscounts().WithId(d.Id()).Get().Execute(ctx)
186187
if err != nil {
187-
if IsResourceNotFoundError(err) {
188+
if utils.IsResourceNotFoundError(err) {
188189
d.SetId("")
189190
return nil
190191
}
@@ -303,7 +304,7 @@ func resourceProductDiscountUpdate(ctx context.Context, d *schema.ResourceData,
303304

304305
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
305306
_, err := client.ProductDiscounts().WithId(d.Id()).Post(input).Execute(ctx)
306-
return processRemoteError(err)
307+
return utils.ProcessRemoteError(err)
307308
})
308309

309310
if err != nil {
@@ -322,7 +323,7 @@ func resourceProductDiscountDelete(ctx context.Context, d *schema.ResourceData,
322323

323324
err := resource.RetryContext(ctx, 1*time.Minute, func() *resource.RetryError {
324325
_, err := client.ProductDiscounts().WithId(d.Id()).Delete().Version(version).Execute(ctx)
325-
return processRemoteError(err)
326+
return utils.ProcessRemoteError(err)
326327
})
327328
if err != nil {
328329
return diag.FromErr(err)

0 commit comments

Comments
 (0)