@teemill/product-catalog 1.15.0 → 1.16.0

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.
package/api.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  * Product Catalog API
5
5
  * Manage Product Catalog A catalog product is an object that represents a product listing that can be purchased from the given project. It contains a combination of design applications and a warehouse product, plus listing information such as title, description and tags.
6
6
  *
7
- * The version of the OpenAPI document: 1.15.0
7
+ * The version of the OpenAPI document: 1.16.0
8
8
  * Contact: hello@teemill.com
9
9
  *
10
10
  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -23,6 +23,19 @@ import type { RequestArgs } from './base';
23
23
  // @ts-ignore
24
24
  import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base';
25
25
 
26
+ /**
27
+ *
28
+ * @export
29
+ * @interface AdditionalFile
30
+ */
31
+ export interface AdditionalFile {
32
+ /**
33
+ * Publicly available file URL.
34
+ * @type {string}
35
+ * @memberof AdditionalFile
36
+ */
37
+ 'src'?: string;
38
+ }
26
39
  /**
27
40
  *
28
41
  * @export
@@ -53,7 +66,7 @@ export interface Application {
53
66
  * @type {string}
54
67
  * @memberof Application
55
68
  */
56
- 'technology': string;
69
+ 'technology': ApplicationTechnologyEnum;
57
70
  /**
58
71
  * Placement of the application. Available placements depend on the chosen product and technology.
59
72
  * @type {string}
@@ -74,6 +87,19 @@ export interface Application {
74
87
  'mockup'?: ApplicationMockup;
75
88
  }
76
89
 
90
+ export const ApplicationTechnologyEnum = {
91
+ Dtg: 'dtg',
92
+ Embroidery: 'embroidery',
93
+ Dtf: 'dtf',
94
+ Pretreat: 'pretreat',
95
+ MugSublimation: 'mug_sublimation',
96
+ ManualPrint: 'manual_print',
97
+ AdditionalApplication: 'additional_application',
98
+ NotebookSublimation: 'notebook_sublimation',
99
+ DuplexPrint: 'duplex_print'
100
+ } as const;
101
+
102
+ export type ApplicationTechnologyEnum = typeof ApplicationTechnologyEnum[keyof typeof ApplicationTechnologyEnum];
77
103
  export const ApplicationPlacementEnum = {
78
104
  Front: 'front',
79
105
  Back: 'back',
@@ -210,6 +236,12 @@ export interface CreateProductRequest {
210
236
  * @memberof CreateProductRequest
211
237
  */
212
238
  'tags'?: Array<string>;
239
+ /**
240
+ * Internal tags used for internal searching and filtering.
241
+ * @type {Array<string>}
242
+ * @memberof CreateProductRequest
243
+ */
244
+ 'internalTags'?: Array<string>;
213
245
  /**
214
246
  * Variants
215
247
  * @type {Array<CreateProductVariant>}
@@ -224,10 +256,23 @@ export interface CreateProductRequest {
224
256
  'images'?: Array<CreateProductRequestImagesInner>;
225
257
  /**
226
258
  * Additional files to attach to the product. For example, original design files e.g. PSD, AI, etc.
227
- * @type {Array<CreateProductRequestImagesInner>}
259
+ * @type {Array<CreateProductRequestAdditionalFilesInner>}
228
260
  * @memberof CreateProductRequest
229
261
  */
230
- 'additionalFiles'?: Array<CreateProductRequestImagesInner>;
262
+ 'additionalFiles'?: Array<CreateProductRequestAdditionalFilesInner>;
263
+ }
264
+ /**
265
+ *
266
+ * @export
267
+ * @interface CreateProductRequestAdditionalFilesInner
268
+ */
269
+ export interface CreateProductRequestAdditionalFilesInner {
270
+ /**
271
+ * Publicly available file URL.
272
+ * @type {string}
273
+ * @memberof CreateProductRequestAdditionalFilesInner
274
+ */
275
+ 'src'?: string;
231
276
  }
232
277
  /**
233
278
  *
@@ -287,10 +332,10 @@ export interface CreateProductVariant {
287
332
  'applications'?: Array<Application>;
288
333
  /**
289
334
  * Only use if you want to override the main product image. If not provided, mockups will be generated using the design applications and the warehouse product provided. Accepts PNG and JPEG files.
290
- * @type {Array<CreateProductRequestImagesInner>}
335
+ * @type {Array<CreateProductVariantImagesInner>}
291
336
  * @memberof CreateProductVariant
292
337
  */
