@haus-tech/product-import-export-plugin 3.3.1 → 3.3.2-next.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.
- package/CHANGELOG.md +12 -0
- package/README.mdx +22 -5
- package/package.json +4 -2
- package/src/api/product-export.controller.d.ts +1 -0
- package/src/api/product-export.controller.js +17 -1
- package/src/api/product-export.controller.js.map +1 -1
- package/src/api/product-import.controller.js +2 -2
- package/src/api/product-import.controller.js.map +1 -1
- package/src/constants.d.ts +1 -0
- package/src/constants.js +2 -1
- package/src/constants.js.map +1 -1
- package/src/dashboard/export-dialog.tsx +21 -7
- package/src/dashboard/import.tsx +6 -3
- package/src/dashboard/utils.ts +0 -1
- package/src/index.d.ts +3 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -1
- package/src/product-import-export.plugin.js +21 -0
- package/src/product-import-export.plugin.js.map +1 -1
- package/src/providers/import-providers/asset-importer.js +0 -2
- package/src/providers/import-providers/asset-importer.js.map +1 -1
- package/src/providers/import-providers/import-parser.d.ts +7 -5
- package/src/providers/import-providers/import-parser.js +56 -16
- package/src/providers/import-providers/import-parser.js.map +1 -1
- package/src/providers/import-providers/product-importer.d.ts +4 -0
- package/src/providers/import-providers/product-importer.js +151 -88
- package/src/providers/import-providers/product-importer.js.map +1 -1
- package/src/services/extended-fast-importer.service.d.ts +5 -3
- package/src/services/extended-fast-importer.service.js +20 -7
- package/src/services/extended-fast-importer.service.js.map +1 -1
- package/src/services/import-storage/import-job-storage-strategy.d.ts +22 -0
- package/src/services/import-storage/import-job-storage-strategy.js +3 -0
- package/src/services/import-storage/import-job-storage-strategy.js.map +1 -0
- package/src/services/import-storage/local-import-job-storage-strategy.d.ts +18 -0
- package/src/services/import-storage/local-import-job-storage-strategy.js +76 -0
- package/src/services/import-storage/local-import-job-storage-strategy.js.map +1 -0
- package/src/services/import-storage/s3-import-job-storage-strategy.d.ts +13 -0
- package/src/services/import-storage/s3-import-job-storage-strategy.js +109 -0
- package/src/services/import-storage/s3-import-job-storage-strategy.js.map +1 -0
- package/src/services/product-export.service.d.ts +3 -1
- package/src/services/product-export.service.js +66 -26
- package/src/services/product-export.service.js.map +1 -1
- package/src/services/product-import.service.d.ts +10 -6
- package/src/services/product-import.service.js +62 -37
- package/src/services/product-import.service.js.map +1 -1
- package/src/types.d.ts +21 -1
- package/src/ui/components/export-dialog.component.html +1 -1
- package/src/ui/components/export-dialog.component.ts +10 -2
- package/src/ui/components/product-import.component.html +6 -8
- package/src/ui/translations/en.json +1 -1
- package/src/ui/translations/sv.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## 3.3.2-next.0
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **product-import-export-plugin:** optimize asset handling and caching in product importer ([9d2888e](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/9d2888e))
|
|
6
|
+
- **product-import-export-plugin:** enhance testing and export functionality ([1764eb2](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/commit/1764eb2))
|
|
7
|
+
- **product-import-export-plugin:** enforce import/export acceptance criteria (column-presence updates, multi-variant option requirements, no ProductID export option, clearer import CTA, and strict required relation custom-field validation)
|
|
8
|
+
|
|
9
|
+
## 3.3.1
|
|
10
|
+
|
|
11
|
+
This was a version bump only for product-import-export-plugin to align it with other projects, there were no code changes.
|
|
12
|
+
|
|
1
13
|
## 3.3.1-next.0
|
|
2
14
|
|
|
3
15
|
### 🚀 Features
|
package/README.mdx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: product-import-export-plugin
|
|
3
3
|
title: Product Import & Export Plugin
|
|
4
4
|
description: Vendure plugin for importing and exporting product data via CSV.
|
|
5
|
-
version: 3.
|
|
5
|
+
version: 3.3.1
|
|
6
6
|
tags:
|
|
7
7
|
- vendure
|
|
8
8
|
- plugin
|
|
@@ -65,10 +65,18 @@ export const config = {
|
|
|
65
65
|
|
|
66
66
|
### Import options
|
|
67
67
|
|
|
68
|
-
| Option
|
|
69
|
-
|
|
|
70
|
-
| `updateProductSlug`
|
|
71
|
-
| `restoreSoftDeleted`
|
|
68
|
+
| Option | Type | Default | Description |
|
|
69
|
+
| ------------------------ | ----------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------- |
|
|
70
|
+
| `updateProductSlug` | `boolean` | `true` | Update product slug from the `name` field in the CSV |
|
|
71
|
+
| `restoreSoftDeleted` | `boolean` | `true` | Restore soft-deleted products/variants found by id or SKU during import. If `false`, new products will be created instead. |
|
|
72
|
+
| `storageStrategy` | `ImportJobStorageStrategy` | local disk | Strategy instance for queued import file storage and retrieval. |
|
|
73
|
+
| `storageStrategyFactory` | `(injector: Injector) => ImportJobStorageStrategy` | `undefined` | Factory for DI-aware strategy creation (recommended for S3/remote storage). |
|
|
74
|
+
| `importJobStorage` | `'local' \| 's3'` | `'local'` | Deprecated compatibility flag. Prefer `storageStrategy` / `storageStrategyFactory`. |
|
|
75
|
+
|
|
76
|
+
Available import storage strategies:
|
|
77
|
+
|
|
78
|
+
- `LocalImportJobStorageStrategy` (default)
|
|
79
|
+
- `S3ImportJobStorageStrategy`
|
|
72
80
|
|
|
73
81
|
### Export options
|
|
74
82
|
|
|
@@ -114,6 +122,12 @@ The plugin supports configurable storage for exported files:
|
|
|
114
122
|
| `enabled` | `true` or `false` | `true` |
|
|
115
123
|
| Custom fields | Column name = custom field name; value depends on field type | Add columns for any Product or ProductVariant custom fields defined in your Vendure config |
|
|
116
124
|
|
|
125
|
+
#### Import behavior rules
|
|
126
|
+
|
|
127
|
+
- If a column is omitted from the CSV header, that field is left unchanged on existing products/variants.
|
|
128
|
+
- If a column exists in the header but the cell is empty, that field is explicitly cleared.
|
|
129
|
+
- For products with more than one variant, `optionGroups` and `optionValues` are required.
|
|
130
|
+
|
|
117
131
|
#### Multi-language support
|
|
118
132
|
|
|
119
133
|
Use language-specific columns by suffixing the field name with the language code. The language codes must match those configured in your Vendure instance (e.g. `en`, `sv`).
|
|
@@ -161,6 +175,9 @@ The Admin UI offers basic import and export. Some features such as the export-al
|
|
|
161
175
|
|
|
162
176
|
1. In the Admin UI or Dashboard, select products to export (or use bulk export).
|
|
163
177
|
2. Configure export fields (assets, facets, custom fields, etc.).
|
|
178
|
+
- For products with more than one variant, `optionGroups` and `optionValues` must be included.
|
|
179
|
+
- `productId` is not available as a selectable export field.
|
|
180
|
+
- If `customFields` are not selected, no custom-field columns are written to the CSV.
|
|
164
181
|
3. Choose asset format: URL or JSON.
|
|
165
182
|
4. Start the export (it is added to a job queue and runs in the background).
|
|
166
183
|
5. Download the CSV when the export is complete. Your downloaded files will be listed in the export view.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haus-tech/product-import-export-plugin",
|
|
3
|
-
"version": "3.3.1",
|
|
3
|
+
"version": "3.3.2-next.1",
|
|
4
4
|
"description": "A Vendure plugin for importing and exporting products using a CSV file",
|
|
5
5
|
"author": "Haus Tech",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,9 @@
|
|
|
40
40
|
],
|
|
41
41
|
"scripts": {
|
|
42
42
|
"start": "yarn ts-node test/dev-server.ts",
|
|
43
|
-
"build": "yarn run -T rimraf dist && yarn run -T tsc && yarn run -T copyfiles -u 1 'src/ui/**/*' dist/"
|
|
43
|
+
"build": "yarn run -T rimraf dist && yarn run -T tsc && yarn run -T copyfiles -u 1 'src/ui/**/*' dist/",
|
|
44
|
+
"test": "yarn --cwd ../.. run -T vitest run --config packages/product-import-export-plugin/vitest.config.ts",
|
|
45
|
+
"test:watch": "yarn --cwd ../.. run -T vitest --config packages/product-import-export-plugin/vitest.config.ts"
|
|
44
46
|
},
|
|
45
47
|
"dependencies": {
|
|
46
48
|
"@aws-sdk/client-s3": "^3.744.0",
|
|
@@ -11,6 +11,7 @@ export declare class ProductExportController {
|
|
|
11
11
|
private productExportQueueService;
|
|
12
12
|
constructor(options: PluginInitOptions, exportStorageStrategy: ExportStorageStrategy, productExportService: ProductExportService, productExportQueueService: ProductExportQueueService);
|
|
13
13
|
private validateExportFileName;
|
|
14
|
+
private validateOptionColumnsForMultiVariantExport;
|
|
14
15
|
exportProducts(ctx: RequestContext, res: Response, fileName: string, customFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string, selection: ID[]): Promise<void>;
|
|
15
16
|
exportAllProducts(ctx: RequestContext, fileName: string, customFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string): Promise<{
|
|
16
17
|
success: boolean;
|
|
@@ -46,6 +46,20 @@ let ProductExportController = class ProductExportController {
|
|
|
46
46
|
}
|
|
47
47
|
return trimmed;
|
|
48
48
|
}
|
|
49
|
+
async validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields, selectionIds) {
|
|
50
|
+
const selected = new Set(selectedExportFields
|
|
51
|
+
.split(',')
|
|
52
|
+
.map((field) => field.trim())
|
|
53
|
+
.filter(Boolean));
|
|
54
|
+
const hasRequiredFields = selected.has('optionGroups') && selected.has('optionValues');
|
|
55
|
+
if (hasRequiredFields) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const hasMultiVariantProducts = await this.productExportService.hasMultiVariantProducts(ctx, selectionIds);
|
|
59
|
+
if (hasMultiVariantProducts) {
|
|
60
|
+
throw new common_1.UnprocessableEntityException('optionGroups and optionValues are required when exporting products with multiple variants');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
49
63
|
async exportProducts(ctx, res, fileName, customFields, exportAssetsAs, selectedExportFields, selection) {
|
|
50
64
|
try {
|
|
51
65
|
if (!selection ||
|
|
@@ -57,7 +71,7 @@ let ProductExportController = class ProductExportController {
|
|
|
57
71
|
if (!fileName) {
|
|
58
72
|
if (this.options.exportOptions.defaultFileName &&
|
|
59
73
|
!this.options.exportOptions.defaultFileName.endsWith('.csv')) {
|
|
60
|
-
fileName = this.options.exportOptions.defaultFileName
|
|
74
|
+
fileName = `${this.options.exportOptions.defaultFileName}.csv`;
|
|
61
75
|
}
|
|
62
76
|
else {
|
|
63
77
|
fileName = this.options.exportOptions.defaultFileName || 'products_export.csv';
|
|
@@ -70,6 +84,7 @@ let ProductExportController = class ProductExportController {
|
|
|
70
84
|
if (!customFields) {
|
|
71
85
|
customFields = '';
|
|
72
86
|
}
|
|
87
|
+
await this.validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields, selection);
|
|
73
88
|
const job = await this.productExportQueueService.triggerExportWithSelection(ctx, fileName, customFields, exportAssetsAs, selectedExportFields, selection);
|
|
74
89
|
if (!job || !job.id) {
|
|
75
90
|
throw new common_1.UnprocessableEntityException('Failed to queue export job');
|
|
@@ -99,6 +114,7 @@ let ProductExportController = class ProductExportController {
|
|
|
99
114
|
if (!customFields) {
|
|
100
115
|
customFields = '';
|
|
101
116
|
}
|
|
117
|
+
await this.validateOptionColumnsForMultiVariantExport(ctx, selectedExportFields);
|
|
102
118
|
const job = await this.productExportQueueService.triggerExport(ctx, fileName, customFields, exportAssetsAs, selectedExportFields, true);
|
|
103
119
|
return {
|
|
104
120
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-export.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-export.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAuD;AACvD,2CAWuB;AAEvB,+EAAyE;AACzE,2FAAoF;AACpF,4CAA4F;AAKrF,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEsB;IACb;IACjC;IACA;IAJV,YACwD,OAA0B,EACvC,qBAA4C,EAC7E,oBAA0C,EAC1C,yBAAoD;QAHN,YAAO,GAAP,OAAO,CAAmB;QACvC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7E,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,8BAAyB,GAAzB,yBAAyB,CAA2B;IAC3D,CAAC;IAEI,sBAAsB,CAAC,QAAgB;QAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,kDAAkD;QAClD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CACX,GAAmB,EACnB,GAAa,EACD,QAAgB,EACZ,YAAoB,EAClB,cAA8B,EACxB,oBAA4B,EAE3D,SAAe;QAEf,IAAI,CAAC;YACH,IACE,CAAC,SAAS;gBACV,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;gBACzB,SAAS,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,oBAAoB,EACrB,CAAC;gBACD,MAAM,IAAI,qCAA4B,CAAC,sBAAsB,CAAC,CAAA;YAChE,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IACE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe;oBAC1C,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5D,CAAC;oBACD,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,
|
|
1
|
+
{"version":3,"file":"product-export.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-export.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,11 +34,11 @@ let ProductImportController = class ProductImportController {
|
|
|
34
34
|
return res.status(400).send('No mainLanguage provided');
|
|
35
35
|
}
|
|
36
36
|
try {
|
|
37
|
-
this.service.processFile(ctx, file, updateProductSlug === 'true', mainLanguage, updatingStrategy);
|
|
37
|
+
await this.service.processFile(ctx, file, updateProductSlug === 'true', mainLanguage, updatingStrategy);
|
|
38
38
|
return res.status(200).send('File uploaded successfully');
|
|
39
39
|
}
|
|
40
40
|
catch (error) {
|
|
41
|
-
return res.status(500).send('Internal Server Error');
|
|
41
|
+
return res.status(500).send(error?.message || 'Internal Server Error');
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-import.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"product-import.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAiE;AACjE,2CAQuB;AAEvB,+DAA0D;AAC1D,4CAAmE;AAEnE,+EAAyE;AAGlE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEsB;IAC9C;IAFV,YACwD,OAA0B,EACxE,OAA6B;QADiB,YAAO,GAAP,OAAO,CAAmB;QACxE,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAIE,AAAN,KAAK,CAAC,cAAc,CACX,GAAmB,EACV,IAAyB,EAEzC,oBAAuC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc;QAC9E,EAAE,iBAAyB,IAAI,MAAM,EACjB,YAA0B,EACtB,gBAAkC,EAE5D,GAAa;QAEb,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;QACjD,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAC5B,GAAG,EACH,IAAI,EACJ,iBAAiB,KAAK,MAAM,EAC5B,YAAY,EACZ,gBAAgB,CACjB,CAAA;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;QAC3D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,KAAe,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;CACF,CAAA;AAxCY,0DAAuB;AAQ5B;IAFL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;IAEtC,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,qBAAY,GAAE,CAAA;IACd,WAAA,IAAA,aAAI,EAAC,mBAAmB,CAAC,CAAA;IAGzB,WAAA,IAAA,aAAI,EAAC,cAAc,CAAC,CAAA;IACpB,WAAA,IAAA,aAAI,EAAC,kBAAkB,CAAC,CAAA;IACxB,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAPM,qBAAc;;6DA8B3B;kCAvCU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;6CAC5B,6CAAoB;GAH5B,uBAAuB,CAwCnC"}
|
package/src/constants.d.ts
CHANGED
package/src/constants.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loggerCtx = exports.EXPORT_STORAGE_STRATEGY = exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = void 0;
|
|
3
|
+
exports.loggerCtx = exports.IMPORT_JOB_STORAGE_STRATEGY = exports.EXPORT_STORAGE_STRATEGY = exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = void 0;
|
|
4
4
|
exports.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS = Symbol('PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS');
|
|
5
5
|
exports.EXPORT_STORAGE_STRATEGY = Symbol('EXPORT_STORAGE_STRATEGY');
|
|
6
|
+
exports.IMPORT_JOB_STORAGE_STRATEGY = Symbol('IMPORT_JOB_STORAGE_STRATEGY');
|
|
6
7
|
exports.loggerCtx = 'ProductImportExportPlugin';
|
|
7
8
|
//# sourceMappingURL=constants.js.map
|
package/src/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAA;AACrF,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAC3D,QAAA,SAAS,GAAG,2BAA2B,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAAG,MAAM,CAAC,sCAAsC,CAAC,CAAA;AACrF,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAA;AAC3D,QAAA,2BAA2B,GAAG,MAAM,CAAC,6BAA6B,CAAC,CAAA;AACnE,QAAA,SAAS,GAAG,2BAA2B,CAAA"}
|
|
@@ -36,13 +36,13 @@ export function ExportDialog({
|
|
|
36
36
|
productIds,
|
|
37
37
|
isExportAll = false,
|
|
38
38
|
}: ExportDialogProps) {
|
|
39
|
+
const mandatoryOptionFields: Array<ProductFields | VariantFields> = ['optionGroups', 'optionValues']
|
|
39
40
|
const [fileName, setFileName] = useState('')
|
|
40
41
|
const [customFields, setCustomFields] = useState<string[]>([])
|
|
41
42
|
const [selectedFields, setSelectedFields] = useState<string[]>([])
|
|
42
43
|
const [exportAssetsAs, setExportAssetsAs] = useState<'url' | 'json'>('url')
|
|
43
44
|
const [selectedExportFields, setSelectedExportFields] = useState<ExportFields>([])
|
|
44
45
|
const [availableExportFields] = useState<ExportFields>([
|
|
45
|
-
'productId',
|
|
46
46
|
'name',
|
|
47
47
|
'slug',
|
|
48
48
|
'description',
|
|
@@ -101,10 +101,15 @@ export function ExportDialog({
|
|
|
101
101
|
configData.exportOptions?.defaultExportFields ||
|
|
102
102
|
configData.exportOptions?.requiredExportFields
|
|
103
103
|
) {
|
|
104
|
-
setSelectedExportFields(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
setSelectedExportFields(
|
|
105
|
+
Array.from(
|
|
106
|
+
new Set([
|
|
107
|
+
...(configData.exportOptions.defaultExportFields || []),
|
|
108
|
+
...(configData.exportOptions.requiredExportFields || []),
|
|
109
|
+
...mandatoryOptionFields,
|
|
110
|
+
]),
|
|
111
|
+
) as ExportFields,
|
|
112
|
+
)
|
|
108
113
|
}
|
|
109
114
|
} catch (error) {
|
|
110
115
|
console.error('Failed to fetch config:', error)
|
|
@@ -123,6 +128,9 @@ export function ExportDialog({
|
|
|
123
128
|
}
|
|
124
129
|
|
|
125
130
|
const toggleExportFieldSelection = (fieldName: ProductFields | VariantFields) => {
|
|
131
|
+
if (mandatoryOptionFields.includes(fieldName)) {
|
|
132
|
+
return
|
|
133
|
+
}
|
|
126
134
|
setSelectedExportFields((prev) =>
|
|
127
135
|
prev.includes(fieldName) ? prev.filter((f) => f !== fieldName) : [...prev, fieldName],
|
|
128
136
|
)
|
|
@@ -134,7 +142,10 @@ export function ExportDialog({
|
|
|
134
142
|
setSelectedExportFields([...availableExportFields])
|
|
135
143
|
setSelectedFields([...customFields])
|
|
136
144
|
} else {
|
|
137
|
-
setSelectedExportFields([
|
|
145
|
+
setSelectedExportFields([
|
|
146
|
+
...(config?.requiredExportFields || []),
|
|
147
|
+
...mandatoryOptionFields,
|
|
148
|
+
])
|
|
138
149
|
setSelectedFields([])
|
|
139
150
|
}
|
|
140
151
|
}
|
|
@@ -220,7 +231,10 @@ export function ExportDialog({
|
|
|
220
231
|
id={`field-${field}`}
|
|
221
232
|
checked={selectedExportFields.includes(field)}
|
|
222
233
|
onCheckedChange={() => toggleExportFieldSelection(field)}
|
|
223
|
-
disabled={
|
|
234
|
+
disabled={
|
|
235
|
+
config?.requiredExportFields?.includes(field) ||
|
|
236
|
+
mandatoryOptionFields.includes(field)
|
|
237
|
+
}
|
|
224
238
|
/>
|
|
225
239
|
<Label htmlFor={`field-${field}`} className="font-normal">
|
|
226
240
|
{field}
|
package/src/dashboard/import.tsx
CHANGED
|
@@ -503,9 +503,6 @@ export function ProductImportBlock() {
|
|
|
503
503
|
<UploadIcon className="mr-2 h-4 w-4" />
|
|
504
504
|
{selectedFile.name}
|
|
505
505
|
</Button>
|
|
506
|
-
<Button type="button" onClick={uploadFile} disabled={!selectedMainLanguage}>
|
|
507
|
-
Upload file
|
|
508
|
-
</Button>
|
|
509
506
|
</>
|
|
510
507
|
) : (
|
|
511
508
|
<Button type="button" variant="default" onClick={() => fileInputRef.current?.click()}>
|
|
@@ -577,6 +574,12 @@ export function ProductImportBlock() {
|
|
|
577
574
|
</p>
|
|
578
575
|
)}
|
|
579
576
|
</div>
|
|
577
|
+
|
|
578
|
+
<div className="pt-2 border-t">
|
|
579
|
+
<Button type="button" onClick={uploadFile} disabled={!selectedMainLanguage}>
|
|
580
|
+
Start import now
|
|
581
|
+
</Button>
|
|
582
|
+
</div>
|
|
580
583
|
</div>
|
|
581
584
|
)}
|
|
582
585
|
</div>
|
package/src/dashboard/utils.ts
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -3,4 +3,7 @@ export type { PluginInitOptions, UpdatingStrategy, JsonAsset } from './types';
|
|
|
3
3
|
export * from './services/export-storage/export-storage-strategy';
|
|
4
4
|
export * from './services/export-storage/local-export-storage-strategy';
|
|
5
5
|
export * from './services/export-storage/s3-export-storage-strategy';
|
|
6
|
+
export * from './services/import-storage/import-job-storage-strategy';
|
|
7
|
+
export * from './services/import-storage/local-import-job-storage-strategy';
|
|
8
|
+
export * from './services/import-storage/s3-import-job-storage-strategy';
|
|
6
9
|
export type { S3ExportStorageConfig } from './services/export-storage.util';
|
package/src/index.js
CHANGED
|
@@ -18,4 +18,7 @@ __exportStar(require("./product-import-export.plugin"), exports);
|
|
|
18
18
|
__exportStar(require("./services/export-storage/export-storage-strategy"), exports);
|
|
19
19
|
__exportStar(require("./services/export-storage/local-export-storage-strategy"), exports);
|
|
20
20
|
__exportStar(require("./services/export-storage/s3-export-storage-strategy"), exports);
|
|
21
|
+
__exportStar(require("./services/import-storage/import-job-storage-strategy"), exports);
|
|
22
|
+
__exportStar(require("./services/import-storage/local-import-job-storage-strategy"), exports);
|
|
23
|
+
__exportStar(require("./services/import-storage/s3-import-job-storage-strategy"), exports);
|
|
21
24
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAG9C,oFAAiE;AACjE,0FAAuE;AACvE,uFAAoE"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA8C;AAG9C,oFAAiE;AACjE,0FAAuE;AACvE,uFAAoE;AACpE,wFAAqE;AACrE,8FAA2E;AAC3E,2FAAwE"}
|
|
@@ -60,6 +60,7 @@ const extended_fast_importer_service_1 = require("./services/extended-fast-impor
|
|
|
60
60
|
const product_export_service_1 = require("./services/product-export.service");
|
|
61
61
|
const product_export_queue_service_1 = require("./services/product-export-queue.service");
|
|
62
62
|
const local_export_storage_strategy_1 = require("./services/export-storage/local-export-storage-strategy");
|
|
63
|
+
const local_import_job_storage_strategy_1 = require("./services/import-storage/local-import-job-storage-strategy");
|
|
63
64
|
let ProductImportExportPlugin = class ProductImportExportPlugin {
|
|
64
65
|
static { ProductImportExportPlugin_1 = this; }
|
|
65
66
|
static options;
|
|
@@ -71,6 +72,9 @@ let ProductImportExportPlugin = class ProductImportExportPlugin {
|
|
|
71
72
|
restoreSoftDeleted: true,
|
|
72
73
|
};
|
|
73
74
|
}
|
|
75
|
+
if (!options.importOptions.importJobStorage) {
|
|
76
|
+
options.importOptions.importJobStorage = 'local';
|
|
77
|
+
}
|
|
74
78
|
// Ensure exportOptions exists
|
|
75
79
|
if (!options.exportOptions) {
|
|
76
80
|
options.exportOptions = {};
|
|
@@ -160,6 +164,23 @@ exports.ProductImportExportPlugin = ProductImportExportPlugin = ProductImportExp
|
|
|
160
164
|
},
|
|
161
165
|
inject: [core_2.ModuleRef],
|
|
162
166
|
},
|
|
167
|
+
{
|
|
168
|
+
provide: constants_1.IMPORT_JOB_STORAGE_STRATEGY,
|
|
169
|
+
useFactory: async (moduleRef) => {
|
|
170
|
+
const importOptions = ProductImportExportPlugin.options?.importOptions;
|
|
171
|
+
const injector = new core_1.Injector(moduleRef);
|
|
172
|
+
if (importOptions?.storageStrategy) {
|
|
173
|
+
return importOptions.storageStrategy;
|
|
174
|
+
}
|
|
175
|
+
if (importOptions?.storageStrategyFactory) {
|
|
176
|
+
return await importOptions.storageStrategyFactory(injector);
|
|
177
|
+
}
|
|
178
|
+
return new local_import_job_storage_strategy_1.LocalImportJobStorageStrategy({
|
|
179
|
+
baseDir: path.join(process.cwd(), 'static', 'imports-tmp'),
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
inject: [core_2.ModuleRef],
|
|
183
|
+
},
|
|
163
184
|
product_import_service_1.ProductImportService,
|
|
164
185
|
product_importer_1.ProductImporter,
|
|
165
186
|
extended_fast_importer_service_1.ExtendedFastImporterService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-import-export.plugin.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/product-import-export.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wCAAiF;AAEjF,uCAAwC;AACxC,2CAA4B;AAC5B,mCAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"product-import-export.plugin.js","sourceRoot":"","sources":["../../../../packages/product-import-export-plugin/src/product-import-export.plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,11 +146,9 @@ let ExtendedAssetImporter = class ExtendedAssetImporter {
|
|
|
146
146
|
const retryCount = 3;
|
|
147
147
|
const retryDelayMs = 200;
|
|
148
148
|
return (0, rxjs_1.lastValueFrom)((0, rxjs_1.from)(fetchUrlWithAxios(assetUrl)).pipe((0, operators_1.retryWhen)((errors) => errors.pipe((0, operators_1.tap)((error) => {
|
|
149
|
-
core_1.Logger.verbose(error.message);
|
|
150
149
|
if (error.message.includes('Status code: 404')) {
|
|
151
150
|
throw error; // Stop retrying on 404 errors
|
|
152
151
|
}
|
|
153
|
-
core_1.Logger.verbose(`CustomAssetImportStrategy: retrying fetchUrl for ${assetUrl}`);
|
|
154
152
|
}), (0, operators_1.delay)(retryDelayMs ?? 200), (0, operators_1.take)(retryCount ?? 3)))));
|
|
155
153
|
}
|
|
156
154
|
getStreamFromLocalFile(assetPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/asset-importer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"asset-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/asset-importer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAyD;AACzD,wCAUsB;AAEtB,2EAAqE;AAErE,wDAAyB;AACzB,kDAAyB;AACzB,gDAAuB;AACvB,+BAA0C;AAC1C,8CAA4D;AAG5D;;;;;;;GAOG;AAEI,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAMtB;IACA;IACA;IACA;IARF,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAA;IACnC,cAAc,CAAS;IAE/B,gBAAgB;IAChB,YACU,aAA4B,EAC5B,YAA0B,EAC1B,UAAmC,EACnC,cAA8B;QAH9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAyB;QACnC,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ,KAAK,CAAC,YAAY;QAChB,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAA;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACb,UAAuB,EACvB,GAAoB;QAEpB,MAAM,MAAM,GAAY,EAAE,CAAA;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;QAC5C,KAAK,MAAM,SAAS,IAAI,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAA,uCAAiB,EAAC;oBAClC,MAAM,EAAE,SAAS,CAAC,GAAG;iBACb,CAAC,CAAA;gBAEX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,YAAK,CAAC,CAAC,OAAO,CAAC;oBAC5E,KAAK,EAAE;wBACL,YAAY,EAAE;4BACZ,IAAI,EAAE,SAAS;yBAChB;qBACF;oBACD,SAAS,EAAE,CAAC,UAAU,CAAC;iBACxB,CAAC,CAAA;gBAEF,IAAI,aAAa,EAAE,CAAC;oBAClB,sCAAsC;oBACtC,IACE,CAAC,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC;wBACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,EAAE,SAAS,CAAC,EACvE,CAAC;wBACD,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAA;wBACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAA;wBACpD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,YAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBACrE,CAAC;oBACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;oBAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;oBAC1B,SAAQ;gBACV,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBAC1D,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAC/D,MAAM,EACN,SAAS,CAAC,GAAG,EACb,GAAG,CACJ,CAAA;oBAED,IAAI,IAAA,2BAAoB,EAAC,YAAY,CAAC,EAAE,CAAC;wBACvC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;oBACnC,CAAC;yBAAM,CAAC;wBACN,IAAI,aAAa,GAAU,YAAqB,CAAA;wBAChD,IAAI,wBAAwB,GAAG,KAAK,CAAA;wBAEpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,YAAK,CAAC,CAAC,OAAO,CAAC;4BAC5E,KAAK,EAAE;gCACL,YAAY,EAAE;oCACZ,IAAI,EAAE,SAAS;iCAChB;6BACF;4BACD,SAAS,EAAE,CAAC,UAAU,CAAC;yBACxB,CAAC,CAAA;wBAEF,IAAI,aAAa,EAAE,CAAC;4BAClB,wBAAwB,GAAG,IAAI,CAAA;4BAC/B,aAAa,GAAG,EAAE,GAAG,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,EAAE,CAAA;wBAClF,CAAC;wBAED,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC;4BACjB,wBAAwB,GAAG,IAAI,CAAA;4BAC/B,aAAa,GAAG;gCACd,GAAG,aAAa;gCAChB,EAAE,EAAE,SAAS,CAAC,EAAE;6BACjB,CAAA;wBACH,CAAC;wBAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;wBAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAE1B,aAAa,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,CAAA;wBACzD,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAkB,CAAC,CAAA;wBACpD,aAAa,CAAC,YAAY,GAAG;4BAC3B,GAAG,aAAa,CAAC,YAAY;4BAC7B,IAAI,EAAE,SAAS;yBAChB,CAAA;wBACD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,YAAK,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;wBAEnE,IAAI,wBAAwB,EAAE,CAAC;4BAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,YAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;wBACzE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;oBAClD,MAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAA;gBAChE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAC3B,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAAgB;QACvC,MAAM,UAAU,GAAG,CAAC,CAAA;QACpB,MAAM,YAAY,GAAG,GAAG,CAAA;QACxB,OAAO,IAAA,oBAAa,EAClB,IAAA,WAAI,EAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CACpC,IAAA,qBAAS,EAAC,CAAC,MAAM,EAAE,EAAE,CACnB,MAAM,CAAC,IAAI,CACT,IAAA,eAAG,EAAC,CAAC,KAAK,EAAE,EAAE;YACZ,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC/C,MAAM,KAAK,CAAA,CAAC,8BAA8B;YAC5C,CAAC;QACH,CAAC,CAAC,EACF,IAAA,iBAAK,EAAC,YAAY,IAAI,GAAG,CAAC,EAC1B,IAAA,gBAAI,EAAC,UAAU,IAAI,CAAC,CAAC,CACtB,CACF,CACF,CACF,CAAA;IACH,CAAC;IAEO,sBAAsB,CAAC,SAAiB;QAC9C,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAA;QAClE,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAA;QAEtD,IAAI,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,kBAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,kBAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;oBAC5C,OAAO,MAAM,CAAA;gBACf,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,aAAM,CAAC,KAAK,CAAC,8CAA8C,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;oBACvF,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,wBAAwB,QAAQ,GAAG,CAAA;gBACxD,aAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;gBAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,SAAS,QAAQ,kBAAkB,CAAA;YACxD,aAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAC1B,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC;CACF,CAAA;AA9KY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAOc,oBAAa;QACd,mBAAY;QACd,8BAAuB;QACnB,qBAAc;GAT7B,qBAAqB,CA8KjC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,SAAS,EAAE;YAC1C,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,IAAI,EAAE,oBAAoB;SACpC,CAAC,CAAA;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,aAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC9E,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,aAAM,CAAC,KAAK,CAAC,uBAAuB,SAAS,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QACnE,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -47,13 +47,14 @@ export interface ParsedAsset {
|
|
|
47
47
|
export interface ParsedProductVariant {
|
|
48
48
|
sku: string;
|
|
49
49
|
price: number | undefined;
|
|
50
|
-
taxCategory
|
|
51
|
-
stockOnHand
|
|
52
|
-
trackInventory
|
|
50
|
+
taxCategory?: string;
|
|
51
|
+
stockOnHand?: number;
|
|
52
|
+
trackInventory?: GlobalFlag;
|
|
53
53
|
assetPaths: string[];
|
|
54
54
|
assetsJson?: ParsedAsset[];
|
|
55
55
|
facets: ParsedFacet[];
|
|
56
|
-
enabled
|
|
56
|
+
enabled?: boolean;
|
|
57
|
+
optionValuesProvided: boolean;
|
|
57
58
|
translations: Array<{
|
|
58
59
|
languageCode: LanguageCode;
|
|
59
60
|
optionValues: string[];
|
|
@@ -74,12 +75,13 @@ export interface ParsedProduct {
|
|
|
74
75
|
assetPaths: string[];
|
|
75
76
|
assetsJson?: ParsedAsset[];
|
|
76
77
|
optionGroups: ParsedOptionGroup[];
|
|
78
|
+
optionGroupsProvided: boolean;
|
|
77
79
|
facets: ParsedFacet[];
|
|
78
80
|
translations: Array<{
|
|
79
81
|
languageCode: LanguageCode;
|
|
80
82
|
name: string;
|
|
81
83
|
slug: string;
|
|
82
|
-
description
|
|
84
|
+
description?: string;
|
|
83
85
|
customFields: {
|
|
84
86
|
[name: string]: string;
|
|
85
87
|
};
|