@haus-tech/product-import-export-plugin 3.3.2-next.0 → 3.3.2-next.2

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 (53) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.mdx +36 -8
  3. package/package.json +1 -1
  4. package/src/api/product-export.controller.d.ts +1 -0
  5. package/src/api/product-export.controller.js +16 -0
  6. package/src/api/product-export.controller.js.map +1 -1
  7. package/src/api/product-import.controller.js +2 -2
  8. package/src/api/product-import.controller.js.map +1 -1
  9. package/src/constants.d.ts +1 -0
  10. package/src/constants.js +2 -1
  11. package/src/constants.js.map +1 -1
  12. package/src/dashboard/export-dialog.tsx +21 -7
  13. package/src/dashboard/import.tsx +6 -3
  14. package/src/dashboard/utils.ts +0 -1
  15. package/src/email-templates/product-export-complete/body.hbs +12 -0
  16. package/src/email.d.ts +15 -4
  17. package/src/email.js +108 -1
  18. package/src/email.js.map +1 -1
  19. package/src/index.d.ts +3 -0
  20. package/src/index.js +3 -0
  21. package/src/index.js.map +1 -1
  22. package/src/product-import-export.plugin.js +26 -1
  23. package/src/product-import-export.plugin.js.map +1 -1
  24. package/src/providers/import-providers/import-parser.d.ts +7 -5
  25. package/src/providers/import-providers/import-parser.js +53 -15
  26. package/src/providers/import-providers/import-parser.js.map +1 -1
  27. package/src/providers/import-providers/product-importer.d.ts +1 -0
  28. package/src/providers/import-providers/product-importer.js +120 -74
  29. package/src/providers/import-providers/product-importer.js.map +1 -1
  30. package/src/services/extended-fast-importer.service.d.ts +5 -3
  31. package/src/services/extended-fast-importer.service.js +20 -6
  32. package/src/services/extended-fast-importer.service.js.map +1 -1
  33. package/src/services/import-storage/import-job-storage-strategy.d.ts +22 -0
  34. package/src/services/import-storage/import-job-storage-strategy.js +3 -0
  35. package/src/services/import-storage/import-job-storage-strategy.js.map +1 -0
  36. package/src/services/import-storage/local-import-job-storage-strategy.d.ts +18 -0
  37. package/src/services/import-storage/local-import-job-storage-strategy.js +76 -0
  38. package/src/services/import-storage/local-import-job-storage-strategy.js.map +1 -0
  39. package/src/services/import-storage/s3-import-job-storage-strategy.d.ts +13 -0
  40. package/src/services/import-storage/s3-import-job-storage-strategy.js +109 -0
  41. package/src/services/import-storage/s3-import-job-storage-strategy.js.map +1 -0
  42. package/src/services/product-export.service.d.ts +1 -0
  43. package/src/services/product-export.service.js +24 -3
  44. package/src/services/product-export.service.js.map +1 -1
  45. package/src/services/product-import.service.d.ts +10 -6
  46. package/src/services/product-import.service.js +62 -37
  47. package/src/services/product-import.service.js.map +1 -1
  48. package/src/types.d.ts +21 -1
  49. package/src/ui/components/export-dialog.component.html +1 -1
  50. package/src/ui/components/export-dialog.component.ts +10 -2
  51. package/src/ui/components/product-import.component.html +6 -8
  52. package/src/ui/translations/en.json +1 -1
  53. package/src/ui/translations/sv.json +1 -1
