@haus-tech/product-import-export-plugin 3.6.6 → 3.6.7

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 CHANGED
@@ -1,3 +1,9 @@
1
+ ## 3.6.7
2
+
3
+ ### 🚀 Features
4
+
5
+ - **product-import-export-plugin:** link ProductVariant relation fields by SKU on import ([#48](https://github.com/WeAreHausTech/haus-tech-vendure-plugins-public/pull/48))
6
+
1
7
  ## 3.6.6
2
8
 
3
9
  ### 🩹 Fixes
package/README.md CHANGED
@@ -163,6 +163,20 @@ export const config = {
163
163
  - For products with more than one variant, `optionGroups` and `optionValues` are required.
164
164
  - Product data (`slug`, `description`, `assets`, `facets`, `optionGroups` and `product:` custom fields) is read from a product's first row, the row with a `name`. If a later variant row of the product fills one of these columns, that product is not imported and the import reports the column and line. Other products in the file still import. `id` may repeat on every row.
165
165
 
166
+ #### Relations to variants by SKU
167
+
168
+ A relation custom field to `ProductVariant` can name the related variant by SKU instead of id. Add `:sku` to the column header after the type:
169
+
170
+ ```csv
171
+ name,sku,price,variant:baseVariant:productvariant:sku
172
+ Club Tee,CLUB-TEE-M,299,BASE-TEE-M
173
+ ```
174
+
175
+ - Each SKU must match exactly one variant that is not deleted, in any channel. A list field takes `SKU|SKU`.
176
+ - The upload is checked before it is queued. If a SKU matches no variant or more than one, the upload answers `400` with `{ "errors": ["Row 2: no variant with SKU BASE-TEE-M"] }`, the Dashboard lists the rows, and nothing is imported. The import job checks again when it runs.
177
+ - The related variants must exist before the upload, so import them in an earlier file.
178
+ - `:sku` is the only lookup, and it works only on relation fields to `ProductVariant`. Columns without it still take ids.
179
+
166
180
  #### Sharing option groups
167
181
 
168
182
  By default, each product gets its own option groups. To **share an option group** across
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/product-import-export-plugin",
3
- "version": "3.6.6",
3
+ "version": "3.6.7",
4
4
  "description": "A Vendure plugin for importing and exporting products using a CSV file",
5
5
  "author": "Haus Tech",
6
6
  "repository": {
@@ -38,6 +38,9 @@ let ProductImportController = class ProductImportController {
38
38
  return res.status(200).send('File uploaded successfully');
39
39
  }
40
40
  catch (error) {
41
+ if (error instanceof product_import_service_1.ImportFileInvalidError) {
42
+ return res.status(400).json({ errors: error.errors });
43
+ }
41
44
  return res.status(500).send(error?.message || 'Internal Server Error');
42
45
  }
43
46
  }
@@ -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,wCAAoF;AACpF,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;IAKE,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;AAzCY,0DAAuB;AAS5B;IAHL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,YAAK,EAAC,iBAAU,CAAC,aAAa,EAAE,iBAAU,CAAC,aAAa,CAAC;IACzD,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;kCAxCU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;6CAC5B,6CAAoB;GAH5B,uBAAuB,CAyCnC"}
1
+ {"version":3,"file":"product-import.controller.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/api/product-import.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAoF;AACpF,2CAQuB;AAEvB,+DAA0D;AAC1D,4CAAmE;AAEnE,+EAAiG;AAG1F,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAEsB;IAC9C;IAFV,YACwD,OAA0B,EACxE,OAA6B;QADiB,YAAO,GAAP,OAAO,CAAmB;QACxE,YAAO,GAAP,OAAO,CAAsB;IACpC,CAAC;IAKE,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,IAAI,KAAK,YAAY,+CAAsB,EAAE,CAAC;gBAC5C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAE,KAAe,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAA;QACnF,CAAC;IACH,CAAC;CACF,CAAA;AA5CY,0DAAuB;AAS5B;IAHL,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,YAAK,EAAC,iBAAU,CAAC,aAAa,EAAE,iBAAU,CAAC,aAAa,CAAC;IACzD,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;;6DAiC3B;kCA3CU,uBAAuB;IADnC,IAAA,mBAAU,EAAC,gBAAgB,CAAC;IAGxB,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;6CAC5B,6CAAoB;GAH5B,uBAAuB,CA4CnC"}
@@ -29,6 +29,7 @@ import { useState, useRef, useEffect } from 'react'
29
29
  import type { LanguageCode, Channel } from '@vendure/core'
30
30
  import { size, startsWith, endsWith, uniq } from 'lodash-es'
31
31
  import { useActiveChannelKey } from './use-active-channel-key'
32
+ import { readUploadErrors, summarizeErrors } from './upload-errors'
32
33
  import {
33
34
  getServerLocation,
34
35
  getChannelHeader,
@@ -527,7 +528,16 @@ export function ProductImportBlock() {
527
528
  clearFileHandler()
528
529
  toast.success('The file was uploaded and has been added to the import queue.')
529
530
  } else {
530
- toast.error('An error occurred while uploading the file.')
531
+ const errors = await readUploadErrors(res)
532
+ if (errors.length > 0) {
533
+ toast.error('The file was not imported.', {
534
+ description: <div className="whitespace-pre-line">{summarizeErrors(errors)}</div>,
535
+ duration: Infinity,
536
+ closeButton: true,
537
+ })
538
+ } else {
539
+ toast.error('An error occurred while uploading the file.')
540
+ }
531
541
  }
532
542
  } catch (error: unknown) {
533
543
  console.error('Upload error:', error)
@@ -0,0 +1,28 @@
1
+ import { describe, expect, it } from 'vitest'
2
+ import { readUploadErrors, summarizeErrors } from './upload-errors'
3
+
4
+ describe('readUploadErrors', () => {
5
+ it('returns the errors of a 400 answer', async () => {
6
+ const res = new Response(JSON.stringify({ errors: ['Row 2: no variant with SKU X'] }), {
7
+ status: 400,
8
+ })
9
+ expect(await readUploadErrors(res)).toEqual(['Row 2: no variant with SKU X'])
10
+ })
11
+
12
+ it('returns none for other statuses or a body that is not the error shape', async () => {
13
+ expect(await readUploadErrors(new Response('boom', { status: 500 }))).toEqual([])
14
+ expect(await readUploadErrors(new Response('not json', { status: 400 }))).toEqual([])
15
+ expect(await readUploadErrors(new Response('{}', { status: 400 }))).toEqual([])
16
+ })
17
+ })
18
+
19
+ describe('summarizeErrors', () => {
20
+ it('lists up to ten errors, one per line', () => {
21
+ expect(summarizeErrors(['a', 'b'])).toBe('a\nb')
22
+ })
23
+
24
+ it('says how many more there are past ten', () => {
25
+ const errors = Array.from({ length: 12 }, (_, i) => `e${i}`)
26
+ expect(summarizeErrors(errors).split('\n')).toEqual([...errors.slice(0, 10), '…and 2 more'])
27
+ })
28
+ })
@@ -0,0 +1,21 @@
1
+ /** How many problems the import toast lists before it says how many more there are. */
2
+ const MAX_LISTED_ERRORS = 10
3
+
4
+ /** The `errors` a rejected upload answers with (HTTP 400, `{ errors: string[] }`), else none. */
5
+ export async function readUploadErrors(res: Response): Promise<string[]> {
6
+ if (res.status !== 400) {
7
+ return []
8
+ }
9
+ try {
10
+ const body = (await res.json()) as { errors?: unknown }
11
+ return Array.isArray(body.errors) ? body.errors.map(String) : []
12
+ } catch {
13
+ return []
14
+ }
15
+ }
16
+
17
+ export function summarizeErrors(errors: string[]): string {
18
+ const listed = errors.slice(0, MAX_LISTED_ERRORS)
19
+ const hidden = errors.length - listed.length
20
+ return hidden > 0 ? [...listed, `…and ${hidden} more`].join('\n') : listed.join('\n')
21
+ }
@@ -59,6 +59,7 @@ const product_import_service_1 = require("./services/product-import.service");
59
59
  const extended_fast_importer_service_1 = require("./services/extended-fast-importer.service");
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
+ const sku_relation_resolver_1 = require("./services/sku-relation-resolver");
62
63
  const local_export_storage_strategy_1 = require("./services/export-storage/local-export-storage-strategy");
63
64
  const local_import_job_storage_strategy_1 = require("./services/import-storage/local-import-job-storage-strategy");
64
65
  const RESERVED_EXPORT_COLUMN_NAMES = new Set([
@@ -222,6 +223,7 @@ exports.ProductImportExportPlugin = ProductImportExportPlugin = ProductImportExp
222
223
  asset_importer_1.ExtendedAssetImporter,
223
224
  product_export_service_1.ProductExportService,
224
225
  product_export_queue_service_1.ProductExportQueueService,
226
+ sku_relation_resolver_1.SkuRelationResolver,
225
227
  ],
226
228
  controllers: [
227
229
  product_import_controller_1.ProductImportController,
@@ -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,2CAIoB;AAGpB,iBAAiB;AACjB,+EAAyE;AACzE,+EAAyE;AACzE,+DAA6E;AAC7E,eAAe;AACf,oFAA+E;AAC/E,8EAAyE;AACzE,gFAAmF;AACnF,cAAc;AACd,8EAAwE;AACxE,8FAAuF;AACvF,8EAAwE;AACxE,0FAAmF;AACnF,2GAAoG;AACpG,mHAA2G;AAE3G,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAC;IAC3C,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc;IACvF,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe;IAC/E,eAAe,EAAE,SAAS;CAC3B,CAAC,CAAA;AAEF,SAAS,2BAA2B,CAAC,OAAyC;IAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,8BAA8B,GAAG,CAAC,IAAI,mHAAmH,CAC1J,CAAA;QACH,CAAC;QACD,IAAI,4BAA4B,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8BAA8B,GAAG,CAAC,IAAI,yCAAyC,CAAC,CAAA;QAClG,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAoGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;;IACpC,MAAM,CAAC,OAAO,CAAmB;IAEjC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,OAA0B;QACpC,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YAC1C,OAAO,CAAC,aAAa,CAAC,cAAc,GAAG;gBACrC,iBAAiB,EAAE,IAAI;gBACvB,kBAAkB,EAAE,IAAI;aACzB,CAAA;QACH,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;YAC5C,OAAO,CAAC,aAAa,CAAC,gBAAgB,GAAG,OAAO,CAAA;QAClD,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,aAAa,GAAG,EAAE,CAAA;QAC5B,CAAC;QAED,2BAA2B,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAA;QAEtE,uBAAuB;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YAC3C,OAAO,CAAC,aAAa,CAAC,eAAe,GAAG,qBAAqB,CAAA;QAC/D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACjD,OAAO,CAAC,aAAa,CAAC,qBAAqB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC/D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACjD,OAAO,CAAC,aAAa,CAAC,qBAAqB,GAAG,KAAK,CAAA;QACrD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC/C,OAAO,CAAC,aAAa,CAAC,mBAAmB,GAAG;gBAC1C,MAAM;gBACN,KAAK;gBACL,MAAM;gBACN,aAAa;gBACb,QAAQ;gBACR,QAAQ;gBACR,cAAc;gBACd,cAAc;gBACd,OAAO;gBACP,aAAa;gBACb,aAAa;gBACb,gBAAgB;gBAChB,eAAe;gBACf,eAAe;aAChB,CAAA;QACH,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC9C,OAAO,CAAC,aAAa,CAAC,mBAAmB,GAAG,IAAA,aAAI,EAAC;gBAC/C,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB;gBAC5C,MAAM;gBACN,KAAK;gBACL,cAAc;gBACd,cAAc;aACf,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAChD,OAAO,CAAC,aAAa,CAAC,oBAAoB,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;QAC9F,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;YAC/C,OAAO,CAAC,aAAa,CAAC,oBAAoB,GAAG,IAAA,aAAI,EAAC;gBAChD,GAAG,OAAO,CAAC,aAAa,CAAC,oBAAoB;gBAC7C,MAAM;gBACN,KAAK;gBACL,cAAc;gBACd,cAAc;aACf,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,OAAO,2BAAyB,CAAA;IAClC,CAAC;IAED,MAAM,CAAC,EAAE,GAAqB;QAC5B,EAAE,EAAE,qBAAqB;QACzB,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;QACzC,YAAY,EAAE;YACZ,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC;YACnD,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAyB,CAAC;SACpD;QACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAC9D,SAAS,EAAE,CAAC,cAAc,CAAC;KAC5B,CAAA;;AA/FU,8DAAyB;oCAAzB,yBAAyB;IAlGrC,IAAA,oBAAa,EAAC;QACb,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,gDAAoC;gBAC7C,UAAU,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,OAAO;aACpD;YACD;gBACE,OAAO,EAAE,mCAAuB;gBAChC,UAAU,EAAE,KAAK,EAAE,SAAoB,EAAE,EAAE;oBACzC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAA;oBACtE,MAAM,QAAQ,GAAG,IAAI,eAAQ,CAAC,SAAS,CAAC,CAAA;oBAExC,IAAI,aAAa,EAAE,eAAe,EAAE,CAAC;wBACnC,OAAO,aAAa,CAAC,eAAe,CAAA;oBACtC,CAAC;oBAED,IAAI,aAAa,EAAE,sBAAsB,EAAE,CAAC;wBAC1C,OAAO,MAAM,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;oBAC7D,CAAC;oBAED,OAAO,IAAI,0DAA0B,CAAC;wBACpC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC;qBACvD,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC,gBAAS,CAAC;aACpB;YACD;gBACE,OAAO,EAAE,uCAA2B;gBACpC,UAAU,EAAE,KAAK,EAAE,SAAoB,EAAE,EAAE;oBACzC,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAA;oBACtE,MAAM,QAAQ,GAAG,IAAI,eAAQ,CAAC,SAAS,CAAC,CAAA;oBAExC,IAAI,aAAa,EAAE,eAAe,EAAE,CAAC;wBACnC,OAAO,aAAa,CAAC,eAAe,CAAA;oBACtC,CAAC;oBAED,IAAI,aAAa,EAAE,sBAAsB,EAAE,CAAC;wBAC1C,OAAO,MAAM,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAA;oBAC7D,CAAC;oBAED,OAAO,IAAI,iEAA6B,CAAC;wBACvC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC;qBAC3D,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,EAAE,CAAC,gBAAS,CAAC;aACpB;YACD,6CAAoB;YACpB,kCAAe;YACf,4DAA2B;YAC3B,4BAAY;YACZ,sCAAqB;YACrB,6CAAoB;YACpB,wDAAyB;SAC1B;QACD,WAAW,EAAE;YACX,mDAAuB;YACvB,mDAAuB;YACvB,uDAAmC;SACpC;QAED,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;YACxB,gCAAgC;YAChC,6CAA6C;YAC7C,4CAA4C;YAC5C,iCAAiC;YACjC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;YACF,OAAO,MAAM,CAAA;QACf,CAAC;QACD,SAAS,EAAE,uBAAuB;QAClC,aAAa,EAAE,QAAQ;KACxB,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;OAqBG;GACU,yBAAyB,CAgGrC"}
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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"}
@@ -7,6 +7,7 @@ import { ParsedProductWithId, UpdatingStrategy } from '../../types';
7
7
  import { PluginInitOptions } from '../../types';
8
8
  import { ImportParser } from './import-parser';
9
9
  import { ExtendedAssetImporter } from './asset-importer';
10
+ import { SkuRelationResolver } from '../../services/sku-relation-resolver';
10
11
  export declare class ProductImporter {
11
12
  private connection;
12
13
  private configService;
@@ -22,16 +23,20 @@ export declare class ProductImporter {
22
23
  private assetService;
23
24
  private optionGroupService;
24
25
  private pluginOptions;
26
+ private skuRelationResolver;
25
27
  private taxCategoryMatches;
26
28
  private facetMap;
27
29
  private facetValueMap;
28
30
  private customFieldTypes;
31
+ /** `<owner>:<field>` keys of relation columns whose values are SKUs (header `...:sku`). */
32
+ private skuLookupFields;
33
+ private variantIdsBySku;
29
34
  private allAssets;
30
35
  private allAssetsById;
31
36
  private facetIdCache;
32
37
  private facetValueIdCache;
33
38
  private slugStrategy;
34
- constructor(connection: TransactionalConnection, configService: ConfigService, importParser: ImportParser, assetImporter: ExtendedAssetImporter, fastImporter: ExtendedFastImporterService, translatableSaver: TranslatableSaver, productService: ProductService, channelService: ChannelService, facetService: FacetService, facetValueService: FacetValueService, taxCategoryService: TaxCategoryService, assetService: AssetService, optionGroupService: ProductOptionGroupService, pluginOptions: PluginInitOptions);
39
+ constructor(connection: TransactionalConnection, configService: ConfigService, importParser: ImportParser, assetImporter: ExtendedAssetImporter, fastImporter: ExtendedFastImporterService, translatableSaver: TranslatableSaver, productService: ProductService, channelService: ChannelService, facetService: FacetService, facetValueService: FacetValueService, taxCategoryService: TaxCategoryService, assetService: AssetService, optionGroupService: ProductOptionGroupService, pluginOptions: PluginInitOptions, skuRelationResolver: SkuRelationResolver);
35
40
  parseAndImport(input: string | Stream, ctx: RequestContext, updateProductSlug: boolean | undefined, mainLanguage: LanguageCode, updatingStrategy: UpdatingStrategy): Observable<ImportProgress>;
36
41
  private extractProductIdsFromCSV;
37
42
  private preprocessCsv;
@@ -49,6 +54,8 @@ export declare class ProductImporter {
49
54
  * Coerces raw JSON object properties to the scalar types declared on a struct custom field.
50
55
  */
51
56
  private coerceStructRow;
57
+ /** Swaps SKUs for variant ids; `SkuRelationResolver` has already checked each SKU. */
58
+ private variantIdsForSkus;
52
59
  private isValidRelationIdentifier;
53
60
  private processCustomFieldValues;
54
61
  /**
@@ -30,6 +30,7 @@ const typeorm_1 = require("typeorm");
30
30
  const generate_asset_hash_1 = require("../../helpers/generate-asset-hash");
31
31
  const crypto_1 = require("crypto");
32
32
  const remove_update_at_fields_1 = require("../../helpers/remove-update-at-fields");
33
+ const sku_relation_resolver_1 = require("../../services/sku-relation-resolver");
33
34
  let ProductImporter = class ProductImporter {
34
35
  connection;
35
36
  configService;
@@ -45,16 +46,20 @@ let ProductImporter = class ProductImporter {
45
46
  assetService;
46
47
  optionGroupService;
47
48
  pluginOptions;
49
+ skuRelationResolver;
48
50
  taxCategoryMatches = {};
49
51
  facetMap = new Map();
50
52
  facetValueMap = new Map();
51
53
  customFieldTypes = {};
54
+ /** `<owner>:<field>` keys of relation columns whose values are SKUs (header `...:sku`). */
55
+ skuLookupFields = new Set();
56
+ variantIdsBySku = new Map();
52
57
  allAssets = [];
53
58
  allAssetsById = new Map();
54
59
  facetIdCache = new Map();
55
60
  facetValueIdCache = new Map();
56
61
  slugStrategy;
57
- constructor(connection, configService, importParser, assetImporter, fastImporter, translatableSaver, productService, channelService, facetService, facetValueService, taxCategoryService, assetService, optionGroupService, pluginOptions) {
62
+ constructor(connection, configService, importParser, assetImporter, fastImporter, translatableSaver, productService, channelService, facetService, facetValueService, taxCategoryService, assetService, optionGroupService, pluginOptions, skuRelationResolver) {
58
63
  this.connection = connection;
59
64
  this.configService = configService;
60
65
  this.importParser = importParser;
@@ -69,6 +74,7 @@ let ProductImporter = class ProductImporter {
69
74
  this.assetService = assetService;
70
75
  this.optionGroupService = optionGroupService;
71
76
  this.pluginOptions = pluginOptions;
77
+ this.skuRelationResolver = skuRelationResolver;
72
78
  this.slugStrategy = this.configService.entityOptions.slugStrategy;
73
79
  }
74
80
  parseAndImport(input, ctx, updateProductSlug = true, mainLanguage, updatingStrategy) {
@@ -103,6 +109,7 @@ let ProductImporter = class ProductImporter {
103
109
  }
104
110
  preprocessCsv(input, updateProductSlug) {
105
111
  const customFieldTypes = {};
112
+ const skuLookupFields = new Set();
106
113
  const lines = input.split('\n');
107
114
  // Filter out empty lines (lines that are either blank or just commas)
108
115
  const filteredLines = lines.filter((line) => {
@@ -115,17 +122,21 @@ let ProductImporter = class ProductImporter {
115
122
  return splittedText;
116
123
  };
117
124
  const headers = splitLines(filteredLines[0]); // Use splitCsvLine to split headers correctly
118
- const cleanedHeaders = headers.map((header) => {
125
+ const cleanedHeaders = headers.map((rawHeader) => {
126
+ const header = normalizeHeader(rawHeader);
119
127
  if (header.startsWith('product:') || header.startsWith('variant:')) {
120
128
  const parts = header.split(':');
121
- if (parts.length === 3) {
122
- const [prefix, fieldName, type] = parts;
129
+ if (parts.length === 3 || parts.length === 4) {
130
+ const [prefix, fieldName, type, lookup] = parts;
123
131
  const fullFieldName = `${prefix}:${fieldName}`;
124
132
  customFieldTypes[fullFieldName] = type.trim();
133
+ if (lookup?.trim() === sku_relation_resolver_1.SKU_LOOKUP) {
134
+ skuLookupFields.add(fullFieldName);
135
+ }
125
136
  return fullFieldName;
126
137
  }
127
138
  }
128
- return header;
139
+ return rawHeader;
129
140
  });
130
141
  // Recreate the CSV with cleaned headers
131
142
  filteredLines[0] = cleanedHeaders.join(',');
@@ -149,6 +160,7 @@ let ProductImporter = class ProductImporter {
149
160
  return {
150
161
  cleanedCsv: filteredLines.join('\n'), // Join the filtered lines
151
162
  customFieldTypes,
163
+ skuLookupFields,
152
164
  };
153
165
  }
154
166
  async streamToString(stream) {
@@ -199,9 +211,16 @@ let ProductImporter = class ProductImporter {
199
211
  // If input is a Stream, you need to read it fully into memory
200
212
  csvContent = await this.streamToString(input);
201
213
  }
214
+ // Checked again here, not only on upload: variants can change while the job waits.
215
+ const skuRelations = await this.skuRelationResolver.resolve(ctx, csvContent);
216
+ if (skuRelations.errors.length > 0) {
217
+ return { errors: skuRelations.errors, imported: 0, processed: 0 };
218
+ }
219
+ this.variantIdsBySku = skuRelations.variantIdsBySku;
202
220
  // Preprocess the CSV to extract types and clean headers
203
- const { cleanedCsv, customFieldTypes } = this.preprocessCsv(csvContent, updateProductSlug);
221
+ const { cleanedCsv, customFieldTypes, skuLookupFields } = this.preprocessCsv(csvContent, updateProductSlug);
204
222
  this.customFieldTypes = customFieldTypes;
223
+ this.skuLookupFields = skuLookupFields;
205
224
  const parsed = (await this.importParser.parseProducts(cleanedCsv, ctx.languageCode));
206
225
  const productIds = this.extractProductIdsFromCSV(cleanedCsv);
207
226
  parsed.results.forEach((result, index) => {
@@ -725,6 +744,24 @@ let ProductImporter = class ProductImporter {
725
744
  }
726
745
  return out;
727
746
  }
747
+ /** Swaps SKUs for variant ids; `SkuRelationResolver` has already checked each SKU. */
748
+ variantIdsForSkus(value, list) {
749
+ const idFor = (sku) => {
750
+ const id = this.variantIdsBySku.get(sku);
751
+ if (id === undefined) {
752
+ throw new core_2.InternalServerError(`No variant with SKU ${sku}`);
753
+ }
754
+ return String(id);
755
+ };
756
+ if (!list) {
757
+ return idFor(value.trim());
758
+ }
759
+ return value
760
+ .split('|')
761
+ .map((sku) => sku.trim())
762
+ .filter((sku) => sku !== '')
763
+ .map(idFor);
764
+ }
728
765
  isValidRelationIdentifier(value) {
729
766
  return /^[A-Za-z0-9_-]+$/.test(value);
730
767
  }
@@ -743,6 +780,7 @@ let ProductImporter = class ProductImporter {
743
780
  }
744
781
  }
745
782
  const processed = {};
783
+ const owner = config === this.configService.customFields.Product ? 'product' : 'variant';
746
784
  for (const fieldDef of config) {
747
785
  let foundCustomFieldType = (0, lodash_1.find)(this.customFieldTypes, (_type, key) => key.split(':')[1] === fieldDef.name);
748
786
  if (!foundCustomFieldType) {
@@ -864,6 +902,14 @@ let ProductImporter = class ProductImporter {
864
902
  }
865
903
  continue;
866
904
  }
905
+ if (this.skuLookupFields.has(`${owner}:${fieldDef.name}`)) {
906
+ const variantIds = this.variantIdsForSkus(value, fieldDef.list === true);
907
+ if (relDef.nullable === false && Array.isArray(variantIds) && variantIds.length === 0) {
908
+ throw new core_2.InternalServerError(`Required relation custom field "${fieldDef.name}" is missing or empty`);
909
+ }
910
+ processed[inputKey] = variantIds;
911
+ continue;
912
+ }
867
913
  if (fieldDef.list === true) {
868
914
  const relationIds = value
869
915
  .split('|')
@@ -1129,6 +1175,13 @@ exports.ProductImporter = ProductImporter = __decorate([
1129
1175
  core_1.FacetValueService,
1130
1176
  core_1.TaxCategoryService,
1131
1177
  core_1.AssetService,
1132
- core_1.ProductOptionGroupService, Object])
1178
+ core_1.ProductOptionGroupService, Object, sku_relation_resolver_1.SkuRelationResolver])
1133
1179
  ], ProductImporter);
1180
+ /** A header cell as the CSV parser reads it: no byte order mark, no surrounding quotes or space. */
1181
+ function normalizeHeader(header) {
1182
+ return header
1183
+ .replace(/^\uFEFF/, '')
1184
+ .trim()
1185
+ .replace(/^"(.*)"$/, '$1');
1186
+ }
1134
1187
  //# sourceMappingURL=product-importer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/product-importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-importer.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/providers/import-providers/product-importer.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,12 @@ import { RequestContext } from '@vendure/core';
4
4
  import { UpdatingStrategy } from '../types';
5
5
  import { ProductImporter } from '../providers/import-providers/product-importer';
6
6
  import { ImportJobStorageStrategy } from './import-storage/import-job-storage-strategy';
7
+ import { SkuRelationResolver } from './sku-relation-resolver';
8
+ /** The uploaded file cannot be imported as it is; `errors` says why, one line per problem. */
9
+ export declare class ImportFileInvalidError extends Error {
10
+ readonly errors: string[];
11
+ constructor(errors: string[]);
12
+ }
7
13
  export declare class ProductImportService implements OnModuleInit {
8
14
  private importJobStorageStrategy;
9
15
  private jobQueueService;
@@ -11,9 +17,10 @@ export declare class ProductImportService implements OnModuleInit {
11
17
  private searchService;
12
18
  private productService;
13
19
  private eventBus;
20
+ private skuRelationResolver;
14
21
  private readonly loggerCtx;
15
22
  private productImportQueue;
16
- constructor(importJobStorageStrategy: ImportJobStorageStrategy, jobQueueService: JobQueueService, productImporter: ProductImporter, searchService: SearchService, productService: ProductService, eventBus: EventBus);
23
+ constructor(importJobStorageStrategy: ImportJobStorageStrategy, jobQueueService: JobQueueService, productImporter: ProductImporter, searchService: SearchService, productService: ProductService, eventBus: EventBus, skuRelationResolver: SkuRelationResolver);
17
24
  onModuleInit(): Promise<void>;
18
25
  processFile(ctx: RequestContext, file: Express.Multer.File, updateProductSlug: boolean, mainLanguage: LanguageCode, updatingStrategy: UpdatingStrategy): Promise<import("@vendure/core/dist/job-queue/subscribable-job").SubscribableJob<{
19
26
  ctx: SerializedRequestContext;
@@ -12,13 +12,23 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ProductImportService = void 0;
15
+ exports.ProductImportService = exports.ImportFileInvalidError = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const core_1 = require("@vendure/core");
18
18
  const core_2 = require("@vendure/core");
19
19
  const constants_1 = require("../constants");
20
20
  const product_importer_1 = require("../providers/import-providers/product-importer");
21
21
  const lodash_1 = require("lodash");
22
+ const sku_relation_resolver_1 = require("./sku-relation-resolver");
23
+ /** The uploaded file cannot be imported as it is; `errors` says why, one line per problem. */
24
+ class ImportFileInvalidError extends Error {
25
+ errors;
26
+ constructor(errors) {
27
+ super(errors.join('\n'));
28
+ this.errors = errors;
29
+ }
30
+ }
31
+ exports.ImportFileInvalidError = ImportFileInvalidError;
22
32
  let ProductImportService = class ProductImportService {
23
33
  importJobStorageStrategy;
24
34
  jobQueueService;
@@ -26,15 +36,17 @@ let ProductImportService = class ProductImportService {
26
36
  searchService;
27
37
  productService;
28
38
  eventBus;
39
+ skuRelationResolver;
29
40
  loggerCtx = 'ProductImportService';
30
41
  productImportQueue;
31
- constructor(importJobStorageStrategy, jobQueueService, productImporter, searchService, productService, eventBus) {
42
+ constructor(importJobStorageStrategy, jobQueueService, productImporter, searchService, productService, eventBus, skuRelationResolver) {
32
43
  this.importJobStorageStrategy = importJobStorageStrategy;
33
44
  this.jobQueueService = jobQueueService;
34
45
  this.productImporter = productImporter;
35
46
  this.searchService = searchService;
36
47
  this.productService = productService;
37
48
  this.eventBus = eventBus;
49
+ this.skuRelationResolver = skuRelationResolver;
38
50
  }
39
51
  async onModuleInit() {
40
52
  this.productImportQueue = await this.jobQueueService.createQueue({
@@ -74,6 +86,11 @@ let ProductImportService = class ProductImportService {
74
86
  });
75
87
  }
76
88
  async processFile(ctx, file, updateProductSlug, mainLanguage, updatingStrategy) {
89
+ // Checked before queueing so the uploader sees a wrong SKU at once, not in the job queue.
90
+ const { errors } = await this.skuRelationResolver.resolve(ctx, file.buffer.toString('utf8'));
91
+ if (errors.length > 0) {
92
+ throw new ImportFileInvalidError(errors);
93
+ }
77
94
  const storageKey = await this.importJobStorageStrategy.storeImportFile(ctx, {
78
95
  originalname: file.originalname,
79
96
  buffer: file.buffer,
@@ -121,6 +138,7 @@ exports.ProductImportService = ProductImportService = __decorate([
121
138
  product_importer_1.ProductImporter,
122
139
  core_1.SearchService,
123
140
  core_1.ProductService,
124
- core_1.EventBus])
141
+ core_1.EventBus,
142
+ sku_relation_resolver_1.SkuRelationResolver])
125
143
  ], ProductImportService);
126
144
  //# sourceMappingURL=product-import.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product-import.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/product-import.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-import.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/product-import.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ConfigService, ID, RequestContext, TransactionalConnection } from '@vendure/core';
2
+ /** The fourth header segment that makes a relation column hold SKUs instead of ids. */
3
+ export declare const SKU_LOOKUP = "sku";
4
+ export interface SkuRelationResult {
5
+ /** One line per problem, ready to show to the person who uploaded the file. */
6
+ errors: string[];
7
+ /** The id of the single live variant behind each SKU the file references. */
8
+ variantIdsBySku: Map<string, ID>;
9
+ }
10
+ /**
11
+ * Resolves relation custom field columns written as `<owner>:<field>:<type>:sku`, where each
12
+ * value names the related ProductVariant by SKU. Every SKU must match exactly one variant that is
13
+ * not deleted, in any channel: base variants usually live outside the channel being imported into.
14
+ */
15
+ export declare class SkuRelationResolver {
16
+ private connection;
17
+ private configService;
18
+ constructor(connection: TransactionalConnection, configService: ConfigService);
19
+ resolve(ctx: RequestContext, csv: string): Promise<SkuRelationResult>;
20
+ private readHeaders;
21
+ private splitHeader;
22
+ private checkHeader;
23
+ private findFieldConfig;
24
+ /** The SKUs each data row references, with the file line the row ends on (header is line 1). */
25
+ private readSkus;
26
+ private findLiveVariants;
27
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SkuRelationResolver = exports.SKU_LOOKUP = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const core_1 = require("@vendure/core");
15
+ const sync_1 = require("csv-parse/sync");
16
+ const typeorm_1 = require("typeorm");
17
+ /** The fourth header segment that makes a relation column hold SKUs instead of ids. */
18
+ exports.SKU_LOOKUP = 'sku';
19
+ /** SKUs per database query, well below every driver's bind parameter limit. */
20
+ const SKU_QUERY_CHUNK_SIZE = 1000;
21
+ /**
22
+ * Resolves relation custom field columns written as `<owner>:<field>:<type>:sku`, where each
23
+ * value names the related ProductVariant by SKU. Every SKU must match exactly one variant that is
24
+ * not deleted, in any channel: base variants usually live outside the channel being imported into.
25
+ */
26
+ let SkuRelationResolver = class SkuRelationResolver {
27
+ connection;
28
+ configService;
29
+ constructor(connection, configService) {
30
+ this.connection = connection;
31
+ this.configService = configService;
32
+ }
33
+ async resolve(ctx, csv) {
34
+ const variantIdsBySku = new Map();
35
+ let headers;
36
+ try {
37
+ headers = this.readHeaders(csv);
38
+ }
39
+ catch {
40
+ // Not ours to report: without readable headers there are no SKU columns, and the
41
+ // importer's own parser tells the uploader what is wrong with the file.
42
+ return { errors: [], variantIdsBySku };
43
+ }
44
+ const lookupHeaders = headers.filter((header) => this.splitHeader(header).length === 4);
45
+ if (lookupHeaders.length === 0) {
46
+ return { errors: [], variantIdsBySku };
47
+ }
48
+ const headerErrors = lookupHeaders.flatMap((header) => this.checkHeader(header));
49
+ if (headerErrors.length > 0) {
50
+ return { errors: headerErrors, variantIdsBySku };
51
+ }
52
+ const columns = lookupHeaders.map((header) => ({
53
+ header,
54
+ list: this.findFieldConfig(header)?.list === true,
55
+ }));
56
+ let rows;
57
+ try {
58
+ rows = this.readSkus(csv, columns);
59
+ }
60
+ catch (error) {
61
+ return { errors: [`Could not read the file: ${error.message}`], variantIdsBySku };
62
+ }
63
+ const matches = await this.findLiveVariants(ctx, uniqueSkus(rows));
64
+ const errors = [];
65
+ for (const { line, skus } of rows) {
66
+ for (const sku of skus) {
67
+ const found = matches.get(sku) ?? [];
68
+ if (found.length === 0) {
69
+ errors.push(`Row ${line}: no variant with SKU ${sku}`);
70
+ }
71
+ else if (found.length > 1) {
72
+ errors.push(`Row ${line}: SKU ${sku} matches ${found.length} variants`);
73
+ }
74
+ else {
75
+ variantIdsBySku.set(sku, found[0]);
76
+ }
77
+ }
78
+ }
79
+ return { errors, variantIdsBySku };
80
+ }
81
+ readHeaders(csv) {
82
+ const [headers] = (0, sync_1.parse)(csv, { bom: true, to_line: 1, relax_column_count: true });
83
+ return (headers ?? []).map((header) => header.trim());
84
+ }
85
+ splitHeader(header) {
86
+ if (!header.startsWith('product:') && !header.startsWith('variant:')) {
87
+ return [];
88
+ }
89
+ return header.split(':');
90
+ }
91
+ checkHeader(header) {
92
+ const lookup = this.splitHeader(header)[3];
93
+ if (lookup !== exports.SKU_LOOKUP) {
94
+ return [`Column '${header}': only ':${exports.SKU_LOOKUP}' is supported as a lookup`];
95
+ }
96
+ const config = this.findFieldConfig(header);
97
+ const isVariantRelation = config?.type === 'relation' && config.entity === core_1.ProductVariant;
98
+ if (!isVariantRelation) {
99
+ return [
100
+ `Column '${header}': ':${exports.SKU_LOOKUP}' works only on relation custom fields to ProductVariant`,
101
+ ];
102
+ }
103
+ return [];
104
+ }
105
+ findFieldConfig(header) {
106
+ const [owner, fieldName] = this.splitHeader(header);
107
+ const configs = owner === 'product'
108
+ ? this.configService.customFields.Product
109
+ : this.configService.customFields.ProductVariant;
110
+ return configs.find((config) => config.name === fieldName);
111
+ }
112
+ /** The SKUs each data row references, with the file line the row ends on (header is line 1). */
113
+ readSkus(csv, columns) {
114
+ const records = (0, sync_1.parse)(csv, {
115
+ bom: true,
116
+ columns: (headers) => headers.map((header) => header.trim()),
117
+ skip_empty_lines: true,
118
+ // As lenient as the importer's parser, so a file it imports is never rejected here.
119
+ relax_column_count: true,
120
+ relax_quotes: true,
121
+ info: true,
122
+ });
123
+ return records
124
+ .map(({ record, info }) => ({
125
+ line: info.lines,
126
+ skus: columns.flatMap(({ header, list }) => splitSkus(record[header], list)),
127
+ }))
128
+ .filter((row) => row.skus.length > 0);
129
+ }
130
+ async findLiveVariants(ctx, skus) {
131
+ const matches = new Map();
132
+ if (skus.length === 0) {
133
+ return matches;
134
+ }
135
+ const repository = this.connection.getRepository(ctx, core_1.ProductVariant);
136
+ const variants = [];
137
+ for (let start = 0; start < skus.length; start += SKU_QUERY_CHUNK_SIZE) {
138
+ const chunk = skus.slice(start, start + SKU_QUERY_CHUNK_SIZE);
139
+ variants.push(...(await repository.find({
140
+ select: ['id', 'sku'],
141
+ where: { sku: (0, typeorm_1.In)(chunk), deletedAt: (0, typeorm_1.IsNull)() },
142
+ })));
143
+ }
144
+ for (const variant of variants) {
145
+ matches.set(variant.sku, [...(matches.get(variant.sku) ?? []), variant.id]);
146
+ }
147
+ return matches;
148
+ }
149
+ };
150
+ exports.SkuRelationResolver = SkuRelationResolver;
151
+ exports.SkuRelationResolver = SkuRelationResolver = __decorate([
152
+ (0, common_1.Injectable)(),
153
+ __metadata("design:paramtypes", [core_1.TransactionalConnection,
154
+ core_1.ConfigService])
155
+ ], SkuRelationResolver);
156
+ function splitSkus(value, list) {
157
+ const trimmed = value?.trim() ?? '';
158
+ if (trimmed === '') {
159
+ return [];
160
+ }
161
+ if (!list) {
162
+ return [trimmed];
163
+ }
164
+ return trimmed
165
+ .split('|')
166
+ .map((sku) => sku.trim())
167
+ .filter((sku) => sku !== '');
168
+ }
169
+ function uniqueSkus(rows) {
170
+ return [...new Set(rows.flatMap((row) => row.skus))];
171
+ }
172
+ //# sourceMappingURL=sku-relation-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sku-relation-resolver.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/sku-relation-resolver.ts"],"names":[],"mappings":"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"}