@haus-tech/product-import-export-plugin 3.2.0 → 3.3.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.mdx +31 -11
- package/package.json +2 -1
- package/src/api/product-export.controller.d.ts +6 -7
- package/src/api/product-export.controller.js +39 -78
- package/src/api/product-export.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/import.tsx +1 -1
- package/src/index.d.ts +4 -0
- package/src/index.js +3 -0
- package/src/index.js.map +1 -1
- package/src/product-import-export.plugin.js +23 -0
- package/src/product-import-export.plugin.js.map +1 -1
- package/src/providers/import-providers/import-parser.d.ts +5 -0
- package/src/providers/import-providers/import-parser.js +72 -35
- package/src/providers/import-providers/import-parser.js.map +1 -1
- package/src/providers/import-providers/product-importer.d.ts +10 -1
- package/src/providers/import-providers/product-importer.js +145 -35
- package/src/providers/import-providers/product-importer.js.map +1 -1
- package/src/services/export-storage/export-storage-strategy.d.ts +31 -0
- package/src/services/export-storage/export-storage-strategy.js +3 -0
- package/src/services/export-storage/export-storage-strategy.js.map +1 -0
- package/src/services/export-storage/local-export-storage-strategy.d.ts +20 -0
- package/src/services/export-storage/local-export-storage-strategy.js +106 -0
- package/src/services/export-storage/local-export-storage-strategy.js.map +1 -0
- package/src/services/export-storage/s3-export-storage-strategy.d.ts +15 -0
- package/src/services/export-storage/s3-export-storage-strategy.js +130 -0
- package/src/services/export-storage/s3-export-storage-strategy.js.map +1 -0
- package/src/services/export-storage.util.d.ts +18 -0
- package/src/services/export-storage.util.js +81 -0
- package/src/services/export-storage.util.js.map +1 -0
- package/src/services/extended-fast-importer.service.d.ts +3 -2
- package/src/services/extended-fast-importer.service.js +9 -2
- package/src/services/extended-fast-importer.service.js.map +1 -1
- package/src/services/product-export.service.d.ts +19 -2
- package/src/services/product-export.service.js +99 -38
- package/src/services/product-export.service.js.map +1 -1
- package/src/services/product-import.service.d.ts +2 -1
- package/src/services/product-import.service.js +3 -2
- package/src/services/product-import.service.js.map +1 -1
- package/src/types.d.ts +13 -0
- package/src/ui/components/export-dialog.component.ts +2 -2
- package/src/ui/components/product-import.component.ts +5 -5
- package/src/ui/product-export.service.ts +4 -3
|
@@ -15,6 +15,7 @@ const common_1 = require("@nestjs/common");
|
|
|
15
15
|
const generated_types_1 = require("@vendure/common/lib/generated-types");
|
|
16
16
|
const unique_1 = require("@vendure/common/lib/unique");
|
|
17
17
|
const core_1 = require("@vendure/core");
|
|
18
|
+
const core_2 = require("@vendure/core");
|
|
18
19
|
const csv_parse_1 = require("csv-parse");
|
|
19
20
|
const lodash_1 = require("lodash");
|
|
20
21
|
const baseTranslatableColumns = [
|
|
@@ -159,6 +160,43 @@ let ImportParser = class ImportParser {
|
|
|
159
160
|
}
|
|
160
161
|
return { results, errors, processed: totalProducts };
|
|
161
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Maps a CSV column key (e.g. `product:relatedProducts:product`) to the Vendure custom field `name`.
|
|
165
|
+
*/
|
|
166
|
+
resolveCustomFieldImportFieldName(prefix, fullColumnKey) {
|
|
167
|
+
if (!fullColumnKey.startsWith(`${prefix}:`)) {
|
|
168
|
+
return undefined;
|
|
169
|
+
}
|
|
170
|
+
const rest = fullColumnKey.slice(prefix.length + 1);
|
|
171
|
+
const configs = prefix === 'product'
|
|
172
|
+
? this.configService.customFields.Product
|
|
173
|
+
: this.configService.customFields.ProductVariant;
|
|
174
|
+
const exact = configs.find((c) => c.name === rest);
|
|
175
|
+
if (exact) {
|
|
176
|
+
return exact.name;
|
|
177
|
+
}
|
|
178
|
+
const colonIdx = rest.indexOf(':');
|
|
179
|
+
if (colonIdx === -1) {
|
|
180
|
+
return undefined;
|
|
181
|
+
}
|
|
182
|
+
const name = rest.slice(0, colonIdx);
|
|
183
|
+
const suffix = rest.slice(colonIdx + 1);
|
|
184
|
+
const field = configs.find((c) => c.name === name);
|
|
185
|
+
if (!field) {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
if (field.type === 'relation') {
|
|
189
|
+
const relationField = field;
|
|
190
|
+
if (suffix === relationField.entity.name.toLowerCase()) {
|
|
191
|
+
return field.name;
|
|
192
|
+
}
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
if (suffix === field.type) {
|
|
196
|
+
return field.name;
|
|
197
|
+
}
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
162
200
|
validateCustomFields(rowKeys) {
|
|
163
201
|
const errors = [];
|
|
164
202
|
for (const rowKey of rowKeys) {
|
|
@@ -167,19 +205,9 @@ let ImportParser = class ImportParser {
|
|
|
167
205
|
if (parts.length === 1) {
|
|
168
206
|
continue;
|
|
169
207
|
}
|
|
170
|
-
if (parts
|
|
171
|
-
|
|
172
|
-
if (
|
|
173
|
-
customFieldConfigs = this.configService.customFields.Product;
|
|
174
|
-
}
|
|
175
|
-
else if (parts[0] === 'variant') {
|
|
176
|
-
customFieldConfigs = this.configService.customFields.ProductVariant;
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
continue;
|
|
180
|
-
}
|
|
181
|
-
const customFieldConfig = customFieldConfigs.find((config) => config.name === parts[1]);
|
|
182
|
-
if (customFieldConfig) {
|
|
208
|
+
if (parts[0] === 'product' || parts[0] === 'variant') {
|
|
209
|
+
const resolved = this.resolveCustomFieldImportFieldName(parts[0], baseKey);
|
|
210
|
+
if (resolved) {
|
|
183
211
|
continue;
|
|
184
212
|
}
|
|
185
213
|
}
|
|
@@ -187,6 +215,22 @@ let ImportParser = class ImportParser {
|
|
|
187
215
|
}
|
|
188
216
|
return errors;
|
|
189
217
|
}
|
|
218
|
+
parseCustomFieldsFromRow(prefix, r) {
|
|
219
|
+
return Object.entries(r)
|
|
220
|
+
.filter(([key]) => {
|
|
221
|
+
return key.indexOf(`${prefix}:`) === 0;
|
|
222
|
+
})
|
|
223
|
+
.reduce((output, [key, value]) => {
|
|
224
|
+
const fieldName = this.resolveCustomFieldImportFieldName(prefix, key);
|
|
225
|
+
if (!fieldName) {
|
|
226
|
+
return output;
|
|
227
|
+
}
|
|
228
|
+
return {
|
|
229
|
+
...output,
|
|
230
|
+
[fieldName]: isRelationObject(value) ? JSON.parse(value) : value,
|
|
231
|
+
};
|
|
232
|
+
}, {});
|
|
233
|
+
}
|
|
190
234
|
isTranslatable(baseKey) {
|
|
191
235
|
const parts = baseKey.split(':');
|
|
192
236
|
if (parts.length === 1) {
|
|
@@ -201,15 +245,21 @@ let ImportParser = class ImportParser {
|
|
|
201
245
|
customFieldConfigs = this.configService.customFields.ProductVariant;
|
|
202
246
|
}
|
|
203
247
|
else {
|
|
204
|
-
throw new
|
|
248
|
+
throw new core_2.InternalServerError(`Invalid column header '${baseKey}'`);
|
|
205
249
|
}
|
|
206
250
|
const customFieldConfig = customFieldConfigs.find((config) => config.name === parts[1]);
|
|
207
251
|
if (!customFieldConfig) {
|
|
208
|
-
throw new
|
|
252
|
+
throw new core_2.InternalServerError(`Could not find custom field config for column header '${baseKey}'`);
|
|
209
253
|
}
|
|
210
254
|
return customFieldConfig.type === 'localeString';
|
|
211
255
|
}
|
|
212
|
-
|
|
256
|
+
if (parts.length === 3 && (parts[0] === 'product' || parts[0] === 'variant')) {
|
|
257
|
+
const owner = parts[0];
|
|
258
|
+
if (this.resolveCustomFieldImportFieldName(owner, baseKey)) {
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
throw new core_2.InternalServerError(`Invalid column header '${baseKey}'`);
|
|
213
263
|
}
|
|
214
264
|
validateHeaderTranslations(rowKeys) {
|
|
215
265
|
const missing = [];
|
|
@@ -290,8 +340,8 @@ let ImportParser = class ImportParser {
|
|
|
290
340
|
}
|
|
291
341
|
const translations = translationCodes.map(async (languageCode) => {
|
|
292
342
|
const translatedFields = getRawTranslatedFields(r, languageCode);
|
|
293
|
-
const parsedTranslatedCustomFields =
|
|
294
|
-
const parsedUntranslatedCustomFields =
|
|
343
|
+
const parsedTranslatedCustomFields = this.parseCustomFieldsFromRow('product', translatedFields);
|
|
344
|
+
const parsedUntranslatedCustomFields = this.parseCustomFieldsFromRow('product', getRawUntranslatedFields(r));
|
|
295
345
|
const parsedCustomFields = {
|
|
296
346
|
...parsedUntranslatedCustomFields,
|
|
297
347
|
...parsedTranslatedCustomFields,
|
|
@@ -307,7 +357,7 @@ let ImportParser = class ImportParser {
|
|
|
307
357
|
slug = parseString(r.slug);
|
|
308
358
|
}
|
|
309
359
|
if (slug.length === 0) {
|
|
310
|
-
slug = await this.slugStrategy.generate(new
|
|
360
|
+
slug = await this.slugStrategy.generate(new core_2.RequestContext({
|
|
311
361
|
apiType: 'admin',
|
|
312
362
|
isAuthorized: true,
|
|
313
363
|
authorizedAsOwnerOnly: false,
|
|
@@ -366,8 +416,8 @@ let ImportParser = class ImportParser {
|
|
|
366
416
|
: r.optionValues;
|
|
367
417
|
const translatedOptionValues = parseStringArray(rawTranslOptionValues);
|
|
368
418
|
const translatedFields = getRawTranslatedFields(r, languageCode);
|
|
369
|
-
const parsedTranslatedCustomFields =
|
|
370
|
-
const parsedUntranslatedCustomFields =
|
|
419
|
+
const parsedTranslatedCustomFields = this.parseCustomFieldsFromRow('variant', translatedFields);
|
|
420
|
+
const parsedUntranslatedCustomFields = this.parseCustomFieldsFromRow('variant', getRawUntranslatedFields(r));
|
|
371
421
|
const parsedCustomFields = {
|
|
372
422
|
...parsedUntranslatedCustomFields,
|
|
373
423
|
...parsedTranslatedCustomFields,
|
|
@@ -411,7 +461,7 @@ function populateOptionGroupValues(currentRow) {
|
|
|
411
461
|
const values = currentRow.variants.map((variant) => {
|
|
412
462
|
const variantTranslation = variant.translations.find((t) => t.languageCode === translation.languageCode);
|
|
413
463
|
if (!variantTranslation) {
|
|
414
|
-
throw new
|
|
464
|
+
throw new core_2.InternalServerError(`No translation '${translation.languageCode}' for variant SKU '${variant.sku}'`);
|
|
415
465
|
}
|
|
416
466
|
return variantTranslation.optionValues;
|
|
417
467
|
});
|
|
@@ -551,19 +601,6 @@ function isRelationObject(value) {
|
|
|
551
601
|
return false;
|
|
552
602
|
}
|
|
553
603
|
}
|
|
554
|
-
function parseCustomFields(prefix, r) {
|
|
555
|
-
return Object.entries(r)
|
|
556
|
-
.filter(([key, value]) => {
|
|
557
|
-
return key.indexOf(`${prefix}:`) === 0;
|
|
558
|
-
})
|
|
559
|
-
.reduce((output, [key, value]) => {
|
|
560
|
-
const fieldName = key.replace(`${prefix}:`, '');
|
|
561
|
-
return {
|
|
562
|
-
...output,
|
|
563
|
-
[fieldName]: isRelationObject(value) ? JSON.parse(value) : value,
|
|
564
|
-
};
|
|
565
|
-
}, {});
|
|
566
|
-
}
|
|
567
604
|
function parseString(input) {
|
|
568
605
|
return (input || '').trim();
|
|
569
606
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-parser.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/import-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import-parser.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/import-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ConfigService, ChannelService, FacetService, FacetValueService, TaxCategoryService, ID, ImportProgress, LanguageCode,
|
|
1
|
+
import { ConfigService, ChannelService, FacetService, FacetValueService, TaxCategoryService, ID, ImportProgress, LanguageCode, OnProgressFn, ParsedFacet, ProductService, TransactionalConnection, TranslatableSaver, AssetService, ProductOptionGroupService } from '@vendure/core';
|
|
2
|
+
import { RequestContext, Product, Asset } from '@vendure/core';
|
|
2
3
|
import { Stream } from 'stream';
|
|
3
4
|
import { Observable } from 'rxjs';
|
|
4
5
|
import { ExtendedFastImporterService } from '../../services/extended-fast-importer.service';
|
|
@@ -37,6 +38,14 @@ export declare class ProductImporter {
|
|
|
37
38
|
private doParseAndImport;
|
|
38
39
|
private getRequestContext;
|
|
39
40
|
importProducts(ctx: RequestContext, rows: ParsedProductWithId[], updatingStrategy: UpdatingStrategy, onProgress: OnProgressFn): Promise<string[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Normalizes CSV-style JSON (single quotes, spacing) before JSON.parse, consistent with other custom-field parsing in this importer.
|
|
43
|
+
*/
|
|
44
|
+
private normalizeCustomFieldJsonInput;
|
|
45
|
+
/**
|
|
46
|
+
* Coerces raw JSON object properties to the scalar types declared on a struct custom field.
|
|
47
|
+
*/
|
|
48
|
+
private coerceStructRow;
|
|
40
49
|
private processCustomFieldValues;
|
|
41
50
|
/**
|
|
42
51
|
* Attempts to match a TaxCategory entity against the name supplied in the import table. If no matches
|
|
@@ -17,7 +17,9 @@ exports.ProductImporter = void 0;
|
|
|
17
17
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
18
18
|
const common_1 = require("@nestjs/common");
|
|
19
19
|
const core_1 = require("@vendure/core");
|
|
20
|
+
const core_2 = require("@vendure/core");
|
|
20
21
|
const rxjs_1 = require("rxjs");
|
|
22
|
+
const shared_utils_1 = require("@vendure/common/lib/shared-utils");
|
|
21
23
|
const generated_types_1 = require("@vendure/common/lib/generated-types");
|
|
22
24
|
const extended_fast_importer_service_1 = require("../../services/extended-fast-importer.service");
|
|
23
25
|
const lodash_1 = require("lodash");
|
|
@@ -174,7 +176,7 @@ let ProductImporter = class ProductImporter {
|
|
|
174
176
|
const hash = (0, generate_asset_hash_1.generateAssetHash)(asset);
|
|
175
177
|
if (asset.customFields.hash !== hash) {
|
|
176
178
|
asset.customFields.hash = hash;
|
|
177
|
-
await this.connection.getRepository(ctx,
|
|
179
|
+
await this.connection.getRepository(ctx, core_2.Asset).save(asset);
|
|
178
180
|
}
|
|
179
181
|
}
|
|
180
182
|
this.allAssets = assets;
|
|
@@ -217,7 +219,7 @@ let ProductImporter = class ProductImporter {
|
|
|
217
219
|
};
|
|
218
220
|
}
|
|
219
221
|
catch (err) {
|
|
220
|
-
|
|
222
|
+
core_2.Logger.error('Error while importing products:', 'ProductImporter', err?.stack);
|
|
221
223
|
return {
|
|
222
224
|
errors: [err.message],
|
|
223
225
|
imported: 0,
|
|
@@ -234,8 +236,8 @@ let ProductImporter = class ProductImporter {
|
|
|
234
236
|
}
|
|
235
237
|
}
|
|
236
238
|
async getRequestContext(ctx, mainLanguage) {
|
|
237
|
-
if (ctx instanceof
|
|
238
|
-
return new
|
|
239
|
+
if (ctx instanceof core_2.RequestContext) {
|
|
240
|
+
return new core_2.RequestContext({
|
|
239
241
|
apiType: 'admin',
|
|
240
242
|
isAuthorized: true,
|
|
241
243
|
authorizedAsOwnerOnly: false,
|
|
@@ -244,7 +246,7 @@ let ProductImporter = class ProductImporter {
|
|
|
244
246
|
});
|
|
245
247
|
}
|
|
246
248
|
else {
|
|
247
|
-
throw new
|
|
249
|
+
throw new core_2.InternalServerError('No RequestContext provided');
|
|
248
250
|
}
|
|
249
251
|
}
|
|
250
252
|
async importProducts(ctx, rows, updatingStrategy, onProgress) {
|
|
@@ -290,7 +292,7 @@ let ProductImporter = class ProductImporter {
|
|
|
290
292
|
}
|
|
291
293
|
if (!checkExistingProduct) {
|
|
292
294
|
const variantSkus = variants.map((v) => v.sku);
|
|
293
|
-
const foundVariants = await this.connection.getRepository(ctx,
|
|
295
|
+
const foundVariants = await this.connection.getRepository(ctx, core_2.ProductVariant).findBy({
|
|
294
296
|
sku: (0, typeorm_1.In)(variantSkus),
|
|
295
297
|
});
|
|
296
298
|
const variantsWhereDeletedAtUndefined = foundVariants.filter((v) => {
|
|
@@ -308,11 +310,11 @@ let ProductImporter = class ProductImporter {
|
|
|
308
310
|
if (shouldRestore) {
|
|
309
311
|
existingProduct.deletedAt = null;
|
|
310
312
|
try {
|
|
311
|
-
await this.connection.getRepository(ctx,
|
|
313
|
+
await this.connection.getRepository(ctx, core_2.Product).save([existingProduct]);
|
|
312
314
|
}
|
|
313
315
|
catch (error) {
|
|
314
316
|
errors.push(`Error while restoring the product: ${error}`);
|
|
315
|
-
|
|
317
|
+
core_2.Logger.error('Error while restoring the product:', 'ProductImporter', error?.stack);
|
|
316
318
|
}
|
|
317
319
|
}
|
|
318
320
|
else {
|
|
@@ -322,7 +324,7 @@ let ProductImporter = class ProductImporter {
|
|
|
322
324
|
}
|
|
323
325
|
catch (error) {
|
|
324
326
|
errors.push(`Error while restoring the product: ${error}`);
|
|
325
|
-
|
|
327
|
+
core_2.Logger.error('Error while restoring the product:', 'ProductImporter', error?.stack);
|
|
326
328
|
}
|
|
327
329
|
const existingProductName = existingProduct?.translations.find((t) => t.languageCode === languageCode)?.name;
|
|
328
330
|
const productNameHasChanged = existingProduct && existingProductName !== productMainTranslation.name
|
|
@@ -478,7 +480,7 @@ let ProductImporter = class ProductImporter {
|
|
|
478
480
|
// }
|
|
479
481
|
const variantCustomFields = await this.processCustomFieldValues(variantMainTranslation.customFields, this.configService.customFields.ProductVariant, ctx);
|
|
480
482
|
const optionIds = variantMainTranslation.optionValues.map((v, index) => optionsMap[`${index}_${v}`]);
|
|
481
|
-
let existingVariant = await this.connection.getRepository(ctx,
|
|
483
|
+
let existingVariant = await this.connection.getRepository(ctx, core_2.ProductVariant).findOne({
|
|
482
484
|
where: {
|
|
483
485
|
sku: variant.sku,
|
|
484
486
|
deletedAt: shouldRestore ? undefined : (0, typeorm_1.IsNull)(),
|
|
@@ -491,11 +493,11 @@ let ProductImporter = class ProductImporter {
|
|
|
491
493
|
if (shouldRestore) {
|
|
492
494
|
existingVariant.deletedAt = null;
|
|
493
495
|
try {
|
|
494
|
-
await this.connection.getRepository(ctx,
|
|
496
|
+
await this.connection.getRepository(ctx, core_2.ProductVariant).save([existingVariant]);
|
|
495
497
|
}
|
|
496
498
|
catch (error) {
|
|
497
499
|
errors.push(`Error while restoring the variant: ${error}`);
|
|
498
|
-
|
|
500
|
+
core_2.Logger.error('Error while restoring the variant:', 'ProductImporter', error?.stack);
|
|
499
501
|
}
|
|
500
502
|
}
|
|
501
503
|
else {
|
|
@@ -529,7 +531,7 @@ let ProductImporter = class ProductImporter {
|
|
|
529
531
|
translations: await Promise.all(variant.translations.map(async (translation) => {
|
|
530
532
|
const productTranslation = product.translations.find((t) => t.languageCode === translation.languageCode);
|
|
531
533
|
if (!productTranslation) {
|
|
532
|
-
throw new
|
|
534
|
+
throw new core_2.InternalServerError(`No translation '${translation.languageCode}' for product with slug '${productMainTranslation.slug}'`);
|
|
533
535
|
}
|
|
534
536
|
return {
|
|
535
537
|
languageCode: translation.languageCode,
|
|
@@ -569,7 +571,7 @@ let ProductImporter = class ProductImporter {
|
|
|
569
571
|
.digest('hex');
|
|
570
572
|
// Update product updatedAt to existing product updatedAt
|
|
571
573
|
if (existingProductHash === productAfterUpdateHash) {
|
|
572
|
-
await this.connection.getRepository(ctx,
|
|
574
|
+
await this.connection.getRepository(ctx, core_2.Product).update(productAfterUpdate.id, {
|
|
573
575
|
updatedAt: existingProduct.updatedAt,
|
|
574
576
|
});
|
|
575
577
|
}
|
|
@@ -657,6 +659,54 @@ let ProductImporter = class ProductImporter {
|
|
|
657
659
|
// }
|
|
658
660
|
// return facetValueIds
|
|
659
661
|
// }
|
|
662
|
+
/**
|
|
663
|
+
* Normalizes CSV-style JSON (single quotes, spacing) before JSON.parse, consistent with other custom-field parsing in this importer.
|
|
664
|
+
*/
|
|
665
|
+
normalizeCustomFieldJsonInput(raw) {
|
|
666
|
+
return raw.replace(/'/g, '"').replace(/\s+/g, ' ').replace(/,\s*'/g, ", '");
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* Coerces raw JSON object properties to the scalar types declared on a struct custom field.
|
|
670
|
+
*/
|
|
671
|
+
coerceStructRow(structDef, parsed, parseBooleanFn) {
|
|
672
|
+
const out = {};
|
|
673
|
+
for (const subField of structDef.fields) {
|
|
674
|
+
if (!Object.prototype.hasOwnProperty.call(parsed, subField.name)) {
|
|
675
|
+
continue;
|
|
676
|
+
}
|
|
677
|
+
const raw = parsed[subField.name];
|
|
678
|
+
if (raw === null || raw === undefined) {
|
|
679
|
+
continue;
|
|
680
|
+
}
|
|
681
|
+
switch (subField.type) {
|
|
682
|
+
case 'string':
|
|
683
|
+
case 'text':
|
|
684
|
+
out[subField.name] = String(raw);
|
|
685
|
+
break;
|
|
686
|
+
case 'int': {
|
|
687
|
+
const n = typeof raw === 'number' ? raw : parseInt(String(raw), 10);
|
|
688
|
+
if (!Number.isNaN(n)) {
|
|
689
|
+
out[subField.name] = n;
|
|
690
|
+
}
|
|
691
|
+
break;
|
|
692
|
+
}
|
|
693
|
+
case 'float': {
|
|
694
|
+
const n = typeof raw === 'number' ? raw : parseFloat(String(raw));
|
|
695
|
+
if (!Number.isNaN(n)) {
|
|
696
|
+
out[subField.name] = n;
|
|
697
|
+
}
|
|
698
|
+
break;
|
|
699
|
+
}
|
|
700
|
+
case 'boolean':
|
|
701
|
+
out[subField.name] = typeof raw === 'boolean' ? raw : parseBooleanFn(String(raw));
|
|
702
|
+
break;
|
|
703
|
+
case 'datetime':
|
|
704
|
+
out[subField.name] = String(raw);
|
|
705
|
+
break;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
return out;
|
|
709
|
+
}
|
|
660
710
|
async processCustomFieldValues(customFields, config, ctx) {
|
|
661
711
|
function parseBoolean(input) {
|
|
662
712
|
if (input == null) {
|
|
@@ -676,7 +726,7 @@ let ProductImporter = class ProductImporter {
|
|
|
676
726
|
let foundCustomFieldType = (0, lodash_1.find)(this.customFieldTypes, (_type, key) => key.split(':')[1] === fieldDef.name);
|
|
677
727
|
if (!foundCustomFieldType) {
|
|
678
728
|
// Check if the custom field is an asset
|
|
679
|
-
if (fieldDef.entity ===
|
|
729
|
+
if (fieldDef.entity === core_2.Asset) {
|
|
680
730
|
foundCustomFieldType = 'asset';
|
|
681
731
|
}
|
|
682
732
|
}
|
|
@@ -684,39 +734,85 @@ let ProductImporter = class ProductImporter {
|
|
|
684
734
|
if (!value || value === '') {
|
|
685
735
|
continue;
|
|
686
736
|
}
|
|
687
|
-
if (fieldDef.
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
737
|
+
if (fieldDef.type === 'struct') {
|
|
738
|
+
const structDef = fieldDef;
|
|
739
|
+
try {
|
|
740
|
+
if (fieldDef.list === true) {
|
|
741
|
+
const trimmed = value.trim();
|
|
742
|
+
if (trimmed.startsWith('[')) {
|
|
743
|
+
const parsedList = JSON.parse(this.normalizeCustomFieldJsonInput(trimmed));
|
|
744
|
+
if (!Array.isArray(parsedList)) {
|
|
745
|
+
throw new Error('Struct list must be a JSON array');
|
|
746
|
+
}
|
|
747
|
+
processed[fieldDef.name] = parsedList.map((item, index) => {
|
|
748
|
+
if (item === null || typeof item !== 'object' || Array.isArray(item)) {
|
|
749
|
+
throw new Error(`Invalid struct element at index ${index}`);
|
|
750
|
+
}
|
|
751
|
+
return this.coerceStructRow(structDef, item, parseBoolean);
|
|
752
|
+
});
|
|
753
|
+
}
|
|
754
|
+
else {
|
|
755
|
+
processed[fieldDef.name] = value
|
|
756
|
+
.split('|')
|
|
757
|
+
.map((part) => part.trim())
|
|
758
|
+
.filter((part) => part !== '')
|
|
759
|
+
.map((part) => {
|
|
760
|
+
const obj = JSON.parse(this.normalizeCustomFieldJsonInput(part));
|
|
761
|
+
if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
762
|
+
throw new Error('Each pipe segment must be a JSON object');
|
|
763
|
+
}
|
|
764
|
+
return this.coerceStructRow(structDef, obj, parseBoolean);
|
|
765
|
+
});
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
else {
|
|
769
|
+
const obj = JSON.parse(this.normalizeCustomFieldJsonInput(value.trim()));
|
|
770
|
+
if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
771
|
+
throw new Error('Struct must be a JSON object');
|
|
772
|
+
}
|
|
773
|
+
processed[fieldDef.name] = this.coerceStructRow(structDef, obj, parseBoolean);
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
catch (e) {
|
|
777
|
+
const message = e instanceof Error ? e.message : String(e);
|
|
778
|
+
core_2.Logger.warn(`Skipping custom field "${fieldDef.name}" (struct): ${message}`, 'ProductImporter');
|
|
779
|
+
}
|
|
780
|
+
continue;
|
|
692
781
|
}
|
|
693
|
-
|
|
694
|
-
|
|
782
|
+
if (fieldDef.type === 'relation') {
|
|
783
|
+
const inputKey = (0, shared_utils_1.getGraphQlInputName)(fieldDef);
|
|
784
|
+
const relDef = fieldDef;
|
|
785
|
+
if (relDef.entity === core_2.Asset) {
|
|
695
786
|
if ((0, lodash_1.startsWith)(value, '{') || (0, lodash_1.startsWith)(value, '[')) {
|
|
696
787
|
if (typeof value === 'string') {
|
|
697
788
|
const assetValue = JSON.parse(value.replace(/'/g, '"').replace(/\s+/g, ' ').replace(/,\s*'/g, ", '"));
|
|
698
789
|
if (Array.isArray(assetValue)) {
|
|
790
|
+
const createdIds = [];
|
|
699
791
|
for (const asset of assetValue) {
|
|
700
792
|
if (asset.url.startsWith('http://') || asset.url.startsWith('https://')) {
|
|
701
793
|
const createdAssets = await this.assetImporter.getAssets([asset], ctx);
|
|
702
|
-
|
|
794
|
+
const newId = createdAssets.assets[0]?.id;
|
|
795
|
+
if (newId) {
|
|
796
|
+
createdIds.push(newId);
|
|
797
|
+
}
|
|
703
798
|
}
|
|
704
799
|
const foundAsset = this.allAssets.find((a) => a.id === asset.id);
|
|
705
800
|
if (foundAsset && foundAsset.name !== asset.name) {
|
|
706
|
-
await this.connection.getRepository(ctx,
|
|
801
|
+
await this.connection.getRepository(ctx, core_2.Asset).update(foundAsset.id, {
|
|
707
802
|
name: asset.name,
|
|
708
803
|
});
|
|
709
804
|
}
|
|
710
805
|
}
|
|
806
|
+
processed[inputKey] = fieldDef.list ? createdIds : createdIds[0];
|
|
711
807
|
}
|
|
712
808
|
else {
|
|
713
809
|
if (assetValue.url.startsWith('http://') || assetValue.url.startsWith('https://')) {
|
|
714
810
|
const createdAssets = await this.assetImporter.getAssets([assetValue], ctx);
|
|
715
|
-
processed[
|
|
811
|
+
processed[inputKey] = createdAssets.assets[0]?.id;
|
|
716
812
|
}
|
|
717
813
|
const foundAsset = this.allAssets.find((a) => a.id === assetValue.id);
|
|
718
814
|
if (foundAsset && foundAsset.name !== assetValue.name) {
|
|
719
|
-
await this.connection.getRepository(ctx,
|
|
815
|
+
await this.connection.getRepository(ctx, core_2.Asset).update(foundAsset.id, {
|
|
720
816
|
name: assetValue.name,
|
|
721
817
|
});
|
|
722
818
|
}
|
|
@@ -726,13 +822,27 @@ let ProductImporter = class ProductImporter {
|
|
|
726
822
|
else {
|
|
727
823
|
if (value.startsWith('http://') || value.startsWith('https://')) {
|
|
728
824
|
const createdAssets = await this.assetImporter.getAssets([{ url: value }], ctx);
|
|
729
|
-
processed[
|
|
825
|
+
processed[inputKey] = createdAssets.assets[0]?.id;
|
|
730
826
|
}
|
|
731
827
|
}
|
|
828
|
+
continue;
|
|
829
|
+
}
|
|
830
|
+
if (fieldDef.list === true) {
|
|
831
|
+
processed[inputKey] = value
|
|
832
|
+
.split('|')
|
|
833
|
+
.map((val) => val.trim())
|
|
834
|
+
.filter((val) => val !== '');
|
|
732
835
|
}
|
|
733
836
|
else {
|
|
734
|
-
processed[
|
|
837
|
+
processed[inputKey] = value.trim();
|
|
735
838
|
}
|
|
839
|
+
continue;
|
|
840
|
+
}
|
|
841
|
+
if (fieldDef.list === true) {
|
|
842
|
+
processed[fieldDef.name] = value?.split('|').filter((val) => val.trim() !== '');
|
|
843
|
+
}
|
|
844
|
+
else if (fieldDef.type === 'boolean') {
|
|
845
|
+
processed[fieldDef.name] = parseBoolean(value);
|
|
736
846
|
}
|
|
737
847
|
else {
|
|
738
848
|
if ((0, lodash_1.startsWith)(value, '{') || (0, lodash_1.startsWith)(value, '[')) {
|
|
@@ -765,7 +875,7 @@ let ProductImporter = class ProductImporter {
|
|
|
765
875
|
const found = taxCategories.find((tc) => !!tc.name.match(regex));
|
|
766
876
|
const match = found ? found : taxCategories[0];
|
|
767
877
|
if (!match) {
|
|
768
|
-
throw new
|
|
878
|
+
throw new core_2.InternalServerError(`No TaxCategory found for name '${name}'`);
|
|
769
879
|
}
|
|
770
880
|
this.taxCategoryMatches[name] = match.id;
|
|
771
881
|
return match.id;
|
|
@@ -805,7 +915,7 @@ let ProductImporter = class ProductImporter {
|
|
|
805
915
|
if (!id) {
|
|
806
916
|
return undefined;
|
|
807
917
|
}
|
|
808
|
-
const product = (await this.connection.getRepository(ctx,
|
|
918
|
+
const product = (await this.connection.getRepository(ctx, core_2.Product).findOne({
|
|
809
919
|
where: { id },
|
|
810
920
|
withDeleted,
|
|
811
921
|
relations: ['featuredAsset'],
|
|
@@ -813,17 +923,17 @@ let ProductImporter = class ProductImporter {
|
|
|
813
923
|
if (product) {
|
|
814
924
|
const [facetValues, optionGroups, variants, assets, featuredAsset] = await Promise.all([
|
|
815
925
|
this.connection
|
|
816
|
-
.getRepository(ctx,
|
|
926
|
+
.getRepository(ctx, core_2.FacetValue)
|
|
817
927
|
.find({ where: { products: { id: product.id } }, relations: ['facet'] }),
|
|
818
928
|
this.connection
|
|
819
|
-
.getRepository(ctx,
|
|
929
|
+
.getRepository(ctx, core_2.ProductOptionGroup)
|
|
820
930
|
.find({ where: { product: { id: product.id } }, relations: ['options'] }),
|
|
821
931
|
this.connection
|
|
822
|
-
.getRepository(ctx,
|
|
932
|
+
.getRepository(ctx, core_2.ProductVariant)
|
|
823
933
|
.find({ where: { product: { id: product.id } }, relations: ['facetValues'] }),
|
|
824
|
-
this.connection.getRepository(ctx,
|
|
934
|
+
this.connection.getRepository(ctx, core_2.ProductAsset).find({ where: { productId: product.id } }),
|
|
825
935
|
this.connection
|
|
826
|
-
.getRepository(ctx,
|
|
936
|
+
.getRepository(ctx, core_2.Asset)
|
|
827
937
|
.findOne({ where: { id: product.featuredAsset?.id } }),
|
|
828
938
|
]);
|
|
829
939
|
product.facetValues = facetValues;
|