@teemill/product-catalog 1.10.0 → 1.11.1

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 (160) hide show
  1. package/.openapi-generator/FILES +1 -0
  2. package/.openapi-generator/VERSION +1 -1
  3. package/README.md +2 -2
  4. package/dist/apis/ProductsApi.d.ts +1 -1
  5. package/dist/apis/ProductsApi.js +216 -410
  6. package/dist/apis/VariantsApi.d.ts +1 -1
  7. package/dist/apis/VariantsApi.js +83 -187
  8. package/dist/esm/apis/ProductsApi.d.ts +107 -0
  9. package/dist/esm/apis/ProductsApi.js +300 -0
  10. package/dist/esm/apis/VariantsApi.d.ts +50 -0
  11. package/dist/esm/apis/VariantsApi.js +127 -0
  12. package/dist/esm/apis/index.d.ts +2 -0
  13. package/dist/esm/apis/index.js +4 -0
  14. package/dist/esm/index.d.ts +3 -0
  15. package/dist/esm/index.js +5 -0
  16. package/dist/esm/models/ApiError.d.ts +37 -0
  17. package/dist/esm/models/ApiError.js +42 -0
  18. package/dist/esm/models/Attribute.d.ts +50 -0
  19. package/dist/esm/models/Attribute.js +49 -0
  20. package/dist/esm/models/AttributeThumbnail.d.ts +46 -0
  21. package/dist/esm/models/AttributeThumbnail.js +48 -0
  22. package/dist/esm/models/CreateProductRequest.d.ts +88 -0
  23. package/dist/esm/models/CreateProductRequest.js +63 -0
  24. package/dist/esm/models/CreateProductRequestAdditionalFilesInner.d.ts +31 -0
  25. package/dist/esm/models/CreateProductRequestAdditionalFilesInner.js +43 -0
  26. package/dist/esm/models/CreateProductRequestImagesInner.d.ts +31 -0
  27. package/dist/esm/models/CreateProductRequestImagesInner.js +38 -0
  28. package/dist/esm/models/CreateProductRequestSeoMetadata.d.ts +31 -0
  29. package/dist/esm/models/CreateProductRequestSeoMetadata.js +38 -0
  30. package/dist/esm/models/CreateProductRequestVariantsInner.d.ts +59 -0
  31. package/dist/esm/models/CreateProductRequestVariantsInner.js +57 -0
  32. package/dist/esm/models/CreateProductRequestVariantsInnerApplicationsInner.d.ts +63 -0
  33. package/dist/esm/models/CreateProductRequestVariantsInnerApplicationsInner.js +67 -0
  34. package/dist/esm/models/CreateProductRequestVariantsInnerAttributesInner.d.ts +37 -0
  35. package/dist/esm/models/CreateProductRequestVariantsInnerAttributesInner.js +46 -0
  36. package/dist/esm/models/CreateProductRequestVariantsInnerImagesInner.d.ts +31 -0
  37. package/dist/esm/models/CreateProductRequestVariantsInnerImagesInner.js +43 -0
  38. package/dist/esm/models/CreateProductRequestVariantsInnerRetailPrice.d.ts +37 -0
  39. package/dist/esm/models/CreateProductRequestVariantsInnerRetailPrice.js +46 -0
  40. package/dist/esm/models/CreateProductVariant.d.ts +59 -0
  41. package/dist/esm/models/CreateProductVariant.js +54 -0
  42. package/dist/esm/models/CreateProductVariantApplicationsInner.d.ts +54 -0
  43. package/dist/esm/models/CreateProductVariantApplicationsInner.js +58 -0
  44. package/dist/esm/models/CreateProductVariantAttributesInner.d.ts +37 -0
  45. package/dist/esm/models/CreateProductVariantAttributesInner.js +44 -0
  46. package/dist/esm/models/CreateProductVariantRetailPrice.d.ts +37 -0
  47. package/dist/esm/models/CreateProductVariantRetailPrice.js +44 -0
  48. package/dist/esm/models/Image.d.ts +67 -0
  49. package/dist/esm/models/Image.js +50 -0
  50. package/dist/esm/models/ImportProducts200Response.d.ts +31 -0
  51. package/dist/esm/models/ImportProducts200Response.js +38 -0
  52. package/dist/esm/models/ModelFile.d.ts +31 -0
  53. package/dist/esm/models/ModelFile.js +38 -0
  54. package/dist/esm/models/Price.d.ts +37 -0
  55. package/dist/esm/models/Price.js +40 -0
  56. package/dist/esm/models/Product.d.ts +113 -0
  57. package/dist/esm/models/Product.js +71 -0
  58. package/dist/esm/models/ProductAdditionalFilesInner.d.ts +37 -0
  59. package/dist/esm/models/ProductAdditionalFilesInner.js +40 -0
  60. package/dist/esm/models/ProductsResponse.d.ts +38 -0
  61. package/dist/esm/models/ProductsResponse.js +41 -0
  62. package/dist/esm/models/SeoMetadata.d.ts +31 -0
  63. package/dist/esm/models/SeoMetadata.js +38 -0
  64. package/dist/esm/models/Stock.d.ts +31 -0
  65. package/dist/esm/models/Stock.js +38 -0
  66. package/dist/esm/models/UpdateProductRequest.d.ts +87 -0
  67. package/dist/esm/models/UpdateProductRequest.js +58 -0
  68. package/dist/esm/models/Variant.d.ts +114 -0
  69. package/dist/esm/models/Variant.js +71 -0
  70. package/dist/esm/models/VariantProduct.d.ts +37 -0
  71. package/dist/esm/models/VariantProduct.js +40 -0
  72. package/dist/esm/models/VariantsResponse.d.ts +38 -0
  73. package/dist/esm/models/VariantsResponse.js +41 -0
  74. package/dist/esm/models/index.d.ts +23 -0
  75. package/dist/esm/models/index.js +25 -0
  76. package/dist/esm/runtime.d.ts +187 -0
  77. package/dist/esm/runtime.js +333 -0
  78. package/dist/models/ApiError.d.ts +1 -1
  79. package/dist/models/ApiError.js +1 -1
  80. package/dist/models/Attribute.d.ts +1 -1
  81. package/dist/models/Attribute.js +2 -2
  82. package/dist/models/AttributeThumbnail.d.ts +1 -1
  83. package/dist/models/AttributeThumbnail.js +1 -1
  84. package/dist/models/CreateProductRequest.d.ts +1 -1
  85. package/dist/models/CreateProductRequest.js +4 -4
  86. package/dist/models/CreateProductRequestAdditionalFilesInner.js +2 -2
  87. package/dist/models/CreateProductRequestImagesInner.d.ts +1 -1
  88. package/dist/models/CreateProductRequestImagesInner.js +1 -1
  89. package/dist/models/CreateProductRequestSeoMetadata.d.ts +1 -1
  90. package/dist/models/CreateProductRequestSeoMetadata.js +1 -1
  91. package/dist/models/CreateProductRequestVariantsInner.js +6 -6
  92. package/dist/models/CreateProductRequestVariantsInnerApplicationsInner.js +1 -1
  93. package/dist/models/CreateProductRequestVariantsInnerAttributesInner.js +1 -1
  94. package/dist/models/CreateProductRequestVariantsInnerImagesInner.js +2 -2
  95. package/dist/models/CreateProductRequestVariantsInnerRetailPrice.js +1 -1
  96. package/dist/models/CreateProductVariant.d.ts +1 -1
  97. package/dist/models/CreateProductVariant.js +5 -5
  98. package/dist/models/CreateProductVariantApplicationsInner.d.ts +2 -11
  99. package/dist/models/CreateProductVariantApplicationsInner.js +2 -10
  100. package/dist/models/CreateProductVariantAttributesInner.d.ts +1 -1
  101. package/dist/models/CreateProductVariantAttributesInner.js +1 -1
  102. package/dist/models/CreateProductVariantRetailPrice.d.ts +1 -1
  103. package/dist/models/CreateProductVariantRetailPrice.js +1 -1
  104. package/dist/models/Image.d.ts +1 -1
  105. package/dist/models/Image.js +1 -1
  106. package/dist/models/ImportProducts200Response.d.ts +1 -1
  107. package/dist/models/ImportProducts200Response.js +1 -1
  108. package/dist/models/ModelFile.d.ts +1 -1
  109. package/dist/models/ModelFile.js +1 -1
  110. package/dist/models/Price.d.ts +1 -1
  111. package/dist/models/Price.js +1 -1
  112. package/dist/models/Product.d.ts +2 -2
  113. package/dist/models/Product.js +5 -5
  114. package/dist/models/ProductAdditionalFilesInner.d.ts +1 -1
  115. package/dist/models/ProductAdditionalFilesInner.js +1 -1
  116. package/dist/models/ProductsResponse.d.ts +1 -1
  117. package/dist/models/ProductsResponse.js +2 -2
  118. package/dist/models/SeoMetadata.d.ts +1 -1
  119. package/dist/models/SeoMetadata.js +1 -1
  120. package/dist/models/Stock.d.ts +1 -1
  121. package/dist/models/Stock.js +1 -1
  122. package/dist/models/UpdateProductRequest.d.ts +1 -1
  123. package/dist/models/UpdateProductRequest.js +3 -3
  124. package/dist/models/Variant.d.ts +2 -2
  125. package/dist/models/Variant.js +6 -6
  126. package/dist/models/VariantProduct.d.ts +1 -1
  127. package/dist/models/VariantProduct.js +1 -1
  128. package/dist/models/VariantsResponse.d.ts +1 -1
  129. package/dist/models/VariantsResponse.js +2 -2
  130. package/dist/runtime.d.ts +1 -1
  131. package/dist/runtime.js +223 -439
  132. package/package.json +4 -2
  133. package/src/apis/ProductsApi.ts +1 -1
  134. package/src/apis/VariantsApi.ts +1 -1
  135. package/src/models/ApiError.ts +1 -1
  136. package/src/models/Attribute.ts +1 -1
  137. package/src/models/AttributeThumbnail.ts +1 -1
  138. package/src/models/CreateProductRequest.ts +1 -1
  139. package/src/models/CreateProductRequestImagesInner.ts +1 -1
  140. package/src/models/CreateProductRequestSeoMetadata.ts +1 -1
  141. package/src/models/CreateProductVariant.ts +1 -1
  142. package/src/models/CreateProductVariantApplicationsInner.ts +2 -12
  143. package/src/models/CreateProductVariantAttributesInner.ts +1 -1
  144. package/src/models/CreateProductVariantRetailPrice.ts +1 -1
  145. package/src/models/Image.ts +1 -1
  146. package/src/models/ImportProducts200Response.ts +1 -1
  147. package/src/models/ModelFile.ts +1 -1
  148. package/src/models/Price.ts +1 -1
  149. package/src/models/Product.ts +2 -2
  150. package/src/models/ProductAdditionalFilesInner.ts +1 -1
  151. package/src/models/ProductsResponse.ts +1 -1
  152. package/src/models/SeoMetadata.ts +1 -1
  153. package/src/models/Stock.ts +1 -1
  154. package/src/models/UpdateProductRequest.ts +1 -1
  155. package/src/models/Variant.ts +2 -2
  156. package/src/models/VariantProduct.ts +1 -1
  157. package/src/models/VariantsResponse.ts +1 -1
  158. package/src/runtime.ts +1 -1
  159. package/tsconfig.esm.json +7 -0
  160. package/tsconfig.json +2 -2
