@wix/auto_sdk_stores_products 1.0.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.
Files changed (111) hide show
  1. package/build/cjs/index.d.ts +1 -0
  2. package/build/cjs/index.js +18 -0
  3. package/build/cjs/index.js.map +1 -0
  4. package/build/cjs/index.typings.d.ts +1 -0
  5. package/build/cjs/index.typings.js +18 -0
  6. package/build/cjs/index.typings.js.map +1 -0
  7. package/build/cjs/meta.d.ts +1 -0
  8. package/build/cjs/meta.js +18 -0
  9. package/build/cjs/meta.js.map +1 -0
  10. package/build/cjs/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  11. package/build/cjs/src/stores-catalog-v1-product-products.context.js +79 -0
  12. package/build/cjs/src/stores-catalog-v1-product-products.context.js.map +1 -0
  13. package/build/cjs/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  14. package/build/cjs/src/stores-catalog-v1-product-products.http.js +1158 -0
  15. package/build/cjs/src/stores-catalog-v1-product-products.http.js.map +1 -0
  16. package/build/cjs/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  17. package/build/cjs/src/stores-catalog-v1-product-products.meta.js +522 -0
  18. package/build/cjs/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  19. package/build/cjs/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  20. package/build/cjs/src/stores-catalog-v1-product-products.public.js +196 -0
  21. package/build/cjs/src/stores-catalog-v1-product-products.public.js.map +1 -0
  22. package/build/cjs/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  23. package/build/cjs/src/stores-catalog-v1-product-products.types.js +106 -0
  24. package/build/cjs/src/stores-catalog-v1-product-products.types.js.map +1 -0
  25. package/build/cjs/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  26. package/build/cjs/src/stores-catalog-v1-product-products.universal.js +1236 -0
  27. package/build/cjs/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  28. package/build/es/index.d.ts +1 -0
  29. package/build/es/index.js +2 -0
  30. package/build/es/index.js.map +1 -0
  31. package/build/es/index.typings.d.ts +1 -0
  32. package/build/es/index.typings.js +2 -0
  33. package/build/es/index.typings.js.map +1 -0
  34. package/build/es/meta.d.ts +1 -0
  35. package/build/es/meta.js +2 -0
  36. package/build/es/meta.js.map +1 -0
  37. package/build/es/package.json +3 -0
  38. package/build/es/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  39. package/build/es/src/stores-catalog-v1-product-products.context.js +66 -0
  40. package/build/es/src/stores-catalog-v1-product-products.context.js.map +1 -0
  41. package/build/es/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  42. package/build/es/src/stores-catalog-v1-product-products.http.js +1129 -0
  43. package/build/es/src/stores-catalog-v1-product-products.http.js.map +1 -0
  44. package/build/es/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  45. package/build/es/src/stores-catalog-v1-product-products.meta.js +470 -0
  46. package/build/es/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  47. package/build/es/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  48. package/build/es/src/stores-catalog-v1-product-products.public.js +157 -0
  49. package/build/es/src/stores-catalog-v1-product-products.public.js.map +1 -0
  50. package/build/es/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  51. package/build/es/src/stores-catalog-v1-product-products.types.js +103 -0
  52. package/build/es/src/stores-catalog-v1-product-products.types.js.map +1 -0
  53. package/build/es/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  54. package/build/es/src/stores-catalog-v1-product-products.universal.js +1184 -0
  55. package/build/es/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  56. package/build/internal/cjs/index.d.ts +1 -0
  57. package/build/internal/cjs/index.js +18 -0
  58. package/build/internal/cjs/index.js.map +1 -0
  59. package/build/internal/cjs/index.typings.d.ts +1 -0
  60. package/build/internal/cjs/index.typings.js +18 -0
  61. package/build/internal/cjs/index.typings.js.map +1 -0
  62. package/build/internal/cjs/meta.d.ts +1 -0
  63. package/build/internal/cjs/meta.js +18 -0
  64. package/build/internal/cjs/meta.js.map +1 -0
  65. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  66. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.js +79 -0
  67. package/build/internal/cjs/src/stores-catalog-v1-product-products.context.js.map +1 -0
  68. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  69. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.js +1158 -0
  70. package/build/internal/cjs/src/stores-catalog-v1-product-products.http.js.map +1 -0
  71. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  72. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.js +522 -0
  73. package/build/internal/cjs/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  74. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  75. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.js +196 -0
  76. package/build/internal/cjs/src/stores-catalog-v1-product-products.public.js.map +1 -0
  77. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  78. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.js +106 -0
  79. package/build/internal/cjs/src/stores-catalog-v1-product-products.types.js.map +1 -0
  80. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  81. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.js +1236 -0
  82. package/build/internal/cjs/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  83. package/build/internal/es/index.d.ts +1 -0
  84. package/build/internal/es/index.js +2 -0
  85. package/build/internal/es/index.js.map +1 -0
  86. package/build/internal/es/index.typings.d.ts +1 -0
  87. package/build/internal/es/index.typings.js +2 -0
  88. package/build/internal/es/index.typings.js.map +1 -0
  89. package/build/internal/es/meta.d.ts +1 -0
  90. package/build/internal/es/meta.js +2 -0
  91. package/build/internal/es/meta.js.map +1 -0
  92. package/build/internal/es/src/stores-catalog-v1-product-products.context.d.ts +66 -0
  93. package/build/internal/es/src/stores-catalog-v1-product-products.context.js +66 -0
  94. package/build/internal/es/src/stores-catalog-v1-product-products.context.js.map +1 -0
  95. package/build/internal/es/src/stores-catalog-v1-product-products.http.d.ts +75 -0
  96. package/build/internal/es/src/stores-catalog-v1-product-products.http.js +1129 -0
  97. package/build/internal/es/src/stores-catalog-v1-product-products.http.js.map +1 -0
  98. package/build/internal/es/src/stores-catalog-v1-product-products.meta.d.ts +78 -0
  99. package/build/internal/es/src/stores-catalog-v1-product-products.meta.js +470 -0
  100. package/build/internal/es/src/stores-catalog-v1-product-products.meta.js.map +1 -0
  101. package/build/internal/es/src/stores-catalog-v1-product-products.public.d.ts +242 -0
  102. package/build/internal/es/src/stores-catalog-v1-product-products.public.js +157 -0
  103. package/build/internal/es/src/stores-catalog-v1-product-products.public.js.map +1 -0
  104. package/build/internal/es/src/stores-catalog-v1-product-products.types.d.ts +1868 -0
  105. package/build/internal/es/src/stores-catalog-v1-product-products.types.js +103 -0
  106. package/build/internal/es/src/stores-catalog-v1-product-products.types.js.map +1 -0
  107. package/build/internal/es/src/stores-catalog-v1-product-products.universal.d.ts +2682 -0
  108. package/build/internal/es/src/stores-catalog-v1-product-products.universal.js +1184 -0
  109. package/build/internal/es/src/stores-catalog-v1-product-products.universal.js.map +1 -0
  110. package/meta/package.json +3 -0
  111. package/package.json +52 -0