293
- 'images'?: Array<CreateProductRequestImagesInner>;
338
+ 'images'?: Array<CreateProductVariantImagesInner>;
294
339
  }
295
340
  /**
296
341
  *
@@ -303,7 +348,7 @@ export interface CreateProductVariantAttributesInner {
303
348
  * @type {string}
304
349
  * @memberof CreateProductVariantAttributesInner
305
350
  */
306
- 'name': string;
351
+ 'name': CreateProductVariantAttributesInnerNameEnum;
307
352
  /**
308
353
  * Attribute value
309
354
  * @type {string}
@@ -311,6 +356,27 @@ export interface CreateProductVariantAttributesInner {
311
356
  */
312
357
  'value': string;
313
358
  }
359
+
360
+ export const CreateProductVariantAttributesInnerNameEnum = {
361
+ Size: 'Size',
362
+ Colour: 'Colour'
363
+ } as const;
364
+
365
+ export type CreateProductVariantAttributesInnerNameEnum = typeof CreateProductVariantAttributesInnerNameEnum[keyof typeof CreateProductVariantAttributesInnerNameEnum];
366
+
367
+ /**
368
+ *
369
+ * @export
370
+ * @interface CreateProductVariantImagesInner
371
+ */
372
+ export interface CreateProductVariantImagesInner {
373
+ /**
374
+ * Publicly available file URL.
375
+ * @type {string}
376
+ * @memberof CreateProductVariantImagesInner
377
+ */
378
+ 'src'?: string;
379
+ }
314
380
  /**
315
381
  * Variant retail price including tax.
316
382
  * @export
@@ -328,8 +394,15 @@ export interface CreateProductVariantRetailPrice {
328
394
  * @type {string}
329
395
  * @memberof CreateProductVariantRetailPrice
330
396
  */
331
- 'currencyCode': string;
397
+ 'currencyCode': CreateProductVariantRetailPriceCurrencyCodeEnum;
332
398
  }
399
+
400
+ export const CreateProductVariantRetailPriceCurrencyCodeEnum = {
401
+ Gbp: 'GBP'
402
+ } as const;
403
+
404
+ export type CreateProductVariantRetailPriceCurrencyCodeEnum = typeof CreateProductVariantRetailPriceCurrencyCodeEnum[keyof typeof CreateProductVariantRetailPriceCurrencyCodeEnum];
405
+
333
406
  /**
334
407
  * Image description
335
408
  * @export
@@ -382,28 +455,28 @@ export interface Image {
382
455
  /**
383
456
  *
384
457
  * @export
385
- * @interface ImportProducts200Response
458
+ * @interface ImageFile
386
459
  */
387
- export interface ImportProducts200Response {
460
+ export interface ImageFile {
388
461
  /**
389
- * Id of the product import
462
+ * Publicly available file URL.
390
463
  * @type {string}
391
- * @memberof ImportProducts200Response
464
+ * @memberof ImageFile
392
465
  */
393
- 'importId'?: string;
466
+ 'src'?: string;
394
467
  }
395
468
  /**
396
469
  *
397
470
  * @export
398
- * @interface ModelFile
471
+ * @interface ImportProducts200Response
399
472
  */
400
- export interface ModelFile {
473
+ export interface ImportProducts200Response {
401
474
  /**
402
- * Publicly available file URL.
475
+ * Id of the product import
403
476
  * @type {string}
404
- * @memberof ModelFile
477
+ * @memberof ImportProducts200Response
405
478
  */
406
- 'src'?: string;
479
+ 'importId'?: string;
407
480
  }
408
481
  /**
409
482
  * Standard price definition that defines the amount, tax rate and currency.
@@ -422,8 +495,15 @@ export interface Price {
422
495
  * @type {string}
423
496
  * @memberof Price
424
497
  */
425
- 'currencyCode'?: string;
498
+ 'currencyCode'?: PriceCurrencyCodeEnum;
426
499
  }
500
+
501
+ export const PriceCurrencyCodeEnum = {
502
+ Gbp: 'GBP'
503
+ } as const;
504
+
505
+ export type PriceCurrencyCodeEnum = typeof PriceCurrencyCodeEnum[keyof typeof PriceCurrencyCodeEnum];
506
+
427
507
  /**
428
508
  *
429
509
  * @export
@@ -478,6 +558,12 @@ export interface Product {
478
558
  * @memberof Product
479
559
  */
480
560
  'tags'?: Array<string>;
561
+ /**
562
+ *
563
+ * @type {Array<string>}
564
+ * @memberof Product
565
+ */
566
+ 'internalTags'?: Array<string>;
481
567
  /**
482
568
  *
483
569
  * @type {string}
@@ -627,6 +713,12 @@ export interface UpdateProductRequest {
627
713
  * @memberof UpdateProductRequest
628
714
  */
629
715
  'tags'?: Array<string>;
716
+ /**
717
+ * Additional product tags used for internal searching and filtering.
718
+ * @type {Array<string>}
719
+ * @memberof UpdateProductRequest
720
+ */
721
+ 'internalTags'?: Array<string>;
630
722
  /**
631
723
  * Variants
632
724
  * @type {Array<CreateProductVariant>}
@@ -635,16 +727,16 @@ export interface UpdateProductRequest {
635
727
  'variants'?: Array<CreateProductVariant>;
636
728
  /**
637
729
  * Images to attach to the product. For example, photos of models using/wearing the product.
638
- * @type {Array<any>}
730
+ * @type {Array<ImageFile>}
639
731
  * @memberof UpdateProductRequest
640
732
  */
641
- 'images'?: Array<any>;
733
+ 'images'?: Array<ImageFile>;
642
734
  /**
643
735
  * Additional files to attach to the product. For example, original design files e.g. PSD, AI, etc.
644
- * @type {Array<any>}
736
+ * @type {Array<AdditionalFile>}
645
737
  * @memberof UpdateProductRequest
646
738
  */
647
- 'additionalFiles'?: Array<any>;
739
+ 'additionalFiles'?: Array<AdditionalFile>;
648
740
  }