@@ -0,0 +1,300 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Product Catalog API
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
+ *
7
+ * The version of the OpenAPI document: 1.11.1
8
+ * Contact: hello@teemill.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { CreateProductRequestToJSON, ImportProducts200ResponseFromJSON, ProductFromJSON, ProductsResponseFromJSON, UpdateProductRequestToJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class ProductsApi extends runtime.BaseAPI {
29
+ /**
30
+ * 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.
31
+ * Create product
32
+ */
33
+ createProductRaw(requestParameters, initOverrides) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (requestParameters.project === null || requestParameters.project === undefined) {
36
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling createProduct.');
37
+ }
38
+ const queryParameters = {};
39
+ if (requestParameters.project !== undefined) {
40
+ queryParameters['project'] = requestParameters.project;
41
+ }
42
+ const headerParameters = {};
43
+ headerParameters['Content-Type'] = 'application/json';
44
+ if (this.configuration && this.configuration.accessToken) {
45
+ // oauth required
46
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
47
+ }
48
+ if (this.configuration && this.configuration.apiKey) {
49
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
50
+ }
51
+ const response = yield this.request({
52
+ path: `/v1/catalog/products`,
53
+ method: 'POST',
54
+ headers: headerParameters,
55
+ query: queryParameters,
56
+ body: CreateProductRequestToJSON(requestParameters.createProductRequest),
57
+ }, initOverrides);
58
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProductFromJSON(jsonValue));
59
+ });
60
+ }
61
+ /**
62
+ * 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.
63
+ * Create product
64
+ */
65
+ createProduct(project, optionalParameters = {}, initOverrides) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const response = yield this.createProductRaw(Object.assign({ project: project }, optionalParameters), initOverrides);
68
+ return yield response.value();
69
+ });
70
+ }
71
+ /**
72
+ * Deletes a catalog product
73
+ * Delete catalog product
74
+ */
75
+ deleteProductRaw(requestParameters, initOverrides) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ if (requestParameters.project === null || requestParameters.project === undefined) {
78
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling deleteProduct.');
79
+ }
80
+ if (requestParameters.productId === null || requestParameters.productId === undefined) {
81
+ throw new runtime.RequiredError('productId', 'Required parameter requestParameters.productId was null or undefined when calling deleteProduct.');
82
+ }
83
+ const queryParameters = {};
84
+ if (requestParameters.project !== undefined) {
85
+ queryParameters['project'] = requestParameters.project;
86
+ }
87
+ const headerParameters = {};
88
+ if (this.configuration && this.configuration.accessToken) {
89
+ // oauth required
90
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
91
+ }
92
+ if (this.configuration && this.configuration.apiKey) {
93
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
94
+ }
95
+ const response = yield this.request({
96
+ path: `/v1/catalog/products/{productId}`.replace(`{${"productId"}}`, encodeURIComponent(String(requestParameters.productId))),
97
+ method: 'DELETE',
98
+ headers: headerParameters,
99
+ query: queryParameters,
100
+ }, initOverrides);
101
+ return new runtime.VoidApiResponse(response);
102
+ });
103
+ }
104
+ /**
105
+ * Deletes a catalog product
106
+ * Delete catalog product
107
+ */
108
+ deleteProduct(project, productId, initOverrides) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ yield this.deleteProductRaw({
111
+ project: project, productId: productId,
112
+ }, initOverrides);
113
+ });
114
+ }
115
+ /**
116
+ * Gets a product by a given ID.
117
+ * Get product
118
+ */
119
+ getProductRaw(requestParameters, initOverrides) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ if (requestParameters.project === null || requestParameters.project === undefined) {
122
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling getProduct.');
123
+ }
124
+ if (requestParameters.productId === null || requestParameters.productId === undefined) {
125
+ throw new runtime.RequiredError('productId', 'Required parameter requestParameters.productId was null or undefined when calling getProduct.');
126
+ }
127
+ const queryParameters = {};
128
+ if (requestParameters.project !== undefined) {
129
+ queryParameters['project'] = requestParameters.project;
130
+ }
131
+ if (requestParameters.fields !== undefined) {
132
+ queryParameters['fields'] = requestParameters.fields;
133
+ }
134
+ const headerParameters = {};
135
+ if (this.configuration && this.configuration.accessToken) {
136
+ // oauth required
137
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
138
+ }
139
+ if (this.configuration && this.configuration.apiKey) {
140
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
141
+ }
142
+ const response = yield this.request({
143
+ path: `/v1/catalog/products/{productId}`.replace(`{${"productId"}}`, encodeURIComponent(String(requestParameters.productId))),
144
+ method: 'GET',
145
+ headers: headerParameters,
146
+ query: queryParameters,
147
+ }, initOverrides);
148
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProductFromJSON(jsonValue));
149
+ });
150
+ }
151
+ /**
152
+ * Gets a product by a given ID.
153
+ * Get product
154
+ */
155
+ getProduct(project, productId, optionalParameters = {}, initOverrides) {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ const response = yield this.getProductRaw(Object.assign({ project: project, productId: productId }, optionalParameters), initOverrides);
158
+ return yield response.value();
159
+ });
160
+ }
161
+ /**
162
+ * Lists all enabled store listing products attached to the given project.
163
+ * List products
164
+ */
165
+ getProductsRaw(requestParameters, initOverrides) {
166
+ return __awaiter(this, void 0, void 0, function* () {
167
+ if (requestParameters.project === null || requestParameters.project === undefined) {
168
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling getProducts.');
169
+ }
170
+ const queryParameters = {};
171
+ if (requestParameters.project !== undefined) {
172
+ queryParameters['project'] = requestParameters.project;
173
+ }
174
+ if (requestParameters.pageToken !== undefined) {
175
+ queryParameters['pageToken'] = requestParameters.pageToken;
176
+ }
177
+ if (requestParameters.search !== undefined) {
178
+ queryParameters['search'] = requestParameters.search;
179
+ }
180
+ if (requestParameters.pageSize !== undefined) {
181
+ queryParameters['pageSize'] = requestParameters.pageSize;
182
+ }
183
+ if (requestParameters.fields !== undefined) {
184
+ queryParameters['fields'] = requestParameters.fields;
185
+ }
186
+ const headerParameters = {};
187
+ if (this.configuration && this.configuration.accessToken) {
188
+ // oauth required
189
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
190
+ }
191
+ if (this.configuration && this.configuration.apiKey) {
192
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
193
+ }
194
+ const response = yield this.request({
195
+ path: `/v1/catalog/products`,
196
+ method: 'GET',
197
+ headers: headerParameters,
198
+ query: queryParameters,
199
+ }, initOverrides);
200
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProductsResponseFromJSON(jsonValue));
201
+ });
202
+ }
203
+ /**
204
+ * Lists all enabled store listing products attached to the given project.
205
+ * List products
206
+ */
207
+ getProducts(project, optionalParameters = {}, initOverrides) {
208
+ return __awaiter(this, void 0, void 0, function* () {
209
+ const response = yield this.getProductsRaw(Object.assign({ project: project }, optionalParameters), initOverrides);
210
+ return yield response.value();
211
+ });
212
+ }
213
+ /**
214
+ * Initiates a product import from a CSV file. The result will be available as a notification within the dashboard.
215
+ * Import products
216
+ */
217
+ importProductsRaw(requestParameters, initOverrides) {
218
+ return __awaiter(this, void 0, void 0, function* () {
219
+ if (requestParameters.project === null || requestParameters.project === undefined) {
220
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling importProducts.');
221
+ }
222
+ const queryParameters = {};
223
+ if (requestParameters.project !== undefined) {
224
+ queryParameters['project'] = requestParameters.project;
225
+ }
226
+ const headerParameters = {};
227
+ headerParameters['Content-Type'] = 'text/csv';
228
+ if (this.configuration && this.configuration.accessToken) {
229
+ // oauth required
230
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
231
+ }
232
+ if (this.configuration && this.configuration.apiKey) {
233
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
234
+ }
235
+ const response = yield this.request({
236
+ path: `/v1/catalog/products/import`,
237
+ method: 'POST',
238
+ headers: headerParameters,
239
+ query: queryParameters,
240
+ body: requestParameters.body,
241
+ }, initOverrides);
242
+ return new runtime.JSONApiResponse(response, (jsonValue) => ImportProducts200ResponseFromJSON(jsonValue));
243
+ });
244
+ }
245
+ /**
246
+ * Initiates a product import from a CSV file. The result will be available as a notification within the dashboard.
247
+ * Import products
248
+ */
249
+ importProducts(project, optionalParameters = {}, initOverrides) {
250
+ return __awaiter(this, void 0, void 0, function* () {
251
+ const response = yield this.importProductsRaw(Object.assign({ project: project }, optionalParameters), initOverrides);
252
+ return yield response.value();
253
+ });
254
+ }
255
+ /**
256
+ * Updates a product by a given ID.
257
+ * Update product
258
+ */
259
+ updateProductRaw(requestParameters, initOverrides) {
260
+ return __awaiter(this, void 0, void 0, function* () {
261
+ if (requestParameters.project === null || requestParameters.project === undefined) {
262
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling updateProduct.');
263
+ }
264
+ if (requestParameters.productId === null || requestParameters.productId === undefined) {
265
+ throw new runtime.RequiredError('productId', 'Required parameter requestParameters.productId was null or undefined when calling updateProduct.');
266
+ }
267
+ const queryParameters = {};
268
+ if (requestParameters.project !== undefined) {
269
+ queryParameters['project'] = requestParameters.project;
270
+ }
271
+ const headerParameters = {};
272
+ headerParameters['Content-Type'] = 'application/json';
273
+ if (this.configuration && this.configuration.accessToken) {
274
+ // oauth required
275
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
276
+ }
277
+ if (this.configuration && this.configuration.apiKey) {
278
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
279
+ }
280
+ const response = yield this.request({
281
+ path: `/v1/catalog/products/{productId}`.replace(`{${"productId"}}`, encodeURIComponent(String(requestParameters.productId))),
282
+ method: 'PATCH',
283
+ headers: headerParameters,
284
+ query: queryParameters,
285
+ body: UpdateProductRequestToJSON(requestParameters.updateProductRequest),
286
+ }, initOverrides);
287
+ return new runtime.JSONApiResponse(response, (jsonValue) => ProductFromJSON(jsonValue));
288
+ });
289
+ }
290
+ /**
291
+ * Updates a product by a given ID.
292
+ * Update product
293
+ */
294
+ updateProduct(project, productId, optionalParameters = {}, initOverrides) {
295
+ return __awaiter(this, void 0, void 0, function* () {
296
+ const response = yield this.updateProductRaw(Object.assign({ project: project, productId: productId }, optionalParameters), initOverrides);
297
+ return yield response.value();
298
+ });
299
+ }
300
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Product Catalog API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.11.1
6
+ * Contact: hello@teemill.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { Variant, VariantsResponse } from '../models/index';
14
+ export interface GetVariantRequest {
15
+ project: string;
16
+ variantId: string;
17
+ fields?: string;
18
+ }
19
+ export interface ListVariantsRequest {
20
+ project: string;
21
+ search?: string;
22
+ pageToken?: number;
23
+ pageSize?: number;
24
+ fields?: string;
25
+ }
26
+ /**
27
+ *
28
+ */
29
+ export declare class VariantsApi extends runtime.BaseAPI {
30
+ /**
31
+ * Gets a variant by a given ID.
32
+ * Get variant
33
+ */
34
+ getVariantRaw(requestParameters: GetVariantRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Variant>>;
35
+ /**
36
+ * Gets a variant by a given ID.
37
+ * Get variant
38
+ */
39
+ getVariant(project: string, variantId: string, optionalParameters?: runtime.OptionalOnly<GetVariantRequest>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Variant>;
40
+ /**
41
+ * Lists all variants that belong to enabled products attached to the given project.
42
+ * List variants
43
+ */
44
+ listVariantsRaw(requestParameters: ListVariantsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<VariantsResponse>>;
45
+ /**
46
+ * Lists all variants that belong to enabled products attached to the given project.
47
+ * List variants
48
+ */
49
+ listVariants(project: string, optionalParameters?: runtime.OptionalOnly<ListVariantsRequest>, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<VariantsResponse>;
50
+ }
@@ -0,0 +1,127 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Product Catalog API
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
+ *
7
+ * The version of the OpenAPI document: 1.11.1
8
+ * Contact: hello@teemill.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { VariantFromJSON, VariantsResponseFromJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class VariantsApi extends runtime.BaseAPI {
29
+ /**
30
+ * Gets a variant by a given ID.
31
+ * Get variant
32
+ */
33
+ getVariantRaw(requestParameters, initOverrides) {
34
+ return __awaiter(this, void 0, void 0, function* () {
35
+ if (requestParameters.project === null || requestParameters.project === undefined) {
36
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling getVariant.');
37
+ }
38
+ if (requestParameters.variantId === null || requestParameters.variantId === undefined) {
39
+ throw new runtime.RequiredError('variantId', 'Required parameter requestParameters.variantId was null or undefined when calling getVariant.');
40
+ }
41
+ const queryParameters = {};
42
+ if (requestParameters.project !== undefined) {
43
+ queryParameters['project'] = requestParameters.project;
44
+ }
45
+ if (requestParameters.fields !== undefined) {
46
+ queryParameters['fields'] = requestParameters.fields;
47
+ }
48
+ const headerParameters = {};
49
+ if (this.configuration && this.configuration.accessToken) {
50
+ // oauth required
51
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
52
+ }
53
+ if (this.configuration && this.configuration.apiKey) {
54
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
55
+ }
56
+ const response = yield this.request({
57
+ path: `/v1/catalog/variants/{variantId}`.replace(`{${"variantId"}}`, encodeURIComponent(String(requestParameters.variantId))),
58
+ method: 'GET',
59
+ headers: headerParameters,
60
+ query: queryParameters,
61
+ }, initOverrides);
62
+ return new runtime.JSONApiResponse(response, (jsonValue) => VariantFromJSON(jsonValue));
63
+ });
64
+ }
65
+ /**
66
+ * Gets a variant by a given ID.
67
+ * Get variant
68
+ */
69
+ getVariant(project, variantId, optionalParameters = {}, initOverrides) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const response = yield this.getVariantRaw(Object.assign({ project: project, variantId: variantId }, optionalParameters), initOverrides);
72
+ return yield response.value();
73
+ });
74
+ }
75
+ /**
76
+ * Lists all variants that belong to enabled products attached to the given project.
77
+ * List variants
78
+ */
79
+ listVariantsRaw(requestParameters, initOverrides) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ if (requestParameters.project === null || requestParameters.project === undefined) {
82
+ throw new runtime.RequiredError('project', 'Required parameter requestParameters.project was null or undefined when calling listVariants.');
83
+ }
84
+ const queryParameters = {};
85
+ if (requestParameters.project !== undefined) {
86
+ queryParameters['project'] = requestParameters.project;
87
+ }
88
+ if (requestParameters.search !== undefined) {
89
+ queryParameters['search'] = requestParameters.search;
90
+ }
91
+ if (requestParameters.pageToken !== undefined) {
92
+ queryParameters['pageToken'] = requestParameters.pageToken;
93
+ }
94
+ if (requestParameters.pageSize !== undefined) {
95
+ queryParameters['pageSize'] = requestParameters.pageSize;
96
+ }
97
+ if (requestParameters.fields !== undefined) {
98
+ queryParameters['fields'] = requestParameters.fields;
99
+ }
100
+ const headerParameters = {};
101
+ if (this.configuration && this.configuration.accessToken) {
102
+ // oauth required
103
+ headerParameters["Authorization"] = yield this.configuration.accessToken("session-oauth", []);
104
+ }
105
+ if (this.configuration && this.configuration.apiKey) {
106
+ headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // api-key authentication
107
+ }
108
+ const response = yield this.request({
109
+ path: `/v1/catalog/variants`,
110
+ method: 'GET',
111
+ headers: headerParameters,
112
+ query: queryParameters,
113
+ }, initOverrides);
114
+ return new runtime.JSONApiResponse(response, (jsonValue) => VariantsResponseFromJSON(jsonValue));
115
+ });
116
+ }
117
+ /**
118
+ * Lists all variants that belong to enabled products attached to the given project.
119
+ * List variants
120
+ */
121
+ listVariants(project, optionalParameters = {}, initOverrides) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ const response = yield this.listVariantsRaw(Object.assign({ project: project }, optionalParameters), initOverrides);
124
+ return yield response.value();
125
+ });
126
+ }
127
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ProductsApi';
2
+ export * from './VariantsApi';
@@ -0,0 +1,4 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export * from './ProductsApi';
4
+ export * from './VariantsApi';
@@ -0,0 +1,3 @@
1
+ export * from './runtime';
2
+ export * from './apis/index';
3
+ export * from './models/index';
@@ -0,0 +1,5 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ export * from './runtime';
4
+ export * from './apis/index';
5
+ export * from './models/index';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Product Catalog API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.11.1
6
+ * Contact: hello@teemill.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ApiError
16
+ */
17
+ export interface ApiError {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof ApiError
22
+ */
23
+ code?: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof ApiError
28
+ */
29
+ message: string;
30
+ }
31
+ /**
32
+ * Check if a given object implements the ApiError interface.
33
+ */
34
+ export declare function instanceOfApiError(value: object): boolean;
35
+ export declare function ApiErrorFromJSON(json: any): ApiError;
36
+ export declare function ApiErrorFromJSONTyped(json: any, ignoreDiscriminator: boolean): ApiError;
37
+ export declare function ApiErrorToJSON(value?: ApiError | null): any;
@@ -0,0 +1,42 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Product Catalog API
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
+ *
7
+ * The version of the OpenAPI document: 1.11.1
8
+ * Contact: hello@teemill.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * Check if a given object implements the ApiError interface.
16
+ */
17
+ export function instanceOfApiError(value) {
18
+ if (!('message' in value))
19
+ return false;
20
+ return true;
21
+ }
22
+ export function ApiErrorFromJSON(json) {
23
+ return ApiErrorFromJSONTyped(json, false);
24
+ }
25
+ export function ApiErrorFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'code': json['code'] == null ? undefined : json['code'],
31
+ 'message': json['message'],
32
+ };
33
+ }
34
+ export function ApiErrorToJSON(value) {
35
+ if (value == null) {
36
+ return value;
37
+ }
38
+ return {
39
+ 'code': value['code'],
40
+ 'message': value['message'],
41
+ };
42
+ }
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Product Catalog API
3
+ * 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.
4
+ *
5
+ * The version of the OpenAPI document: 1.11.1
6
+ * Contact: hello@teemill.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { AttributeThumbnail } from './AttributeThumbnail';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface Attribute
17
+ */
18
+ export interface Attribute {
19
+ /**
20
+ * Attribute name
21
+ * @type {string}
22
+ * @memberof Attribute
23
+ */
24
+ name: string;
25
+ /**
26
+ * Attribute value
27
+ * @type {string}
28
+ * @memberof Attribute
29
+ */
30
+ value: string;
31
+ /**
32
+ *
33
+ * @type {AttributeThumbnail}
34
+ * @memberof Attribute
35
+ */
36
+ thumbnail?: AttributeThumbnail;
37
+ /**
38
+ * Attribute tags
39
+ * @type {Array<string>}
40
+ * @memberof Attribute
41
+ */
42
+ tags?: Array<string>;
43
+ }
44
+ /**
45
+ * Check if a given object implements the Attribute interface.
46
+ */
47
+ export declare function instanceOfAttribute(value: object): boolean;
48
+ export declare function AttributeFromJSON(json: any): Attribute;
49
+ export declare function AttributeFromJSONTyped(json: any, ignoreDiscriminator: boolean): Attribute;
50
+ export declare function AttributeToJSON(value?: Attribute | null): any;