@@ -0,0 +1,1129 @@
1
+ import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';
2
+ import { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';
3
+ import { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';
4
+ import { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';
5
+ import { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';
6
+ import { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';
7
+ import { resolveUrl } from '@wix/sdk-runtime/rest-modules';
8
+ function resolveWixCatalogApiV1CatalogReadApiUrl(opts) {
9
+ const domainToMappings = {
10
+ '*.dev.wix-code.com': [
11
+ {
12
+ srcPath: '/_api/catalog-reader-server',
13
+ destPath: '',
14
+ },
15
+ ],
16
+ _: [
17
+ {
18
+ srcPath: '/_api/catalog-reader-server',
19
+ destPath: '',
20
+ },
21
+ ],
22
+ 'manage._base_domain_': [
23
+ {
24
+ srcPath: '/_api/catalog-reader-server',
25
+ destPath: '',
26
+ },
27
+ {
28
+ srcPath: '/catalog-read-proxy',
29
+ destPath: '',
30
+ },
31
+ ],
32
+ 'www._base_domain_': [
33
+ {
34
+ srcPath: '/_api/catalog-reader-server',
35
+ destPath: '',
36
+ },
37
+ ],
38
+ 'www.wixapis.com': [
39
+ {
40
+ srcPath: '/stores-reader/v1/products',
41
+ destPath: '/v1/products',
42
+ },
43
+ {
44
+ srcPath: '/stores-reader/v1/variants',
45
+ destPath: '/v1/variants',
46
+ },
47
+ {
48
+ srcPath: '/stores-reader/api/v1/products',
49
+ destPath: '/api/v1/products',
50
+ },
51
+ ],
52
+ 'api._api_base_domain_': [
53
+ {
54
+ srcPath: '/catalog-read-proxy',
55
+ destPath: '',
56
+ },
57
+ ],
58
+ 'editor._base_domain_': [
59
+ {
60
+ srcPath: '/_api/catalog-read-proxy',
61
+ destPath: '',
62
+ },
63
+ ],
64
+ 'blocks._base_domain_': [
65
+ {
66
+ srcPath: '/_api/catalog-read-proxy',
67
+ destPath: '',
68
+ },
69
+ ],
70
+ 'create.editorx': [
71
+ {
72
+ srcPath: '/_api/catalog-read-proxy',
73
+ destPath: '',
74
+ },
75
+ ],
76
+ };
77
+ return resolveUrl(Object.assign(opts, { domainToMappings }));
78
+ }
79
+ function resolveWixCatalogApiV1CatalogWriteApiUrl(opts) {
80
+ const domainToMappings = {
81
+ _: [
82
+ {
83
+ srcPath: '/_api/catalog-server',
84
+ destPath: '',
85
+ },
86
+ ],
87
+ '*.dev.wix-code.com': [
88
+ {
89
+ srcPath: '/_api/catalog-server',
90
+ destPath: '',
91
+ },
92
+ ],
93
+ 'www.wixapis.com': [
94
+ {
95
+ srcPath: '/stores/v1/collections',
96
+ destPath: '/v1/collections',
97
+ },
98
+ {
99
+ srcPath: '/stores/v1/products',
100
+ destPath: '/v1/products',
101
+ },
102
+ {
103
+ srcPath: '/stores/v1/variants',
104
+ destPath: '/v1/variants',
105
+ },
106
+ {
107
+ srcPath: '/stores/v1/bulk/products',
108
+ destPath: '/v1/bulk/products',
109
+ },
110
+ {
111
+ srcPath: '/stores/v1/products-digital',
112
+ destPath: '/v1/products-digital',
113
+ },
114
+ ],
115
+ 'manage._base_domain_': [
116
+ {
117
+ srcPath: '/_api/catalog-server',
118
+ destPath: '',
119
+ },
120
+ {
121
+ srcPath: '/catalog-write-api-proxy',
122
+ destPath: '',
123
+ },
124
+ ],
125
+ 'bo._base_domain_': [
126
+ {
127
+ srcPath: '/_api/catalog-write-api-proxy',
128
+ destPath: '',
129
+ },
130
+ ],
131
+ 'wixbo.ai': [
132
+ {
133
+ srcPath: '/_api/catalog-write-api-proxy',
134
+ destPath: '',
135
+ },
136
+ ],
137
+ 'wix-bo.com': [
138
+ {
139
+ srcPath: '/_api/catalog-write-api-proxy',
140
+ destPath: '',
141
+ },
142
+ ],
143
+ 'api._api_base_domain_': [
144
+ {
145
+ srcPath: '/catalog-write-api-proxy',
146
+ destPath: '',
147
+ },
148
+ ],
149
+ 'www._base_domain_': [
150
+ {
151
+ srcPath: '/catalog-write-api-proxy',
152
+ destPath: '',
153
+ },
154
+ ],
155
+ };
156
+ return resolveUrl(Object.assign(opts, { domainToMappings }));
157
+ }
158
+ const PACKAGE_NAME = '@wix/auto_sdk_stores_products';
159
+ /** Creates a new product. */
160
+ export function createProduct(payload) {
161
+ function __createProduct({ host }) {
162
+ const serializedData = transformPaths(payload, [
163
+ {
164
+ transformFn: transformSDKFloatToRESTFloat,
165
+ paths: [
166
+ { path: 'product.weight' },
167
+ { path: 'product.price.price' },
168
+ { path: 'product.price.pricePerUnit' },
169
+ { path: 'product.priceData.price' },
170
+ { path: 'product.priceData.pricePerUnit' },
171
+ { path: 'product.convertedPriceData.price' },
172
+ { path: 'product.convertedPriceData.pricePerUnit' },
173
+ { path: 'product.costAndProfitData.itemCost' },
174
+ { path: 'product.variants.variant.priceData.price' },
175
+ { path: 'product.variants.variant.priceData.pricePerUnit' },
176
+ { path: 'product.variants.variant.convertedPriceData.price' },
177
+ { path: 'product.variants.variant.convertedPriceData.pricePerUnit' },
178
+ { path: 'product.variants.variant.costAndProfitData.itemCost' },
179
+ { path: 'product.weightRange.minValue' },
180
+ { path: 'product.weightRange.maxValue' },
181
+ { path: 'product.price.discountedPrice' },
182
+ { path: 'product.priceData.discountedPrice' },
183
+ { path: 'product.convertedPriceData.discountedPrice' },
184
+ { path: 'product.priceRange.minValue' },
185
+ { path: 'product.priceRange.maxValue' },
186
+ { path: 'product.costAndProfitData.profit' },
187
+ { path: 'product.costAndProfitData.profitMargin' },
188
+ { path: 'product.costRange.minValue' },
189
+ { path: 'product.costRange.maxValue' },
190
+ { path: 'product.pricePerUnitData.totalQuantity' },
191
+ { path: 'product.pricePerUnitData.baseQuantity' },
192
+ { path: 'product.discount.value' },
193
+ { path: 'product.variants.variant.weight' },
194
+ { path: 'product.variants.variant.priceData.discountedPrice' },
195
+ {
196
+ path: 'product.variants.variant.convertedPriceData.discountedPrice',
197
+ },
198
+ { path: 'product.variants.variant.costAndProfitData.profit' },
199
+ { path: 'product.variants.variant.costAndProfitData.profitMargin' },
200
+ ],
201
+ },
202
+ {
203
+ transformFn: transformSDKTimestampToRESTTimestamp,
204
+ paths: [
205
+ { path: 'product.lastUpdated' },
206
+ { path: 'product.createdDate' },
207
+ ],
208
+ },
209
+ ]);
210
+ const metadata = {
211
+ entityFqdn: 'wix.stores.catalog.v1.product',
212
+ method: 'POST',
213
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.CreateProduct',
214
+ packageName: PACKAGE_NAME,
215
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
216
+ protoPath: '/v1/products',
217
+ data: serializedData,
218
+ host,
219
+ }),
220
+ data: serializedData,
221
+ transformResponse: (payload) => transformPaths(payload, [
222
+ {
223
+ transformFn: transformRESTFloatToSDKFloat,
224
+ paths: [
225
+ { path: 'product.weight' },
226
+ { path: 'product.price.price' },
227
+ { path: 'product.price.pricePerUnit' },
228
+ { path: 'product.priceData.price' },
229
+ { path: 'product.priceData.pricePerUnit' },
230
+ { path: 'product.convertedPriceData.price' },
231
+ { path: 'product.convertedPriceData.pricePerUnit' },
232
+ { path: 'product.costAndProfitData.itemCost' },
233
+ { path: 'product.variants.variant.priceData.price' },
234
+ { path: 'product.variants.variant.priceData.pricePerUnit' },
235
+ { path: 'product.variants.variant.convertedPriceData.price' },
236
+ {
237
+ path: 'product.variants.variant.convertedPriceData.pricePerUnit',
238
+ },
239
+ { path: 'product.variants.variant.costAndProfitData.itemCost' },
240
+ { path: 'product.weightRange.minValue' },
241
+ { path: 'product.weightRange.maxValue' },
242
+ { path: 'product.price.discountedPrice' },
243
+ { path: 'product.priceData.discountedPrice' },
244
+ { path: 'product.convertedPriceData.discountedPrice' },
245
+ { path: 'product.priceRange.minValue' },
246
+ { path: 'product.priceRange.maxValue' },
247
+ { path: 'product.costAndProfitData.profit' },
248
+ { path: 'product.costAndProfitData.profitMargin' },
249
+ { path: 'product.costRange.minValue' },
250
+ { path: 'product.costRange.maxValue' },
251
+ { path: 'product.pricePerUnitData.totalQuantity' },
252
+ { path: 'product.pricePerUnitData.baseQuantity' },
253
+ { path: 'product.discount.value' },
254
+ { path: 'product.variants.variant.weight' },
255
+ { path: 'product.variants.variant.priceData.discountedPrice' },
256
+ {
257
+ path: 'product.variants.variant.convertedPriceData.discountedPrice',
258
+ },
259
+ { path: 'product.variants.variant.costAndProfitData.profit' },
260
+ {
261
+ path: 'product.variants.variant.costAndProfitData.profitMargin',
262
+ },
263
+ ],
264
+ },
265
+ {
266
+ transformFn: transformRESTTimestampToSDKTimestamp,
267
+ paths: [
268
+ { path: 'product.lastUpdated' },
269
+ { path: 'product.createdDate' },
270
+ ],
271
+ },
272
+ ]),
273
+ };
274
+ return metadata;
275
+ }
276
+ return __createProduct;
277
+ }
278
+ /** Updates specified fields in a product. */
279
+ export function updateProduct(payload) {
280
+ function __updateProduct({ host }) {
281
+ const serializedData = transformPaths(payload, [
282
+ {
283
+ transformFn: transformSDKFloatToRESTFloat,
284
+ paths: [
285
+ { path: 'product.weight' },
286
+ { path: 'product.price.price' },
287
+ { path: 'product.price.pricePerUnit' },
288
+ { path: 'product.priceData.price' },
289
+ { path: 'product.priceData.pricePerUnit' },
290
+ { path: 'product.convertedPriceData.price' },
291
+ { path: 'product.convertedPriceData.pricePerUnit' },
292
+ { path: 'product.costAndProfitData.itemCost' },
293
+ { path: 'product.variants.variant.priceData.price' },
294
+ { path: 'product.variants.variant.priceData.pricePerUnit' },
295
+ { path: 'product.variants.variant.convertedPriceData.price' },
296
+ { path: 'product.variants.variant.convertedPriceData.pricePerUnit' },
297
+ { path: 'product.variants.variant.costAndProfitData.itemCost' },
298
+ { path: 'product.weightRange.minValue' },
299
+ { path: 'product.weightRange.maxValue' },
300
+ { path: 'product.price.discountedPrice' },
301
+ { path: 'product.priceData.discountedPrice' },
302
+ { path: 'product.convertedPriceData.discountedPrice' },
303
+ { path: 'product.priceRange.minValue' },
304
+ { path: 'product.priceRange.maxValue' },
305
+ { path: 'product.costAndProfitData.profit' },
306
+ { path: 'product.costAndProfitData.profitMargin' },
307
+ { path: 'product.costRange.minValue' },
308
+ { path: 'product.costRange.maxValue' },
309
+ { path: 'product.pricePerUnitData.totalQuantity' },
310
+ { path: 'product.pricePerUnitData.baseQuantity' },
311
+ { path: 'product.discount.value' },
312
+ { path: 'product.variants.variant.weight' },
313
+ { path: 'product.variants.variant.priceData.discountedPrice' },
314
+ {
315
+ path: 'product.variants.variant.convertedPriceData.discountedPrice',
316
+ },
317
+ { path: 'product.variants.variant.costAndProfitData.profit' },
318
+ { path: 'product.variants.variant.costAndProfitData.profitMargin' },
319
+ ],
320
+ },
321
+ {
322
+ transformFn: transformSDKTimestampToRESTTimestamp,
323
+ paths: [
324
+ { path: 'product.lastUpdated' },
325
+ { path: 'product.createdDate' },
326
+ ],
327
+ },
328
+ ]);
329
+ const metadata = {
330
+ entityFqdn: 'wix.stores.catalog.v1.product',
331
+ method: 'PATCH',
332
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.UpdateProduct',
333
+ packageName: PACKAGE_NAME,
334
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
335
+ protoPath: '/v1/products/{product.id}',
336
+ data: serializedData,
337
+ host,
338
+ }),
339
+ data: serializedData,
340
+ transformResponse: (payload) => transformPaths(payload, [
341
+ {
342
+ transformFn: transformRESTFloatToSDKFloat,
343
+ paths: [
344
+ { path: 'product.weight' },
345
+ { path: 'product.price.price' },
346
+ { path: 'product.price.pricePerUnit' },
347
+ { path: 'product.priceData.price' },
348
+ { path: 'product.priceData.pricePerUnit' },
349
+ { path: 'product.convertedPriceData.price' },
350
+ { path: 'product.convertedPriceData.pricePerUnit' },
351
+ { path: 'product.costAndProfitData.itemCost' },
352
+ { path: 'product.variants.variant.priceData.price' },
353
+ { path: 'product.variants.variant.priceData.pricePerUnit' },
354
+ { path: 'product.variants.variant.convertedPriceData.price' },
355
+ {
356
+ path: 'product.variants.variant.convertedPriceData.pricePerUnit',
357
+ },
358
+ { path: 'product.variants.variant.costAndProfitData.itemCost' },
359
+ { path: 'product.weightRange.minValue' },
360
+ { path: 'product.weightRange.maxValue' },
361
+ { path: 'product.price.discountedPrice' },
362
+ { path: 'product.priceData.discountedPrice' },
363
+ { path: 'product.convertedPriceData.discountedPrice' },
364
+ { path: 'product.priceRange.minValue' },
365
+ { path: 'product.priceRange.maxValue' },
366
+ { path: 'product.costAndProfitData.profit' },
367
+ { path: 'product.costAndProfitData.profitMargin' },
368
+ { path: 'product.costRange.minValue' },
369
+ { path: 'product.costRange.maxValue' },
370
+ { path: 'product.pricePerUnitData.totalQuantity' },
371
+ { path: 'product.pricePerUnitData.baseQuantity' },
372
+ { path: 'product.discount.value' },
373
+ { path: 'product.variants.variant.weight' },
374
+ { path: 'product.variants.variant.priceData.discountedPrice' },
375
+ {
376
+ path: 'product.variants.variant.convertedPriceData.discountedPrice',
377
+ },
378
+ { path: 'product.variants.variant.costAndProfitData.profit' },
379
+ {
380
+ path: 'product.variants.variant.costAndProfitData.profitMargin',
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ transformFn: transformRESTTimestampToSDKTimestamp,
386
+ paths: [
387
+ { path: 'product.lastUpdated' },
388
+ { path: 'product.createdDate' },
389
+ ],
390
+ },
391
+ ]),
392
+ };
393
+ return metadata;
394
+ }
395
+ return __updateProduct;
396
+ }
397
+ /** Deletes a product. */
398
+ export function deleteProduct(payload) {
399
+ function __deleteProduct({ host }) {
400
+ const metadata = {
401
+ entityFqdn: 'wix.stores.catalog.v1.product',
402
+ method: 'DELETE',
403
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.DeleteProduct',
404
+ packageName: PACKAGE_NAME,
405
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
406
+ protoPath: '/v1/products/{id}',
407
+ data: payload,
408
+ host,
409
+ }),
410
+ params: toURLSearchParams(payload),
411
+ };
412
+ return metadata;
413
+ }
414
+ return __deleteProduct;
415
+ }
416
+ /** Updates variants of a specified product. */
417
+ export function updateVariants(payload) {
418
+ function __updateVariants({ host }) {
419
+ const serializedData = transformPaths(payload, [
420
+ {
421
+ transformFn: transformSDKFloatToRESTFloat,
422
+ paths: [
423
+ { path: 'variants.price' },
424
+ { path: 'variants.cost' },
425
+ { path: 'variants.weight' },
426
+ ],
427
+ },
428
+ ]);
429
+ const metadata = {
430
+ entityFqdn: 'wix.stores.catalog.v1.product',
431
+ method: 'PATCH',
432
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.UpdateVariants',
433
+ packageName: PACKAGE_NAME,
434
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
435
+ protoPath: '/v1/products/{id}/variants',
436
+ data: serializedData,
437
+ host,
438
+ }),
439
+ data: serializedData,
440
+ transformResponse: (payload) => transformPaths(payload, [
441
+ {
442
+ transformFn: transformRESTFloatToSDKFloat,
443
+ paths: [
444
+ { path: 'variants.variant.weight' },
445
+ { path: 'variants.variant.priceData.discountedPrice' },
446
+ { path: 'variants.variant.convertedPriceData.discountedPrice' },
447
+ { path: 'variants.variant.costAndProfitData.profit' },
448
+ { path: 'variants.variant.costAndProfitData.profitMargin' },
449
+ { path: 'variants.variant.priceData.price' },
450
+ { path: 'variants.variant.priceData.pricePerUnit' },
451
+ { path: 'variants.variant.convertedPriceData.price' },
452
+ { path: 'variants.variant.convertedPriceData.pricePerUnit' },
453
+ { path: 'variants.variant.costAndProfitData.itemCost' },
454
+ ],
455
+ },
456
+ ]),
457
+ };
458
+ return metadata;
459
+ }
460
+ return __updateVariants;
461
+ }
462
+ /** Resets the data (such as the price and the weight) of all variants for a given product to their default values. */
463
+ export function resetAllVariantData(payload) {
464
+ function __resetAllVariantData({ host }) {
465
+ const metadata = {
466
+ entityFqdn: 'wix.stores.catalog.v1.product',
467
+ method: 'POST',
468
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.ResetAllVariantData',
469
+ packageName: PACKAGE_NAME,
470
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
471
+ protoPath: '/v1/products/{id}/variants/resetToDefault',
472
+ data: payload,
473
+ host,
474
+ }),
475
+ data: payload,
476
+ };
477
+ return metadata;
478
+ }
479
+ return __resetAllVariantData;
480
+ }
481
+ /** Adds products to a specified collection. */
482
+ export function addProductsToCollection(payload) {
483
+ function __addProductsToCollection({ host }) {
484
+ const metadata = {
485
+ entityFqdn: 'wix.stores.catalog.v1.product',
486
+ method: 'POST',
487
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.AddProductsToCollection',
488
+ packageName: PACKAGE_NAME,
489
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
490
+ protoPath: '/v1/collections/{id}/productIds',
491
+ data: payload,
492
+ host,
493
+ }),
494
+ data: payload,
495
+ };
496
+ return metadata;
497
+ }
498
+ return __addProductsToCollection;
499
+ }
500
+ /** Deletes products from a specified collection. */
501
+ export function removeProductsFromCollection(payload) {
502
+ function __removeProductsFromCollection({ host }) {
503
+ const metadata = {
504
+ entityFqdn: 'wix.stores.catalog.v1.product',
505
+ method: 'POST',
506
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.RemoveProductsFromCollection',
507
+ packageName: PACKAGE_NAME,
508
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
509
+ protoPath: '/v1/collections/{id}/productIds/delete',
510
+ data: payload,
511
+ host,
512
+ }),
513
+ data: payload,
514
+ };
515
+ return metadata;
516
+ }
517
+ return __removeProductsFromCollection;
518
+ }
519
+ /**
520
+ * Adds media items to a specified product, either via URL or existing media ID.
521
+ *
522
+ * > **NOTE:** The URL is not validated and no event is triggered to indicate if the media was added successfully.
523
+ */
524
+ export function addProductMedia(payload) {
525
+ function __addProductMedia({ host }) {
526
+ const metadata = {
527
+ entityFqdn: 'wix.stores.catalog.v1.product',
528
+ method: 'POST',
529
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.AddProductMedia',
530
+ packageName: PACKAGE_NAME,
531
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
532
+ protoPath: '/v1/products/{id}/media',
533
+ data: payload,
534
+ host,
535
+ }),
536
+ data: payload,
537
+ };
538
+ return metadata;
539
+ }
540
+ return __addProductMedia;
541
+ }
542
+ /**
543
+ * Removes specified media items from a product.
544
+ * Pass an empty array to remove all media items.
545
+ */
546
+ export function removeProductMedia(payload) {
547
+ function __removeProductMedia({ host }) {
548
+ const metadata = {
549
+ entityFqdn: 'wix.stores.catalog.v1.product',
550
+ method: 'POST',
551
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.RemoveProductMedia',
552
+ packageName: PACKAGE_NAME,
553
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
554
+ protoPath: '/v1/products/{id}/media/delete',
555
+ data: payload,
556
+ host,
557
+ }),
558
+ data: payload,
559
+ };
560
+ return metadata;
561
+ }
562
+ return __removeProductMedia;
563
+ }
564
+ /**
565
+ * Links media items that are already associated with a specific product to a choice within the same product.
566
+ *
567
+ * Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).
568
+ *
569
+ * To remove all existing media items, call the [Remove Product Media From Choices](https://dev.wix.com/api/rest/wix-stores/catalog/products/remove-product-media-from-choices) endpoint.
570
+ */
571
+ export function addProductMediaToChoices(payload) {
572
+ function __addProductMediaToChoices({ host }) {
573
+ const metadata = {
574
+ entityFqdn: 'wix.stores.catalog.v1.product',
575
+ method: 'PATCH',
576
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.AddProductMediaToChoices',
577
+ packageName: PACKAGE_NAME,
578
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
579
+ protoPath: '/v1/products/{id}/choices/media',
580
+ data: payload,
581
+ host,
582
+ }),
583
+ data: payload,
584
+ };
585
+ return metadata;
586
+ }
587
+ return __addProductMediaToChoices;
588
+ }
589
+ /**
590
+ * Removes media items from all or some of a product's choices.
591
+ * (Media items can only be set for choices within one option at a time - e.g., if you set media items for some or all of the choices within the Colors option (blue, green, and red), you won't be able to also assign media items to choices within the Size option (S, M, and L).)
592
+ */
593
+ export function removeProductMediaFromChoices(payload) {
594
+ function __removeProductMediaFromChoices({ host }) {
595
+ const metadata = {
596
+ entityFqdn: 'wix.stores.catalog.v1.product',
597
+ method: 'POST',
598
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.RemoveProductMediaFromChoices',
599
+ packageName: PACKAGE_NAME,
600
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
601
+ protoPath: '/v1/products/{id}/choices/media/delete',
602
+ data: payload,
603
+ host,
604
+ }),
605
+ data: payload,
606
+ };
607
+ return metadata;
608
+ }
609
+ return __removeProductMediaFromChoices;
610
+ }
611
+ /** Delete all options from a specific product. Only available when [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is disabled. */
612
+ export function deleteProductOptions(payload) {
613
+ function __deleteProductOptions({ host }) {
614
+ const metadata = {
615
+ entityFqdn: 'wix.stores.catalog.v1.product',
616
+ method: 'DELETE',
617
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.DeleteProductOptions',
618
+ packageName: PACKAGE_NAME,
619
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
620
+ protoPath: '/v1/products/{id}/options',
621
+ data: payload,
622
+ host,
623
+ }),
624
+ params: toURLSearchParams(payload),
625
+ };
626
+ return metadata;
627
+ }
628
+ return __deleteProductOptions;
629
+ }
630
+ /** Deletes a product's brand. */
631
+ export function removeBrand(payload) {
632
+ function __removeBrand({ host }) {
633
+ const metadata = {
634
+ entityFqdn: 'wix.stores.catalog.v1.product',
635
+ method: 'POST',
636
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.RemoveBrand',
637
+ packageName: PACKAGE_NAME,
638
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
639
+ protoPath: '/v1/products/{id}/remove-brand',
640
+ data: payload,
641
+ host,
642
+ }),
643
+ data: payload,
644
+ };
645
+ return metadata;
646
+ }
647
+ return __removeBrand;
648
+ }
649
+ /** Creates a new collection. */
650
+ export function createCollection(payload) {
651
+ function __createCollection({ host }) {
652
+ const metadata = {
653
+ entityFqdn: 'wix.stores.catalog.v1.product',
654
+ method: 'POST',
655
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.CreateCollection',
656
+ packageName: PACKAGE_NAME,
657
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
658
+ protoPath: '/v1/collections',
659
+ data: payload,
660
+ host,
661
+ }),
662
+ data: payload,
663
+ };
664
+ return metadata;
665
+ }
666
+ return __createCollection;
667
+ }
668
+ /** Updates specified properties of a collection. To add products to a collection, call the [addProductsToCollection](#addproductstocollection) function. */
669
+ export function updateCollection(payload) {
670
+ function __updateCollection({ host }) {
671
+ const metadata = {
672
+ entityFqdn: 'wix.stores.catalog.v1.product',
673
+ method: 'PATCH',
674
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.UpdateCollection',
675
+ packageName: PACKAGE_NAME,
676
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
677
+ protoPath: '/v1/collections/{collection.id}',
678
+ data: payload,
679
+ host,
680
+ }),
681
+ data: payload,
682
+ };
683
+ return metadata;
684
+ }
685
+ return __updateCollection;
686
+ }
687
+ /** Deletes a collection. */
688
+ export function deleteCollection(payload) {
689
+ function __deleteCollection({ host }) {
690
+ const metadata = {
691
+ entityFqdn: 'wix.stores.catalog.v1.product',
692
+ method: 'DELETE',
693
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.DeleteCollection',
694
+ packageName: PACKAGE_NAME,
695
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
696
+ protoPath: '/v1/collections/{id}',
697
+ data: payload,
698
+ host,
699
+ }),
700
+ params: toURLSearchParams(payload),
701
+ };
702
+ return metadata;
703
+ }
704
+ return __deleteCollection;
705
+ }
706
+ /** Deletes a product's ribbon. */
707
+ export function removeRibbon(payload) {
708
+ function __removeRibbon({ host }) {
709
+ const metadata = {
710
+ entityFqdn: 'wix.stores.catalog.v1.product',
711
+ method: 'POST',
712
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.RemoveRibbon',
713
+ packageName: PACKAGE_NAME,
714
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
715
+ protoPath: '/v1/products/{id}/remove-ribbon',
716
+ data: payload,
717
+ host,
718
+ }),
719
+ data: payload,
720
+ };
721
+ return metadata;
722
+ }
723
+ return __removeRibbon;
724
+ }
725
+ /** Updates a specified property for up to 100 products at a time. */
726
+ export function bulkUpdateProducts(payload) {
727
+ function __bulkUpdateProducts({ host }) {
728
+ const serializedData = transformPaths(payload, [
729
+ {
730
+ transformFn: transformSDKFloatToRESTFloat,
731
+ paths: [
732
+ { path: 'set.price' },
733
+ { path: 'set.cost' },
734
+ { path: 'set.weight' },
735
+ ],
736
+ },
737
+ ]);
738
+ const metadata = {
739
+ entityFqdn: 'wix.stores.catalog.v1.product',
740
+ method: 'POST',
741
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.BulkUpdateProducts',
742
+ packageName: PACKAGE_NAME,
743
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
744
+ protoPath: '/v1/bulk/products/update',
745
+ data: serializedData,
746
+ host,
747
+ }),
748
+ data: serializedData,
749
+ };
750
+ return metadata;
751
+ }
752
+ return __bulkUpdateProducts;
753
+ }
754
+ /**
755
+ * Adjusts a specified numerical property for up to 100 products at a time.
756
+ * The property can be increased or decreased either by percentage or amount.
757
+ */
758
+ export function bulkAdjustProductProperties(payload) {
759
+ function __bulkAdjustProductProperties({ host }) {
760
+ const serializedData = transformPaths(payload, [
761
+ {
762
+ transformFn: transformSDKFloatToRESTFloat,
763
+ paths: [
764
+ { path: 'adjust.price.amount' },
765
+ { path: 'adjust.cost.amount' },
766
+ { path: 'adjust.weight.amount' },
767
+ ],
768
+ },
769
+ ]);
770
+ const metadata = {
771
+ entityFqdn: 'wix.stores.catalog.v1.product',
772
+ method: 'POST',
773
+ methodFqn: 'wix.catalog.api.v1.CatalogWriteApi.BulkAdjustProductProperties',
774
+ packageName: PACKAGE_NAME,
775
+ url: resolveWixCatalogApiV1CatalogWriteApiUrl({
776
+ protoPath: '/v1/bulk/products/adjust-properties',
777
+ data: serializedData,
778
+ host,
779
+ }),
780
+ data: serializedData,
781
+ };
782
+ return metadata;
783
+ }
784
+ return __bulkAdjustProductProperties;
785
+ }
786
+ /** Returns a list of up to 100 products, given the provided paging, sorting and filtering. */
787
+ export function queryProductsPlatformized(payload) {
788
+ function __queryProductsPlatformized({ host }) {
789
+ const metadata = {
790
+ entityFqdn: 'wix.stores.catalog.v1.product',
791
+ method: 'POST',
792
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.QueryProductsPlatformized',
793
+ packageName: PACKAGE_NAME,
794
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
795
+ protoPath: '/v1/products/query-platformized',
796
+ data: payload,
797
+ host,
798
+ }),
799
+ data: payload,
800
+ transformResponse: (payload) => transformPaths(payload, [
801
+ {
802
+ transformFn: transformRESTFloatToSDKFloat,
803
+ paths: [
804
+ { path: 'products.weight' },
805
+ { path: 'products.price.price' },
806
+ { path: 'products.price.pricePerUnit' },
807
+ { path: 'products.priceData.price' },
808
+ { path: 'products.priceData.pricePerUnit' },
809
+ { path: 'products.convertedPriceData.price' },
810
+ { path: 'products.convertedPriceData.pricePerUnit' },
811
+ { path: 'products.costAndProfitData.itemCost' },
812
+ { path: 'products.variants.variant.priceData.price' },
813
+ { path: 'products.variants.variant.priceData.pricePerUnit' },
814
+ { path: 'products.variants.variant.convertedPriceData.price' },
815
+ {
816
+ path: 'products.variants.variant.convertedPriceData.pricePerUnit',
817
+ },
818
+ { path: 'products.variants.variant.costAndProfitData.itemCost' },
819
+ { path: 'products.weightRange.minValue' },
820
+ { path: 'products.weightRange.maxValue' },
821
+ { path: 'products.price.discountedPrice' },
822
+ { path: 'products.priceData.discountedPrice' },
823
+ { path: 'products.convertedPriceData.discountedPrice' },
824
+ { path: 'products.priceRange.minValue' },
825
+ { path: 'products.priceRange.maxValue' },
826
+ { path: 'products.costAndProfitData.profit' },
827
+ { path: 'products.costAndProfitData.profitMargin' },
828
+ { path: 'products.costRange.minValue' },
829
+ { path: 'products.costRange.maxValue' },
830
+ { path: 'products.pricePerUnitData.totalQuantity' },
831
+ { path: 'products.pricePerUnitData.baseQuantity' },
832
+ { path: 'products.discount.value' },
833
+ { path: 'products.variants.variant.weight' },
834
+ { path: 'products.variants.variant.priceData.discountedPrice' },
835
+ {
836
+ path: 'products.variants.variant.convertedPriceData.discountedPrice',
837
+ },
838
+ { path: 'products.variants.variant.costAndProfitData.profit' },
839
+ {
840
+ path: 'products.variants.variant.costAndProfitData.profitMargin',
841
+ },
842
+ ],
843
+ },
844
+ {
845
+ transformFn: transformRESTTimestampToSDKTimestamp,
846
+ paths: [
847
+ { path: 'products.lastUpdated' },
848
+ { path: 'products.createdDate' },
849
+ ],
850
+ },
851
+ ]),
852
+ fallback: [
853
+ {
854
+ method: 'POST',
855
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
856
+ protoPath: '/v1/products/query-platformized',
857
+ data: payload,
858
+ host,
859
+ }),
860
+ data: payload,
861
+ },
862
+ ],
863
+ };
864
+ return metadata;
865
+ }
866
+ return __queryProductsPlatformized;
867
+ }
868
+ /** Retrieves a product with the provided ID. */
869
+ export function getProduct(payload) {
870
+ function __getProduct({ host }) {
871
+ const metadata = {
872
+ entityFqdn: 'wix.stores.catalog.v1.product',
873
+ method: 'GET',
874
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.GetProduct',
875
+ packageName: PACKAGE_NAME,
876
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
877
+ protoPath: '/v1/products/{id}',
878
+ data: payload,
879
+ host,
880
+ }),
881
+ params: toURLSearchParams(payload),
882
+ transformResponse: (payload) => transformPaths(payload, [
883
+ {
884
+ transformFn: transformRESTFloatToSDKFloat,
885
+ paths: [
886
+ { path: 'product.weight' },
887
+ { path: 'product.price.price' },
888
+ { path: 'product.price.pricePerUnit' },
889
+ { path: 'product.priceData.price' },
890
+ { path: 'product.priceData.pricePerUnit' },
891
+ { path: 'product.convertedPriceData.price' },
892
+ { path: 'product.convertedPriceData.pricePerUnit' },
893
+ { path: 'product.costAndProfitData.itemCost' },
894
+ { path: 'product.variants.variant.priceData.price' },
895
+ { path: 'product.variants.variant.priceData.pricePerUnit' },
896
+ { path: 'product.variants.variant.convertedPriceData.price' },
897
+ {
898
+ path: 'product.variants.variant.convertedPriceData.pricePerUnit',
899
+ },
900
+ { path: 'product.variants.variant.costAndProfitData.itemCost' },
901
+ { path: 'product.weightRange.minValue' },
902
+ { path: 'product.weightRange.maxValue' },
903
+ { path: 'product.price.discountedPrice' },
904
+ { path: 'product.priceData.discountedPrice' },
905
+ { path: 'product.convertedPriceData.discountedPrice' },
906
+ { path: 'product.priceRange.minValue' },
907
+ { path: 'product.priceRange.maxValue' },
908
+ { path: 'product.costAndProfitData.profit' },
909
+ { path: 'product.costAndProfitData.profitMargin' },
910
+ { path: 'product.costRange.minValue' },
911
+ { path: 'product.costRange.maxValue' },
912
+ { path: 'product.pricePerUnitData.totalQuantity' },
913
+ { path: 'product.pricePerUnitData.baseQuantity' },
914
+ { path: 'product.discount.value' },
915
+ { path: 'product.variants.variant.weight' },
916
+ { path: 'product.variants.variant.priceData.discountedPrice' },
917
+ {
918
+ path: 'product.variants.variant.convertedPriceData.discountedPrice',
919
+ },
920
+ { path: 'product.variants.variant.costAndProfitData.profit' },
921
+ {
922
+ path: 'product.variants.variant.costAndProfitData.profitMargin',
923
+ },
924
+ ],
925
+ },
926
+ {
927
+ transformFn: transformRESTTimestampToSDKTimestamp,
928
+ paths: [
929
+ { path: 'product.lastUpdated' },
930
+ { path: 'product.createdDate' },
931
+ ],
932
+ },
933
+ ]),
934
+ fallback: [
935
+ {
936
+ method: 'GET',
937
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
938
+ protoPath: '/v1/products/{id}',
939
+ data: payload,
940
+ host,
941
+ }),
942
+ params: toURLSearchParams(payload),
943
+ },
944
+ ],
945
+ };
946
+ return metadata;
947
+ }
948
+ return __getProduct;
949
+ }
950
+ /** Retrieves a collection with the provided slug. */
951
+ export function getCollectionBySlug(payload) {
952
+ function __getCollectionBySlug({ host }) {
953
+ const metadata = {
954
+ entityFqdn: 'wix.stores.catalog.v1.product',
955
+ method: 'GET',
956
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.GetCollectionBySlug',
957
+ packageName: PACKAGE_NAME,
958
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
959
+ protoPath: '/v1/collections/slug/{slug}',
960
+ data: payload,
961
+ host,
962
+ }),
963
+ params: toURLSearchParams(payload),
964
+ };
965
+ return metadata;
966
+ }
967
+ return __getCollectionBySlug;
968
+ }
969
+ /** Gets the availability of relevant product variants based on the product ID and selections provided. See [Use Cases](https://dev.wix.com/api/rest/wix-stores/catalog/use-cases) for an example. */
970
+ export function productOptionsAvailability(payload) {
971
+ function __productOptionsAvailability({ host }) {
972
+ const metadata = {
973
+ entityFqdn: 'wix.stores.catalog.v1.product',
974
+ method: 'POST',
975
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.ProductOptionsAvailability',
976
+ packageName: PACKAGE_NAME,
977
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
978
+ protoPath: '/v1/products/{id}/productOptionsAvailability',
979
+ data: payload,
980
+ host,
981
+ }),
982
+ data: payload,
983
+ transformResponse: (payload) => transformPaths(payload, [
984
+ {
985
+ transformFn: transformRESTFloatToSDKFloat,
986
+ paths: [
987
+ { path: 'selectedVariant.weight' },
988
+ { path: 'selectedVariant.price.price' },
989
+ { path: 'selectedVariant.price.pricePerUnit' },
990
+ { path: 'selectedVariant.convertedPriceData.price' },
991
+ { path: 'selectedVariant.convertedPriceData.pricePerUnit' },
992
+ { path: 'selectedVariant.price.discountedPrice' },
993
+ { path: 'selectedVariant.convertedPriceData.discountedPrice' },
994
+ ],
995
+ },
996
+ ]),
997
+ };
998
+ return metadata;
999
+ }
1000
+ return __productOptionsAvailability;
1001
+ }
1002
+ /**
1003
+ * Retrieves product variants, based on either choices (option-choice key-value pairs) or variant IDs.
1004
+ * See [Stores Pagination](https://dev.wix.com/api/rest/wix-stores/pagination) for more information.
1005
+ */
1006
+ export function queryProductVariants(payload) {
1007
+ function __queryProductVariants({ host }) {
1008
+ const metadata = {
1009
+ entityFqdn: 'wix.stores.catalog.v1.product',
1010
+ method: 'POST',
1011
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.QueryProductVariants',
1012
+ packageName: PACKAGE_NAME,
1013
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
1014
+ protoPath: '/v1/products/{id}/variants/query',
1015
+ data: payload,
1016
+ host,
1017
+ }),
1018
+ data: payload,
1019
+ transformResponse: (payload) => transformPaths(payload, [
1020
+ {
1021
+ transformFn: transformRESTFloatToSDKFloat,
1022
+ paths: [
1023
+ { path: 'variants.variant.weight' },
1024
+ { path: 'variants.variant.priceData.discountedPrice' },
1025
+ { path: 'variants.variant.convertedPriceData.discountedPrice' },
1026
+ { path: 'variants.variant.costAndProfitData.profit' },
1027
+ { path: 'variants.variant.costAndProfitData.profitMargin' },
1028
+ { path: 'variants.variant.priceData.price' },
1029
+ { path: 'variants.variant.priceData.pricePerUnit' },
1030
+ { path: 'variants.variant.convertedPriceData.price' },
1031
+ { path: 'variants.variant.convertedPriceData.pricePerUnit' },
1032
+ { path: 'variants.variant.costAndProfitData.itemCost' },
1033
+ ],
1034
+ },
1035
+ ]),
1036
+ };
1037
+ return metadata;
1038
+ }
1039
+ return __queryProductVariants;
1040
+ }
1041
+ /** Retrieves up to 100 store variants, given the provided paging, filtering, and sorting. */
1042
+ export function queryStoreVariants(payload) {
1043
+ function __queryStoreVariants({ host }) {
1044
+ const metadata = {
1045
+ entityFqdn: 'wix.stores.catalog.v1.product',
1046
+ method: 'POST',
1047
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.QueryStoreVariants',
1048
+ packageName: PACKAGE_NAME,
1049
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
1050
+ protoPath: '/v1/variants/query',
1051
+ data: payload,
1052
+ host,
1053
+ }),
1054
+ data: payload,
1055
+ transformResponse: (payload) => transformPaths(payload, [
1056
+ {
1057
+ transformFn: transformRESTTimestampToSDKTimestamp,
1058
+ paths: [
1059
+ { path: 'variants.media.image.urlExpirationDate' },
1060
+ { path: 'variants.media.video.urlExpirationDate' },
1061
+ { path: 'variants.media.video.resolutions.urlExpirationDate' },
1062
+ {
1063
+ path: 'variants.media.video.resolutions.poster.urlExpirationDate',
1064
+ },
1065
+ { path: 'variants.media.video.posters.urlExpirationDate' },
1066
+ ],
1067
+ },
1068
+ {
1069
+ transformFn: transformRESTFloatToSDKFloat,
1070
+ paths: [
1071
+ { path: 'variants.media.image.focalPoint.x' },
1072
+ { path: 'variants.media.image.focalPoint.y' },
1073
+ { path: 'variants.media.video.resolutions.poster.focalPoint.x' },
1074
+ { path: 'variants.media.video.resolutions.poster.focalPoint.y' },
1075
+ { path: 'variants.media.video.posters.focalPoint.x' },
1076
+ { path: 'variants.media.video.posters.focalPoint.y' },
1077
+ ],
1078
+ },
1079
+ ]),
1080
+ };
1081
+ return metadata;
1082
+ }
1083
+ return __queryStoreVariants;
1084
+ }
1085
+ /** Retrieves a store variant with the provided ID. */
1086
+ export function getStoreVariant(payload) {
1087
+ function __getStoreVariant({ host }) {
1088
+ const metadata = {
1089
+ entityFqdn: 'wix.stores.catalog.v1.product',
1090
+ method: 'GET',
1091
+ methodFqn: 'wix.catalog.api.v1.CatalogReadApi.GetStoreVariant',
1092
+ packageName: PACKAGE_NAME,
1093
+ url: resolveWixCatalogApiV1CatalogReadApiUrl({
1094
+ protoPath: '/v1/variants/{id}',
1095
+ data: payload,
1096
+ host,
1097
+ }),
1098
+ params: toURLSearchParams(payload),
1099
+ transformResponse: (payload) => transformPaths(payload, [
1100
+ {
1101
+ transformFn: transformRESTTimestampToSDKTimestamp,
1102
+ paths: [
1103
+ { path: 'variant.media.image.urlExpirationDate' },
1104
+ { path: 'variant.media.video.urlExpirationDate' },
1105
+ { path: 'variant.media.video.resolutions.urlExpirationDate' },
1106
+ {
1107
+ path: 'variant.media.video.resolutions.poster.urlExpirationDate',
1108
+ },
1109
+ { path: 'variant.media.video.posters.urlExpirationDate' },
1110
+ ],
1111
+ },
1112
+ {
1113
+ transformFn: transformRESTFloatToSDKFloat,
1114
+ paths: [
1115
+ { path: 'variant.media.image.focalPoint.x' },
1116
+ { path: 'variant.media.image.focalPoint.y' },
1117
+ { path: 'variant.media.video.resolutions.poster.focalPoint.x' },
1118
+ { path: 'variant.media.video.resolutions.poster.focalPoint.y' },
1119
+ { path: 'variant.media.video.posters.focalPoint.x' },
1120
+ { path: 'variant.media.video.posters.focalPoint.y' },
1121
+ ],
1122
+ },
1123
+ ]),
1124
+ };
1125
+ return metadata;
1126
+ }
1127
+ return __getStoreVariant;
1128
+ }
1129
+ //# sourceMappingURL=stores-catalog-v1-product-products.http.js.map