@revenexx/sdk 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/cjs/sdk.js +13491 -6163
  2. package/dist/cjs/sdk.js.map +1 -1
  3. package/dist/esm/sdk.js +13464 -6162
  4. package/dist/esm/sdk.js.map +1 -1
  5. package/dist/iife/sdk.js +13491 -6163
  6. package/package.json +1 -1
  7. package/src/client.ts +1 -1
  8. package/src/enums/address-type.ts +4 -0
  9. package/src/enums/cart-export-format.ts +4 -0
  10. package/src/enums/cart-io-apply-mode.ts +5 -0
  11. package/src/enums/cart-io-direction.ts +4 -0
  12. package/src/enums/cart-io-entity.ts +4 -0
  13. package/src/enums/cart-io-format.ts +4 -0
  14. package/src/enums/cart-item-type.ts +5 -0
  15. package/src/enums/channel-status.ts +4 -0
  16. package/src/enums/channel-type.ts +7 -0
  17. package/src/enums/contact-role.ts +6 -0
  18. package/src/enums/contact-status.ts +5 -0
  19. package/src/enums/location-type.ts +6 -0
  20. package/src/enums/market-status.ts +4 -0
  21. package/src/enums/order-comment-visibility.ts +4 -0
  22. package/src/enums/order-item-type.ts +5 -0
  23. package/src/enums/order-list-kind.ts +4 -0
  24. package/src/enums/order-payment-status.ts +9 -0
  25. package/src/enums/organization-status.ts +4 -0
  26. package/src/enums/page-status.ts +5 -0
  27. package/src/enums/payment-fee-type.ts +5 -0
  28. package/src/enums/payment-method-kind.ts +4 -0
  29. package/src/enums/price-entry-type.ts +4 -0
  30. package/src/enums/price-list-status.ts +4 -0
  31. package/src/enums/shipping-method-matrix-basis.ts +6 -0
  32. package/src/enums/shipping-method-pricing-type.ts +5 -0
  33. package/src/enums/store-asset-request-visibility.ts +4 -0
  34. package/src/enums/visibility.ts +4 -0
  35. package/src/index.ts +28 -2
  36. package/src/models.ts +5309 -1009
  37. package/src/services/apps.ts +154 -154
  38. package/src/services/avatars.ts +57 -57
  39. package/src/services/carts.ts +739 -104
  40. package/src/services/channels.ts +147 -19
  41. package/src/services/customers.ts +809 -69
  42. package/src/services/greetings.ts +18 -18
  43. package/src/services/inventories.ts +620 -65
  44. package/src/services/locale.ts +16 -16
  45. package/src/services/markets.ts +690 -75
  46. package/src/services/messaging.ts +273 -273
  47. package/src/services/orderlists.ts +889 -0
  48. package/src/services/orders.ts +692 -137
  49. package/src/services/pages.ts +661 -155
  50. package/src/services/payments.ts +591 -64
  51. package/src/services/prices.ts +585 -59
  52. package/src/services/products.ts +1908 -272
  53. package/src/services/search.ts +24 -24
  54. package/src/services/shipping.ts +451 -59
  55. package/src/services/sites.ts +116 -116
  56. package/src/services/storage.ts +933 -599
  57. package/src/services/tokens.ts +14 -14
  58. package/types/enums/address-type.d.ts +4 -0
  59. package/types/enums/cart-export-format.d.ts +4 -0
  60. package/types/enums/cart-io-apply-mode.d.ts +5 -0
  61. package/types/enums/cart-io-direction.d.ts +4 -0
  62. package/types/enums/cart-io-entity.d.ts +4 -0
  63. package/types/enums/cart-io-format.d.ts +4 -0
  64. package/types/enums/cart-item-type.d.ts +5 -0
  65. package/types/enums/channel-status.d.ts +4 -0
  66. package/types/enums/channel-type.d.ts +7 -0
  67. package/types/enums/contact-role.d.ts +6 -0
  68. package/types/enums/contact-status.d.ts +5 -0
  69. package/types/enums/location-type.d.ts +6 -0
  70. package/types/enums/market-status.d.ts +4 -0
  71. package/types/enums/order-comment-visibility.d.ts +4 -0
  72. package/types/enums/order-item-type.d.ts +5 -0
  73. package/types/enums/order-list-kind.d.ts +4 -0
  74. package/types/enums/order-payment-status.d.ts +9 -0
  75. package/types/enums/organization-status.d.ts +4 -0
  76. package/types/enums/page-status.d.ts +5 -0
  77. package/types/enums/payment-fee-type.d.ts +5 -0
  78. package/types/enums/payment-method-kind.d.ts +4 -0
  79. package/types/enums/price-entry-type.d.ts +4 -0
  80. package/types/enums/price-list-status.d.ts +4 -0
  81. package/types/enums/shipping-method-matrix-basis.d.ts +6 -0
  82. package/types/enums/shipping-method-pricing-type.d.ts +5 -0
  83. package/types/enums/store-asset-request-visibility.d.ts +4 -0
  84. package/types/enums/visibility.d.ts +4 -0
  85. package/types/index.d.ts +28 -2
  86. package/types/models.d.ts +5170 -1010
  87. package/types/services/carts.d.ts +271 -12
  88. package/types/services/channels.d.ts +54 -2
  89. package/types/services/customers.d.ts +298 -12
  90. package/types/services/inventories.d.ts +225 -11
  91. package/types/services/markets.d.ts +235 -6
  92. package/types/services/orderlists.d.ts +324 -0
  93. package/types/services/orders.d.ts +238 -16
  94. package/types/services/pages.d.ts +190 -6
  95. package/types/services/payments.d.ts +221 -7
  96. package/types/services/prices.d.ts +218 -6
  97. package/types/services/products.d.ts +672 -32
  98. package/types/services/shipping.d.ts +168 -6
  99. package/types/services/storage.d.ts +353 -285