649
741
  /**
650
742
  *
@@ -1219,77 +1311,227 @@ export const ProductsApiFactory = function (configuration?: Configuration, baseP
1219
1311
  /**
1220
1312
  * Creates a new catalog product based on a given warehouse product with the variants and design applications provided. To select a warehouse product to base this product on, use the GFN Catalog API to list available options.
1221
1313
  * @summary Create product
1222
- * @param {string} project What project it is
1223
- * @param {CreateProductRequest} [createProductRequest]
1314
+ * @param {ProductsApiCreateProductRequest} requestParameters Request parameters.
1224
1315
  * @param {*} [options] Override http request option.
1225
1316
  * @throws {RequiredError}
1226
1317
  */
1227
- createProduct(project: string, createProductRequest?: CreateProductRequest, options?: any): AxiosPromise<Product> {
1228
- return localVarFp.createProduct(project, createProductRequest, options).then((request) => request(axios, basePath));
1318
+ createProduct(requestParameters: ProductsApiCreateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise<Product> {
1319
+ return localVarFp.createProduct(requestParameters.project, requestParameters.createProductRequest, options).then((request) => request(axios, basePath));
1229
1320
  },
1230
1321
  /**
1231
1322
  * Deletes a catalog product
1232
1323
  * @summary Delete catalog product
1233
- * @param {string} project What project it is
1234
- * @param {string} productId Product\&#39;s unique identifier
1324
+ * @param {ProductsApiDeleteProductRequest} requestParameters Request parameters.
1235
1325
  * @param {*} [options] Override http request option.
1236
1326
  * @throws {RequiredError}
1237
1327
  */
1238
- deleteProduct(project: string, productId: string, options?: any): AxiosPromise<void> {
1239
- return localVarFp.deleteProduct(project, productId, options).then((request) => request(axios, basePath));
1328
+ deleteProduct(requestParameters: ProductsApiDeleteProductRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {
1329
+ return localVarFp.deleteProduct(requestParameters.project, requestParameters.productId, options).then((request) => request(axios, basePath));
1240
1330
  },
1241
1331
  /**
1242
1332
  * Gets a product by a given ID.
1243
1333
  * @summary Get product
1244
- * @param {string} project What project it is
1245
- * @param {string} productId Product\&#39;s unique identifier
1246
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1334
+ * @param {ProductsApiGetProductRequest} requestParameters Request parameters.
1247
1335
  * @param {*} [options] Override http request option.
1248
1336
  * @throws {RequiredError}
1249
1337
  */
1250
- getProduct(project: string, productId: string, fields?: string, options?: any): AxiosPromise<Product> {
1251
- return localVarFp.getProduct(project, productId, fields, options).then((request) => request(axios, basePath));
1338
+ getProduct(requestParameters: ProductsApiGetProductRequest, options?: RawAxiosRequestConfig): AxiosPromise<Product> {
1339
+ return localVarFp.getProduct(requestParameters.project, requestParameters.productId, requestParameters.fields, options).then((request) => request(axios, basePath));
1252
1340
  },
1253
1341
  /**
1254
1342
  * Lists all enabled store listing products attached to the given project.
1255
1343
  * @summary List products
1256
- * @param {string} project What project it is
1257
- * @param {number} [pageToken] Page reference token
1258
- * @param {string} [search] Search term to filter based on product tags.
1259
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
1260
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1344
+ * @param {ProductsApiGetProductsRequest} requestParameters Request parameters.
1261
1345
  * @param {*} [options] Override http request option.
1262
1346
  * @throws {RequiredError}
1263
1347
  */
1264
- getProducts(project: string, pageToken?: number, search?: string, pageSize?: number, fields?: string, options?: any): AxiosPromise<ProductsResponse> {
1265
- return localVarFp.getProducts(project, pageToken, search, pageSize, fields, options).then((request) => request(axios, basePath));
1348
+ getProducts(requestParameters: ProductsApiGetProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ProductsResponse> {
1349
+ return localVarFp.getProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(axios, basePath));
1266
1350
  },
1267
1351
  /**
1268
1352
  * Initiates a product import from a CSV file. The result will be available as a notification within the dashboard.
1269
1353
  * @summary Import products
1270
- * @param {string} project What project it is
1271
- * @param {string} [body] A data URL of a CSV file containing data for one or more products.
1354
+ * @param {ProductsApiImportProductsRequest} requestParameters Request parameters.
1272
1355
  * @param {*} [options] Override http request option.
1273
1356
  * @throws {RequiredError}
1274
1357
  */
1275
- importProducts(project: string, body?: string, options?: any): AxiosPromise<ImportProducts200Response> {
1276
- return localVarFp.importProducts(project, body, options).then((request) => request(axios, basePath));
1358
+ importProducts(requestParameters: ProductsApiImportProductsRequest, options?: RawAxiosRequestConfig): AxiosPromise<ImportProducts200Response> {
1359
+ return localVarFp.importProducts(requestParameters.project, requestParameters.body, options).then((request) => request(axios, basePath));
1277
1360
  },
1278
1361
  /**
1279
1362
  * Updates a product by a given ID.
1280
1363
  * @summary Update product
1281
- * @param {string} project What project it is
1282
- * @param {string} productId Product\&#39;s unique identifier
1283
- * @param {UpdateProductRequest} [updateProductRequest]
1364
+ * @param {ProductsApiUpdateProductRequest} requestParameters Request parameters.
1284
1365
  * @param {*} [options] Override http request option.
1285
1366
  * @throws {RequiredError}
1286
1367
  */
1287
- updateProduct(project: string, productId: string, updateProductRequest?: UpdateProductRequest, options?: any): AxiosPromise<Product> {
1288
- return localVarFp.updateProduct(project, productId, updateProductRequest, options).then((request) => request(axios, basePath));
1368
+ updateProduct(requestParameters: ProductsApiUpdateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise<Product> {
1369
+ return localVarFp.updateProduct(requestParameters.project, requestParameters.productId, requestParameters.updateProductRequest, options).then((request) => request(axios, basePath));
1289
1370
  },
1290
1371
  };
1291
1372
  };
1292
1373
 
1374
+ /**
1375
+ * Request parameters for createProduct operation in ProductsApi.
1376
+ * @export
1377
+ * @interface ProductsApiCreateProductRequest
1378
+ */
1379
+ export interface ProductsApiCreateProductRequest {
1380
+ /**
1381
+ * What project it is
1382
+ * @type {string}
1383
+ * @memberof ProductsApiCreateProduct
1384
+ */
1385
+ readonly project: string
1386
+
1387
+ /**
1388
+ *
1389
+ * @type {CreateProductRequest}
1390
+ * @memberof ProductsApiCreateProduct
1391
+ */
1392
+ readonly createProductRequest?: CreateProductRequest
1393
+ }
1394
+
1395
+ /**
1396
+ * Request parameters for deleteProduct operation in ProductsApi.
1397
+ * @export
1398
+ * @interface ProductsApiDeleteProductRequest
1399
+ */
1400
+ export interface ProductsApiDeleteProductRequest {
1401
+ /**
1402
+ * What project it is
1403
+ * @type {string}
1404
+ * @memberof ProductsApiDeleteProduct
1405
+ */
1406
+ readonly project: string
1407
+
1408
+ /**
1409
+ * Product\&#39;s unique identifier
1410
+ * @type {string}
1411
+ * @memberof ProductsApiDeleteProduct
1412
+ */
1413
+ readonly productId: string
1414
+ }
1415
+
1416
+ /**
1417
+ * Request parameters for getProduct operation in ProductsApi.
1418
+ * @export
1419
+ * @interface ProductsApiGetProductRequest
1420
+ */
1421
+ export interface ProductsApiGetProductRequest {
1422
+ /**
1423
+ * What project it is
1424
+ * @type {string}
1425
+ * @memberof ProductsApiGetProduct
1426
+ */
1427
+ readonly project: string
1428
+
1429
+ /**
1430
+ * Product\&#39;s unique identifier
1431
+ * @type {string}
1432
+ * @memberof ProductsApiGetProduct
1433
+ */
1434
+ readonly productId: string
1435
+
1436
+ /**
1437
+ * Filter response fields to only include a subset of the resource.
1438
+ * @type {string}
1439
+ * @memberof ProductsApiGetProduct
1440
+ */
1441
+ readonly fields?: string
1442
+ }
1443
+
1444
+ /**
1445
+ * Request parameters for getProducts operation in ProductsApi.
1446
+ * @export
1447
+ * @interface ProductsApiGetProductsRequest
1448
+ */
1449
+ export interface ProductsApiGetProductsRequest {
1450
+ /**
1451
+ * What project it is
1452
+ * @type {string}
1453
+ * @memberof ProductsApiGetProducts
1454
+ */
1455
+ readonly project: string
1456
+
1457
+ /**
1458
+ * Page reference token
1459
+ * @type {number}
1460
+ * @memberof ProductsApiGetProducts
1461
+ */
1462
+ readonly pageToken?: number
1463
+
1464
+ /**
1465
+ * Search term to filter based on product tags.
1466
+ * @type {string}
1467
+ * @memberof ProductsApiGetProducts
1468
+ */
1469
+ readonly search?: string
1470
+
1471
+ /**
1472
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
1473
+ * @type {number}
1474
+ * @memberof ProductsApiGetProducts
1475
+ */
1476
+ readonly pageSize?: number
1477
+
1478
+ /**
1479
+ * Filter response fields to only include a subset of the resource.
1480
+ * @type {string}
1481
+ * @memberof ProductsApiGetProducts
1482
+ */
1483
+ readonly fields?: string
1484
+ }
1485
+
1486
+ /**
1487
+ * Request parameters for importProducts operation in ProductsApi.
1488
+ * @export
1489
+ * @interface ProductsApiImportProductsRequest
1490
+ */
1491
+ export interface ProductsApiImportProductsRequest {
1492
+ /**
1493
+ * What project it is
1494
+ * @type {string}
1495
+ * @memberof ProductsApiImportProducts
1496
+ */
1497
+ readonly project: string
1498
+
1499
+ /**
1500
+ * A data URL of a CSV file containing data for one or more products.
1501
+ * @type {string}
1502
+ * @memberof ProductsApiImportProducts
1503
+ */
1504
+ readonly body?: string
1505
+ }
1506
+
1507
+ /**
1508
+ * Request parameters for updateProduct operation in ProductsApi.
1509
+ * @export
1510
+ * @interface ProductsApiUpdateProductRequest
1511
+ */
1512
+ export interface ProductsApiUpdateProductRequest {
1513
+ /**
1514
+ * What project it is
1515
+ * @type {string}
1516
+ * @memberof ProductsApiUpdateProduct
1517
+ */
1518
+ readonly project: string
1519
+
1520
+ /**
1521
+ * Product\&#39;s unique identifier
1522
+ * @type {string}
1523
+ * @memberof ProductsApiUpdateProduct
1524
+ */
1525
+ readonly productId: string
1526
+
1527
+ /**
1528
+ *
1529
+ * @type {UpdateProductRequest}
1530
+ * @memberof ProductsApiUpdateProduct
1531
+ */
1532
+ readonly updateProductRequest?: UpdateProductRequest
1533
+ }
1534
+
1293
1535
  /**
1294
1536
  * ProductsApi - object-oriented interface
1295
1537
  * @export
@@ -1300,84 +1542,73 @@ export class ProductsApi extends BaseAPI {
1300
1542
  /**
1301
1543
  * Creates a new catalog product based on a given warehouse product with the variants and design applications provided. To select a warehouse product to base this product on, use the GFN Catalog API to list available options.
1302
1544
  * @summary Create product
1303
- * @param {string} project What project it is
1304
- * @param {CreateProductRequest} [createProductRequest]
1545
+ * @param {ProductsApiCreateProductRequest} requestParameters Request parameters.
1305
1546
  * @param {*} [options] Override http request option.
1306
1547
  * @throws {RequiredError}
1307
1548
  * @memberof ProductsApi
1308
1549
  */
1309
- public createProduct(project: string, createProductRequest?: CreateProductRequest, options?: RawAxiosRequestConfig) {
1310
- return ProductsApiFp(this.configuration).createProduct(project, createProductRequest, options).then((request) => request(this.axios, this.basePath));
1550
+ public createProduct(requestParameters: ProductsApiCreateProductRequest, options?: RawAxiosRequestConfig) {
1551
+ return ProductsApiFp(this.configuration).createProduct(requestParameters.project, requestParameters.createProductRequest, options).then((request) => request(this.axios, this.basePath));
1311
1552
  }
1312
1553
 
1313
1554
  /**
1314
1555
  * Deletes a catalog product
1315
1556
  * @summary Delete catalog product
1316
- * @param {string} project What project it is
1317
- * @param {string} productId Product\&#39;s unique identifier
1557
+ * @param {ProductsApiDeleteProductRequest} requestParameters Request parameters.
1318
1558
  * @param {*} [options] Override http request option.
1319
1559
  * @throws {RequiredError}
1320
1560
  * @memberof ProductsApi
1321
1561
  */
1322
- public deleteProduct(project: string, productId: string, options?: RawAxiosRequestConfig) {
1323
- return ProductsApiFp(this.configuration).deleteProduct(project, productId, options).then((request) => request(this.axios, this.basePath));
1562
+ public deleteProduct(requestParameters: ProductsApiDeleteProductRequest, options?: RawAxiosRequestConfig) {
1563
+ return ProductsApiFp(this.configuration).deleteProduct(requestParameters.project, requestParameters.productId, options).then((request) => request(this.axios, this.basePath));
1324
1564
  }
1325
1565
 
1326
1566
  /**
1327
1567
  * Gets a product by a given ID.
1328
1568
  * @summary Get product
1329
- * @param {string} project What project it is
1330
- * @param {string} productId Product\&#39;s unique identifier
1331
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1569
+ * @param {ProductsApiGetProductRequest} requestParameters Request parameters.
1332
1570
  * @param {*} [options] Override http request option.
1333
1571
  * @throws {RequiredError}
1334
1572
  * @memberof ProductsApi
1335
1573
  */
1336
- public getProduct(project: string, productId: string, fields?: string, options?: RawAxiosRequestConfig) {
1337
- return ProductsApiFp(this.configuration).getProduct(project, productId, fields, options).then((request) => request(this.axios, this.basePath));
1574
+ public getProduct(requestParameters: ProductsApiGetProductRequest, options?: RawAxiosRequestConfig) {
1575
+ return ProductsApiFp(this.configuration).getProduct(requestParameters.project, requestParameters.productId, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
1338
1576
  }
1339
1577
 
1340
1578
  /**
1341
1579
  * Lists all enabled store listing products attached to the given project.
1342
1580
  * @summary List products
1343
- * @param {string} project What project it is
1344
- * @param {number} [pageToken] Page reference token
1345
- * @param {string} [search] Search term to filter based on product tags.
1346
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
1347
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1581
+ * @param {ProductsApiGetProductsRequest} requestParameters Request parameters.
1348
1582
  * @param {*} [options] Override http request option.
1349
1583
  * @throws {RequiredError}
1350
1584
  * @memberof ProductsApi
1351
1585
  */
1352
- public getProducts(project: string, pageToken?: number, search?: string, pageSize?: number, fields?: string, options?: RawAxiosRequestConfig) {
1353
- return ProductsApiFp(this.configuration).getProducts(project, pageToken, search, pageSize, fields, options).then((request) => request(this.axios, this.basePath));
1586
+ public getProducts(requestParameters: ProductsApiGetProductsRequest, options?: RawAxiosRequestConfig) {
1587
+ return ProductsApiFp(this.configuration).getProducts(requestParameters.project, requestParameters.pageToken, requestParameters.search, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
1354
1588
  }
1355
1589
 
1356
1590
  /**
1357
1591
  * Initiates a product import from a CSV file. The result will be available as a notification within the dashboard.
1358
1592
  * @summary Import products
1359
- * @param {string} project What project it is
1360
- * @param {string} [body] A data URL of a CSV file containing data for one or more products.
1593
+ * @param {ProductsApiImportProductsRequest} requestParameters Request parameters.
1361
1594
  * @param {*} [options] Override http request option.
1362
1595
  * @throws {RequiredError}
1363
1596
  * @memberof ProductsApi
1364
1597
  */
1365
- public importProducts(project: string, body?: string, options?: RawAxiosRequestConfig) {
1366
- return ProductsApiFp(this.configuration).importProducts(project, body, options).then((request) => request(this.axios, this.basePath));
1598
+ public importProducts(requestParameters: ProductsApiImportProductsRequest, options?: RawAxiosRequestConfig) {
1599
+ return ProductsApiFp(this.configuration).importProducts(requestParameters.project, requestParameters.body, options).then((request) => request(this.axios, this.basePath));
1367
1600
  }
1368
1601
 
1369
1602
  /**
1370
1603
  * Updates a product by a given ID.
1371
1604
  * @summary Update product
1372
- * @param {string} project What project it is
1373
- * @param {string} productId Product\&#39;s unique identifier
1374
- * @param {UpdateProductRequest} [updateProductRequest]
1605
+ * @param {ProductsApiUpdateProductRequest} requestParameters Request parameters.
1375
1606
  * @param {*} [options] Override http request option.
1376
1607
  * @throws {RequiredError}
1377
1608
  * @memberof ProductsApi
1378
1609
  */
1379
- public updateProduct(project: string, productId: string, updateProductRequest?: UpdateProductRequest, options?: RawAxiosRequestConfig) {
1380
- return ProductsApiFp(this.configuration).updateProduct(project, productId, updateProductRequest, options).then((request) => request(this.axios, this.basePath));
1610
+ public updateProduct(requestParameters: ProductsApiUpdateProductRequest, options?: RawAxiosRequestConfig) {
1611
+ return ProductsApiFp(this.configuration).updateProduct(requestParameters.project, requestParameters.productId, requestParameters.updateProductRequest, options).then((request) => request(this.axios, this.basePath));
1381
1612
  }
1382
1613
  }
1383
1614
 
@@ -1561,32 +1792,96 @@ export const VariantsApiFactory = function (configuration?: Configuration, baseP
1561
1792
  /**
1562
1793
  * Gets a variant by a given ID.
1563
1794
  * @summary Get variant
1564
- * @param {string} project What project it is
1565
- * @param {string} variantId Variants unique identifier
1566
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1795
+ * @param {VariantsApiGetVariantRequest} requestParameters Request parameters.
1567
1796
  * @param {*} [options] Override http request option.
1568
1797
  * @throws {RequiredError}
1569
1798
  */
1570
- getVariant(project: string, variantId: string, fields?: string, options?: any): AxiosPromise<Variant> {
1571
- return localVarFp.getVariant(project, variantId, fields, options).then((request) => request(axios, basePath));
1799
+ getVariant(requestParameters: VariantsApiGetVariantRequest, options?: RawAxiosRequestConfig): AxiosPromise<Variant> {
1800
+ return localVarFp.getVariant(requestParameters.project, requestParameters.variantId, requestParameters.fields, options).then((request) => request(axios, basePath));
1572
1801
  },
1573
1802
  /**
1574
1803
  * Lists all variants that belong to enabled products attached to the given project.
1575
1804
  * @summary List variants
1576
- * @param {string} project What project it is
1577
- * @param {string} [search] Search term to filter based on product tags.
1578
- * @param {number} [pageToken] Page reference token
1579
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
1580
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1805
+ * @param {VariantsApiListVariantsRequest} requestParameters Request parameters.
1581
1806
  * @param {*} [options] Override http request option.
1582
1807
  * @throws {RequiredError}
1583
1808
  */
1584
- listVariants(project: string, search?: string, pageToken?: number, pageSize?: number, fields?: string, options?: any): AxiosPromise<VariantsResponse> {
1585
- return localVarFp.listVariants(project, search, pageToken, pageSize, fields, options).then((request) => request(axios, basePath));
1809
+ listVariants(requestParameters: VariantsApiListVariantsRequest, options?: RawAxiosRequestConfig): AxiosPromise<VariantsResponse> {
1810
+ return localVarFp.listVariants(requestParameters.project, requestParameters.search, requestParameters.pageToken, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(axios, basePath));
1586
1811
  },
1587
1812
  };
1588
1813
  };
1589
1814
 
1815
+ /**
1816
+ * Request parameters for getVariant operation in VariantsApi.
1817
+ * @export
1818
+ * @interface VariantsApiGetVariantRequest
1819
+ */
1820
+ export interface VariantsApiGetVariantRequest {
1821
+ /**
1822
+ * What project it is
1823
+ * @type {string}
1824
+ * @memberof VariantsApiGetVariant
1825
+ */
1826
+ readonly project: string
1827
+
1828
+ /**
1829
+ * Variants unique identifier
1830
+ * @type {string}
1831
+ * @memberof VariantsApiGetVariant
1832
+ */
1833
+ readonly variantId: string
1834
+
1835
+ /**
1836
+ * Filter response fields to only include a subset of the resource.
1837
+ * @type {string}
1838
+ * @memberof VariantsApiGetVariant
1839
+ */
1840
+ readonly fields?: string
1841
+ }
1842
+
1843
+ /**
1844
+ * Request parameters for listVariants operation in VariantsApi.
1845
+ * @export
1846
+ * @interface VariantsApiListVariantsRequest
1847
+ */
1848
+ export interface VariantsApiListVariantsRequest {
1849
+ /**
1850
+ * What project it is
1851
+ * @type {string}
1852
+ * @memberof VariantsApiListVariants
1853
+ */
1854
+ readonly project: string
1855
+
1856
+ /**
1857
+ * Search term to filter based on product tags.
1858
+ * @type {string}
1859
+ * @memberof VariantsApiListVariants
1860
+ */
1861
+ readonly search?: string
1862
+
1863
+ /**
1864
+ * Page reference token
1865
+ * @type {number}
1866
+ * @memberof VariantsApiListVariants
1867
+ */
1868
+ readonly pageToken?: number
1869
+
1870
+ /**
1871
+ * Max page size. This is the maximum page size that will be returned, but it might be smaller.
1872
+ * @type {number}
1873
+ * @memberof VariantsApiListVariants
1874
+ */
1875
+ readonly pageSize?: number
1876
+
1877
+ /**
1878
+ * Filter response fields to only include a subset of the resource.
1879
+ * @type {string}
1880
+ * @memberof VariantsApiListVariants
1881
+ */
1882
+ readonly fields?: string
1883
+ }
1884
+
1590
1885
  /**
1591
1886
  * VariantsApi - object-oriented interface
1592
1887
  * @export
@@ -1597,31 +1892,25 @@ export class VariantsApi extends BaseAPI {
1597
1892
  /**
1598
1893
  * Gets a variant by a given ID.
1599
1894
  * @summary Get variant
1600
- * @param {string} project What project it is
1601
- * @param {string} variantId Variants unique identifier
1602
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1895
+ * @param {VariantsApiGetVariantRequest} requestParameters Request parameters.
1603
1896
  * @param {*} [options] Override http request option.
1604
1897
  * @throws {RequiredError}
1605
1898
  * @memberof VariantsApi
1606
1899
  */
1607
- public getVariant(project: string, variantId: string, fields?: string, options?: RawAxiosRequestConfig) {
1608
- return VariantsApiFp(this.configuration).getVariant(project, variantId, fields, options).then((request) => request(this.axios, this.basePath));
1900
+ public getVariant(requestParameters: VariantsApiGetVariantRequest, options?: RawAxiosRequestConfig) {
1901
+ return VariantsApiFp(this.configuration).getVariant(requestParameters.project, requestParameters.variantId, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
1609
1902
  }
1610
1903
 
1611
1904
  /**
1612
1905
  * Lists all variants that belong to enabled products attached to the given project.
1613
1906
  * @summary List variants
1614
- * @param {string} project What project it is
1615
- * @param {string} [search] Search term to filter based on product tags.
1616
- * @param {number} [pageToken] Page reference token
1617
- * @param {number} [pageSize] Max page size. This is the maximum page size that will be returned, but it might be smaller.
1618
- * @param {string} [fields] Filter response fields to only include a subset of the resource.
1907
+ * @param {VariantsApiListVariantsRequest} requestParameters Request parameters.
1619
1908
  * @param {*} [options] Override http request option.
1620
1909
  * @throws {RequiredError}
1621
1910
  * @memberof VariantsApi
1622
1911
  */
1623
- public listVariants(project: string, search?: string, pageToken?: number, pageSize?: number, fields?: string, options?: RawAxiosRequestConfig) {
1624
- return VariantsApiFp(this.configuration).listVariants(project, search, pageToken, pageSize, fields, options).then((request) => request(this.axios, this.basePath));
1912
+ public listVariants(requestParameters: VariantsApiListVariantsRequest, options?: RawAxiosRequestConfig) {
1913
+ return VariantsApiFp(this.configuration).listVariants(requestParameters.project, requestParameters.search, requestParameters.pageToken, requestParameters.pageSize, requestParameters.fields, options).then((request) => request(this.axios, this.basePath));
1625
1914
  }
1626
1915
  }
1627
1916