@@ -47,13 +47,14 @@ export interface ParsedAsset {
47
47
  export interface ParsedProductVariant {
48
48
  sku: string;
49
49
  price: number | undefined;
50
- taxCategory: string;
51
- stockOnHand: number;
52
- trackInventory: GlobalFlag;
50
+ taxCategory?: string;
51
+ stockOnHand?: number;
52
+ trackInventory?: GlobalFlag;
53
53
  assetPaths: string[];
54
54
  assetsJson?: ParsedAsset[];
55
55
  facets: ParsedFacet[];
56
- enabled: boolean;
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: string;
84
+ description?: string;
83
85
  customFields: {
84
86
  [name: string]: string;
85
87
  };
@@ -136,8 +136,14 @@ let ImportParser = class ImportParser {
136
136
  const r = mapRowToObject(headerRow, record);
137
137
  if (getRawMainTranslation(r, 'name', mainLanguage)) {
138
138
  if (currentRow) {
139
- populateOptionGroupValues(currentRow);
140
- results.push(currentRow);
139
+ const multiVariantOptionsError = validateMultiVariantOptionRequirements(currentRow);
140
+ if (multiVariantOptionsError) {
141
+ errors.push(multiVariantOptionsError + ` on line ${line - 1}`);
142
+ }
143
+ else {
144
+ populateOptionGroupValues(currentRow);
145
+ results.push(currentRow);
146
+ }
141
147
  }
142
148
  currentRow = {
143
149
  product: await this.parseProductFromRecord(r, usedLanguages, mainLanguage),
@@ -155,8 +161,14 @@ let ImportParser = class ImportParser {
155
161
  }
156
162
  }
157
163
  if (currentRow) {
158
- populateOptionGroupValues(currentRow);
159
- results.push(currentRow);
164
+ const multiVariantOptionsError = validateMultiVariantOptionRequirements(currentRow);
165
+ if (multiVariantOptionsError) {
166
+ errors.push(multiVariantOptionsError + ` on line ${line}`);
167
+ }
168
+ else {
169
+ populateOptionGroupValues(currentRow);
170
+ results.push(currentRow);
171
+ }
160
172
  }
161
173
  return { results, errors, processed: totalProducts };
162
174
  }
@@ -294,6 +306,7 @@ let ImportParser = class ImportParser {
294
306
  async parseProductFromRecord(r, usedLanguages, mainLanguage) {
295
307
  const translationCodes = usedLanguages.length === 0 ? [mainLanguage] : usedLanguages;
296
308
  const optionGroups = [];
309
+ let optionGroupsProvided = false;
297
310
  for (const languageCode of translationCodes) {
298
311
  const rawTranslOptionGroups = r.hasOwnProperty(`optionGroups:${languageCode}`)
299
312
  ? r[`optionGroups:${languageCode}`]
@@ -301,6 +314,7 @@ let ImportParser = class ImportParser {
301
314
  if (!rawTranslOptionGroups) {
302
315
  continue;
303
316
  }
317
+ optionGroupsProvided = true;
304
318
  const translatedOptionGroups = parseStringArray(rawTranslOptionGroups);
305
319
  if (optionGroups.length === 0) {
306
320
  for (const translatedOptionGroup of translatedOptionGroups) {
@@ -365,13 +379,16 @@ let ImportParser = class ImportParser {
365
379
  languageCode: languageCode,
366
380
  }), { value: name, entityName: 'Product', fieldName: 'slug' });
367
381
  }
382
+ const hasDescriptionColumn = translatedFields.hasOwnProperty('description') || r.hasOwnProperty('description');
368
383
  return {
369
384
  languageCode,
370
385
  name,
371
386
  slug,
372
- description: translatedFields.hasOwnProperty('description')
373
- ? parseString(translatedFields.description)
374
- : r.description,
387
+ description: hasDescriptionColumn
388
+ ? translatedFields.hasOwnProperty('description')
389
+ ? parseString(translatedFields.description)
390
+ : parseString(r.description)
391
+ : undefined,
375
392
  customFields: parsedCustomFields,
376
393
  };
377
394
  });
@@ -380,6 +397,7 @@ let ImportParser = class ImportParser {
380
397
  assetPaths: jsonAssets.length ? jsonAssets.map(({ url }) => url) : parseStringArray(r.assets),
381
398
  assetsJson: jsonAssets,
382
399
  optionGroups,
400
+ optionGroupsProvided,
383
401
  facets,
384
402
  translations: await Promise.all(translations),
385
403
  };
@@ -387,6 +405,7 @@ let ImportParser = class ImportParser {
387
405
  }
388
406
  async parseVariantFromRecord(r, usedLanguages, mainLanguage) {
389
407
  const translationCodes = usedLanguages.length === 0 ? [mainLanguage] : usedLanguages;
408
+ const optionValuesProvided = r.hasOwnProperty('optionValues') || r.hasOwnProperty(`optionValues:${mainLanguage}`);
390
409
  const facets = [];
391
410
  for (const languageCode of translationCodes) {
392
411
  const rawTranslatedFacets = r.hasOwnProperty(`variantFacets:${languageCode}`)
@@ -429,23 +448,31 @@ let ImportParser = class ImportParser {
429
448
  };
430
449
  });
431
450
  const jsonAssets = parseAssetsIfJson(r.variantAssets);
432
- const variantIsEnabled = r.enabled == null || r.enabled === '' ? true : parseBoolean(r.enabled);
451
+ const hasEnabledColumn = r.enabled != null;
452
+ const variantIsEnabled = hasEnabledColumn
453
+ ? r.enabled === ''
454
+ ? undefined
455
+ : parseBoolean(r.enabled)
456
+ : undefined;
433
457
  const parsedVariant = {
434
458
  sku: parseString(r.sku),
435
459
  price: r.price ? parseNumber(r.price) : undefined,
436
- taxCategory: parseString(r.taxCategory),
437
- stockOnHand: parseNumber(r.stockOnHand),
460
+ taxCategory: r.hasOwnProperty('taxCategory') ? parseString(r.taxCategory) : undefined,
461
+ stockOnHand: r.hasOwnProperty('stockOnHand') ? parseNumber(r.stockOnHand) : undefined,
438
462
  enabled: variantIsEnabled,
439
- trackInventory: r.trackInventory == null || r.trackInventory === ''
440
- ? generated_types_1.GlobalFlag.INHERIT
441
- : parseBoolean(r.trackInventory)
442
- ? generated_types_1.GlobalFlag.TRUE
443
- : generated_types_1.GlobalFlag.FALSE,
463
+ trackInventory: r.trackInventory == null
464
+ ? undefined
465
+ : r.trackInventory === ''
466
+ ? undefined
467
+ : parseBoolean(r.trackInventory)
468
+ ? generated_types_1.GlobalFlag.TRUE
469
+ : generated_types_1.GlobalFlag.FALSE,
444
470
  assetPaths: jsonAssets.length
445
471
  ? jsonAssets.map(({ url }) => url)
446
472
  : parseStringArray(r.variantAssets),
447
473
  assetsJson: jsonAssets,
448
474
  facets,
475
+ optionValuesProvided,
449
476
  translations,
450
477
  };
451
478
  return parsedVariant;
@@ -563,6 +590,17 @@ function validateOptionValueCount(r, currentRow, mainLanguage) {
563
590
  }
564
591
  }
565
592
  }
593
+ function validateMultiVariantOptionRequirements(row) {
594
+ if (row.variants.length <= 1) {
595
+ return;
596
+ }
597
+ if (!row.product.optionGroupsProvided || row.product.optionGroups.length === 0) {
598
+ return 'optionGroups and optionValues are required when importing products with multiple variants';
599
+ }
600
+ if (row.variants.some((variant) => !variant.optionValuesProvided)) {
601
+ return 'optionGroups and optionValues are required when importing products with multiple variants';
602
+ }
603
+ }
566
604
  function getRawMainTranslation(r, field, mainLanguage) {
567
605
  if (r.hasOwnProperty(field)) {
568
606
  return r[field];
@@ -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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"}
@@ -49,6 +49,7 @@ export declare class ProductImporter {
49
49
  * Coerces raw JSON object properties to the scalar types declared on a struct custom field.
50
50
  */
51
51
  private coerceStructRow;
52
+ private isValidRelationIdentifier;
52
53
  private processCustomFieldValues;
53
54
  /**
54
55
  * Attempts to match a TaxCategory entity against the name supplied in the import table. If no matches
@@ -366,13 +366,16 @@ let ProductImporter = class ProductImporter {
366
366
  assetIds: productAssets.map((a) => a.id),
367
367
  facetValueIds: updatingStrategy === 'replace' ? [] : undefined,
368
368
  translations: await Promise.all(product.translations.map(async (translation) => {
369
+ const existingTranslation = existingProduct?.translations.find((t) => {
370
+ return t.languageCode === translation.languageCode;
371
+ });
369
372
  return {
370
373
  languageCode: translation.languageCode,
371
374
  name: translation.name,
372
- description: translation.description,
373
- slug: existingProduct?.translations.find((t) => {
374
- return t.languageCode === translation.languageCode;
375
- })?.slug || translation.slug,
375
+ ...(translation.description !== undefined
376
+ ? { description: translation.description }
377
+ : {}),
378
+ slug: existingTranslation?.slug || translation.slug,
376
379
  customFields: await this.processCustomFieldValues(translation.customFields, this.configService.customFields.Product, ctx),
377
380
  };
378
381
  })),
@@ -400,67 +403,70 @@ let ProductImporter = class ProductImporter {
400
403
  await this.fastImporter.addFacetValueToProduct(createdProductId, facetValueId);
401
404
  }
402
405
  const optionsMap = {};
403
- await this.fastImporter.removeOptionGroupsFromProduct(createdProductId);
404
- const productOptionsGroups = await this.optionGroupService.getOptionGroupsByProductId(ctx, createdProductId);
405
- for (const [optionGroup, optionGroupIndex] of product.optionGroups.map((group, i) => [group, i])) {
406
- const optionGroupMainTranslation = this.getTranslationByCodeOrFirst(optionGroup.translations, ctx.languageCode);
407
- const code = await this.slugStrategy.generate(ctx, {
408
- value: `${productMainTranslation.name}-${optionGroupMainTranslation.name}`,
409
- entityName: 'ProductOptionGroup',
410
- fieldName: 'code',
411
- });
412
- const previousCode = await this.slugStrategy.generate(ctx, {
413
- value: `${productNameHasChanged?.previousName}-${optionGroupMainTranslation.name}`,
414
- entityName: 'ProductOptionGroup',
415
- fieldName: 'code',
416
- });
417
- const foundOptionGroup = productOptionsGroups.find((group) => group.code === previousCode);
418
- const groupId = foundOptionGroup
419
- ? await this.fastImporter.updateProductOptionGroup({
420
- id: foundOptionGroup.id,
421
- code,
422
- options: optionGroupMainTranslation.values.map((name) => ({})),
423
- translations: optionGroup.translations
424
- .map((translation) => {
425
- return {
426
- languageCode: translation.languageCode,
427
- name: translation.name,
428
- };
429
- })
430
- .filter((t) => t.name),
431
- })
432
- : await this.fastImporter.createProductOptionGroup({
433
- code,
434
- options: optionGroupMainTranslation.values.map((name) => ({})),
435
- translations: optionGroup.translations
436
- .map((translation) => {
437
- return {
438
- languageCode: translation.languageCode,
439
- name: translation.name,
440
- };
441
- })
442
- .filter((t) => t.name),
406
+ const shouldUpdateOptions = product.optionGroupsProvided || variants.some((variant) => variant.optionValuesProvided);
407
+ if (shouldUpdateOptions) {
408
+ await this.fastImporter.removeOptionGroupsFromProduct(createdProductId);
409
+ const productOptionsGroups = await this.optionGroupService.getOptionGroupsByProductId(ctx, createdProductId);
410
+ for (const [optionGroup, optionGroupIndex] of product.optionGroups.map((group, i) => [group, i])) {
411
+ const optionGroupMainTranslation = this.getTranslationByCodeOrFirst(optionGroup.translations, ctx.languageCode);
412
+ const code = await this.slugStrategy.generate(ctx, {
413
+ value: `${productMainTranslation.name}-${optionGroupMainTranslation.name}`,
414
+ entityName: 'ProductOptionGroup',
415
+ fieldName: 'code',
443
416
  });
444
- for (const [optionIndex, value] of optionGroupMainTranslation.values.map((val, index) => [index, val])) {
445
- const createdOptionId = await this.fastImporter.createProductOption({
446
- productOptionGroupId: groupId,
447
- code: await this.slugStrategy.generate(ctx, {
448
- value,
449
- entityName: 'ProductOption',
450
- fieldName: 'code',
451
- }),
452
- translations: optionGroup.translations
453
- .map((translation) => {
454
- return {
455
- languageCode: translation.languageCode,
456
- name: translation.values[optionIndex],
457
- };
458
- })
459
- .filter((t) => t.name),
417
+ const previousCode = await this.slugStrategy.generate(ctx, {
418
+ value: `${productNameHasChanged?.previousName}-${optionGroupMainTranslation.name}`,
419
+ entityName: 'ProductOptionGroup',
420
+ fieldName: 'code',
460
421
  });
461
- optionsMap[`${optionGroupIndex}_${value}`] = createdOptionId;
422
+ const foundOptionGroup = productOptionsGroups.find((group) => group.code === previousCode);
423
+ const groupId = foundOptionGroup
424
+ ? await this.fastImporter.updateProductOptionGroup({
425
+ id: foundOptionGroup.id,
426
+ code,
427
+ options: optionGroupMainTranslation.values.map((name) => ({})),
428
+ translations: optionGroup.translations
429
+ .map((translation) => {
430
+ return {
431
+ languageCode: translation.languageCode,
432
+ name: translation.name,
433
+ };
434
+ })
435
+ .filter((t) => t.name),
436
+ })
437
+ : await this.fastImporter.createProductOptionGroup({
438
+ code,
439
+ options: optionGroupMainTranslation.values.map((name) => ({})),
440
+ translations: optionGroup.translations
441
+ .map((translation) => {
442
+ return {
443
+ languageCode: translation.languageCode,
444
+ name: translation.name,
445
+ };
446
+ })
447
+ .filter((t) => t.name),
448
+ });
449
+ for (const [optionIndex, value] of optionGroupMainTranslation.values.map((val, index) => [index, val])) {
450
+ const createdOptionId = await this.fastImporter.createProductOption({
451
+ productOptionGroupId: groupId,
452
+ code: await this.slugStrategy.generate(ctx, {
453
+ value,
454
+ entityName: 'ProductOption',
455
+ fieldName: 'code',
456
+ }),
457
+ translations: optionGroup.translations
458
+ .map((translation) => {
459
+ return {
460
+ languageCode: translation.languageCode,
461
+ name: translation.values[optionIndex],
462
+ };
463
+ })
464
+ .filter((t) => t.name),
465
+ });
466
+ optionsMap[`${optionGroupIndex}_${value}`] = createdOptionId;
467
+ }
468
+ await this.fastImporter.addOptionGroupToProduct(createdProductId, groupId);
462
469
  }
463
- await this.fastImporter.addOptionGroupToProduct(createdProductId, groupId);
464
470
  }
465
471
  for (const variant of variants) {
466
472
  const variantMainTranslation = this.getTranslationByCodeOrFirst(variant.translations, ctx.languageCode);
@@ -486,7 +492,9 @@ let ProductImporter = class ProductImporter {
486
492
  // facetValueIds = await this.getFacetValueIds(ctx, variant.facets, languageCode)
487
493
  // }
488
494
  const variantCustomFields = await this.processCustomFieldValues(variantMainTranslation.customFields, this.configService.customFields.ProductVariant, ctx);
489
- const optionIds = variantMainTranslation.optionValues.map((v, index) => optionsMap[`${index}_${v}`]);
495
+ const optionIds = shouldUpdateOptions
496
+ ? variantMainTranslation.optionValues.map((v, index) => optionsMap[`${index}_${v}`])
497
+ : undefined;
490
498
  let existingVariant = await this.connection.getRepository(ctx, core_2.ProductVariant).findOne({
491
499
  where: {
492
500
  sku: variant.sku,
@@ -530,11 +538,13 @@ let ProductImporter = class ProductImporter {
530
538
  featuredAssetId: getFeaturedAssetId(existingVariant),
531
539
  assetIds: variantAssets.map((a) => a.id),
532
540
  sku: variant.sku,
533
- taxCategoryId: this.getMatchingTaxCategoryId(variant.taxCategory, taxCategories.items),
534
- stockOnHand: variant.stockOnHand,
535
- trackInventory: variant.trackInventory,
536
- enabled: variant.enabled,
537
- optionIds,
541
+ ...(variant.taxCategory !== undefined
542
+ ? { taxCategoryId: this.getMatchingTaxCategoryId(variant.taxCategory, taxCategories.items) }
543
+ : {}),
544
+ ...(variant.stockOnHand !== undefined ? { stockOnHand: variant.stockOnHand } : {}),
545
+ ...(variant.trackInventory !== undefined ? { trackInventory: variant.trackInventory } : {}),
546
+ ...(variant.enabled !== undefined ? { enabled: variant.enabled } : {}),
547
+ ...(optionIds !== undefined ? { optionIds } : {}),
538
548
  translations: await Promise.all(variant.translations.map(async (translation) => {
539
549
  const productTranslation = product.translations.find((t) => t.languageCode === translation.languageCode);
540
550
  if (!productTranslation) {
@@ -714,6 +724,9 @@ let ProductImporter = class ProductImporter {
714
724
  }
715
725
  return out;
716
726
  }
727
+ isValidRelationIdentifier(value) {
728
+ return /^[A-Za-z0-9_-]+$/.test(value);
729
+ }
717
730
  async processCustomFieldValues(customFields, config, ctx) {
718
731
  function parseBoolean(input) {
719
732
  if (input == null) {
@@ -738,7 +751,10 @@ let ProductImporter = class ProductImporter {
738
751
  }
739
752
  }
740
753
  const value = customFields[fieldDef.name];
741
- if (!value || value === '') {
754
+ if (!value || value.trim() === '') {
755
+ if (fieldDef.type === 'relation' && fieldDef.nullable === false) {
756
+ throw new core_2.InternalServerError(`Required relation custom field "${fieldDef.name}" is missing or empty`);
757
+ }
742
758
  continue;
743
759
  }
744
760
  if (fieldDef.type === 'struct') {
@@ -790,6 +806,7 @@ let ProductImporter = class ProductImporter {
790
806
  const inputKey = (0, shared_utils_1.getGraphQlInputName)(fieldDef);
791
807
  const relDef = fieldDef;
792
808
  if (relDef.entity === core_2.Asset) {
809
+ let resolvedAssetRelation;
793
810
  if ((0, lodash_1.startsWith)(value, '{') || (0, lodash_1.startsWith)(value, '[')) {
794
811
  if (typeof value === 'string') {
795
812
  const assetValue = JSON.parse(value.replace(/'/g, '"').replace(/\s+/g, ' ').replace(/,\s*'/g, ", '"));
@@ -811,12 +828,14 @@ let ProductImporter = class ProductImporter {
811
828
  foundAsset.name = asset.name || foundAsset.name;
812
829
  }
813
830
  }
814
- processed[inputKey] = fieldDef.list ? createdIds : createdIds[0];
831
+ resolvedAssetRelation = fieldDef.list ? createdIds : createdIds[0];
832
+ processed[inputKey] = resolvedAssetRelation;
815
833
  }
816
834
  else {
817
835
  if (assetValue.url.startsWith('http://') || assetValue.url.startsWith('https://')) {
818
836
  const createdAssets = await this.assetImporter.getAssets([assetValue], ctx);
819
- processed[inputKey] = createdAssets.assets[0]?.id;
837
+ resolvedAssetRelation = createdAssets.assets[0]?.id;
838
+ processed[inputKey] = resolvedAssetRelation;
820
839
  }
821
840
  const foundAsset = assetValue.id ? this.allAssetsById.get(assetValue.id) : undefined;
822
841
  if (foundAsset && foundAsset.name !== assetValue.name) {
@@ -831,19 +850,46 @@ let ProductImporter = class ProductImporter {
831
850
  else {
832
851
  if (value.startsWith('http://') || value.startsWith('https://')) {
833
852
  const createdAssets = await this.assetImporter.getAssets([{ url: value }], ctx);
834
- processed[inputKey] = createdAssets.assets[0]?.id;
853
+ resolvedAssetRelation = createdAssets.assets[0]?.id;
854
+ processed[inputKey] = resolvedAssetRelation;
835
855
  }
836
856
  }
857
+ if (relDef.nullable === false &&
858
+ (resolvedAssetRelation == null ||
859
+ (Array.isArray(resolvedAssetRelation) && resolvedAssetRelation.length === 0))) {
860
+ throw new core_2.InternalServerError(`Required relation custom field "${fieldDef.name}" must contain valid asset data`);
861
+ }
837
862
  continue;
838
863
  }
839
864
  if (fieldDef.list === true) {
840
- processed[inputKey] = value
865
+ const relationIds = value
841
866
  .split('|')
842
867
  .map((val) => val.trim())
843
868
  .filter((val) => val !== '');
869
+ if (relationIds.some((id) => id.startsWith('http://') ||
870
+ id.startsWith('https://') ||
871
+ (0, lodash_1.startsWith)(id, '{') ||
872
+ (0, lodash_1.startsWith)(id, '[') ||
873
+ !this.isValidRelationIdentifier(id))) {
874
+ throw new core_2.InternalServerError(`Relation custom field "${fieldDef.name}" must contain valid relation IDs`);
875
+ }
876
+ if (relDef.nullable === false && relationIds.length === 0) {
877
+ throw new core_2.InternalServerError(`Required relation custom field "${fieldDef.name}" is missing or empty`);
878
+ }
879
+ processed[inputKey] = relationIds;
844
880
  }
845
881
  else {
846
- processed[inputKey] = value.trim();
882
+ const relationId = value.trim();
883
+ const validRelationId = relationId !== '' &&
884
+ !relationId.startsWith('http://') &&
885
+ !relationId.startsWith('https://') &&
886
+ !(0, lodash_1.startsWith)(relationId, '{') &&
887
+ !(0, lodash_1.startsWith)(relationId, '[') &&
888
+ this.isValidRelationIdentifier(relationId);
889
+ if (!validRelationId) {
890
+ throw new core_2.InternalServerError(`Relation custom field "${fieldDef.name}" must contain a valid relation ID`);
891
+ }
892
+ processed[inputKey] = relationId;
847
893
  }
848
894
  continue;
849
895
  }