@@ -18,7 +18,7 @@ export class Products {
18
18
  productsList(): Promise<{}> {
19
19
 
20
20
  const apiPath = '/v1/products';
21
- const payload: Payload = {};
21
+ const apiPayload: Payload = {};
22
22
  const uri = new URL(this.client.config.endpoint + apiPath);
23
23
 
24
24
  const apiHeaders: { [header: string]: string } = {
@@ -28,19 +28,120 @@ export class Products {
28
28
  'get',
29
29
  uri,
30
30
  apiHeaders,
31
- payload
31
+ apiPayload
32
32
  );
33
33
  }
34
34
 
35
35
  /**
36
36
  *
37
+ * @param {string} params.sku -
38
+ * @param {object} params.attributeValues -
39
+ * @param {object} params.completeness -
40
+ * @param {string} params.deletedAt -
41
+ * @param {boolean} params.enabled -
42
+ * @param {string} params.familyId -
43
+ * @param {string} params.familyVariantId -
44
+ * @param {string} params.kind -
45
+ * @param {string} params.parentId -
46
+ * @param {object} params.quantifiedAssociations -
47
+ * @param {string} params.taxClass -
37
48
  * @throws {RevenexxException}
38
49
  * @returns {Promise<Models.Products>}
39
50
  */
40
- productsCreate(): Promise<Models.Products> {
51
+ productsCreate(params: { sku: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, taxClass?: string }): Promise<Models.Products>;
52
+ /**
53
+ *
54
+ * @param {string} sku -
55
+ * @param {object} attributeValues -
56
+ * @param {object} completeness -
57
+ * @param {string} deletedAt -
58
+ * @param {boolean} enabled -
59
+ * @param {string} familyId -
60
+ * @param {string} familyVariantId -
61
+ * @param {string} kind -
62
+ * @param {string} parentId -
63
+ * @param {object} quantifiedAssociations -
64
+ * @param {string} taxClass -
65
+ * @throws {RevenexxException}
66
+ * @returns {Promise<Models.Products>}
67
+ * @deprecated Use the object parameter style method for a better developer experience.
68
+ */
69
+ productsCreate(sku: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, taxClass?: string): Promise<Models.Products>;
70
+ productsCreate(
71
+ paramsOrFirst: { sku: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, taxClass?: string } | string,
72
+ ...rest: [(object)?, (object)?, (string)?, (boolean)?, (string)?, (string)?, (string)?, (string)?, (object)?, (string)?]
73
+ ): Promise<Models.Products> {
74
+ let params: { sku: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, taxClass?: string };
75
+
76
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
77
+ params = (paramsOrFirst || {}) as { sku: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, taxClass?: string };
78
+ } else {
79
+ params = {
80
+ sku: paramsOrFirst as string,
81
+ attributeValues: rest[0] as object,
82
+ completeness: rest[1] as object,
83
+ deletedAt: rest[2] as string,
84
+ enabled: rest[3] as boolean,
85
+ familyId: rest[4] as string,
86
+ familyVariantId: rest[5] as string,
87
+ kind: rest[6] as string,
88
+ parentId: rest[7] as string,
89
+ quantifiedAssociations: rest[8] as object,
90
+ taxClass: rest[9] as string
91
+ };
92
+ }
93
+
94
+ const sku = params.sku;
95
+ const attributeValues = params.attributeValues;
96
+ const completeness = params.completeness;
97
+ const deletedAt = params.deletedAt;
98
+ const enabled = params.enabled;
99
+ const familyId = params.familyId;
100
+ const familyVariantId = params.familyVariantId;
101
+ const kind = params.kind;
102
+ const parentId = params.parentId;
103
+ const quantifiedAssociations = params.quantifiedAssociations;
104
+ const taxClass = params.taxClass;
105
+
106
+ if (typeof sku === 'undefined') {
107
+ throw new RevenexxException('Missing required parameter: "sku"');
108
+ }
41
109
 
42
110
  const apiPath = '/v1/products';
43
- const payload: Payload = {};
111
+ const apiPayload: Payload = {};
112
+ if (typeof attributeValues !== 'undefined') {
113
+ apiPayload['attribute_values'] = attributeValues;
114
+ }
115
+ if (typeof completeness !== 'undefined') {
116
+ apiPayload['completeness'] = completeness;
117
+ }
118
+ if (typeof deletedAt !== 'undefined') {
119
+ apiPayload['deleted_at'] = deletedAt;
120
+ }
121
+ if (typeof enabled !== 'undefined') {
122
+ apiPayload['enabled'] = enabled;
123
+ }
124
+ if (typeof familyId !== 'undefined') {
125
+ apiPayload['family_id'] = familyId;
126
+ }
127
+ if (typeof familyVariantId !== 'undefined') {
128
+ apiPayload['family_variant_id'] = familyVariantId;
129
+ }
130
+ if (typeof kind !== 'undefined') {
131
+ apiPayload['kind'] = kind;
132
+ }
133
+ if (typeof parentId !== 'undefined') {
134
+ apiPayload['parent_id'] = parentId;
135
+ }
136
+ if (typeof quantifiedAssociations !== 'undefined') {
137
+ apiPayload['quantified_associations'] = quantifiedAssociations;
138
+ }
139
+ if (typeof sku !== 'undefined') {
140
+ apiPayload['sku'] = sku;
141
+ }
142
+ if (typeof taxClass !== 'undefined') {
143
+ apiPayload['tax_class'] = taxClass;
144
+ }
44
145
  const uri = new URL(this.client.config.endpoint + apiPath);
45
146
 
46
147
  const apiHeaders: { [header: string]: string } = {
@@ -51,7 +152,7 @@ export class Products {
51
152
  'post',
52
153
  uri,
53
154
  apiHeaders,
54
- payload
155
+ apiPayload
55
156
  );
56
157
  }
57
158
 
@@ -63,7 +164,7 @@ export class Products {
63
164
  productsAssetFamiliesList(): Promise<{}> {
64
165
 
65
166
  const apiPath = '/v1/products/asset_families';
66
- const payload: Payload = {};
167
+ const apiPayload: Payload = {};
67
168
  const uri = new URL(this.client.config.endpoint + apiPath);
68
169
 
69
170
  const apiHeaders: { [header: string]: string } = {
@@ -73,19 +174,64 @@ export class Products {
73
174
  'get',
74
175
  uri,
75
176
  apiHeaders,
76
- payload
177
+ apiPayload
77
178
  );
78
179
  }
79
180
 
80
181
  /**
81
182
  *
183
+ * @param {string} params.code -
184
+ * @param {object} params.labels -
185
+ * @param {object} params.namingConvention -
82
186
  * @throws {RevenexxException}
83
187
  * @returns {Promise<Models.AssetFamilies>}
84
188
  */
85
- productsAssetFamiliesCreate(): Promise<Models.AssetFamilies> {
189
+ productsAssetFamiliesCreate(params: { code: string, labels?: object, namingConvention?: object }): Promise<Models.AssetFamilies>;
190
+ /**
191
+ *
192
+ * @param {string} code -
193
+ * @param {object} labels -
194
+ * @param {object} namingConvention -
195
+ * @throws {RevenexxException}
196
+ * @returns {Promise<Models.AssetFamilies>}
197
+ * @deprecated Use the object parameter style method for a better developer experience.
198
+ */
199
+ productsAssetFamiliesCreate(code: string, labels?: object, namingConvention?: object): Promise<Models.AssetFamilies>;
200
+ productsAssetFamiliesCreate(
201
+ paramsOrFirst: { code: string, labels?: object, namingConvention?: object } | string,
202
+ ...rest: [(object)?, (object)?]
203
+ ): Promise<Models.AssetFamilies> {
204
+ let params: { code: string, labels?: object, namingConvention?: object };
205
+
206
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
207
+ params = (paramsOrFirst || {}) as { code: string, labels?: object, namingConvention?: object };
208
+ } else {
209
+ params = {
210
+ code: paramsOrFirst as string,
211
+ labels: rest[0] as object,
212
+ namingConvention: rest[1] as object
213
+ };
214
+ }
215
+
216
+ const code = params.code;
217
+ const labels = params.labels;
218
+ const namingConvention = params.namingConvention;
219
+
220
+ if (typeof code === 'undefined') {
221
+ throw new RevenexxException('Missing required parameter: "code"');
222
+ }
86
223
 
87
224
  const apiPath = '/v1/products/asset_families';
88
- const payload: Payload = {};
225
+ const apiPayload: Payload = {};
226
+ if (typeof code !== 'undefined') {
227
+ apiPayload['code'] = code;
228
+ }
229
+ if (typeof labels !== 'undefined') {
230
+ apiPayload['labels'] = labels;
231
+ }
232
+ if (typeof namingConvention !== 'undefined') {
233
+ apiPayload['naming_convention'] = namingConvention;
234
+ }
89
235
  const uri = new URL(this.client.config.endpoint + apiPath);
90
236
 
91
237
  const apiHeaders: { [header: string]: string } = {
@@ -96,7 +242,7 @@ export class Products {
96
242
  'post',
97
243
  uri,
98
244
  apiHeaders,
99
- payload
245
+ apiPayload
100
246
  );
101
247
  }
102
248
 
@@ -135,7 +281,7 @@ export class Products {
135
281
  }
136
282
 
137
283
  const apiPath = '/v1/products/asset_families/{id}'.replace('{id}', id);
138
- const payload: Payload = {};
284
+ const apiPayload: Payload = {};
139
285
  const uri = new URL(this.client.config.endpoint + apiPath);
140
286
 
141
287
  const apiHeaders: { [header: string]: string } = {
@@ -145,7 +291,7 @@ export class Products {
145
291
  'delete',
146
292
  uri,
147
293
  apiHeaders,
148
- payload
294
+ apiPayload
149
295
  );
150
296
  }
151
297
 
@@ -184,7 +330,7 @@ export class Products {
184
330
  }
185
331
 
186
332
  const apiPath = '/v1/products/asset_families/{id}'.replace('{id}', id);
187
- const payload: Payload = {};
333
+ const apiPayload: Payload = {};
188
334
  const uri = new URL(this.client.config.endpoint + apiPath);
189
335
 
190
336
  const apiHeaders: { [header: string]: string } = {
@@ -194,46 +340,68 @@ export class Products {
194
340
  'get',
195
341
  uri,
196
342
  apiHeaders,
197
- payload
343
+ apiPayload
198
344
  );
199
345
  }
200
346
 
201
347
  /**
202
348
  *
203
349
  * @param {string} params.id -
350
+ * @param {string} params.code -
351
+ * @param {object} params.labels -
352
+ * @param {object} params.namingConvention -
204
353
  * @throws {RevenexxException}
205
354
  * @returns {Promise<Models.AssetFamilies>}
206
355
  */
207
- productsAssetFamiliesUpdate(params: { id: string }): Promise<Models.AssetFamilies>;
356
+ productsAssetFamiliesUpdate(params: { id: string, code?: string, labels?: object, namingConvention?: object }): Promise<Models.AssetFamilies>;
208
357
  /**
209
358
  *
210
359
  * @param {string} id -
360
+ * @param {string} code -
361
+ * @param {object} labels -
362
+ * @param {object} namingConvention -
211
363
  * @throws {RevenexxException}
212
364
  * @returns {Promise<Models.AssetFamilies>}
213
365
  * @deprecated Use the object parameter style method for a better developer experience.
214
366
  */
215
- productsAssetFamiliesUpdate(id: string): Promise<Models.AssetFamilies>;
367
+ productsAssetFamiliesUpdate(id: string, code?: string, labels?: object, namingConvention?: object): Promise<Models.AssetFamilies>;
216
368
  productsAssetFamiliesUpdate(
217
- paramsOrFirst: { id: string } | string
369
+ paramsOrFirst: { id: string, code?: string, labels?: object, namingConvention?: object } | string,
370
+ ...rest: [(string)?, (object)?, (object)?]
218
371
  ): Promise<Models.AssetFamilies> {
219
- let params: { id: string };
372
+ let params: { id: string, code?: string, labels?: object, namingConvention?: object };
220
373
 
221
374
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
222
- params = (paramsOrFirst || {}) as { id: string };
375
+ params = (paramsOrFirst || {}) as { id: string, code?: string, labels?: object, namingConvention?: object };
223
376
  } else {
224
377
  params = {
225
- id: paramsOrFirst as string
378
+ id: paramsOrFirst as string,
379
+ code: rest[0] as string,
380
+ labels: rest[1] as object,
381
+ namingConvention: rest[2] as object
226
382
  };
227
383
  }
228
384
 
229
385
  const id = params.id;
386
+ const code = params.code;
387
+ const labels = params.labels;
388
+ const namingConvention = params.namingConvention;
230
389
 
231
390
  if (typeof id === 'undefined') {
232
391
  throw new RevenexxException('Missing required parameter: "id"');
233
392
  }
234
393
 
235
394
  const apiPath = '/v1/products/asset_families/{id}'.replace('{id}', id);
236
- const payload: Payload = {};
395
+ const apiPayload: Payload = {};
396
+ if (typeof code !== 'undefined') {
397
+ apiPayload['code'] = code;
398
+ }
399
+ if (typeof labels !== 'undefined') {
400
+ apiPayload['labels'] = labels;
401
+ }
402
+ if (typeof namingConvention !== 'undefined') {
403
+ apiPayload['naming_convention'] = namingConvention;
404
+ }
237
405
  const uri = new URL(this.client.config.endpoint + apiPath);
238
406
 
239
407
  const apiHeaders: { [header: string]: string } = {
@@ -244,7 +412,7 @@ export class Products {
244
412
  'put',
245
413
  uri,
246
414
  apiHeaders,
247
- payload
415
+ apiPayload
248
416
  );
249
417
  }
250
418
 
@@ -256,7 +424,7 @@ export class Products {
256
424
  productsAssetsList(): Promise<{}> {
257
425
 
258
426
  const apiPath = '/v1/products/assets';
259
- const payload: Payload = {};
427
+ const apiPayload: Payload = {};
260
428
  const uri = new URL(this.client.config.endpoint + apiPath);
261
429
 
262
430
  const apiHeaders: { [header: string]: string } = {
@@ -266,19 +434,74 @@ export class Products {
266
434
  'get',
267
435
  uri,
268
436
  apiHeaders,
269
- payload
437
+ apiPayload
270
438
  );
271
439
  }
272
440
 
273
441
  /**
274
442
  *
443
+ * @param {string} params.assetFamilyId -
444
+ * @param {string} params.code -
445
+ * @param {object} params.attributeValues -
446
+ * @param {string} params.mediaUuid -
275
447
  * @throws {RevenexxException}
276
448
  * @returns {Promise<Models.Assets>}
277
449
  */
278
- productsAssetsCreate(): Promise<Models.Assets> {
450
+ productsAssetsCreate(params: { assetFamilyId: string, code: string, attributeValues?: object, mediaUuid?: string }): Promise<Models.Assets>;
451
+ /**
452
+ *
453
+ * @param {string} assetFamilyId -
454
+ * @param {string} code -
455
+ * @param {object} attributeValues -
456
+ * @param {string} mediaUuid -
457
+ * @throws {RevenexxException}
458
+ * @returns {Promise<Models.Assets>}
459
+ * @deprecated Use the object parameter style method for a better developer experience.
460
+ */
461
+ productsAssetsCreate(assetFamilyId: string, code: string, attributeValues?: object, mediaUuid?: string): Promise<Models.Assets>;
462
+ productsAssetsCreate(
463
+ paramsOrFirst: { assetFamilyId: string, code: string, attributeValues?: object, mediaUuid?: string } | string,
464
+ ...rest: [(string)?, (object)?, (string)?]
465
+ ): Promise<Models.Assets> {
466
+ let params: { assetFamilyId: string, code: string, attributeValues?: object, mediaUuid?: string };
467
+
468
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
469
+ params = (paramsOrFirst || {}) as { assetFamilyId: string, code: string, attributeValues?: object, mediaUuid?: string };
470
+ } else {
471
+ params = {
472
+ assetFamilyId: paramsOrFirst as string,
473
+ code: rest[0] as string,
474
+ attributeValues: rest[1] as object,
475
+ mediaUuid: rest[2] as string
476
+ };
477
+ }
478
+
479
+ const assetFamilyId = params.assetFamilyId;
480
+ const code = params.code;
481
+ const attributeValues = params.attributeValues;
482
+ const mediaUuid = params.mediaUuid;
483
+
484
+ if (typeof assetFamilyId === 'undefined') {
485
+ throw new RevenexxException('Missing required parameter: "assetFamilyId"');
486
+ }
487
+ if (typeof code === 'undefined') {
488
+ throw new RevenexxException('Missing required parameter: "code"');
489
+ }
279
490
 
280
491
  const apiPath = '/v1/products/assets';
281
- const payload: Payload = {};
492
+ const apiPayload: Payload = {};
493
+ if (typeof assetFamilyId !== 'undefined') {
494
+ apiPayload['asset_family_id'] = assetFamilyId;
495
+ }
496
+ if (typeof attributeValues !== 'undefined') {
497
+ apiPayload['attribute_values'] = attributeValues;
498
+ }
499
+ if (typeof code !== 'undefined') {
500
+ apiPayload['code'] = code;
501
+ }
502
+ if (typeof mediaUuid !== 'undefined') {
503
+ apiPayload['media_uuid'] = mediaUuid;
504
+ }
282
505
  const uri = new URL(this.client.config.endpoint + apiPath);
283
506
 
284
507
  const apiHeaders: { [header: string]: string } = {
@@ -289,7 +512,7 @@ export class Products {
289
512
  'post',
290
513
  uri,
291
514
  apiHeaders,
292
- payload
515
+ apiPayload
293
516
  );
294
517
  }
295
518
 
@@ -328,7 +551,7 @@ export class Products {
328
551
  }
329
552
 
330
553
  const apiPath = '/v1/products/assets/{id}'.replace('{id}', id);
331
- const payload: Payload = {};
554
+ const apiPayload: Payload = {};
332
555
  const uri = new URL(this.client.config.endpoint + apiPath);
333
556
 
334
557
  const apiHeaders: { [header: string]: string } = {
@@ -338,7 +561,7 @@ export class Products {
338
561
  'delete',
339
562
  uri,
340
563
  apiHeaders,
341
- payload
564
+ apiPayload
342
565
  );
343
566
  }
344
567
 
@@ -377,7 +600,7 @@ export class Products {
377
600
  }
378
601
 
379
602
  const apiPath = '/v1/products/assets/{id}'.replace('{id}', id);
380
- const payload: Payload = {};
603
+ const apiPayload: Payload = {};
381
604
  const uri = new URL(this.client.config.endpoint + apiPath);
382
605
 
383
606
  const apiHeaders: { [header: string]: string } = {
@@ -387,46 +610,75 @@ export class Products {
387
610
  'get',
388
611
  uri,
389
612
  apiHeaders,
390
- payload
613
+ apiPayload
391
614
  );
392
615
  }
393
616
 
394
617
  /**
395
618
  *
396
619
  * @param {string} params.id -
620
+ * @param {string} params.assetFamilyId -
621
+ * @param {object} params.attributeValues -
622
+ * @param {string} params.code -
623
+ * @param {string} params.mediaUuid -
397
624
  * @throws {RevenexxException}
398
625
  * @returns {Promise<Models.Assets>}
399
626
  */
400
- productsAssetsUpdate(params: { id: string }): Promise<Models.Assets>;
627
+ productsAssetsUpdate(params: { id: string, assetFamilyId?: string, attributeValues?: object, code?: string, mediaUuid?: string }): Promise<Models.Assets>;
401
628
  /**
402
629
  *
403
630
  * @param {string} id -
631
+ * @param {string} assetFamilyId -
632
+ * @param {object} attributeValues -
633
+ * @param {string} code -
634
+ * @param {string} mediaUuid -
404
635
  * @throws {RevenexxException}
405
636
  * @returns {Promise<Models.Assets>}
406
637
  * @deprecated Use the object parameter style method for a better developer experience.
407
638
  */
408
- productsAssetsUpdate(id: string): Promise<Models.Assets>;
639
+ productsAssetsUpdate(id: string, assetFamilyId?: string, attributeValues?: object, code?: string, mediaUuid?: string): Promise<Models.Assets>;
409
640
  productsAssetsUpdate(
410
- paramsOrFirst: { id: string } | string
641
+ paramsOrFirst: { id: string, assetFamilyId?: string, attributeValues?: object, code?: string, mediaUuid?: string } | string,
642
+ ...rest: [(string)?, (object)?, (string)?, (string)?]
411
643
  ): Promise<Models.Assets> {
412
- let params: { id: string };
644
+ let params: { id: string, assetFamilyId?: string, attributeValues?: object, code?: string, mediaUuid?: string };
413
645
 
414
646
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
415
- params = (paramsOrFirst || {}) as { id: string };
647
+ params = (paramsOrFirst || {}) as { id: string, assetFamilyId?: string, attributeValues?: object, code?: string, mediaUuid?: string };
416
648
  } else {
417
649
  params = {
418
- id: paramsOrFirst as string
650
+ id: paramsOrFirst as string,
651
+ assetFamilyId: rest[0] as string,
652
+ attributeValues: rest[1] as object,
653
+ code: rest[2] as string,
654
+ mediaUuid: rest[3] as string
419
655
  };
420
656
  }
421
657
 
422
658
  const id = params.id;
659
+ const assetFamilyId = params.assetFamilyId;
660
+ const attributeValues = params.attributeValues;
661
+ const code = params.code;
662
+ const mediaUuid = params.mediaUuid;
423
663
 
424
664
  if (typeof id === 'undefined') {
425
665
  throw new RevenexxException('Missing required parameter: "id"');
426
666
  }
427
667
 
428
668
  const apiPath = '/v1/products/assets/{id}'.replace('{id}', id);
429
- const payload: Payload = {};
669
+ const apiPayload: Payload = {};
670
+ if (typeof assetFamilyId !== 'undefined') {
671
+ apiPayload['asset_family_id'] = assetFamilyId;
672
+ }
673
+ if (typeof attributeValues !== 'undefined') {
674
+ apiPayload['attribute_values'] = attributeValues;
675
+ }
676
+ if (typeof code !== 'undefined') {
677
+ apiPayload['code'] = code;
678
+ }
679
+ if (typeof mediaUuid !== 'undefined') {
680
+ apiPayload['media_uuid'] = mediaUuid;
681
+ }
430
682
  const uri = new URL(this.client.config.endpoint + apiPath);
431
683
 
432
684
  const apiHeaders: { [header: string]: string } = {
@@ -437,7 +689,7 @@ export class Products {
437
689
  'put',
438
690
  uri,
439
691
  apiHeaders,
440
- payload
692
+ apiPayload
441
693
  );
442
694
  }
443
695
 
@@ -449,7 +701,7 @@ export class Products {
449
701
  productsAssociationTypesList(): Promise<{}> {
450
702
 
451
703
  const apiPath = '/v1/products/association_types';
452
- const payload: Payload = {};
704
+ const apiPayload: Payload = {};
453
705
  const uri = new URL(this.client.config.endpoint + apiPath);
454
706
 
455
707
  const apiHeaders: { [header: string]: string } = {
@@ -459,19 +711,71 @@ export class Products {
459
711
  'get',
460
712
  uri,
461
713
  apiHeaders,
462
- payload
714
+ apiPayload
463
715
  );
464
716
  }
465
717
 
466
718
  /**
467
719
  *
720
+ * @param {string} params.code -
721
+ * @param {boolean} params.isQuantified -
722
+ * @param {boolean} params.isTwoWay -
723
+ * @param {object} params.labels -
724
+ * @throws {RevenexxException}
725
+ * @returns {Promise<Models.AssociationTypes>}
726
+ */
727
+ productsAssociationTypesCreate(params: { code: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object }): Promise<Models.AssociationTypes>;
728
+ /**
729
+ *
730
+ * @param {string} code -
731
+ * @param {boolean} isQuantified -
732
+ * @param {boolean} isTwoWay -
733
+ * @param {object} labels -
468
734
  * @throws {RevenexxException}
469
735
  * @returns {Promise<Models.AssociationTypes>}
736
+ * @deprecated Use the object parameter style method for a better developer experience.
470
737
  */
471
- productsAssociationTypesCreate(): Promise<Models.AssociationTypes> {
738
+ productsAssociationTypesCreate(code: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object): Promise<Models.AssociationTypes>;
739
+ productsAssociationTypesCreate(
740
+ paramsOrFirst: { code: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object } | string,
741
+ ...rest: [(boolean)?, (boolean)?, (object)?]
742
+ ): Promise<Models.AssociationTypes> {
743
+ let params: { code: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object };
744
+
745
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
746
+ params = (paramsOrFirst || {}) as { code: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object };
747
+ } else {
748
+ params = {
749
+ code: paramsOrFirst as string,
750
+ isQuantified: rest[0] as boolean,
751
+ isTwoWay: rest[1] as boolean,
752
+ labels: rest[2] as object
753
+ };
754
+ }
755
+
756
+ const code = params.code;
757
+ const isQuantified = params.isQuantified;
758
+ const isTwoWay = params.isTwoWay;
759
+ const labels = params.labels;
760
+
761
+ if (typeof code === 'undefined') {
762
+ throw new RevenexxException('Missing required parameter: "code"');
763
+ }
472
764
 
473
765
  const apiPath = '/v1/products/association_types';
474
- const payload: Payload = {};
766
+ const apiPayload: Payload = {};
767
+ if (typeof code !== 'undefined') {
768
+ apiPayload['code'] = code;
769
+ }
770
+ if (typeof isQuantified !== 'undefined') {
771
+ apiPayload['is_quantified'] = isQuantified;
772
+ }
773
+ if (typeof isTwoWay !== 'undefined') {
774
+ apiPayload['is_two_way'] = isTwoWay;
775
+ }
776
+ if (typeof labels !== 'undefined') {
777
+ apiPayload['labels'] = labels;
778
+ }
475
779
  const uri = new URL(this.client.config.endpoint + apiPath);
476
780
 
477
781
  const apiHeaders: { [header: string]: string } = {
@@ -482,7 +786,7 @@ export class Products {
482
786
  'post',
483
787
  uri,
484
788
  apiHeaders,
485
- payload
789
+ apiPayload
486
790
  );
487
791
  }
488
792
 
@@ -521,7 +825,7 @@ export class Products {
521
825
  }
522
826
 
523
827
  const apiPath = '/v1/products/association_types/{id}'.replace('{id}', id);
524
- const payload: Payload = {};
828
+ const apiPayload: Payload = {};
525
829
  const uri = new URL(this.client.config.endpoint + apiPath);
526
830
 
527
831
  const apiHeaders: { [header: string]: string } = {
@@ -531,7 +835,7 @@ export class Products {
531
835
  'delete',
532
836
  uri,
533
837
  apiHeaders,
534
- payload
838
+ apiPayload
535
839
  );
536
840
  }
537
841
 
@@ -570,7 +874,7 @@ export class Products {
570
874
  }
571
875
 
572
876
  const apiPath = '/v1/products/association_types/{id}'.replace('{id}', id);
573
- const payload: Payload = {};
877
+ const apiPayload: Payload = {};
574
878
  const uri = new URL(this.client.config.endpoint + apiPath);
575
879
 
576
880
  const apiHeaders: { [header: string]: string } = {
@@ -580,46 +884,75 @@ export class Products {
580
884
  'get',
581
885
  uri,
582
886
  apiHeaders,
583
- payload
887
+ apiPayload
584
888
  );
585
889
  }
586
890
 
587
891
  /**
588
892
  *
589
893
  * @param {string} params.id -
894
+ * @param {string} params.code -
895
+ * @param {boolean} params.isQuantified -
896
+ * @param {boolean} params.isTwoWay -
897
+ * @param {object} params.labels -
590
898
  * @throws {RevenexxException}
591
899
  * @returns {Promise<Models.AssociationTypes>}
592
900
  */
593
- productsAssociationTypesUpdate(params: { id: string }): Promise<Models.AssociationTypes>;
901
+ productsAssociationTypesUpdate(params: { id: string, code?: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object }): Promise<Models.AssociationTypes>;
594
902
  /**
595
903
  *
596
904
  * @param {string} id -
905
+ * @param {string} code -
906
+ * @param {boolean} isQuantified -
907
+ * @param {boolean} isTwoWay -
908
+ * @param {object} labels -
597
909
  * @throws {RevenexxException}
598
910
  * @returns {Promise<Models.AssociationTypes>}
599
911
  * @deprecated Use the object parameter style method for a better developer experience.
600
912
  */
601
- productsAssociationTypesUpdate(id: string): Promise<Models.AssociationTypes>;
913
+ productsAssociationTypesUpdate(id: string, code?: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object): Promise<Models.AssociationTypes>;
602
914
  productsAssociationTypesUpdate(
603
- paramsOrFirst: { id: string } | string
915
+ paramsOrFirst: { id: string, code?: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object } | string,
916
+ ...rest: [(string)?, (boolean)?, (boolean)?, (object)?]
604
917
  ): Promise<Models.AssociationTypes> {
605
- let params: { id: string };
918
+ let params: { id: string, code?: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object };
606
919
 
607
920
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
608
- params = (paramsOrFirst || {}) as { id: string };
921
+ params = (paramsOrFirst || {}) as { id: string, code?: string, isQuantified?: boolean, isTwoWay?: boolean, labels?: object };
609
922
  } else {
610
923
  params = {
611
- id: paramsOrFirst as string
924
+ id: paramsOrFirst as string,
925
+ code: rest[0] as string,
926
+ isQuantified: rest[1] as boolean,
927
+ isTwoWay: rest[2] as boolean,
928
+ labels: rest[3] as object
612
929
  };
613
930
  }
614
931
 
615
932
  const id = params.id;
933
+ const code = params.code;
934
+ const isQuantified = params.isQuantified;
935
+ const isTwoWay = params.isTwoWay;
936
+ const labels = params.labels;
616
937
 
617
938
  if (typeof id === 'undefined') {
618
939
  throw new RevenexxException('Missing required parameter: "id"');
619
940
  }
620
941
 
621
942
  const apiPath = '/v1/products/association_types/{id}'.replace('{id}', id);
622
- const payload: Payload = {};
943
+ const apiPayload: Payload = {};
944
+ if (typeof code !== 'undefined') {
945
+ apiPayload['code'] = code;
946
+ }
947
+ if (typeof isQuantified !== 'undefined') {
948
+ apiPayload['is_quantified'] = isQuantified;
949
+ }
950
+ if (typeof isTwoWay !== 'undefined') {
951
+ apiPayload['is_two_way'] = isTwoWay;
952
+ }
953
+ if (typeof labels !== 'undefined') {
954
+ apiPayload['labels'] = labels;
955
+ }
623
956
  const uri = new URL(this.client.config.endpoint + apiPath);
624
957
 
625
958
  const apiHeaders: { [header: string]: string } = {
@@ -630,7 +963,7 @@ export class Products {
630
963
  'put',
631
964
  uri,
632
965
  apiHeaders,
633
- payload
966
+ apiPayload
634
967
  );
635
968
  }
636
969
 
@@ -642,7 +975,7 @@ export class Products {
642
975
  productsAttributeGroupsList(): Promise<{}> {
643
976
 
644
977
  const apiPath = '/v1/products/attribute_groups';
645
- const payload: Payload = {};
978
+ const apiPayload: Payload = {};
646
979
  const uri = new URL(this.client.config.endpoint + apiPath);
647
980
 
648
981
  const apiHeaders: { [header: string]: string } = {
@@ -652,19 +985,64 @@ export class Products {
652
985
  'get',
653
986
  uri,
654
987
  apiHeaders,
655
- payload
988
+ apiPayload
656
989
  );
657
990
  }
658
991
 
659
992
  /**
660
993
  *
994
+ * @param {string} params.code -
995
+ * @param {object} params.labels -
996
+ * @param {number} params.position -
661
997
  * @throws {RevenexxException}
662
998
  * @returns {Promise<Models.AttributeGroups>}
663
999
  */
664
- productsAttributeGroupsCreate(): Promise<Models.AttributeGroups> {
1000
+ productsAttributeGroupsCreate(params: { code: string, labels?: object, position?: number }): Promise<Models.AttributeGroups>;
1001
+ /**
1002
+ *
1003
+ * @param {string} code -
1004
+ * @param {object} labels -
1005
+ * @param {number} position -
1006
+ * @throws {RevenexxException}
1007
+ * @returns {Promise<Models.AttributeGroups>}
1008
+ * @deprecated Use the object parameter style method for a better developer experience.
1009
+ */
1010
+ productsAttributeGroupsCreate(code: string, labels?: object, position?: number): Promise<Models.AttributeGroups>;
1011
+ productsAttributeGroupsCreate(
1012
+ paramsOrFirst: { code: string, labels?: object, position?: number } | string,
1013
+ ...rest: [(object)?, (number)?]
1014
+ ): Promise<Models.AttributeGroups> {
1015
+ let params: { code: string, labels?: object, position?: number };
1016
+
1017
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1018
+ params = (paramsOrFirst || {}) as { code: string, labels?: object, position?: number };
1019
+ } else {
1020
+ params = {
1021
+ code: paramsOrFirst as string,
1022
+ labels: rest[0] as object,
1023
+ position: rest[1] as number
1024
+ };
1025
+ }
1026
+
1027
+ const code = params.code;
1028
+ const labels = params.labels;
1029
+ const position = params.position;
1030
+
1031
+ if (typeof code === 'undefined') {
1032
+ throw new RevenexxException('Missing required parameter: "code"');
1033
+ }
665
1034
 
666
1035
  const apiPath = '/v1/products/attribute_groups';
667
- const payload: Payload = {};
1036
+ const apiPayload: Payload = {};
1037
+ if (typeof code !== 'undefined') {
1038
+ apiPayload['code'] = code;
1039
+ }
1040
+ if (typeof labels !== 'undefined') {
1041
+ apiPayload['labels'] = labels;
1042
+ }
1043
+ if (typeof position !== 'undefined') {
1044
+ apiPayload['position'] = position;
1045
+ }
668
1046
  const uri = new URL(this.client.config.endpoint + apiPath);
669
1047
 
670
1048
  const apiHeaders: { [header: string]: string } = {
@@ -675,7 +1053,7 @@ export class Products {
675
1053
  'post',
676
1054
  uri,
677
1055
  apiHeaders,
678
- payload
1056
+ apiPayload
679
1057
  );
680
1058
  }
681
1059
 
@@ -714,7 +1092,7 @@ export class Products {
714
1092
  }
715
1093
 
716
1094
  const apiPath = '/v1/products/attribute_groups/{id}'.replace('{id}', id);
717
- const payload: Payload = {};
1095
+ const apiPayload: Payload = {};
718
1096
  const uri = new URL(this.client.config.endpoint + apiPath);
719
1097
 
720
1098
  const apiHeaders: { [header: string]: string } = {
@@ -724,7 +1102,7 @@ export class Products {
724
1102
  'delete',
725
1103
  uri,
726
1104
  apiHeaders,
727
- payload
1105
+ apiPayload
728
1106
  );
729
1107
  }
730
1108
 
@@ -763,7 +1141,7 @@ export class Products {
763
1141
  }
764
1142
 
765
1143
  const apiPath = '/v1/products/attribute_groups/{id}'.replace('{id}', id);
766
- const payload: Payload = {};
1144
+ const apiPayload: Payload = {};
767
1145
  const uri = new URL(this.client.config.endpoint + apiPath);
768
1146
 
769
1147
  const apiHeaders: { [header: string]: string } = {
@@ -773,46 +1151,68 @@ export class Products {
773
1151
  'get',
774
1152
  uri,
775
1153
  apiHeaders,
776
- payload
1154
+ apiPayload
777
1155
  );
778
1156
  }
779
1157
 
780
1158
  /**
781
1159
  *
782
1160
  * @param {string} params.id -
1161
+ * @param {string} params.code -
1162
+ * @param {object} params.labels -
1163
+ * @param {number} params.position -
783
1164
  * @throws {RevenexxException}
784
1165
  * @returns {Promise<Models.AttributeGroups>}
785
1166
  */
786
- productsAttributeGroupsUpdate(params: { id: string }): Promise<Models.AttributeGroups>;
1167
+ productsAttributeGroupsUpdate(params: { id: string, code?: string, labels?: object, position?: number }): Promise<Models.AttributeGroups>;
787
1168
  /**
788
1169
  *
789
1170
  * @param {string} id -
1171
+ * @param {string} code -
1172
+ * @param {object} labels -
1173
+ * @param {number} position -
790
1174
  * @throws {RevenexxException}
791
1175
  * @returns {Promise<Models.AttributeGroups>}
792
1176
  * @deprecated Use the object parameter style method for a better developer experience.
793
1177
  */
794
- productsAttributeGroupsUpdate(id: string): Promise<Models.AttributeGroups>;
1178
+ productsAttributeGroupsUpdate(id: string, code?: string, labels?: object, position?: number): Promise<Models.AttributeGroups>;
795
1179
  productsAttributeGroupsUpdate(
796
- paramsOrFirst: { id: string } | string
1180
+ paramsOrFirst: { id: string, code?: string, labels?: object, position?: number } | string,
1181
+ ...rest: [(string)?, (object)?, (number)?]
797
1182
  ): Promise<Models.AttributeGroups> {
798
- let params: { id: string };
1183
+ let params: { id: string, code?: string, labels?: object, position?: number };
799
1184
 
800
1185
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
801
- params = (paramsOrFirst || {}) as { id: string };
1186
+ params = (paramsOrFirst || {}) as { id: string, code?: string, labels?: object, position?: number };
802
1187
  } else {
803
1188
  params = {
804
- id: paramsOrFirst as string
1189
+ id: paramsOrFirst as string,
1190
+ code: rest[0] as string,
1191
+ labels: rest[1] as object,
1192
+ position: rest[2] as number
805
1193
  };
806
1194
  }
807
1195
 
808
1196
  const id = params.id;
1197
+ const code = params.code;
1198
+ const labels = params.labels;
1199
+ const position = params.position;
809
1200
 
810
1201
  if (typeof id === 'undefined') {
811
1202
  throw new RevenexxException('Missing required parameter: "id"');
812
1203
  }
813
1204
 
814
1205
  const apiPath = '/v1/products/attribute_groups/{id}'.replace('{id}', id);
815
- const payload: Payload = {};
1206
+ const apiPayload: Payload = {};
1207
+ if (typeof code !== 'undefined') {
1208
+ apiPayload['code'] = code;
1209
+ }
1210
+ if (typeof labels !== 'undefined') {
1211
+ apiPayload['labels'] = labels;
1212
+ }
1213
+ if (typeof position !== 'undefined') {
1214
+ apiPayload['position'] = position;
1215
+ }
816
1216
  const uri = new URL(this.client.config.endpoint + apiPath);
817
1217
 
818
1218
  const apiHeaders: { [header: string]: string } = {
@@ -823,7 +1223,7 @@ export class Products {
823
1223
  'put',
824
1224
  uri,
825
1225
  apiHeaders,
826
- payload
1226
+ apiPayload
827
1227
  );
828
1228
  }
829
1229
 
@@ -835,7 +1235,7 @@ export class Products {
835
1235
  productsAttributeOptionsList(): Promise<{}> {
836
1236
 
837
1237
  const apiPath = '/v1/products/attribute_options';
838
- const payload: Payload = {};
1238
+ const apiPayload: Payload = {};
839
1239
  const uri = new URL(this.client.config.endpoint + apiPath);
840
1240
 
841
1241
  const apiHeaders: { [header: string]: string } = {
@@ -845,19 +1245,81 @@ export class Products {
845
1245
  'get',
846
1246
  uri,
847
1247
  apiHeaders,
848
- payload
1248
+ apiPayload
849
1249
  );
850
1250
  }
851
1251
 
852
1252
  /**
853
1253
  *
1254
+ * @param {string} params.attributeId -
1255
+ * @param {string} params.code -
1256
+ * @param {object} params.labels -
1257
+ * @param {number} params.position -
1258
+ * @param {object} params.swatch -
854
1259
  * @throws {RevenexxException}
855
1260
  * @returns {Promise<Models.AttributeOptions>}
856
1261
  */
857
- productsAttributeOptionsCreate(): Promise<Models.AttributeOptions> {
1262
+ productsAttributeOptionsCreate(params: { attributeId: string, code: string, labels?: object, position?: number, swatch?: object }): Promise<Models.AttributeOptions>;
1263
+ /**
1264
+ *
1265
+ * @param {string} attributeId -
1266
+ * @param {string} code -
1267
+ * @param {object} labels -
1268
+ * @param {number} position -
1269
+ * @param {object} swatch -
1270
+ * @throws {RevenexxException}
1271
+ * @returns {Promise<Models.AttributeOptions>}
1272
+ * @deprecated Use the object parameter style method for a better developer experience.
1273
+ */
1274
+ productsAttributeOptionsCreate(attributeId: string, code: string, labels?: object, position?: number, swatch?: object): Promise<Models.AttributeOptions>;
1275
+ productsAttributeOptionsCreate(
1276
+ paramsOrFirst: { attributeId: string, code: string, labels?: object, position?: number, swatch?: object } | string,
1277
+ ...rest: [(string)?, (object)?, (number)?, (object)?]
1278
+ ): Promise<Models.AttributeOptions> {
1279
+ let params: { attributeId: string, code: string, labels?: object, position?: number, swatch?: object };
1280
+
1281
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1282
+ params = (paramsOrFirst || {}) as { attributeId: string, code: string, labels?: object, position?: number, swatch?: object };
1283
+ } else {
1284
+ params = {
1285
+ attributeId: paramsOrFirst as string,
1286
+ code: rest[0] as string,
1287
+ labels: rest[1] as object,
1288
+ position: rest[2] as number,
1289
+ swatch: rest[3] as object
1290
+ };
1291
+ }
1292
+
1293
+ const attributeId = params.attributeId;
1294
+ const code = params.code;
1295
+ const labels = params.labels;
1296
+ const position = params.position;
1297
+ const swatch = params.swatch;
1298
+
1299
+ if (typeof attributeId === 'undefined') {
1300
+ throw new RevenexxException('Missing required parameter: "attributeId"');
1301
+ }
1302
+ if (typeof code === 'undefined') {
1303
+ throw new RevenexxException('Missing required parameter: "code"');
1304
+ }
858
1305
 
859
1306
  const apiPath = '/v1/products/attribute_options';
860
- const payload: Payload = {};
1307
+ const apiPayload: Payload = {};
1308
+ if (typeof attributeId !== 'undefined') {
1309
+ apiPayload['attribute_id'] = attributeId;
1310
+ }
1311
+ if (typeof code !== 'undefined') {
1312
+ apiPayload['code'] = code;
1313
+ }
1314
+ if (typeof labels !== 'undefined') {
1315
+ apiPayload['labels'] = labels;
1316
+ }
1317
+ if (typeof position !== 'undefined') {
1318
+ apiPayload['position'] = position;
1319
+ }
1320
+ if (typeof swatch !== 'undefined') {
1321
+ apiPayload['swatch'] = swatch;
1322
+ }
861
1323
  const uri = new URL(this.client.config.endpoint + apiPath);
862
1324
 
863
1325
  const apiHeaders: { [header: string]: string } = {
@@ -868,7 +1330,7 @@ export class Products {
868
1330
  'post',
869
1331
  uri,
870
1332
  apiHeaders,
871
- payload
1333
+ apiPayload
872
1334
  );
873
1335
  }
874
1336
 
@@ -907,7 +1369,7 @@ export class Products {
907
1369
  }
908
1370
 
909
1371
  const apiPath = '/v1/products/attribute_options/{id}'.replace('{id}', id);
910
- const payload: Payload = {};
1372
+ const apiPayload: Payload = {};
911
1373
  const uri = new URL(this.client.config.endpoint + apiPath);
912
1374
 
913
1375
  const apiHeaders: { [header: string]: string } = {
@@ -917,7 +1379,7 @@ export class Products {
917
1379
  'delete',
918
1380
  uri,
919
1381
  apiHeaders,
920
- payload
1382
+ apiPayload
921
1383
  );
922
1384
  }
923
1385
 
@@ -956,7 +1418,7 @@ export class Products {
956
1418
  }
957
1419
 
958
1420
  const apiPath = '/v1/products/attribute_options/{id}'.replace('{id}', id);
959
- const payload: Payload = {};
1421
+ const apiPayload: Payload = {};
960
1422
  const uri = new URL(this.client.config.endpoint + apiPath);
961
1423
 
962
1424
  const apiHeaders: { [header: string]: string } = {
@@ -966,46 +1428,82 @@ export class Products {
966
1428
  'get',
967
1429
  uri,
968
1430
  apiHeaders,
969
- payload
1431
+ apiPayload
970
1432
  );
971
1433
  }
972
1434
 
973
1435
  /**
974
1436
  *
975
1437
  * @param {string} params.id -
1438
+ * @param {string} params.attributeId -
1439
+ * @param {string} params.code -
1440
+ * @param {object} params.labels -
1441
+ * @param {number} params.position -
1442
+ * @param {object} params.swatch -
976
1443
  * @throws {RevenexxException}
977
1444
  * @returns {Promise<Models.AttributeOptions>}
978
1445
  */
979
- productsAttributeOptionsUpdate(params: { id: string }): Promise<Models.AttributeOptions>;
1446
+ productsAttributeOptionsUpdate(params: { id: string, attributeId?: string, code?: string, labels?: object, position?: number, swatch?: object }): Promise<Models.AttributeOptions>;
980
1447
  /**
981
1448
  *
982
1449
  * @param {string} id -
1450
+ * @param {string} attributeId -
1451
+ * @param {string} code -
1452
+ * @param {object} labels -
1453
+ * @param {number} position -
1454
+ * @param {object} swatch -
983
1455
  * @throws {RevenexxException}
984
1456
  * @returns {Promise<Models.AttributeOptions>}
985
1457
  * @deprecated Use the object parameter style method for a better developer experience.
986
1458
  */
987
- productsAttributeOptionsUpdate(id: string): Promise<Models.AttributeOptions>;
1459
+ productsAttributeOptionsUpdate(id: string, attributeId?: string, code?: string, labels?: object, position?: number, swatch?: object): Promise<Models.AttributeOptions>;
988
1460
  productsAttributeOptionsUpdate(
989
- paramsOrFirst: { id: string } | string
1461
+ paramsOrFirst: { id: string, attributeId?: string, code?: string, labels?: object, position?: number, swatch?: object } | string,
1462
+ ...rest: [(string)?, (string)?, (object)?, (number)?, (object)?]
990
1463
  ): Promise<Models.AttributeOptions> {
991
- let params: { id: string };
1464
+ let params: { id: string, attributeId?: string, code?: string, labels?: object, position?: number, swatch?: object };
992
1465
 
993
1466
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
994
- params = (paramsOrFirst || {}) as { id: string };
1467
+ params = (paramsOrFirst || {}) as { id: string, attributeId?: string, code?: string, labels?: object, position?: number, swatch?: object };
995
1468
  } else {
996
1469
  params = {
997
- id: paramsOrFirst as string
1470
+ id: paramsOrFirst as string,
1471
+ attributeId: rest[0] as string,
1472
+ code: rest[1] as string,
1473
+ labels: rest[2] as object,
1474
+ position: rest[3] as number,
1475
+ swatch: rest[4] as object
998
1476
  };
999
1477
  }
1000
1478
 
1001
1479
  const id = params.id;
1480
+ const attributeId = params.attributeId;
1481
+ const code = params.code;
1482
+ const labels = params.labels;
1483
+ const position = params.position;
1484
+ const swatch = params.swatch;
1002
1485
 
1003
1486
  if (typeof id === 'undefined') {
1004
1487
  throw new RevenexxException('Missing required parameter: "id"');
1005
1488
  }
1006
1489
 
1007
1490
  const apiPath = '/v1/products/attribute_options/{id}'.replace('{id}', id);
1008
- const payload: Payload = {};
1491
+ const apiPayload: Payload = {};
1492
+ if (typeof attributeId !== 'undefined') {
1493
+ apiPayload['attribute_id'] = attributeId;
1494
+ }
1495
+ if (typeof code !== 'undefined') {
1496
+ apiPayload['code'] = code;
1497
+ }
1498
+ if (typeof labels !== 'undefined') {
1499
+ apiPayload['labels'] = labels;
1500
+ }
1501
+ if (typeof position !== 'undefined') {
1502
+ apiPayload['position'] = position;
1503
+ }
1504
+ if (typeof swatch !== 'undefined') {
1505
+ apiPayload['swatch'] = swatch;
1506
+ }
1009
1507
  const uri = new URL(this.client.config.endpoint + apiPath);
1010
1508
 
1011
1509
  const apiHeaders: { [header: string]: string } = {
@@ -1016,7 +1514,7 @@ export class Products {
1016
1514
  'put',
1017
1515
  uri,
1018
1516
  apiHeaders,
1019
- payload
1517
+ apiPayload
1020
1518
  );
1021
1519
  }
1022
1520
 
@@ -1028,7 +1526,7 @@ export class Products {
1028
1526
  productsAttributesList(): Promise<{}> {
1029
1527
 
1030
1528
  const apiPath = '/v1/products/attributes';
1031
- const payload: Payload = {};
1529
+ const apiPayload: Payload = {};
1032
1530
  const uri = new URL(this.client.config.endpoint + apiPath);
1033
1531
 
1034
1532
  const apiHeaders: { [header: string]: string } = {
@@ -1038,19 +1536,144 @@ export class Products {
1038
1536
  'get',
1039
1537
  uri,
1040
1538
  apiHeaders,
1041
- payload
1539
+ apiPayload
1042
1540
  );
1043
1541
  }
1044
1542
 
1045
1543
  /**
1046
1544
  *
1545
+ * @param {string} params.code -
1546
+ * @param {string} params.type -
1547
+ * @param {object} params.config -
1548
+ * @param {string} params.entityRef -
1549
+ * @param {string} params.entityType -
1550
+ * @param {string} params.groupId -
1551
+ * @param {boolean} params.isFilterable -
1552
+ * @param {boolean} params.isUnique -
1553
+ * @param {object} params.labels -
1554
+ * @param {boolean} params.localizable -
1555
+ * @param {number} params.position -
1556
+ * @param {boolean} params.scopable -
1557
+ * @param {boolean} params.usableInGrid -
1558
+ * @param {object} params.validation -
1559
+ * @throws {RevenexxException}
1560
+ * @returns {Promise<Models.Attributes>}
1561
+ */
1562
+ productsAttributesCreate(params: { code: string, type: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, usableInGrid?: boolean, validation?: object }): Promise<Models.Attributes>;
1563
+ /**
1564
+ *
1565
+ * @param {string} code -
1566
+ * @param {string} type -
1567
+ * @param {object} config -
1568
+ * @param {string} entityRef -
1569
+ * @param {string} entityType -
1570
+ * @param {string} groupId -
1571
+ * @param {boolean} isFilterable -
1572
+ * @param {boolean} isUnique -
1573
+ * @param {object} labels -
1574
+ * @param {boolean} localizable -
1575
+ * @param {number} position -
1576
+ * @param {boolean} scopable -
1577
+ * @param {boolean} usableInGrid -
1578
+ * @param {object} validation -
1047
1579
  * @throws {RevenexxException}
1048
1580
  * @returns {Promise<Models.Attributes>}
1581
+ * @deprecated Use the object parameter style method for a better developer experience.
1049
1582
  */
1050
- productsAttributesCreate(): Promise<Models.Attributes> {
1583
+ productsAttributesCreate(code: string, type: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, usableInGrid?: boolean, validation?: object): Promise<Models.Attributes>;
1584
+ productsAttributesCreate(
1585
+ paramsOrFirst: { code: string, type: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, usableInGrid?: boolean, validation?: object } | string,
1586
+ ...rest: [(string)?, (object)?, (string)?, (string)?, (string)?, (boolean)?, (boolean)?, (object)?, (boolean)?, (number)?, (boolean)?, (boolean)?, (object)?]
1587
+ ): Promise<Models.Attributes> {
1588
+ let params: { code: string, type: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, usableInGrid?: boolean, validation?: object };
1589
+
1590
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1591
+ params = (paramsOrFirst || {}) as { code: string, type: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, usableInGrid?: boolean, validation?: object };
1592
+ } else {
1593
+ params = {
1594
+ code: paramsOrFirst as string,
1595
+ type: rest[0] as string,
1596
+ config: rest[1] as object,
1597
+ entityRef: rest[2] as string,
1598
+ entityType: rest[3] as string,
1599
+ groupId: rest[4] as string,
1600
+ isFilterable: rest[5] as boolean,
1601
+ isUnique: rest[6] as boolean,
1602
+ labels: rest[7] as object,
1603
+ localizable: rest[8] as boolean,
1604
+ position: rest[9] as number,
1605
+ scopable: rest[10] as boolean,
1606
+ usableInGrid: rest[11] as boolean,
1607
+ validation: rest[12] as object
1608
+ };
1609
+ }
1610
+
1611
+ const code = params.code;
1612
+ const type = params.type;
1613
+ const config = params.config;
1614
+ const entityRef = params.entityRef;
1615
+ const entityType = params.entityType;
1616
+ const groupId = params.groupId;
1617
+ const isFilterable = params.isFilterable;
1618
+ const isUnique = params.isUnique;
1619
+ const labels = params.labels;
1620
+ const localizable = params.localizable;
1621
+ const position = params.position;
1622
+ const scopable = params.scopable;
1623
+ const usableInGrid = params.usableInGrid;
1624
+ const validation = params.validation;
1625
+
1626
+ if (typeof code === 'undefined') {
1627
+ throw new RevenexxException('Missing required parameter: "code"');
1628
+ }
1629
+ if (typeof type === 'undefined') {
1630
+ throw new RevenexxException('Missing required parameter: "type"');
1631
+ }
1051
1632
 
1052
1633
  const apiPath = '/v1/products/attributes';
1053
- const payload: Payload = {};
1634
+ const apiPayload: Payload = {};
1635
+ if (typeof code !== 'undefined') {
1636
+ apiPayload['code'] = code;
1637
+ }
1638
+ if (typeof config !== 'undefined') {
1639
+ apiPayload['config'] = config;
1640
+ }
1641
+ if (typeof entityRef !== 'undefined') {
1642
+ apiPayload['entity_ref'] = entityRef;
1643
+ }
1644
+ if (typeof entityType !== 'undefined') {
1645
+ apiPayload['entity_type'] = entityType;
1646
+ }
1647
+ if (typeof groupId !== 'undefined') {
1648
+ apiPayload['group_id'] = groupId;
1649
+ }
1650
+ if (typeof isFilterable !== 'undefined') {
1651
+ apiPayload['is_filterable'] = isFilterable;
1652
+ }
1653
+ if (typeof isUnique !== 'undefined') {
1654
+ apiPayload['is_unique'] = isUnique;
1655
+ }
1656
+ if (typeof labels !== 'undefined') {
1657
+ apiPayload['labels'] = labels;
1658
+ }
1659
+ if (typeof localizable !== 'undefined') {
1660
+ apiPayload['localizable'] = localizable;
1661
+ }
1662
+ if (typeof position !== 'undefined') {
1663
+ apiPayload['position'] = position;
1664
+ }
1665
+ if (typeof scopable !== 'undefined') {
1666
+ apiPayload['scopable'] = scopable;
1667
+ }
1668
+ if (typeof type !== 'undefined') {
1669
+ apiPayload['type'] = type;
1670
+ }
1671
+ if (typeof usableInGrid !== 'undefined') {
1672
+ apiPayload['usable_in_grid'] = usableInGrid;
1673
+ }
1674
+ if (typeof validation !== 'undefined') {
1675
+ apiPayload['validation'] = validation;
1676
+ }
1054
1677
  const uri = new URL(this.client.config.endpoint + apiPath);
1055
1678
 
1056
1679
  const apiHeaders: { [header: string]: string } = {
@@ -1061,7 +1684,7 @@ export class Products {
1061
1684
  'post',
1062
1685
  uri,
1063
1686
  apiHeaders,
1064
- payload
1687
+ apiPayload
1065
1688
  );
1066
1689
  }
1067
1690
 
@@ -1100,7 +1723,7 @@ export class Products {
1100
1723
  }
1101
1724
 
1102
1725
  const apiPath = '/v1/products/attributes/{id}'.replace('{id}', id);
1103
- const payload: Payload = {};
1726
+ const apiPayload: Payload = {};
1104
1727
  const uri = new URL(this.client.config.endpoint + apiPath);
1105
1728
 
1106
1729
  const apiHeaders: { [header: string]: string } = {
@@ -1110,7 +1733,7 @@ export class Products {
1110
1733
  'delete',
1111
1734
  uri,
1112
1735
  apiHeaders,
1113
- payload
1736
+ apiPayload
1114
1737
  );
1115
1738
  }
1116
1739
 
@@ -1149,7 +1772,7 @@ export class Products {
1149
1772
  }
1150
1773
 
1151
1774
  const apiPath = '/v1/products/attributes/{id}'.replace('{id}', id);
1152
- const payload: Payload = {};
1775
+ const apiPayload: Payload = {};
1153
1776
  const uri = new URL(this.client.config.endpoint + apiPath);
1154
1777
 
1155
1778
  const apiHeaders: { [header: string]: string } = {
@@ -1159,46 +1782,145 @@ export class Products {
1159
1782
  'get',
1160
1783
  uri,
1161
1784
  apiHeaders,
1162
- payload
1785
+ apiPayload
1163
1786
  );
1164
1787
  }
1165
1788
 
1166
1789
  /**
1167
1790
  *
1168
1791
  * @param {string} params.id -
1792
+ * @param {string} params.code -
1793
+ * @param {object} params.config -
1794
+ * @param {string} params.entityRef -
1795
+ * @param {string} params.entityType -
1796
+ * @param {string} params.groupId -
1797
+ * @param {boolean} params.isFilterable -
1798
+ * @param {boolean} params.isUnique -
1799
+ * @param {object} params.labels -
1800
+ * @param {boolean} params.localizable -
1801
+ * @param {number} params.position -
1802
+ * @param {boolean} params.scopable -
1803
+ * @param {string} params.type -
1804
+ * @param {boolean} params.usableInGrid -
1805
+ * @param {object} params.validation -
1169
1806
  * @throws {RevenexxException}
1170
1807
  * @returns {Promise<Models.Attributes>}
1171
1808
  */
1172
- productsAttributesUpdate(params: { id: string }): Promise<Models.Attributes>;
1809
+ productsAttributesUpdate(params: { id: string, code?: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, type?: string, usableInGrid?: boolean, validation?: object }): Promise<Models.Attributes>;
1173
1810
  /**
1174
1811
  *
1175
1812
  * @param {string} id -
1813
+ * @param {string} code -
1814
+ * @param {object} config -
1815
+ * @param {string} entityRef -
1816
+ * @param {string} entityType -
1817
+ * @param {string} groupId -
1818
+ * @param {boolean} isFilterable -
1819
+ * @param {boolean} isUnique -
1820
+ * @param {object} labels -
1821
+ * @param {boolean} localizable -
1822
+ * @param {number} position -
1823
+ * @param {boolean} scopable -
1824
+ * @param {string} type -
1825
+ * @param {boolean} usableInGrid -
1826
+ * @param {object} validation -
1176
1827
  * @throws {RevenexxException}
1177
1828
  * @returns {Promise<Models.Attributes>}
1178
1829
  * @deprecated Use the object parameter style method for a better developer experience.
1179
1830
  */
1180
- productsAttributesUpdate(id: string): Promise<Models.Attributes>;
1831
+ productsAttributesUpdate(id: string, code?: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, type?: string, usableInGrid?: boolean, validation?: object): Promise<Models.Attributes>;
1181
1832
  productsAttributesUpdate(
1182
- paramsOrFirst: { id: string } | string
1833
+ paramsOrFirst: { id: string, code?: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, type?: string, usableInGrid?: boolean, validation?: object } | string,
1834
+ ...rest: [(string)?, (object)?, (string)?, (string)?, (string)?, (boolean)?, (boolean)?, (object)?, (boolean)?, (number)?, (boolean)?, (string)?, (boolean)?, (object)?]
1183
1835
  ): Promise<Models.Attributes> {
1184
- let params: { id: string };
1836
+ let params: { id: string, code?: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, type?: string, usableInGrid?: boolean, validation?: object };
1185
1837
 
1186
1838
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1187
- params = (paramsOrFirst || {}) as { id: string };
1839
+ params = (paramsOrFirst || {}) as { id: string, code?: string, config?: object, entityRef?: string, entityType?: string, groupId?: string, isFilterable?: boolean, isUnique?: boolean, labels?: object, localizable?: boolean, position?: number, scopable?: boolean, type?: string, usableInGrid?: boolean, validation?: object };
1188
1840
  } else {
1189
1841
  params = {
1190
- id: paramsOrFirst as string
1842
+ id: paramsOrFirst as string,
1843
+ code: rest[0] as string,
1844
+ config: rest[1] as object,
1845
+ entityRef: rest[2] as string,
1846
+ entityType: rest[3] as string,
1847
+ groupId: rest[4] as string,
1848
+ isFilterable: rest[5] as boolean,
1849
+ isUnique: rest[6] as boolean,
1850
+ labels: rest[7] as object,
1851
+ localizable: rest[8] as boolean,
1852
+ position: rest[9] as number,
1853
+ scopable: rest[10] as boolean,
1854
+ type: rest[11] as string,
1855
+ usableInGrid: rest[12] as boolean,
1856
+ validation: rest[13] as object
1191
1857
  };
1192
1858
  }
1193
1859
 
1194
1860
  const id = params.id;
1861
+ const code = params.code;
1862
+ const config = params.config;
1863
+ const entityRef = params.entityRef;
1864
+ const entityType = params.entityType;
1865
+ const groupId = params.groupId;
1866
+ const isFilterable = params.isFilterable;
1867
+ const isUnique = params.isUnique;
1868
+ const labels = params.labels;
1869
+ const localizable = params.localizable;
1870
+ const position = params.position;
1871
+ const scopable = params.scopable;
1872
+ const type = params.type;
1873
+ const usableInGrid = params.usableInGrid;
1874
+ const validation = params.validation;
1195
1875
 
1196
1876
  if (typeof id === 'undefined') {
1197
1877
  throw new RevenexxException('Missing required parameter: "id"');
1198
1878
  }
1199
1879
 
1200
1880
  const apiPath = '/v1/products/attributes/{id}'.replace('{id}', id);
1201
- const payload: Payload = {};
1881
+ const apiPayload: Payload = {};
1882
+ if (typeof code !== 'undefined') {
1883
+ apiPayload['code'] = code;
1884
+ }
1885
+ if (typeof config !== 'undefined') {
1886
+ apiPayload['config'] = config;
1887
+ }
1888
+ if (typeof entityRef !== 'undefined') {
1889
+ apiPayload['entity_ref'] = entityRef;
1890
+ }
1891
+ if (typeof entityType !== 'undefined') {
1892
+ apiPayload['entity_type'] = entityType;
1893
+ }
1894
+ if (typeof groupId !== 'undefined') {
1895
+ apiPayload['group_id'] = groupId;
1896
+ }
1897
+ if (typeof isFilterable !== 'undefined') {
1898
+ apiPayload['is_filterable'] = isFilterable;
1899
+ }
1900
+ if (typeof isUnique !== 'undefined') {
1901
+ apiPayload['is_unique'] = isUnique;
1902
+ }
1903
+ if (typeof labels !== 'undefined') {
1904
+ apiPayload['labels'] = labels;
1905
+ }
1906
+ if (typeof localizable !== 'undefined') {
1907
+ apiPayload['localizable'] = localizable;
1908
+ }
1909
+ if (typeof position !== 'undefined') {
1910
+ apiPayload['position'] = position;
1911
+ }
1912
+ if (typeof scopable !== 'undefined') {
1913
+ apiPayload['scopable'] = scopable;
1914
+ }
1915
+ if (typeof type !== 'undefined') {
1916
+ apiPayload['type'] = type;
1917
+ }
1918
+ if (typeof usableInGrid !== 'undefined') {
1919
+ apiPayload['usable_in_grid'] = usableInGrid;
1920
+ }
1921
+ if (typeof validation !== 'undefined') {
1922
+ apiPayload['validation'] = validation;
1923
+ }
1202
1924
  const uri = new URL(this.client.config.endpoint + apiPath);
1203
1925
 
1204
1926
  const apiHeaders: { [header: string]: string } = {
@@ -1209,7 +1931,65 @@ export class Products {
1209
1931
  'put',
1210
1932
  uri,
1211
1933
  apiHeaders,
1212
- payload
1934
+ apiPayload
1935
+ );
1936
+ }
1937
+
1938
+ /**
1939
+ *
1940
+ * @param {string[]} params.ids -
1941
+ * @param {string[]} params.skus -
1942
+ * @throws {RevenexxException}
1943
+ * @returns {Promise<{}>}
1944
+ */
1945
+ productsBatch(params?: { ids?: string[], skus?: string[] }): Promise<{}>;
1946
+ /**
1947
+ *
1948
+ * @param {string[]} ids -
1949
+ * @param {string[]} skus -
1950
+ * @throws {RevenexxException}
1951
+ * @returns {Promise<{}>}
1952
+ * @deprecated Use the object parameter style method for a better developer experience.
1953
+ */
1954
+ productsBatch(ids?: string[], skus?: string[]): Promise<{}>;
1955
+ productsBatch(
1956
+ paramsOrFirst?: { ids?: string[], skus?: string[] } | string[],
1957
+ ...rest: [(string[])?]
1958
+ ): Promise<{}> {
1959
+ let params: { ids?: string[], skus?: string[] };
1960
+
1961
+ if (!paramsOrFirst || (paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1962
+ params = (paramsOrFirst || {}) as { ids?: string[], skus?: string[] };
1963
+ } else {
1964
+ params = {
1965
+ ids: paramsOrFirst as string[],
1966
+ skus: rest[0] as string[]
1967
+ };
1968
+ }
1969
+
1970
+ const ids = params.ids;
1971
+ const skus = params.skus;
1972
+
1973
+
1974
+ const apiPath = '/v1/products/batch';
1975
+ const apiPayload: Payload = {};
1976
+ if (typeof ids !== 'undefined') {
1977
+ apiPayload['ids'] = ids;
1978
+ }
1979
+ if (typeof skus !== 'undefined') {
1980
+ apiPayload['skus'] = skus;
1981
+ }
1982
+ const uri = new URL(this.client.config.endpoint + apiPath);
1983
+
1984
+ const apiHeaders: { [header: string]: string } = {
1985
+ 'content-type': 'application/json',
1986
+ }
1987
+
1988
+ return this.client.call(
1989
+ 'post',
1990
+ uri,
1991
+ apiHeaders,
1992
+ apiPayload
1213
1993
  );
1214
1994
  }
1215
1995
 
@@ -1221,7 +2001,7 @@ export class Products {
1221
2001
  productsCategoriesList(): Promise<{}> {
1222
2002
 
1223
2003
  const apiPath = '/v1/products/categories';
1224
- const payload: Payload = {};
2004
+ const apiPayload: Payload = {};
1225
2005
  const uri = new URL(this.client.config.endpoint + apiPath);
1226
2006
 
1227
2007
  const apiHeaders: { [header: string]: string } = {
@@ -1231,19 +2011,85 @@ export class Products {
1231
2011
  'get',
1232
2012
  uri,
1233
2013
  apiHeaders,
1234
- payload
2014
+ apiPayload
1235
2015
  );
1236
2016
  }
1237
2017
 
1238
2018
  /**
1239
2019
  *
2020
+ * @param {string} params.code -
2021
+ * @param {object} params.labels -
2022
+ * @param {string} params.parentId -
2023
+ * @param {string} params.xpath -
2024
+ * @param {number} params.position -
2025
+ * @param {object} params.values -
2026
+ * @throws {RevenexxException}
2027
+ * @returns {Promise<Models.Categories>}
2028
+ */
2029
+ productsCategoriesCreate(params: { code: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object }): Promise<Models.Categories>;
2030
+ /**
2031
+ *
2032
+ * @param {string} code -
2033
+ * @param {object} labels -
2034
+ * @param {string} parentId -
2035
+ * @param {string} xpath -
2036
+ * @param {number} position -
2037
+ * @param {object} values -
1240
2038
  * @throws {RevenexxException}
1241
2039
  * @returns {Promise<Models.Categories>}
2040
+ * @deprecated Use the object parameter style method for a better developer experience.
1242
2041
  */
1243
- productsCategoriesCreate(): Promise<Models.Categories> {
2042
+ productsCategoriesCreate(code: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object): Promise<Models.Categories>;
2043
+ productsCategoriesCreate(
2044
+ paramsOrFirst: { code: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object } | string,
2045
+ ...rest: [(object)?, (string)?, (string)?, (number)?, (object)?]
2046
+ ): Promise<Models.Categories> {
2047
+ let params: { code: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object };
2048
+
2049
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2050
+ params = (paramsOrFirst || {}) as { code: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object };
2051
+ } else {
2052
+ params = {
2053
+ code: paramsOrFirst as string,
2054
+ labels: rest[0] as object,
2055
+ parentId: rest[1] as string,
2056
+ xpath: rest[2] as string,
2057
+ position: rest[3] as number,
2058
+ values: rest[4] as object
2059
+ };
2060
+ }
2061
+
2062
+ const code = params.code;
2063
+ const labels = params.labels;
2064
+ const parentId = params.parentId;
2065
+ const xpath = params.xpath;
2066
+ const position = params.position;
2067
+ const values = params.values;
2068
+
2069
+ if (typeof code === 'undefined') {
2070
+ throw new RevenexxException('Missing required parameter: "code"');
2071
+ }
1244
2072
 
1245
2073
  const apiPath = '/v1/products/categories';
1246
- const payload: Payload = {};
2074
+ const apiPayload: Payload = {};
2075
+ if (typeof code !== 'undefined') {
2076
+ apiPayload['code'] = code;
2077
+ }
2078
+ if (typeof labels !== 'undefined') {
2079
+ apiPayload['labels'] = labels;
2080
+ }
2081
+ if (typeof parentId !== 'undefined') {
2082
+ apiPayload['parent_id'] = parentId;
2083
+ }
2084
+ if (typeof xpath !== 'undefined') {
2085
+ apiPayload['path'] = xpath;
2086
+ }
2087
+ if (typeof position !== 'undefined') {
2088
+ apiPayload['position'] = position;
2089
+ }
2090
+ if (typeof values !== 'undefined') {
2091
+ apiPayload['values'] = values;
2092
+ }
1247
2093
  const uri = new URL(this.client.config.endpoint + apiPath);
1248
2094
 
1249
2095
  const apiHeaders: { [header: string]: string } = {
@@ -1254,7 +2100,7 @@ export class Products {
1254
2100
  'post',
1255
2101
  uri,
1256
2102
  apiHeaders,
1257
- payload
2103
+ apiPayload
1258
2104
  );
1259
2105
  }
1260
2106
 
@@ -1293,7 +2139,7 @@ export class Products {
1293
2139
  }
1294
2140
 
1295
2141
  const apiPath = '/v1/products/categories/{id}'.replace('{id}', id);
1296
- const payload: Payload = {};
2142
+ const apiPayload: Payload = {};
1297
2143
  const uri = new URL(this.client.config.endpoint + apiPath);
1298
2144
 
1299
2145
  const apiHeaders: { [header: string]: string } = {
@@ -1303,7 +2149,7 @@ export class Products {
1303
2149
  'delete',
1304
2150
  uri,
1305
2151
  apiHeaders,
1306
- payload
2152
+ apiPayload
1307
2153
  );
1308
2154
  }
1309
2155
 
@@ -1342,7 +2188,7 @@ export class Products {
1342
2188
  }
1343
2189
 
1344
2190
  const apiPath = '/v1/products/categories/{id}'.replace('{id}', id);
1345
- const payload: Payload = {};
2191
+ const apiPayload: Payload = {};
1346
2192
  const uri = new URL(this.client.config.endpoint + apiPath);
1347
2193
 
1348
2194
  const apiHeaders: { [header: string]: string } = {
@@ -1352,46 +2198,89 @@ export class Products {
1352
2198
  'get',
1353
2199
  uri,
1354
2200
  apiHeaders,
1355
- payload
2201
+ apiPayload
1356
2202
  );
1357
2203
  }
1358
2204
 
1359
2205
  /**
1360
2206
  *
1361
2207
  * @param {string} params.id -
2208
+ * @param {string} params.code -
2209
+ * @param {object} params.labels -
2210
+ * @param {string} params.parentId -
2211
+ * @param {string} params.xpath -
2212
+ * @param {number} params.position -
2213
+ * @param {object} params.values -
1362
2214
  * @throws {RevenexxException}
1363
2215
  * @returns {Promise<Models.Categories>}
1364
2216
  */
1365
- productsCategoriesUpdate(params: { id: string }): Promise<Models.Categories>;
2217
+ productsCategoriesUpdate(params: { id: string, code?: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object }): Promise<Models.Categories>;
1366
2218
  /**
1367
2219
  *
1368
2220
  * @param {string} id -
2221
+ * @param {string} code -
2222
+ * @param {object} labels -
2223
+ * @param {string} parentId -
2224
+ * @param {string} xpath -
2225
+ * @param {number} position -
2226
+ * @param {object} values -
1369
2227
  * @throws {RevenexxException}
1370
2228
  * @returns {Promise<Models.Categories>}
1371
2229
  * @deprecated Use the object parameter style method for a better developer experience.
1372
2230
  */
1373
- productsCategoriesUpdate(id: string): Promise<Models.Categories>;
2231
+ productsCategoriesUpdate(id: string, code?: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object): Promise<Models.Categories>;
1374
2232
  productsCategoriesUpdate(
1375
- paramsOrFirst: { id: string } | string
2233
+ paramsOrFirst: { id: string, code?: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object } | string,
2234
+ ...rest: [(string)?, (object)?, (string)?, (string)?, (number)?, (object)?]
1376
2235
  ): Promise<Models.Categories> {
1377
- let params: { id: string };
2236
+ let params: { id: string, code?: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object };
1378
2237
 
1379
2238
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1380
- params = (paramsOrFirst || {}) as { id: string };
2239
+ params = (paramsOrFirst || {}) as { id: string, code?: string, labels?: object, parentId?: string, xpath?: string, position?: number, values?: object };
1381
2240
  } else {
1382
2241
  params = {
1383
- id: paramsOrFirst as string
2242
+ id: paramsOrFirst as string,
2243
+ code: rest[0] as string,
2244
+ labels: rest[1] as object,
2245
+ parentId: rest[2] as string,
2246
+ xpath: rest[3] as string,
2247
+ position: rest[4] as number,
2248
+ values: rest[5] as object
1384
2249
  };
1385
2250
  }
1386
2251
 
1387
2252
  const id = params.id;
2253
+ const code = params.code;
2254
+ const labels = params.labels;
2255
+ const parentId = params.parentId;
2256
+ const xpath = params.xpath;
2257
+ const position = params.position;
2258
+ const values = params.values;
1388
2259
 
1389
2260
  if (typeof id === 'undefined') {
1390
2261
  throw new RevenexxException('Missing required parameter: "id"');
1391
2262
  }
1392
2263
 
1393
2264
  const apiPath = '/v1/products/categories/{id}'.replace('{id}', id);
1394
- const payload: Payload = {};
2265
+ const apiPayload: Payload = {};
2266
+ if (typeof code !== 'undefined') {
2267
+ apiPayload['code'] = code;
2268
+ }
2269
+ if (typeof labels !== 'undefined') {
2270
+ apiPayload['labels'] = labels;
2271
+ }
2272
+ if (typeof parentId !== 'undefined') {
2273
+ apiPayload['parent_id'] = parentId;
2274
+ }
2275
+ if (typeof xpath !== 'undefined') {
2276
+ apiPayload['path'] = xpath;
2277
+ }
2278
+ if (typeof position !== 'undefined') {
2279
+ apiPayload['position'] = position;
2280
+ }
2281
+ if (typeof values !== 'undefined') {
2282
+ apiPayload['values'] = values;
2283
+ }
1395
2284
  const uri = new URL(this.client.config.endpoint + apiPath);
1396
2285
 
1397
2286
  const apiHeaders: { [header: string]: string } = {
@@ -1402,7 +2291,7 @@ export class Products {
1402
2291
  'put',
1403
2292
  uri,
1404
2293
  apiHeaders,
1405
- payload
2294
+ apiPayload
1406
2295
  );
1407
2296
  }
1408
2297
 
@@ -1414,7 +2303,7 @@ export class Products {
1414
2303
  productsFamiliesList(): Promise<{}> {
1415
2304
 
1416
2305
  const apiPath = '/v1/products/families';
1417
- const payload: Payload = {};
2306
+ const apiPayload: Payload = {};
1418
2307
  const uri = new URL(this.client.config.endpoint + apiPath);
1419
2308
 
1420
2309
  const apiHeaders: { [header: string]: string } = {
@@ -1424,19 +2313,71 @@ export class Products {
1424
2313
  'get',
1425
2314
  uri,
1426
2315
  apiHeaders,
1427
- payload
2316
+ apiPayload
1428
2317
  );
1429
2318
  }
1430
2319
 
1431
2320
  /**
1432
2321
  *
2322
+ * @param {string} params.code -
2323
+ * @param {string} params.imageAttribute -
2324
+ * @param {string} params.labelAttribute -
2325
+ * @param {object} params.labels -
2326
+ * @throws {RevenexxException}
2327
+ * @returns {Promise<Models.Families>}
2328
+ */
2329
+ productsFamiliesCreate(params: { code: string, imageAttribute?: string, labelAttribute?: string, labels?: object }): Promise<Models.Families>;
2330
+ /**
2331
+ *
2332
+ * @param {string} code -
2333
+ * @param {string} imageAttribute -
2334
+ * @param {string} labelAttribute -
2335
+ * @param {object} labels -
1433
2336
  * @throws {RevenexxException}
1434
2337
  * @returns {Promise<Models.Families>}
2338
+ * @deprecated Use the object parameter style method for a better developer experience.
1435
2339
  */
1436
- productsFamiliesCreate(): Promise<Models.Families> {
2340
+ productsFamiliesCreate(code: string, imageAttribute?: string, labelAttribute?: string, labels?: object): Promise<Models.Families>;
2341
+ productsFamiliesCreate(
2342
+ paramsOrFirst: { code: string, imageAttribute?: string, labelAttribute?: string, labels?: object } | string,
2343
+ ...rest: [(string)?, (string)?, (object)?]
2344
+ ): Promise<Models.Families> {
2345
+ let params: { code: string, imageAttribute?: string, labelAttribute?: string, labels?: object };
2346
+
2347
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2348
+ params = (paramsOrFirst || {}) as { code: string, imageAttribute?: string, labelAttribute?: string, labels?: object };
2349
+ } else {
2350
+ params = {
2351
+ code: paramsOrFirst as string,
2352
+ imageAttribute: rest[0] as string,
2353
+ labelAttribute: rest[1] as string,
2354
+ labels: rest[2] as object
2355
+ };
2356
+ }
2357
+
2358
+ const code = params.code;
2359
+ const imageAttribute = params.imageAttribute;
2360
+ const labelAttribute = params.labelAttribute;
2361
+ const labels = params.labels;
2362
+
2363
+ if (typeof code === 'undefined') {
2364
+ throw new RevenexxException('Missing required parameter: "code"');
2365
+ }
1437
2366
 
1438
2367
  const apiPath = '/v1/products/families';
1439
- const payload: Payload = {};
2368
+ const apiPayload: Payload = {};
2369
+ if (typeof code !== 'undefined') {
2370
+ apiPayload['code'] = code;
2371
+ }
2372
+ if (typeof imageAttribute !== 'undefined') {
2373
+ apiPayload['image_attribute'] = imageAttribute;
2374
+ }
2375
+ if (typeof labelAttribute !== 'undefined') {
2376
+ apiPayload['label_attribute'] = labelAttribute;
2377
+ }
2378
+ if (typeof labels !== 'undefined') {
2379
+ apiPayload['labels'] = labels;
2380
+ }
1440
2381
  const uri = new URL(this.client.config.endpoint + apiPath);
1441
2382
 
1442
2383
  const apiHeaders: { [header: string]: string } = {
@@ -1447,7 +2388,7 @@ export class Products {
1447
2388
  'post',
1448
2389
  uri,
1449
2390
  apiHeaders,
1450
- payload
2391
+ apiPayload
1451
2392
  );
1452
2393
  }
1453
2394
 
@@ -1486,7 +2427,7 @@ export class Products {
1486
2427
  }
1487
2428
 
1488
2429
  const apiPath = '/v1/products/families/{id}'.replace('{id}', id);
1489
- const payload: Payload = {};
2430
+ const apiPayload: Payload = {};
1490
2431
  const uri = new URL(this.client.config.endpoint + apiPath);
1491
2432
 
1492
2433
  const apiHeaders: { [header: string]: string } = {
@@ -1496,7 +2437,7 @@ export class Products {
1496
2437
  'delete',
1497
2438
  uri,
1498
2439
  apiHeaders,
1499
- payload
2440
+ apiPayload
1500
2441
  );
1501
2442
  }
1502
2443
 
@@ -1535,7 +2476,7 @@ export class Products {
1535
2476
  }
1536
2477
 
1537
2478
  const apiPath = '/v1/products/families/{id}'.replace('{id}', id);
1538
- const payload: Payload = {};
2479
+ const apiPayload: Payload = {};
1539
2480
  const uri = new URL(this.client.config.endpoint + apiPath);
1540
2481
 
1541
2482
  const apiHeaders: { [header: string]: string } = {
@@ -1545,46 +2486,75 @@ export class Products {
1545
2486
  'get',
1546
2487
  uri,
1547
2488
  apiHeaders,
1548
- payload
2489
+ apiPayload
1549
2490
  );
1550
2491
  }
1551
2492
 
1552
2493
  /**
1553
2494
  *
1554
2495
  * @param {string} params.id -
2496
+ * @param {string} params.code -
2497
+ * @param {string} params.imageAttribute -
2498
+ * @param {string} params.labelAttribute -
2499
+ * @param {object} params.labels -
1555
2500
  * @throws {RevenexxException}
1556
2501
  * @returns {Promise<Models.Families>}
1557
2502
  */
1558
- productsFamiliesUpdate(params: { id: string }): Promise<Models.Families>;
2503
+ productsFamiliesUpdate(params: { id: string, code?: string, imageAttribute?: string, labelAttribute?: string, labels?: object }): Promise<Models.Families>;
1559
2504
  /**
1560
2505
  *
1561
2506
  * @param {string} id -
2507
+ * @param {string} code -
2508
+ * @param {string} imageAttribute -
2509
+ * @param {string} labelAttribute -
2510
+ * @param {object} labels -
1562
2511
  * @throws {RevenexxException}
1563
2512
  * @returns {Promise<Models.Families>}
1564
2513
  * @deprecated Use the object parameter style method for a better developer experience.
1565
2514
  */
1566
- productsFamiliesUpdate(id: string): Promise<Models.Families>;
2515
+ productsFamiliesUpdate(id: string, code?: string, imageAttribute?: string, labelAttribute?: string, labels?: object): Promise<Models.Families>;
1567
2516
  productsFamiliesUpdate(
1568
- paramsOrFirst: { id: string } | string
2517
+ paramsOrFirst: { id: string, code?: string, imageAttribute?: string, labelAttribute?: string, labels?: object } | string,
2518
+ ...rest: [(string)?, (string)?, (string)?, (object)?]
1569
2519
  ): Promise<Models.Families> {
1570
- let params: { id: string };
2520
+ let params: { id: string, code?: string, imageAttribute?: string, labelAttribute?: string, labels?: object };
1571
2521
 
1572
2522
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1573
- params = (paramsOrFirst || {}) as { id: string };
2523
+ params = (paramsOrFirst || {}) as { id: string, code?: string, imageAttribute?: string, labelAttribute?: string, labels?: object };
1574
2524
  } else {
1575
2525
  params = {
1576
- id: paramsOrFirst as string
2526
+ id: paramsOrFirst as string,
2527
+ code: rest[0] as string,
2528
+ imageAttribute: rest[1] as string,
2529
+ labelAttribute: rest[2] as string,
2530
+ labels: rest[3] as object
1577
2531
  };
1578
2532
  }
1579
2533
 
1580
2534
  const id = params.id;
2535
+ const code = params.code;
2536
+ const imageAttribute = params.imageAttribute;
2537
+ const labelAttribute = params.labelAttribute;
2538
+ const labels = params.labels;
1581
2539
 
1582
2540
  if (typeof id === 'undefined') {
1583
2541
  throw new RevenexxException('Missing required parameter: "id"');
1584
2542
  }
1585
2543
 
1586
2544
  const apiPath = '/v1/products/families/{id}'.replace('{id}', id);
1587
- const payload: Payload = {};
2545
+ const apiPayload: Payload = {};
2546
+ if (typeof code !== 'undefined') {
2547
+ apiPayload['code'] = code;
2548
+ }
2549
+ if (typeof imageAttribute !== 'undefined') {
2550
+ apiPayload['image_attribute'] = imageAttribute;
2551
+ }
2552
+ if (typeof labelAttribute !== 'undefined') {
2553
+ apiPayload['label_attribute'] = labelAttribute;
2554
+ }
2555
+ if (typeof labels !== 'undefined') {
2556
+ apiPayload['labels'] = labels;
2557
+ }
1588
2558
  const uri = new URL(this.client.config.endpoint + apiPath);
1589
2559
 
1590
2560
  const apiHeaders: { [header: string]: string } = {
@@ -1595,7 +2565,7 @@ export class Products {
1595
2565
  'put',
1596
2566
  uri,
1597
2567
  apiHeaders,
1598
- payload
2568
+ apiPayload
1599
2569
  );
1600
2570
  }
1601
2571
 
@@ -1607,7 +2577,7 @@ export class Products {
1607
2577
  productsFamilyAttributesList(): Promise<{}> {
1608
2578
 
1609
2579
  const apiPath = '/v1/products/family_attributes';
1610
- const payload: Payload = {};
2580
+ const apiPayload: Payload = {};
1611
2581
  const uri = new URL(this.client.config.endpoint + apiPath);
1612
2582
 
1613
2583
  const apiHeaders: { [header: string]: string } = {
@@ -1617,19 +2587,81 @@ export class Products {
1617
2587
  'get',
1618
2588
  uri,
1619
2589
  apiHeaders,
1620
- payload
2590
+ apiPayload
1621
2591
  );
1622
2592
  }
1623
2593
 
1624
2594
  /**
1625
2595
  *
2596
+ * @param {string} params.attributeId -
2597
+ * @param {string} params.familyId -
2598
+ * @param {boolean} params.isRequired -
2599
+ * @param {number} params.position -
2600
+ * @param {object} params.requiredChannels -
2601
+ * @throws {RevenexxException}
2602
+ * @returns {Promise<Models.FamilyAttributes>}
2603
+ */
2604
+ productsFamilyAttributesCreate(params: { attributeId: string, familyId: string, isRequired?: boolean, position?: number, requiredChannels?: object }): Promise<Models.FamilyAttributes>;
2605
+ /**
2606
+ *
2607
+ * @param {string} attributeId -
2608
+ * @param {string} familyId -
2609
+ * @param {boolean} isRequired -
2610
+ * @param {number} position -
2611
+ * @param {object} requiredChannels -
1626
2612
  * @throws {RevenexxException}
1627
2613
  * @returns {Promise<Models.FamilyAttributes>}
2614
+ * @deprecated Use the object parameter style method for a better developer experience.
1628
2615
  */
1629
- productsFamilyAttributesCreate(): Promise<Models.FamilyAttributes> {
2616
+ productsFamilyAttributesCreate(attributeId: string, familyId: string, isRequired?: boolean, position?: number, requiredChannels?: object): Promise<Models.FamilyAttributes>;
2617
+ productsFamilyAttributesCreate(
2618
+ paramsOrFirst: { attributeId: string, familyId: string, isRequired?: boolean, position?: number, requiredChannels?: object } | string,
2619
+ ...rest: [(string)?, (boolean)?, (number)?, (object)?]
2620
+ ): Promise<Models.FamilyAttributes> {
2621
+ let params: { attributeId: string, familyId: string, isRequired?: boolean, position?: number, requiredChannels?: object };
2622
+
2623
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2624
+ params = (paramsOrFirst || {}) as { attributeId: string, familyId: string, isRequired?: boolean, position?: number, requiredChannels?: object };
2625
+ } else {
2626
+ params = {
2627
+ attributeId: paramsOrFirst as string,
2628
+ familyId: rest[0] as string,
2629
+ isRequired: rest[1] as boolean,
2630
+ position: rest[2] as number,
2631
+ requiredChannels: rest[3] as object
2632
+ };
2633
+ }
2634
+
2635
+ const attributeId = params.attributeId;
2636
+ const familyId = params.familyId;
2637
+ const isRequired = params.isRequired;
2638
+ const position = params.position;
2639
+ const requiredChannels = params.requiredChannels;
2640
+
2641
+ if (typeof attributeId === 'undefined') {
2642
+ throw new RevenexxException('Missing required parameter: "attributeId"');
2643
+ }
2644
+ if (typeof familyId === 'undefined') {
2645
+ throw new RevenexxException('Missing required parameter: "familyId"');
2646
+ }
1630
2647
 
1631
2648
  const apiPath = '/v1/products/family_attributes';
1632
- const payload: Payload = {};
2649
+ const apiPayload: Payload = {};
2650
+ if (typeof attributeId !== 'undefined') {
2651
+ apiPayload['attribute_id'] = attributeId;
2652
+ }
2653
+ if (typeof familyId !== 'undefined') {
2654
+ apiPayload['family_id'] = familyId;
2655
+ }
2656
+ if (typeof isRequired !== 'undefined') {
2657
+ apiPayload['is_required'] = isRequired;
2658
+ }
2659
+ if (typeof position !== 'undefined') {
2660
+ apiPayload['position'] = position;
2661
+ }
2662
+ if (typeof requiredChannels !== 'undefined') {
2663
+ apiPayload['required_channels'] = requiredChannels;
2664
+ }
1633
2665
  const uri = new URL(this.client.config.endpoint + apiPath);
1634
2666
 
1635
2667
  const apiHeaders: { [header: string]: string } = {
@@ -1640,7 +2672,7 @@ export class Products {
1640
2672
  'post',
1641
2673
  uri,
1642
2674
  apiHeaders,
1643
- payload
2675
+ apiPayload
1644
2676
  );
1645
2677
  }
1646
2678
 
@@ -1679,7 +2711,7 @@ export class Products {
1679
2711
  }
1680
2712
 
1681
2713
  const apiPath = '/v1/products/family_attributes/{id}'.replace('{id}', id);
1682
- const payload: Payload = {};
2714
+ const apiPayload: Payload = {};
1683
2715
  const uri = new URL(this.client.config.endpoint + apiPath);
1684
2716
 
1685
2717
  const apiHeaders: { [header: string]: string } = {
@@ -1689,7 +2721,7 @@ export class Products {
1689
2721
  'delete',
1690
2722
  uri,
1691
2723
  apiHeaders,
1692
- payload
2724
+ apiPayload
1693
2725
  );
1694
2726
  }
1695
2727
 
@@ -1728,7 +2760,7 @@ export class Products {
1728
2760
  }
1729
2761
 
1730
2762
  const apiPath = '/v1/products/family_attributes/{id}'.replace('{id}', id);
1731
- const payload: Payload = {};
2763
+ const apiPayload: Payload = {};
1732
2764
  const uri = new URL(this.client.config.endpoint + apiPath);
1733
2765
 
1734
2766
  const apiHeaders: { [header: string]: string } = {
@@ -1738,46 +2770,82 @@ export class Products {
1738
2770
  'get',
1739
2771
  uri,
1740
2772
  apiHeaders,
1741
- payload
2773
+ apiPayload
1742
2774
  );
1743
2775
  }
1744
2776
 
1745
2777
  /**
1746
2778
  *
1747
2779
  * @param {string} params.id -
2780
+ * @param {string} params.attributeId -
2781
+ * @param {string} params.familyId -
2782
+ * @param {boolean} params.isRequired -
2783
+ * @param {number} params.position -
2784
+ * @param {object} params.requiredChannels -
1748
2785
  * @throws {RevenexxException}
1749
2786
  * @returns {Promise<Models.FamilyAttributes>}
1750
2787
  */
1751
- productsFamilyAttributesUpdate(params: { id: string }): Promise<Models.FamilyAttributes>;
2788
+ productsFamilyAttributesUpdate(params: { id: string, attributeId?: string, familyId?: string, isRequired?: boolean, position?: number, requiredChannels?: object }): Promise<Models.FamilyAttributes>;
1752
2789
  /**
1753
2790
  *
1754
2791
  * @param {string} id -
2792
+ * @param {string} attributeId -
2793
+ * @param {string} familyId -
2794
+ * @param {boolean} isRequired -
2795
+ * @param {number} position -
2796
+ * @param {object} requiredChannels -
1755
2797
  * @throws {RevenexxException}
1756
2798
  * @returns {Promise<Models.FamilyAttributes>}
1757
2799
  * @deprecated Use the object parameter style method for a better developer experience.
1758
2800
  */
1759
- productsFamilyAttributesUpdate(id: string): Promise<Models.FamilyAttributes>;
2801
+ productsFamilyAttributesUpdate(id: string, attributeId?: string, familyId?: string, isRequired?: boolean, position?: number, requiredChannels?: object): Promise<Models.FamilyAttributes>;
1760
2802
  productsFamilyAttributesUpdate(
1761
- paramsOrFirst: { id: string } | string
2803
+ paramsOrFirst: { id: string, attributeId?: string, familyId?: string, isRequired?: boolean, position?: number, requiredChannels?: object } | string,
2804
+ ...rest: [(string)?, (string)?, (boolean)?, (number)?, (object)?]
1762
2805
  ): Promise<Models.FamilyAttributes> {
1763
- let params: { id: string };
2806
+ let params: { id: string, attributeId?: string, familyId?: string, isRequired?: boolean, position?: number, requiredChannels?: object };
1764
2807
 
1765
2808
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1766
- params = (paramsOrFirst || {}) as { id: string };
2809
+ params = (paramsOrFirst || {}) as { id: string, attributeId?: string, familyId?: string, isRequired?: boolean, position?: number, requiredChannels?: object };
1767
2810
  } else {
1768
2811
  params = {
1769
- id: paramsOrFirst as string
2812
+ id: paramsOrFirst as string,
2813
+ attributeId: rest[0] as string,
2814
+ familyId: rest[1] as string,
2815
+ isRequired: rest[2] as boolean,
2816
+ position: rest[3] as number,
2817
+ requiredChannels: rest[4] as object
1770
2818
  };
1771
2819
  }
1772
2820
 
1773
2821
  const id = params.id;
2822
+ const attributeId = params.attributeId;
2823
+ const familyId = params.familyId;
2824
+ const isRequired = params.isRequired;
2825
+ const position = params.position;
2826
+ const requiredChannels = params.requiredChannels;
1774
2827
 
1775
2828
  if (typeof id === 'undefined') {
1776
2829
  throw new RevenexxException('Missing required parameter: "id"');
1777
2830
  }
1778
2831
 
1779
2832
  const apiPath = '/v1/products/family_attributes/{id}'.replace('{id}', id);
1780
- const payload: Payload = {};
2833
+ const apiPayload: Payload = {};
2834
+ if (typeof attributeId !== 'undefined') {
2835
+ apiPayload['attribute_id'] = attributeId;
2836
+ }
2837
+ if (typeof familyId !== 'undefined') {
2838
+ apiPayload['family_id'] = familyId;
2839
+ }
2840
+ if (typeof isRequired !== 'undefined') {
2841
+ apiPayload['is_required'] = isRequired;
2842
+ }
2843
+ if (typeof position !== 'undefined') {
2844
+ apiPayload['position'] = position;
2845
+ }
2846
+ if (typeof requiredChannels !== 'undefined') {
2847
+ apiPayload['required_channels'] = requiredChannels;
2848
+ }
1781
2849
  const uri = new URL(this.client.config.endpoint + apiPath);
1782
2850
 
1783
2851
  const apiHeaders: { [header: string]: string } = {
@@ -1788,7 +2856,7 @@ export class Products {
1788
2856
  'put',
1789
2857
  uri,
1790
2858
  apiHeaders,
1791
- payload
2859
+ apiPayload
1792
2860
  );
1793
2861
  }
1794
2862
 
@@ -1800,7 +2868,7 @@ export class Products {
1800
2868
  productsFamilyVariantsList(): Promise<{}> {
1801
2869
 
1802
2870
  const apiPath = '/v1/products/family_variants';
1803
- const payload: Payload = {};
2871
+ const apiPayload: Payload = {};
1804
2872
  const uri = new URL(this.client.config.endpoint + apiPath);
1805
2873
 
1806
2874
  const apiHeaders: { [header: string]: string } = {
@@ -1810,19 +2878,74 @@ export class Products {
1810
2878
  'get',
1811
2879
  uri,
1812
2880
  apiHeaders,
1813
- payload
2881
+ apiPayload
1814
2882
  );
1815
2883
  }
1816
2884
 
1817
2885
  /**
1818
2886
  *
2887
+ * @param {string} params.code -
2888
+ * @param {string} params.familyId -
2889
+ * @param {object} params.axes -
2890
+ * @param {object} params.labels -
2891
+ * @throws {RevenexxException}
2892
+ * @returns {Promise<Models.FamilyVariants>}
2893
+ */
2894
+ productsFamilyVariantsCreate(params: { code: string, familyId: string, axes?: object, labels?: object }): Promise<Models.FamilyVariants>;
2895
+ /**
2896
+ *
2897
+ * @param {string} code -
2898
+ * @param {string} familyId -
2899
+ * @param {object} axes -
2900
+ * @param {object} labels -
1819
2901
  * @throws {RevenexxException}
1820
2902
  * @returns {Promise<Models.FamilyVariants>}
2903
+ * @deprecated Use the object parameter style method for a better developer experience.
1821
2904
  */
1822
- productsFamilyVariantsCreate(): Promise<Models.FamilyVariants> {
2905
+ productsFamilyVariantsCreate(code: string, familyId: string, axes?: object, labels?: object): Promise<Models.FamilyVariants>;
2906
+ productsFamilyVariantsCreate(
2907
+ paramsOrFirst: { code: string, familyId: string, axes?: object, labels?: object } | string,
2908
+ ...rest: [(string)?, (object)?, (object)?]
2909
+ ): Promise<Models.FamilyVariants> {
2910
+ let params: { code: string, familyId: string, axes?: object, labels?: object };
2911
+
2912
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2913
+ params = (paramsOrFirst || {}) as { code: string, familyId: string, axes?: object, labels?: object };
2914
+ } else {
2915
+ params = {
2916
+ code: paramsOrFirst as string,
2917
+ familyId: rest[0] as string,
2918
+ axes: rest[1] as object,
2919
+ labels: rest[2] as object
2920
+ };
2921
+ }
2922
+
2923
+ const code = params.code;
2924
+ const familyId = params.familyId;
2925
+ const axes = params.axes;
2926
+ const labels = params.labels;
2927
+
2928
+ if (typeof code === 'undefined') {
2929
+ throw new RevenexxException('Missing required parameter: "code"');
2930
+ }
2931
+ if (typeof familyId === 'undefined') {
2932
+ throw new RevenexxException('Missing required parameter: "familyId"');
2933
+ }
1823
2934
 
1824
2935
  const apiPath = '/v1/products/family_variants';
1825
- const payload: Payload = {};
2936
+ const apiPayload: Payload = {};
2937
+ if (typeof axes !== 'undefined') {
2938
+ apiPayload['axes'] = axes;
2939
+ }
2940
+ if (typeof code !== 'undefined') {
2941
+ apiPayload['code'] = code;
2942
+ }
2943
+ if (typeof familyId !== 'undefined') {
2944
+ apiPayload['family_id'] = familyId;
2945
+ }
2946
+ if (typeof labels !== 'undefined') {
2947
+ apiPayload['labels'] = labels;
2948
+ }
1826
2949
  const uri = new URL(this.client.config.endpoint + apiPath);
1827
2950
 
1828
2951
  const apiHeaders: { [header: string]: string } = {
@@ -1833,7 +2956,7 @@ export class Products {
1833
2956
  'post',
1834
2957
  uri,
1835
2958
  apiHeaders,
1836
- payload
2959
+ apiPayload
1837
2960
  );
1838
2961
  }
1839
2962
 
@@ -1872,7 +2995,7 @@ export class Products {
1872
2995
  }
1873
2996
 
1874
2997
  const apiPath = '/v1/products/family_variants/{id}'.replace('{id}', id);
1875
- const payload: Payload = {};
2998
+ const apiPayload: Payload = {};
1876
2999
  const uri = new URL(this.client.config.endpoint + apiPath);
1877
3000
 
1878
3001
  const apiHeaders: { [header: string]: string } = {
@@ -1882,7 +3005,7 @@ export class Products {
1882
3005
  'delete',
1883
3006
  uri,
1884
3007
  apiHeaders,
1885
- payload
3008
+ apiPayload
1886
3009
  );
1887
3010
  }
1888
3011
 
@@ -1921,7 +3044,7 @@ export class Products {
1921
3044
  }
1922
3045
 
1923
3046
  const apiPath = '/v1/products/family_variants/{id}'.replace('{id}', id);
1924
- const payload: Payload = {};
3047
+ const apiPayload: Payload = {};
1925
3048
  const uri = new URL(this.client.config.endpoint + apiPath);
1926
3049
 
1927
3050
  const apiHeaders: { [header: string]: string } = {
@@ -1931,46 +3054,75 @@ export class Products {
1931
3054
  'get',
1932
3055
  uri,
1933
3056
  apiHeaders,
1934
- payload
3057
+ apiPayload
1935
3058
  );
1936
3059
  }
1937
3060
 
1938
3061
  /**
1939
3062
  *
1940
3063
  * @param {string} params.id -
3064
+ * @param {object} params.axes -
3065
+ * @param {string} params.code -
3066
+ * @param {string} params.familyId -
3067
+ * @param {object} params.labels -
1941
3068
  * @throws {RevenexxException}
1942
3069
  * @returns {Promise<Models.FamilyVariants>}
1943
3070
  */
1944
- productsFamilyVariantsUpdate(params: { id: string }): Promise<Models.FamilyVariants>;
3071
+ productsFamilyVariantsUpdate(params: { id: string, axes?: object, code?: string, familyId?: string, labels?: object }): Promise<Models.FamilyVariants>;
1945
3072
  /**
1946
3073
  *
1947
3074
  * @param {string} id -
3075
+ * @param {object} axes -
3076
+ * @param {string} code -
3077
+ * @param {string} familyId -
3078
+ * @param {object} labels -
1948
3079
  * @throws {RevenexxException}
1949
3080
  * @returns {Promise<Models.FamilyVariants>}
1950
3081
  * @deprecated Use the object parameter style method for a better developer experience.
1951
3082
  */
1952
- productsFamilyVariantsUpdate(id: string): Promise<Models.FamilyVariants>;
3083
+ productsFamilyVariantsUpdate(id: string, axes?: object, code?: string, familyId?: string, labels?: object): Promise<Models.FamilyVariants>;
1953
3084
  productsFamilyVariantsUpdate(
1954
- paramsOrFirst: { id: string } | string
3085
+ paramsOrFirst: { id: string, axes?: object, code?: string, familyId?: string, labels?: object } | string,
3086
+ ...rest: [(object)?, (string)?, (string)?, (object)?]
1955
3087
  ): Promise<Models.FamilyVariants> {
1956
- let params: { id: string };
3088
+ let params: { id: string, axes?: object, code?: string, familyId?: string, labels?: object };
1957
3089
 
1958
3090
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
1959
- params = (paramsOrFirst || {}) as { id: string };
3091
+ params = (paramsOrFirst || {}) as { id: string, axes?: object, code?: string, familyId?: string, labels?: object };
1960
3092
  } else {
1961
3093
  params = {
1962
- id: paramsOrFirst as string
3094
+ id: paramsOrFirst as string,
3095
+ axes: rest[0] as object,
3096
+ code: rest[1] as string,
3097
+ familyId: rest[2] as string,
3098
+ labels: rest[3] as object
1963
3099
  };
1964
3100
  }
1965
3101
 
1966
3102
  const id = params.id;
3103
+ const axes = params.axes;
3104
+ const code = params.code;
3105
+ const familyId = params.familyId;
3106
+ const labels = params.labels;
1967
3107
 
1968
3108
  if (typeof id === 'undefined') {
1969
3109
  throw new RevenexxException('Missing required parameter: "id"');
1970
3110
  }
1971
3111
 
1972
3112
  const apiPath = '/v1/products/family_variants/{id}'.replace('{id}', id);
1973
- const payload: Payload = {};
3113
+ const apiPayload: Payload = {};
3114
+ if (typeof axes !== 'undefined') {
3115
+ apiPayload['axes'] = axes;
3116
+ }
3117
+ if (typeof code !== 'undefined') {
3118
+ apiPayload['code'] = code;
3119
+ }
3120
+ if (typeof familyId !== 'undefined') {
3121
+ apiPayload['family_id'] = familyId;
3122
+ }
3123
+ if (typeof labels !== 'undefined') {
3124
+ apiPayload['labels'] = labels;
3125
+ }
1974
3126
  const uri = new URL(this.client.config.endpoint + apiPath);
1975
3127
 
1976
3128
  const apiHeaders: { [header: string]: string } = {
@@ -1981,7 +3133,7 @@ export class Products {
1981
3133
  'put',
1982
3134
  uri,
1983
3135
  apiHeaders,
1984
- payload
3136
+ apiPayload
1985
3137
  );
1986
3138
  }
1987
3139
 
@@ -1993,7 +3145,7 @@ export class Products {
1993
3145
  productsMeasurementFamiliesList(): Promise<{}> {
1994
3146
 
1995
3147
  const apiPath = '/v1/products/measurement_families';
1996
- const payload: Payload = {};
3148
+ const apiPayload: Payload = {};
1997
3149
  const uri = new URL(this.client.config.endpoint + apiPath);
1998
3150
 
1999
3151
  const apiHeaders: { [header: string]: string } = {
@@ -2003,19 +3155,74 @@ export class Products {
2003
3155
  'get',
2004
3156
  uri,
2005
3157
  apiHeaders,
2006
- payload
3158
+ apiPayload
2007
3159
  );
2008
3160
  }
2009
3161
 
2010
3162
  /**
2011
3163
  *
3164
+ * @param {string} params.code -
3165
+ * @param {string} params.standardUnit -
3166
+ * @param {object} params.labels -
3167
+ * @param {object} params.units -
3168
+ * @throws {RevenexxException}
3169
+ * @returns {Promise<Models.MeasurementFamilies>}
3170
+ */
3171
+ productsMeasurementFamiliesCreate(params: { code: string, standardUnit: string, labels?: object, units?: object }): Promise<Models.MeasurementFamilies>;
3172
+ /**
3173
+ *
3174
+ * @param {string} code -
3175
+ * @param {string} standardUnit -
3176
+ * @param {object} labels -
3177
+ * @param {object} units -
2012
3178
  * @throws {RevenexxException}
2013
3179
  * @returns {Promise<Models.MeasurementFamilies>}
3180
+ * @deprecated Use the object parameter style method for a better developer experience.
2014
3181
  */
2015
- productsMeasurementFamiliesCreate(): Promise<Models.MeasurementFamilies> {
3182
+ productsMeasurementFamiliesCreate(code: string, standardUnit: string, labels?: object, units?: object): Promise<Models.MeasurementFamilies>;
3183
+ productsMeasurementFamiliesCreate(
3184
+ paramsOrFirst: { code: string, standardUnit: string, labels?: object, units?: object } | string,
3185
+ ...rest: [(string)?, (object)?, (object)?]
3186
+ ): Promise<Models.MeasurementFamilies> {
3187
+ let params: { code: string, standardUnit: string, labels?: object, units?: object };
3188
+
3189
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3190
+ params = (paramsOrFirst || {}) as { code: string, standardUnit: string, labels?: object, units?: object };
3191
+ } else {
3192
+ params = {
3193
+ code: paramsOrFirst as string,
3194
+ standardUnit: rest[0] as string,
3195
+ labels: rest[1] as object,
3196
+ units: rest[2] as object
3197
+ };
3198
+ }
3199
+
3200
+ const code = params.code;
3201
+ const standardUnit = params.standardUnit;
3202
+ const labels = params.labels;
3203
+ const units = params.units;
3204
+
3205
+ if (typeof code === 'undefined') {
3206
+ throw new RevenexxException('Missing required parameter: "code"');
3207
+ }
3208
+ if (typeof standardUnit === 'undefined') {
3209
+ throw new RevenexxException('Missing required parameter: "standardUnit"');
3210
+ }
2016
3211
 
2017
3212
  const apiPath = '/v1/products/measurement_families';
2018
- const payload: Payload = {};
3213
+ const apiPayload: Payload = {};
3214
+ if (typeof code !== 'undefined') {
3215
+ apiPayload['code'] = code;
3216
+ }
3217
+ if (typeof labels !== 'undefined') {
3218
+ apiPayload['labels'] = labels;
3219
+ }
3220
+ if (typeof standardUnit !== 'undefined') {
3221
+ apiPayload['standard_unit'] = standardUnit;
3222
+ }
3223
+ if (typeof units !== 'undefined') {
3224
+ apiPayload['units'] = units;
3225
+ }
2019
3226
  const uri = new URL(this.client.config.endpoint + apiPath);
2020
3227
 
2021
3228
  const apiHeaders: { [header: string]: string } = {
@@ -2026,7 +3233,7 @@ export class Products {
2026
3233
  'post',
2027
3234
  uri,
2028
3235
  apiHeaders,
2029
- payload
3236
+ apiPayload
2030
3237
  );
2031
3238
  }
2032
3239
 
@@ -2065,7 +3272,7 @@ export class Products {
2065
3272
  }
2066
3273
 
2067
3274
  const apiPath = '/v1/products/measurement_families/{id}'.replace('{id}', id);
2068
- const payload: Payload = {};
3275
+ const apiPayload: Payload = {};
2069
3276
  const uri = new URL(this.client.config.endpoint + apiPath);
2070
3277
 
2071
3278
  const apiHeaders: { [header: string]: string } = {
@@ -2075,7 +3282,7 @@ export class Products {
2075
3282
  'delete',
2076
3283
  uri,
2077
3284
  apiHeaders,
2078
- payload
3285
+ apiPayload
2079
3286
  );
2080
3287
  }
2081
3288
 
@@ -2114,7 +3321,7 @@ export class Products {
2114
3321
  }
2115
3322
 
2116
3323
  const apiPath = '/v1/products/measurement_families/{id}'.replace('{id}', id);
2117
- const payload: Payload = {};
3324
+ const apiPayload: Payload = {};
2118
3325
  const uri = new URL(this.client.config.endpoint + apiPath);
2119
3326
 
2120
3327
  const apiHeaders: { [header: string]: string } = {
@@ -2124,46 +3331,75 @@ export class Products {
2124
3331
  'get',
2125
3332
  uri,
2126
3333
  apiHeaders,
2127
- payload
3334
+ apiPayload
2128
3335
  );
2129
3336
  }
2130
3337
 
2131
3338
  /**
2132
3339
  *
2133
3340
  * @param {string} params.id -
3341
+ * @param {string} params.code -
3342
+ * @param {object} params.labels -
3343
+ * @param {string} params.standardUnit -
3344
+ * @param {object} params.units -
2134
3345
  * @throws {RevenexxException}
2135
3346
  * @returns {Promise<Models.MeasurementFamilies>}
2136
3347
  */
2137
- productsMeasurementFamiliesUpdate(params: { id: string }): Promise<Models.MeasurementFamilies>;
3348
+ productsMeasurementFamiliesUpdate(params: { id: string, code?: string, labels?: object, standardUnit?: string, units?: object }): Promise<Models.MeasurementFamilies>;
2138
3349
  /**
2139
3350
  *
2140
3351
  * @param {string} id -
3352
+ * @param {string} code -
3353
+ * @param {object} labels -
3354
+ * @param {string} standardUnit -
3355
+ * @param {object} units -
2141
3356
  * @throws {RevenexxException}
2142
3357
  * @returns {Promise<Models.MeasurementFamilies>}
2143
3358
  * @deprecated Use the object parameter style method for a better developer experience.
2144
3359
  */
2145
- productsMeasurementFamiliesUpdate(id: string): Promise<Models.MeasurementFamilies>;
3360
+ productsMeasurementFamiliesUpdate(id: string, code?: string, labels?: object, standardUnit?: string, units?: object): Promise<Models.MeasurementFamilies>;
2146
3361
  productsMeasurementFamiliesUpdate(
2147
- paramsOrFirst: { id: string } | string
3362
+ paramsOrFirst: { id: string, code?: string, labels?: object, standardUnit?: string, units?: object } | string,
3363
+ ...rest: [(string)?, (object)?, (string)?, (object)?]
2148
3364
  ): Promise<Models.MeasurementFamilies> {
2149
- let params: { id: string };
3365
+ let params: { id: string, code?: string, labels?: object, standardUnit?: string, units?: object };
2150
3366
 
2151
3367
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2152
- params = (paramsOrFirst || {}) as { id: string };
3368
+ params = (paramsOrFirst || {}) as { id: string, code?: string, labels?: object, standardUnit?: string, units?: object };
2153
3369
  } else {
2154
3370
  params = {
2155
- id: paramsOrFirst as string
3371
+ id: paramsOrFirst as string,
3372
+ code: rest[0] as string,
3373
+ labels: rest[1] as object,
3374
+ standardUnit: rest[2] as string,
3375
+ units: rest[3] as object
2156
3376
  };
2157
3377
  }
2158
3378
 
2159
3379
  const id = params.id;
3380
+ const code = params.code;
3381
+ const labels = params.labels;
3382
+ const standardUnit = params.standardUnit;
3383
+ const units = params.units;
2160
3384
 
2161
3385
  if (typeof id === 'undefined') {
2162
3386
  throw new RevenexxException('Missing required parameter: "id"');
2163
3387
  }
2164
3388
 
2165
3389
  const apiPath = '/v1/products/measurement_families/{id}'.replace('{id}', id);
2166
- const payload: Payload = {};
3390
+ const apiPayload: Payload = {};
3391
+ if (typeof code !== 'undefined') {
3392
+ apiPayload['code'] = code;
3393
+ }
3394
+ if (typeof labels !== 'undefined') {
3395
+ apiPayload['labels'] = labels;
3396
+ }
3397
+ if (typeof standardUnit !== 'undefined') {
3398
+ apiPayload['standard_unit'] = standardUnit;
3399
+ }
3400
+ if (typeof units !== 'undefined') {
3401
+ apiPayload['units'] = units;
3402
+ }
2167
3403
  const uri = new URL(this.client.config.endpoint + apiPath);
2168
3404
 
2169
3405
  const apiHeaders: { [header: string]: string } = {
@@ -2174,7 +3410,7 @@ export class Products {
2174
3410
  'put',
2175
3411
  uri,
2176
3412
  apiHeaders,
2177
- payload
3413
+ apiPayload
2178
3414
  );
2179
3415
  }
2180
3416
 
@@ -2186,7 +3422,7 @@ export class Products {
2186
3422
  productsProductAssociationsList(): Promise<{}> {
2187
3423
 
2188
3424
  const apiPath = '/v1/products/product_associations';
2189
- const payload: Payload = {};
3425
+ const apiPayload: Payload = {};
2190
3426
  const uri = new URL(this.client.config.endpoint + apiPath);
2191
3427
 
2192
3428
  const apiHeaders: { [header: string]: string } = {
@@ -2196,19 +3432,84 @@ export class Products {
2196
3432
  'get',
2197
3433
  uri,
2198
3434
  apiHeaders,
2199
- payload
3435
+ apiPayload
2200
3436
  );
2201
3437
  }
2202
3438
 
2203
3439
  /**
2204
3440
  *
3441
+ * @param {string} params.associationTypeId -
3442
+ * @param {string} params.productId -
3443
+ * @param {string} params.targetProductId -
3444
+ * @param {number} params.position -
3445
+ * @param {number} params.quantity -
3446
+ * @throws {RevenexxException}
3447
+ * @returns {Promise<Models.ProductAssociations>}
3448
+ */
3449
+ productsProductAssociationsCreate(params: { associationTypeId: string, productId: string, targetProductId: string, position?: number, quantity?: number }): Promise<Models.ProductAssociations>;
3450
+ /**
3451
+ *
3452
+ * @param {string} associationTypeId -
3453
+ * @param {string} productId -
3454
+ * @param {string} targetProductId -
3455
+ * @param {number} position -
3456
+ * @param {number} quantity -
2205
3457
  * @throws {RevenexxException}
2206
3458
  * @returns {Promise<Models.ProductAssociations>}
3459
+ * @deprecated Use the object parameter style method for a better developer experience.
2207
3460
  */
2208
- productsProductAssociationsCreate(): Promise<Models.ProductAssociations> {
3461
+ productsProductAssociationsCreate(associationTypeId: string, productId: string, targetProductId: string, position?: number, quantity?: number): Promise<Models.ProductAssociations>;
3462
+ productsProductAssociationsCreate(
3463
+ paramsOrFirst: { associationTypeId: string, productId: string, targetProductId: string, position?: number, quantity?: number } | string,
3464
+ ...rest: [(string)?, (string)?, (number)?, (number)?]
3465
+ ): Promise<Models.ProductAssociations> {
3466
+ let params: { associationTypeId: string, productId: string, targetProductId: string, position?: number, quantity?: number };
3467
+
3468
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3469
+ params = (paramsOrFirst || {}) as { associationTypeId: string, productId: string, targetProductId: string, position?: number, quantity?: number };
3470
+ } else {
3471
+ params = {
3472
+ associationTypeId: paramsOrFirst as string,
3473
+ productId: rest[0] as string,
3474
+ targetProductId: rest[1] as string,
3475
+ position: rest[2] as number,
3476
+ quantity: rest[3] as number
3477
+ };
3478
+ }
3479
+
3480
+ const associationTypeId = params.associationTypeId;
3481
+ const productId = params.productId;
3482
+ const targetProductId = params.targetProductId;
3483
+ const position = params.position;
3484
+ const quantity = params.quantity;
3485
+
3486
+ if (typeof associationTypeId === 'undefined') {
3487
+ throw new RevenexxException('Missing required parameter: "associationTypeId"');
3488
+ }
3489
+ if (typeof productId === 'undefined') {
3490
+ throw new RevenexxException('Missing required parameter: "productId"');
3491
+ }
3492
+ if (typeof targetProductId === 'undefined') {
3493
+ throw new RevenexxException('Missing required parameter: "targetProductId"');
3494
+ }
2209
3495
 
2210
3496
  const apiPath = '/v1/products/product_associations';
2211
- const payload: Payload = {};
3497
+ const apiPayload: Payload = {};
3498
+ if (typeof associationTypeId !== 'undefined') {
3499
+ apiPayload['association_type_id'] = associationTypeId;
3500
+ }
3501
+ if (typeof position !== 'undefined') {
3502
+ apiPayload['position'] = position;
3503
+ }
3504
+ if (typeof productId !== 'undefined') {
3505
+ apiPayload['product_id'] = productId;
3506
+ }
3507
+ if (typeof quantity !== 'undefined') {
3508
+ apiPayload['quantity'] = quantity;
3509
+ }
3510
+ if (typeof targetProductId !== 'undefined') {
3511
+ apiPayload['target_product_id'] = targetProductId;
3512
+ }
2212
3513
  const uri = new URL(this.client.config.endpoint + apiPath);
2213
3514
 
2214
3515
  const apiHeaders: { [header: string]: string } = {
@@ -2219,7 +3520,7 @@ export class Products {
2219
3520
  'post',
2220
3521
  uri,
2221
3522
  apiHeaders,
2222
- payload
3523
+ apiPayload
2223
3524
  );
2224
3525
  }
2225
3526
 
@@ -2258,7 +3559,7 @@ export class Products {
2258
3559
  }
2259
3560
 
2260
3561
  const apiPath = '/v1/products/product_associations/{id}'.replace('{id}', id);
2261
- const payload: Payload = {};
3562
+ const apiPayload: Payload = {};
2262
3563
  const uri = new URL(this.client.config.endpoint + apiPath);
2263
3564
 
2264
3565
  const apiHeaders: { [header: string]: string } = {
@@ -2268,7 +3569,7 @@ export class Products {
2268
3569
  'delete',
2269
3570
  uri,
2270
3571
  apiHeaders,
2271
- payload
3572
+ apiPayload
2272
3573
  );
2273
3574
  }
2274
3575
 
@@ -2307,7 +3608,7 @@ export class Products {
2307
3608
  }
2308
3609
 
2309
3610
  const apiPath = '/v1/products/product_associations/{id}'.replace('{id}', id);
2310
- const payload: Payload = {};
3611
+ const apiPayload: Payload = {};
2311
3612
  const uri = new URL(this.client.config.endpoint + apiPath);
2312
3613
 
2313
3614
  const apiHeaders: { [header: string]: string } = {
@@ -2317,46 +3618,82 @@ export class Products {
2317
3618
  'get',
2318
3619
  uri,
2319
3620
  apiHeaders,
2320
- payload
3621
+ apiPayload
2321
3622
  );
2322
3623
  }
2323
3624
 
2324
3625
  /**
2325
3626
  *
2326
3627
  * @param {string} params.id -
3628
+ * @param {string} params.associationTypeId -
3629
+ * @param {number} params.position -
3630
+ * @param {string} params.productId -
3631
+ * @param {number} params.quantity -
3632
+ * @param {string} params.targetProductId -
2327
3633
  * @throws {RevenexxException}
2328
3634
  * @returns {Promise<Models.ProductAssociations>}
2329
3635
  */
2330
- productsProductAssociationsUpdate(params: { id: string }): Promise<Models.ProductAssociations>;
3636
+ productsProductAssociationsUpdate(params: { id: string, associationTypeId?: string, position?: number, productId?: string, quantity?: number, targetProductId?: string }): Promise<Models.ProductAssociations>;
2331
3637
  /**
2332
3638
  *
2333
3639
  * @param {string} id -
3640
+ * @param {string} associationTypeId -
3641
+ * @param {number} position -
3642
+ * @param {string} productId -
3643
+ * @param {number} quantity -
3644
+ * @param {string} targetProductId -
2334
3645
  * @throws {RevenexxException}
2335
3646
  * @returns {Promise<Models.ProductAssociations>}
2336
3647
  * @deprecated Use the object parameter style method for a better developer experience.
2337
3648
  */
2338
- productsProductAssociationsUpdate(id: string): Promise<Models.ProductAssociations>;
3649
+ productsProductAssociationsUpdate(id: string, associationTypeId?: string, position?: number, productId?: string, quantity?: number, targetProductId?: string): Promise<Models.ProductAssociations>;
2339
3650
  productsProductAssociationsUpdate(
2340
- paramsOrFirst: { id: string } | string
3651
+ paramsOrFirst: { id: string, associationTypeId?: string, position?: number, productId?: string, quantity?: number, targetProductId?: string } | string,
3652
+ ...rest: [(string)?, (number)?, (string)?, (number)?, (string)?]
2341
3653
  ): Promise<Models.ProductAssociations> {
2342
- let params: { id: string };
3654
+ let params: { id: string, associationTypeId?: string, position?: number, productId?: string, quantity?: number, targetProductId?: string };
2343
3655
 
2344
3656
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2345
- params = (paramsOrFirst || {}) as { id: string };
3657
+ params = (paramsOrFirst || {}) as { id: string, associationTypeId?: string, position?: number, productId?: string, quantity?: number, targetProductId?: string };
2346
3658
  } else {
2347
3659
  params = {
2348
- id: paramsOrFirst as string
3660
+ id: paramsOrFirst as string,
3661
+ associationTypeId: rest[0] as string,
3662
+ position: rest[1] as number,
3663
+ productId: rest[2] as string,
3664
+ quantity: rest[3] as number,
3665
+ targetProductId: rest[4] as string
2349
3666
  };
2350
3667
  }
2351
3668
 
2352
3669
  const id = params.id;
3670
+ const associationTypeId = params.associationTypeId;
3671
+ const position = params.position;
3672
+ const productId = params.productId;
3673
+ const quantity = params.quantity;
3674
+ const targetProductId = params.targetProductId;
2353
3675
 
2354
3676
  if (typeof id === 'undefined') {
2355
3677
  throw new RevenexxException('Missing required parameter: "id"');
2356
3678
  }
2357
3679
 
2358
3680
  const apiPath = '/v1/products/product_associations/{id}'.replace('{id}', id);
2359
- const payload: Payload = {};
3681
+ const apiPayload: Payload = {};
3682
+ if (typeof associationTypeId !== 'undefined') {
3683
+ apiPayload['association_type_id'] = associationTypeId;
3684
+ }
3685
+ if (typeof position !== 'undefined') {
3686
+ apiPayload['position'] = position;
3687
+ }
3688
+ if (typeof productId !== 'undefined') {
3689
+ apiPayload['product_id'] = productId;
3690
+ }
3691
+ if (typeof quantity !== 'undefined') {
3692
+ apiPayload['quantity'] = quantity;
3693
+ }
3694
+ if (typeof targetProductId !== 'undefined') {
3695
+ apiPayload['target_product_id'] = targetProductId;
3696
+ }
2360
3697
  const uri = new URL(this.client.config.endpoint + apiPath);
2361
3698
 
2362
3699
  const apiHeaders: { [header: string]: string } = {
@@ -2367,7 +3704,7 @@ export class Products {
2367
3704
  'put',
2368
3705
  uri,
2369
3706
  apiHeaders,
2370
- payload
3707
+ apiPayload
2371
3708
  );
2372
3709
  }
2373
3710
 
@@ -2379,7 +3716,7 @@ export class Products {
2379
3716
  productsProductCategoriesList(): Promise<{}> {
2380
3717
 
2381
3718
  const apiPath = '/v1/products/product_categories';
2382
- const payload: Payload = {};
3719
+ const apiPayload: Payload = {};
2383
3720
  const uri = new URL(this.client.config.endpoint + apiPath);
2384
3721
 
2385
3722
  const apiHeaders: { [header: string]: string } = {
@@ -2389,19 +3726,67 @@ export class Products {
2389
3726
  'get',
2390
3727
  uri,
2391
3728
  apiHeaders,
2392
- payload
3729
+ apiPayload
2393
3730
  );
2394
3731
  }
2395
3732
 
2396
3733
  /**
2397
3734
  *
3735
+ * @param {string} params.categoryId -
3736
+ * @param {string} params.productId -
3737
+ * @param {number} params.position -
3738
+ * @throws {RevenexxException}
3739
+ * @returns {Promise<Models.ProductCategories>}
3740
+ */
3741
+ productsProductCategoriesCreate(params: { categoryId: string, productId: string, position?: number }): Promise<Models.ProductCategories>;
3742
+ /**
3743
+ *
3744
+ * @param {string} categoryId -
3745
+ * @param {string} productId -
3746
+ * @param {number} position -
2398
3747
  * @throws {RevenexxException}
2399
3748
  * @returns {Promise<Models.ProductCategories>}
3749
+ * @deprecated Use the object parameter style method for a better developer experience.
2400
3750
  */
2401
- productsProductCategoriesCreate(): Promise<Models.ProductCategories> {
3751
+ productsProductCategoriesCreate(categoryId: string, productId: string, position?: number): Promise<Models.ProductCategories>;
3752
+ productsProductCategoriesCreate(
3753
+ paramsOrFirst: { categoryId: string, productId: string, position?: number } | string,
3754
+ ...rest: [(string)?, (number)?]
3755
+ ): Promise<Models.ProductCategories> {
3756
+ let params: { categoryId: string, productId: string, position?: number };
3757
+
3758
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3759
+ params = (paramsOrFirst || {}) as { categoryId: string, productId: string, position?: number };
3760
+ } else {
3761
+ params = {
3762
+ categoryId: paramsOrFirst as string,
3763
+ productId: rest[0] as string,
3764
+ position: rest[1] as number
3765
+ };
3766
+ }
3767
+
3768
+ const categoryId = params.categoryId;
3769
+ const productId = params.productId;
3770
+ const position = params.position;
3771
+
3772
+ if (typeof categoryId === 'undefined') {
3773
+ throw new RevenexxException('Missing required parameter: "categoryId"');
3774
+ }
3775
+ if (typeof productId === 'undefined') {
3776
+ throw new RevenexxException('Missing required parameter: "productId"');
3777
+ }
2402
3778
 
2403
3779
  const apiPath = '/v1/products/product_categories';
2404
- const payload: Payload = {};
3780
+ const apiPayload: Payload = {};
3781
+ if (typeof categoryId !== 'undefined') {
3782
+ apiPayload['category_id'] = categoryId;
3783
+ }
3784
+ if (typeof position !== 'undefined') {
3785
+ apiPayload['position'] = position;
3786
+ }
3787
+ if (typeof productId !== 'undefined') {
3788
+ apiPayload['product_id'] = productId;
3789
+ }
2405
3790
  const uri = new URL(this.client.config.endpoint + apiPath);
2406
3791
 
2407
3792
  const apiHeaders: { [header: string]: string } = {
@@ -2412,7 +3797,7 @@ export class Products {
2412
3797
  'post',
2413
3798
  uri,
2414
3799
  apiHeaders,
2415
- payload
3800
+ apiPayload
2416
3801
  );
2417
3802
  }
2418
3803
 
@@ -2451,7 +3836,7 @@ export class Products {
2451
3836
  }
2452
3837
 
2453
3838
  const apiPath = '/v1/products/product_categories/{id}'.replace('{id}', id);
2454
- const payload: Payload = {};
3839
+ const apiPayload: Payload = {};
2455
3840
  const uri = new URL(this.client.config.endpoint + apiPath);
2456
3841
 
2457
3842
  const apiHeaders: { [header: string]: string } = {
@@ -2461,7 +3846,7 @@ export class Products {
2461
3846
  'delete',
2462
3847
  uri,
2463
3848
  apiHeaders,
2464
- payload
3849
+ apiPayload
2465
3850
  );
2466
3851
  }
2467
3852
 
@@ -2500,7 +3885,7 @@ export class Products {
2500
3885
  }
2501
3886
 
2502
3887
  const apiPath = '/v1/products/product_categories/{id}'.replace('{id}', id);
2503
- const payload: Payload = {};
3888
+ const apiPayload: Payload = {};
2504
3889
  const uri = new URL(this.client.config.endpoint + apiPath);
2505
3890
 
2506
3891
  const apiHeaders: { [header: string]: string } = {
@@ -2510,46 +3895,68 @@ export class Products {
2510
3895
  'get',
2511
3896
  uri,
2512
3897
  apiHeaders,
2513
- payload
3898
+ apiPayload
2514
3899
  );
2515
3900
  }
2516
3901
 
2517
3902
  /**
2518
3903
  *
2519
3904
  * @param {string} params.id -
3905
+ * @param {string} params.categoryId -
3906
+ * @param {number} params.position -
3907
+ * @param {string} params.productId -
2520
3908
  * @throws {RevenexxException}
2521
3909
  * @returns {Promise<Models.ProductCategories>}
2522
3910
  */
2523
- productsProductCategoriesUpdate(params: { id: string }): Promise<Models.ProductCategories>;
3911
+ productsProductCategoriesUpdate(params: { id: string, categoryId?: string, position?: number, productId?: string }): Promise<Models.ProductCategories>;
2524
3912
  /**
2525
3913
  *
2526
3914
  * @param {string} id -
3915
+ * @param {string} categoryId -
3916
+ * @param {number} position -
3917
+ * @param {string} productId -
2527
3918
  * @throws {RevenexxException}
2528
3919
  * @returns {Promise<Models.ProductCategories>}
2529
3920
  * @deprecated Use the object parameter style method for a better developer experience.
2530
3921
  */
2531
- productsProductCategoriesUpdate(id: string): Promise<Models.ProductCategories>;
3922
+ productsProductCategoriesUpdate(id: string, categoryId?: string, position?: number, productId?: string): Promise<Models.ProductCategories>;
2532
3923
  productsProductCategoriesUpdate(
2533
- paramsOrFirst: { id: string } | string
3924
+ paramsOrFirst: { id: string, categoryId?: string, position?: number, productId?: string } | string,
3925
+ ...rest: [(string)?, (number)?, (string)?]
2534
3926
  ): Promise<Models.ProductCategories> {
2535
- let params: { id: string };
3927
+ let params: { id: string, categoryId?: string, position?: number, productId?: string };
2536
3928
 
2537
3929
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2538
- params = (paramsOrFirst || {}) as { id: string };
3930
+ params = (paramsOrFirst || {}) as { id: string, categoryId?: string, position?: number, productId?: string };
2539
3931
  } else {
2540
3932
  params = {
2541
- id: paramsOrFirst as string
3933
+ id: paramsOrFirst as string,
3934
+ categoryId: rest[0] as string,
3935
+ position: rest[1] as number,
3936
+ productId: rest[2] as string
2542
3937
  };
2543
3938
  }
2544
3939
 
2545
3940
  const id = params.id;
3941
+ const categoryId = params.categoryId;
3942
+ const position = params.position;
3943
+ const productId = params.productId;
2546
3944
 
2547
3945
  if (typeof id === 'undefined') {
2548
3946
  throw new RevenexxException('Missing required parameter: "id"');
2549
3947
  }
2550
3948
 
2551
3949
  const apiPath = '/v1/products/product_categories/{id}'.replace('{id}', id);
2552
- const payload: Payload = {};
3950
+ const apiPayload: Payload = {};
3951
+ if (typeof categoryId !== 'undefined') {
3952
+ apiPayload['category_id'] = categoryId;
3953
+ }
3954
+ if (typeof position !== 'undefined') {
3955
+ apiPayload['position'] = position;
3956
+ }
3957
+ if (typeof productId !== 'undefined') {
3958
+ apiPayload['product_id'] = productId;
3959
+ }
2553
3960
  const uri = new URL(this.client.config.endpoint + apiPath);
2554
3961
 
2555
3962
  const apiHeaders: { [header: string]: string } = {
@@ -2560,7 +3967,7 @@ export class Products {
2560
3967
  'put',
2561
3968
  uri,
2562
3969
  apiHeaders,
2563
- payload
3970
+ apiPayload
2564
3971
  );
2565
3972
  }
2566
3973
 
@@ -2572,7 +3979,7 @@ export class Products {
2572
3979
  productsReferenceEntitiesList(): Promise<{}> {
2573
3980
 
2574
3981
  const apiPath = '/v1/products/reference_entities';
2575
- const payload: Payload = {};
3982
+ const apiPayload: Payload = {};
2576
3983
  const uri = new URL(this.client.config.endpoint + apiPath);
2577
3984
 
2578
3985
  const apiHeaders: { [header: string]: string } = {
@@ -2582,19 +3989,64 @@ export class Products {
2582
3989
  'get',
2583
3990
  uri,
2584
3991
  apiHeaders,
2585
- payload
3992
+ apiPayload
2586
3993
  );
2587
3994
  }
2588
3995
 
2589
3996
  /**
2590
3997
  *
3998
+ * @param {string} params.code -
3999
+ * @param {string} params.image -
4000
+ * @param {object} params.labels -
4001
+ * @throws {RevenexxException}
4002
+ * @returns {Promise<Models.ReferenceEntities>}
4003
+ */
4004
+ productsReferenceEntitiesCreate(params: { code: string, image?: string, labels?: object }): Promise<Models.ReferenceEntities>;
4005
+ /**
4006
+ *
4007
+ * @param {string} code -
4008
+ * @param {string} image -
4009
+ * @param {object} labels -
2591
4010
  * @throws {RevenexxException}
2592
4011
  * @returns {Promise<Models.ReferenceEntities>}
4012
+ * @deprecated Use the object parameter style method for a better developer experience.
2593
4013
  */
2594
- productsReferenceEntitiesCreate(): Promise<Models.ReferenceEntities> {
4014
+ productsReferenceEntitiesCreate(code: string, image?: string, labels?: object): Promise<Models.ReferenceEntities>;
4015
+ productsReferenceEntitiesCreate(
4016
+ paramsOrFirst: { code: string, image?: string, labels?: object } | string,
4017
+ ...rest: [(string)?, (object)?]
4018
+ ): Promise<Models.ReferenceEntities> {
4019
+ let params: { code: string, image?: string, labels?: object };
4020
+
4021
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
4022
+ params = (paramsOrFirst || {}) as { code: string, image?: string, labels?: object };
4023
+ } else {
4024
+ params = {
4025
+ code: paramsOrFirst as string,
4026
+ image: rest[0] as string,
4027
+ labels: rest[1] as object
4028
+ };
4029
+ }
4030
+
4031
+ const code = params.code;
4032
+ const image = params.image;
4033
+ const labels = params.labels;
4034
+
4035
+ if (typeof code === 'undefined') {
4036
+ throw new RevenexxException('Missing required parameter: "code"');
4037
+ }
2595
4038
 
2596
4039
  const apiPath = '/v1/products/reference_entities';
2597
- const payload: Payload = {};
4040
+ const apiPayload: Payload = {};
4041
+ if (typeof code !== 'undefined') {
4042
+ apiPayload['code'] = code;
4043
+ }
4044
+ if (typeof image !== 'undefined') {
4045
+ apiPayload['image'] = image;
4046
+ }
4047
+ if (typeof labels !== 'undefined') {
4048
+ apiPayload['labels'] = labels;
4049
+ }
2598
4050
  const uri = new URL(this.client.config.endpoint + apiPath);
2599
4051
 
2600
4052
  const apiHeaders: { [header: string]: string } = {
@@ -2605,7 +4057,7 @@ export class Products {
2605
4057
  'post',
2606
4058
  uri,
2607
4059
  apiHeaders,
2608
- payload
4060
+ apiPayload
2609
4061
  );
2610
4062
  }
2611
4063
 
@@ -2644,7 +4096,7 @@ export class Products {
2644
4096
  }
2645
4097
 
2646
4098
  const apiPath = '/v1/products/reference_entities/{id}'.replace('{id}', id);
2647
- const payload: Payload = {};
4099
+ const apiPayload: Payload = {};
2648
4100
  const uri = new URL(this.client.config.endpoint + apiPath);
2649
4101
 
2650
4102
  const apiHeaders: { [header: string]: string } = {
@@ -2654,7 +4106,7 @@ export class Products {
2654
4106
  'delete',
2655
4107
  uri,
2656
4108
  apiHeaders,
2657
- payload
4109
+ apiPayload
2658
4110
  );
2659
4111
  }
2660
4112
 
@@ -2693,7 +4145,7 @@ export class Products {
2693
4145
  }
2694
4146
 
2695
4147
  const apiPath = '/v1/products/reference_entities/{id}'.replace('{id}', id);
2696
- const payload: Payload = {};
4148
+ const apiPayload: Payload = {};
2697
4149
  const uri = new URL(this.client.config.endpoint + apiPath);
2698
4150
 
2699
4151
  const apiHeaders: { [header: string]: string } = {
@@ -2703,46 +4155,68 @@ export class Products {
2703
4155
  'get',
2704
4156
  uri,
2705
4157
  apiHeaders,
2706
- payload
4158
+ apiPayload
2707
4159
  );
2708
4160
  }
2709
4161
 
2710
4162
  /**
2711
4163
  *
2712
4164
  * @param {string} params.id -
4165
+ * @param {string} params.code -
4166
+ * @param {string} params.image -
4167
+ * @param {object} params.labels -
2713
4168
  * @throws {RevenexxException}
2714
4169
  * @returns {Promise<Models.ReferenceEntities>}
2715
4170
  */
2716
- productsReferenceEntitiesUpdate(params: { id: string }): Promise<Models.ReferenceEntities>;
4171
+ productsReferenceEntitiesUpdate(params: { id: string, code?: string, image?: string, labels?: object }): Promise<Models.ReferenceEntities>;
2717
4172
  /**
2718
4173
  *
2719
4174
  * @param {string} id -
4175
+ * @param {string} code -
4176
+ * @param {string} image -
4177
+ * @param {object} labels -
2720
4178
  * @throws {RevenexxException}
2721
4179
  * @returns {Promise<Models.ReferenceEntities>}
2722
4180
  * @deprecated Use the object parameter style method for a better developer experience.
2723
4181
  */
2724
- productsReferenceEntitiesUpdate(id: string): Promise<Models.ReferenceEntities>;
4182
+ productsReferenceEntitiesUpdate(id: string, code?: string, image?: string, labels?: object): Promise<Models.ReferenceEntities>;
2725
4183
  productsReferenceEntitiesUpdate(
2726
- paramsOrFirst: { id: string } | string
4184
+ paramsOrFirst: { id: string, code?: string, image?: string, labels?: object } | string,
4185
+ ...rest: [(string)?, (string)?, (object)?]
2727
4186
  ): Promise<Models.ReferenceEntities> {
2728
- let params: { id: string };
4187
+ let params: { id: string, code?: string, image?: string, labels?: object };
2729
4188
 
2730
4189
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2731
- params = (paramsOrFirst || {}) as { id: string };
4190
+ params = (paramsOrFirst || {}) as { id: string, code?: string, image?: string, labels?: object };
2732
4191
  } else {
2733
4192
  params = {
2734
- id: paramsOrFirst as string
4193
+ id: paramsOrFirst as string,
4194
+ code: rest[0] as string,
4195
+ image: rest[1] as string,
4196
+ labels: rest[2] as object
2735
4197
  };
2736
4198
  }
2737
4199
 
2738
4200
  const id = params.id;
4201
+ const code = params.code;
4202
+ const image = params.image;
4203
+ const labels = params.labels;
2739
4204
 
2740
4205
  if (typeof id === 'undefined') {
2741
4206
  throw new RevenexxException('Missing required parameter: "id"');
2742
4207
  }
2743
4208
 
2744
4209
  const apiPath = '/v1/products/reference_entities/{id}'.replace('{id}', id);
2745
- const payload: Payload = {};
4210
+ const apiPayload: Payload = {};
4211
+ if (typeof code !== 'undefined') {
4212
+ apiPayload['code'] = code;
4213
+ }
4214
+ if (typeof image !== 'undefined') {
4215
+ apiPayload['image'] = image;
4216
+ }
4217
+ if (typeof labels !== 'undefined') {
4218
+ apiPayload['labels'] = labels;
4219
+ }
2746
4220
  const uri = new URL(this.client.config.endpoint + apiPath);
2747
4221
 
2748
4222
  const apiHeaders: { [header: string]: string } = {
@@ -2753,7 +4227,7 @@ export class Products {
2753
4227
  'put',
2754
4228
  uri,
2755
4229
  apiHeaders,
2756
- payload
4230
+ apiPayload
2757
4231
  );
2758
4232
  }
2759
4233
 
@@ -2765,7 +4239,7 @@ export class Products {
2765
4239
  productsReferenceEntityRecordsList(): Promise<{}> {
2766
4240
 
2767
4241
  const apiPath = '/v1/products/reference_entity_records';
2768
- const payload: Payload = {};
4242
+ const apiPayload: Payload = {};
2769
4243
  const uri = new URL(this.client.config.endpoint + apiPath);
2770
4244
 
2771
4245
  const apiHeaders: { [header: string]: string } = {
@@ -2775,19 +4249,74 @@ export class Products {
2775
4249
  'get',
2776
4250
  uri,
2777
4251
  apiHeaders,
2778
- payload
4252
+ apiPayload
2779
4253
  );
2780
4254
  }
2781
4255
 
2782
4256
  /**
2783
4257
  *
4258
+ * @param {string} params.code -
4259
+ * @param {string} params.referenceEntityId -
4260
+ * @param {object} params.attributeValues -
4261
+ * @param {object} params.labels -
4262
+ * @throws {RevenexxException}
4263
+ * @returns {Promise<Models.ReferenceEntityRecords>}
4264
+ */
4265
+ productsReferenceEntityRecordsCreate(params: { code: string, referenceEntityId: string, attributeValues?: object, labels?: object }): Promise<Models.ReferenceEntityRecords>;
4266
+ /**
4267
+ *
4268
+ * @param {string} code -
4269
+ * @param {string} referenceEntityId -
4270
+ * @param {object} attributeValues -
4271
+ * @param {object} labels -
2784
4272
  * @throws {RevenexxException}
2785
4273
  * @returns {Promise<Models.ReferenceEntityRecords>}
4274
+ * @deprecated Use the object parameter style method for a better developer experience.
2786
4275
  */
2787
- productsReferenceEntityRecordsCreate(): Promise<Models.ReferenceEntityRecords> {
4276
+ productsReferenceEntityRecordsCreate(code: string, referenceEntityId: string, attributeValues?: object, labels?: object): Promise<Models.ReferenceEntityRecords>;
4277
+ productsReferenceEntityRecordsCreate(
4278
+ paramsOrFirst: { code: string, referenceEntityId: string, attributeValues?: object, labels?: object } | string,
4279
+ ...rest: [(string)?, (object)?, (object)?]
4280
+ ): Promise<Models.ReferenceEntityRecords> {
4281
+ let params: { code: string, referenceEntityId: string, attributeValues?: object, labels?: object };
4282
+
4283
+ if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
4284
+ params = (paramsOrFirst || {}) as { code: string, referenceEntityId: string, attributeValues?: object, labels?: object };
4285
+ } else {
4286
+ params = {
4287
+ code: paramsOrFirst as string,
4288
+ referenceEntityId: rest[0] as string,
4289
+ attributeValues: rest[1] as object,
4290
+ labels: rest[2] as object
4291
+ };
4292
+ }
4293
+
4294
+ const code = params.code;
4295
+ const referenceEntityId = params.referenceEntityId;
4296
+ const attributeValues = params.attributeValues;
4297
+ const labels = params.labels;
4298
+
4299
+ if (typeof code === 'undefined') {
4300
+ throw new RevenexxException('Missing required parameter: "code"');
4301
+ }
4302
+ if (typeof referenceEntityId === 'undefined') {
4303
+ throw new RevenexxException('Missing required parameter: "referenceEntityId"');
4304
+ }
2788
4305
 
2789
4306
  const apiPath = '/v1/products/reference_entity_records';
2790
- const payload: Payload = {};
4307
+ const apiPayload: Payload = {};
4308
+ if (typeof attributeValues !== 'undefined') {
4309
+ apiPayload['attribute_values'] = attributeValues;
4310
+ }
4311
+ if (typeof code !== 'undefined') {
4312
+ apiPayload['code'] = code;
4313
+ }
4314
+ if (typeof labels !== 'undefined') {
4315
+ apiPayload['labels'] = labels;
4316
+ }
4317
+ if (typeof referenceEntityId !== 'undefined') {
4318
+ apiPayload['reference_entity_id'] = referenceEntityId;
4319
+ }
2791
4320
  const uri = new URL(this.client.config.endpoint + apiPath);
2792
4321
 
2793
4322
  const apiHeaders: { [header: string]: string } = {
@@ -2798,7 +4327,7 @@ export class Products {
2798
4327
  'post',
2799
4328
  uri,
2800
4329
  apiHeaders,
2801
- payload
4330
+ apiPayload
2802
4331
  );
2803
4332
  }
2804
4333
 
@@ -2837,7 +4366,7 @@ export class Products {
2837
4366
  }
2838
4367
 
2839
4368
  const apiPath = '/v1/products/reference_entity_records/{id}'.replace('{id}', id);
2840
- const payload: Payload = {};
4369
+ const apiPayload: Payload = {};
2841
4370
  const uri = new URL(this.client.config.endpoint + apiPath);
2842
4371
 
2843
4372
  const apiHeaders: { [header: string]: string } = {
@@ -2847,7 +4376,7 @@ export class Products {
2847
4376
  'delete',
2848
4377
  uri,
2849
4378
  apiHeaders,
2850
- payload
4379
+ apiPayload
2851
4380
  );
2852
4381
  }
2853
4382
 
@@ -2886,7 +4415,7 @@ export class Products {
2886
4415
  }
2887
4416
 
2888
4417
  const apiPath = '/v1/products/reference_entity_records/{id}'.replace('{id}', id);
2889
- const payload: Payload = {};
4418
+ const apiPayload: Payload = {};
2890
4419
  const uri = new URL(this.client.config.endpoint + apiPath);
2891
4420
 
2892
4421
  const apiHeaders: { [header: string]: string } = {
@@ -2896,46 +4425,75 @@ export class Products {
2896
4425
  'get',
2897
4426
  uri,
2898
4427
  apiHeaders,
2899
- payload
4428
+ apiPayload
2900
4429
  );
2901
4430
  }
2902
4431
 
2903
4432
  /**
2904
4433
  *
2905
4434
  * @param {string} params.id -
4435
+ * @param {object} params.attributeValues -
4436
+ * @param {string} params.code -
4437
+ * @param {object} params.labels -
4438
+ * @param {string} params.referenceEntityId -
2906
4439
  * @throws {RevenexxException}
2907
4440
  * @returns {Promise<Models.ReferenceEntityRecords>}
2908
4441
  */
2909
- productsReferenceEntityRecordsUpdate(params: { id: string }): Promise<Models.ReferenceEntityRecords>;
4442
+ productsReferenceEntityRecordsUpdate(params: { id: string, attributeValues?: object, code?: string, labels?: object, referenceEntityId?: string }): Promise<Models.ReferenceEntityRecords>;
2910
4443
  /**
2911
4444
  *
2912
4445
  * @param {string} id -
4446
+ * @param {object} attributeValues -
4447
+ * @param {string} code -
4448
+ * @param {object} labels -
4449
+ * @param {string} referenceEntityId -
2913
4450
  * @throws {RevenexxException}
2914
4451
  * @returns {Promise<Models.ReferenceEntityRecords>}
2915
4452
  * @deprecated Use the object parameter style method for a better developer experience.
2916
4453
  */
2917
- productsReferenceEntityRecordsUpdate(id: string): Promise<Models.ReferenceEntityRecords>;
4454
+ productsReferenceEntityRecordsUpdate(id: string, attributeValues?: object, code?: string, labels?: object, referenceEntityId?: string): Promise<Models.ReferenceEntityRecords>;
2918
4455
  productsReferenceEntityRecordsUpdate(
2919
- paramsOrFirst: { id: string } | string
4456
+ paramsOrFirst: { id: string, attributeValues?: object, code?: string, labels?: object, referenceEntityId?: string } | string,
4457
+ ...rest: [(object)?, (string)?, (object)?, (string)?]
2920
4458
  ): Promise<Models.ReferenceEntityRecords> {
2921
- let params: { id: string };
4459
+ let params: { id: string, attributeValues?: object, code?: string, labels?: object, referenceEntityId?: string };
2922
4460
 
2923
4461
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
2924
- params = (paramsOrFirst || {}) as { id: string };
4462
+ params = (paramsOrFirst || {}) as { id: string, attributeValues?: object, code?: string, labels?: object, referenceEntityId?: string };
2925
4463
  } else {
2926
4464
  params = {
2927
- id: paramsOrFirst as string
4465
+ id: paramsOrFirst as string,
4466
+ attributeValues: rest[0] as object,
4467
+ code: rest[1] as string,
4468
+ labels: rest[2] as object,
4469
+ referenceEntityId: rest[3] as string
2928
4470
  };
2929
4471
  }
2930
4472
 
2931
4473
  const id = params.id;
4474
+ const attributeValues = params.attributeValues;
4475
+ const code = params.code;
4476
+ const labels = params.labels;
4477
+ const referenceEntityId = params.referenceEntityId;
2932
4478
 
2933
4479
  if (typeof id === 'undefined') {
2934
4480
  throw new RevenexxException('Missing required parameter: "id"');
2935
4481
  }
2936
4482
 
2937
4483
  const apiPath = '/v1/products/reference_entity_records/{id}'.replace('{id}', id);
2938
- const payload: Payload = {};
4484
+ const apiPayload: Payload = {};
4485
+ if (typeof attributeValues !== 'undefined') {
4486
+ apiPayload['attribute_values'] = attributeValues;
4487
+ }
4488
+ if (typeof code !== 'undefined') {
4489
+ apiPayload['code'] = code;
4490
+ }
4491
+ if (typeof labels !== 'undefined') {
4492
+ apiPayload['labels'] = labels;
4493
+ }
4494
+ if (typeof referenceEntityId !== 'undefined') {
4495
+ apiPayload['reference_entity_id'] = referenceEntityId;
4496
+ }
2939
4497
  const uri = new URL(this.client.config.endpoint + apiPath);
2940
4498
 
2941
4499
  const apiHeaders: { [header: string]: string } = {
@@ -2946,7 +4504,7 @@ export class Products {
2946
4504
  'put',
2947
4505
  uri,
2948
4506
  apiHeaders,
2949
- payload
4507
+ apiPayload
2950
4508
  );
2951
4509
  }
2952
4510
 
@@ -2985,7 +4543,7 @@ export class Products {
2985
4543
  }
2986
4544
 
2987
4545
  const apiPath = '/v1/products/{id}'.replace('{id}', id);
2988
- const payload: Payload = {};
4546
+ const apiPayload: Payload = {};
2989
4547
  const uri = new URL(this.client.config.endpoint + apiPath);
2990
4548
 
2991
4549
  const apiHeaders: { [header: string]: string } = {
@@ -2995,7 +4553,7 @@ export class Products {
2995
4553
  'delete',
2996
4554
  uri,
2997
4555
  apiHeaders,
2998
- payload
4556
+ apiPayload
2999
4557
  );
3000
4558
  }
3001
4559
 
@@ -3034,7 +4592,7 @@ export class Products {
3034
4592
  }
3035
4593
 
3036
4594
  const apiPath = '/v1/products/{id}'.replace('{id}', id);
3037
- const payload: Payload = {};
4595
+ const apiPayload: Payload = {};
3038
4596
  const uri = new URL(this.client.config.endpoint + apiPath);
3039
4597
 
3040
4598
  const apiHeaders: { [header: string]: string } = {
@@ -3044,46 +4602,124 @@ export class Products {
3044
4602
  'get',
3045
4603
  uri,
3046
4604
  apiHeaders,
3047
- payload
4605
+ apiPayload
3048
4606
  );
3049
4607
  }
3050
4608
 
3051
4609
  /**
3052
4610
  *
3053
4611
  * @param {string} params.id -
4612
+ * @param {object} params.attributeValues -
4613
+ * @param {object} params.completeness -
4614
+ * @param {string} params.deletedAt -
4615
+ * @param {boolean} params.enabled -
4616
+ * @param {string} params.familyId -
4617
+ * @param {string} params.familyVariantId -
4618
+ * @param {string} params.kind -
4619
+ * @param {string} params.parentId -
4620
+ * @param {object} params.quantifiedAssociations -
4621
+ * @param {string} params.sku -
4622
+ * @param {string} params.taxClass -
3054
4623
  * @throws {RevenexxException}
3055
4624
  * @returns {Promise<Models.Products>}
3056
4625
  */
3057
- productsUpdate(params: { id: string }): Promise<Models.Products>;
4626
+ productsUpdate(params: { id: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, sku?: string, taxClass?: string }): Promise<Models.Products>;
3058
4627
  /**
3059
4628
  *
3060
4629
  * @param {string} id -
4630
+ * @param {object} attributeValues -
4631
+ * @param {object} completeness -
4632
+ * @param {string} deletedAt -
4633
+ * @param {boolean} enabled -
4634
+ * @param {string} familyId -
4635
+ * @param {string} familyVariantId -
4636
+ * @param {string} kind -
4637
+ * @param {string} parentId -
4638
+ * @param {object} quantifiedAssociations -
4639
+ * @param {string} sku -
4640
+ * @param {string} taxClass -
3061
4641
  * @throws {RevenexxException}
3062
4642
  * @returns {Promise<Models.Products>}
3063
4643
  * @deprecated Use the object parameter style method for a better developer experience.
3064
4644
  */
3065
- productsUpdate(id: string): Promise<Models.Products>;
4645
+ productsUpdate(id: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, sku?: string, taxClass?: string): Promise<Models.Products>;
3066
4646
  productsUpdate(
3067
- paramsOrFirst: { id: string } | string
4647
+ paramsOrFirst: { id: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, sku?: string, taxClass?: string } | string,
4648
+ ...rest: [(object)?, (object)?, (string)?, (boolean)?, (string)?, (string)?, (string)?, (string)?, (object)?, (string)?, (string)?]
3068
4649
  ): Promise<Models.Products> {
3069
- let params: { id: string };
4650
+ let params: { id: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, sku?: string, taxClass?: string };
3070
4651
 
3071
4652
  if ((paramsOrFirst && typeof paramsOrFirst === 'object' && !Array.isArray(paramsOrFirst))) {
3072
- params = (paramsOrFirst || {}) as { id: string };
4653
+ params = (paramsOrFirst || {}) as { id: string, attributeValues?: object, completeness?: object, deletedAt?: string, enabled?: boolean, familyId?: string, familyVariantId?: string, kind?: string, parentId?: string, quantifiedAssociations?: object, sku?: string, taxClass?: string };
3073
4654
  } else {
3074
4655
  params = {
3075
- id: paramsOrFirst as string
4656
+ id: paramsOrFirst as string,
4657
+ attributeValues: rest[0] as object,
4658
+ completeness: rest[1] as object,
4659
+ deletedAt: rest[2] as string,
4660
+ enabled: rest[3] as boolean,
4661
+ familyId: rest[4] as string,
4662
+ familyVariantId: rest[5] as string,
4663
+ kind: rest[6] as string,
4664
+ parentId: rest[7] as string,
4665
+ quantifiedAssociations: rest[8] as object,
4666
+ sku: rest[9] as string,
4667
+ taxClass: rest[10] as string
3076
4668
  };
3077
4669
  }
3078
4670
 
3079
4671
  const id = params.id;
4672
+ const attributeValues = params.attributeValues;
4673
+ const completeness = params.completeness;
4674
+ const deletedAt = params.deletedAt;
4675
+ const enabled = params.enabled;
4676
+ const familyId = params.familyId;
4677
+ const familyVariantId = params.familyVariantId;
4678
+ const kind = params.kind;
4679
+ const parentId = params.parentId;
4680
+ const quantifiedAssociations = params.quantifiedAssociations;
4681
+ const sku = params.sku;
4682
+ const taxClass = params.taxClass;
3080
4683
 
3081
4684
  if (typeof id === 'undefined') {
3082
4685
  throw new RevenexxException('Missing required parameter: "id"');
3083
4686
  }
3084
4687
 
3085
4688
  const apiPath = '/v1/products/{id}'.replace('{id}', id);
3086
- const payload: Payload = {};
4689
+ const apiPayload: Payload = {};
4690
+ if (typeof attributeValues !== 'undefined') {
4691
+ apiPayload['attribute_values'] = attributeValues;
4692
+ }
4693
+ if (typeof completeness !== 'undefined') {
4694
+ apiPayload['completeness'] = completeness;
4695
+ }
4696
+ if (typeof deletedAt !== 'undefined') {
4697
+ apiPayload['deleted_at'] = deletedAt;
4698
+ }
4699
+ if (typeof enabled !== 'undefined') {
4700
+ apiPayload['enabled'] = enabled;
4701
+ }
4702
+ if (typeof familyId !== 'undefined') {
4703
+ apiPayload['family_id'] = familyId;
4704
+ }
4705
+ if (typeof familyVariantId !== 'undefined') {
4706
+ apiPayload['family_variant_id'] = familyVariantId;
4707
+ }
4708
+ if (typeof kind !== 'undefined') {
4709
+ apiPayload['kind'] = kind;
4710
+ }
4711
+ if (typeof parentId !== 'undefined') {
4712
+ apiPayload['parent_id'] = parentId;
4713
+ }
4714
+ if (typeof quantifiedAssociations !== 'undefined') {
4715
+ apiPayload['quantified_associations'] = quantifiedAssociations;
4716
+ }
4717
+ if (typeof sku !== 'undefined') {
4718
+ apiPayload['sku'] = sku;
4719
+ }
4720
+ if (typeof taxClass !== 'undefined') {
4721
+ apiPayload['tax_class'] = taxClass;
4722
+ }
3087
4723
  const uri = new URL(this.client.config.endpoint + apiPath);
3088
4724
 
3089
4725
  const apiHeaders: { [header: string]: string } = {
@@ -3094,7 +4730,7 @@ export class Products {
3094
4730
  'put',
3095
4731
  uri,
3096
4732
  apiHeaders,
3097
- payload
4733
+ apiPayload
3098
4734
  );
3099
4735
  }
3100
4736
  }