@haus-tech/product-import-export-plugin 3.6.3 → 3.6.5

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 (33) hide show
  1. package/CHANGELOG.md +26 -54
  2. package/{README.mdx → README.md} +64 -35
  3. package/package.json +10 -10
  4. package/src/dashboard/bulk-export.tsx +1 -0
  5. package/src/dashboard/export-configuration-panel.tsx +448 -0
  6. package/src/dashboard/export-dialog.tsx +22 -285
  7. package/src/dashboard/export.tsx +52 -17
  8. package/src/dashboard/exported-list.tsx +176 -96
  9. package/src/dashboard/import.tsx +286 -149
  10. package/src/dashboard/index.tsx +27 -28
  11. package/src/dashboard/use-active-channel-key.ts +7 -0
  12. package/src/product-import-export.plugin.d.ts +6 -0
  13. package/src/product-import-export.plugin.js +29 -1
  14. package/src/product-import-export.plugin.js.map +1 -1
  15. package/src/providers/import-providers/asset-importer.js +27 -8
  16. package/src/providers/import-providers/asset-importer.js.map +1 -1
  17. package/src/providers/import-providers/import-parser.d.ts +1 -0
  18. package/src/providers/import-providers/import-parser.js +42 -4
  19. package/src/providers/import-providers/import-parser.js.map +1 -1
  20. package/src/providers/import-providers/product-importer.d.ts +10 -0
  21. package/src/providers/import-providers/product-importer.js +111 -20
  22. package/src/providers/import-providers/product-importer.js.map +1 -1
  23. package/src/services/export-storage/export-storage-strategy.d.ts +8 -0
  24. package/src/services/extended-fast-importer.service.js +20 -12
  25. package/src/services/extended-fast-importer.service.js.map +1 -1
  26. package/src/services/import-storage/import-job-storage-strategy.d.ts +9 -0
  27. package/src/services/product-export.service.d.ts +20 -6
  28. package/src/services/product-export.service.js +174 -45
  29. package/src/services/product-export.service.js.map +1 -1
  30. package/src/services/self-relation-custom-fields.d.ts +26 -0
  31. package/src/services/self-relation-custom-fields.js +67 -0
  32. package/src/services/self-relation-custom-fields.js.map +1 -0
  33. package/src/types.d.ts +7 -0
@@ -1,5 +1,5 @@
1
1
  import { ModuleRef } from '@nestjs/core';
2
- import { ConfigService, ID, Injector, LanguageCode, Product, ProductService, RequestContext, StockLevelService, ChannelService, TransactionalConnection } from '@vendure/core';
2
+ import { ConfigService, ID, Injector, LanguageCode, Product, ProductService, RequestContext, ChannelService, TransactionalConnection } from '@vendure/core';
3
3
  import { CustomExportColumn, PluginInitOptions } from '../types';
4
4
  import { CsvWriter } from 'csv-writer/src/lib/csv-writer';
5
5
  import { ExportStorageStrategy } from './export-storage/export-storage-strategy';
@@ -8,13 +8,25 @@ export declare class ProductExportService {
8
8
  private options;
9
9
  private exportStorageStrategy;
10
10
  private productService;
11
- private stockLevelService;
12
11
  private channelService;
13
12
  private configService;
14
13
  private connection;
15
14
  private moduleRef;
16
- constructor(options: PluginInitOptions, exportStorageStrategy: ExportStorageStrategy, productService: ProductService, stockLevelService: StockLevelService, channelService: ChannelService, configService: ConfigService, connection: TransactionalConnection, moduleRef: ModuleRef);
15
+ constructor(options: PluginInitOptions, exportStorageStrategy: ExportStorageStrategy, productService: ProductService, channelService: ChannelService, configService: ConfigService, connection: TransactionalConnection, moduleRef: ModuleRef);
17
16
  createExportFile(ctx: RequestContext, selectionIds: ID[], fileName: string, selectedCustomFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string, pageSize?: number, onProgress?: (percent: number) => void): Promise<string>;
17
+ /**
18
+ * Sets each self-referencing relation custom field on the given entities to `{ id }`,
19
+ * `[{ id }, …]` or `null`, the shapes {@link serializeRelationCustomFieldIds} reads.
20
+ */
21
+ private applySelfRelationCustomFields;
22
+ /**
23
+ * Loads the non-deleted variants of the given products with the relations the export needs,
24
+ * in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants. TypeORM's `query` relation strategy
25
+ * groups relation rows with nested loops over (entities × rows), so the cost of one load is
26
+ * bounded by the chunk size instead of by the product page. Returns variants keyed by product
27
+ * id, each list in ascending variant id order.
28
+ */
29
+ private loadVariantsForProducts;
18
30
  exportProduct(ctx: RequestContext, product: Product, languages: LanguageCode[], filteredCustomFieldNames: string[], exportAssetsAs: 'url' | 'json', csvWriter: CsvWriter<any>, includeStockOnHand: boolean, stockOnHandByVariantId: Map<string, number>, customColumns: CustomExportColumn[], injector: Injector): Promise<void>;
19
31
  private handleAssets;
20
32
  /**
@@ -29,13 +41,15 @@ export declare class ProductExportService {
29
41
  private getRelationCustomFieldDef;
30
42
  private handleCustomFields;
31
43
  /**
32
- * Fetches the total stock on hand for many variants in a single query, keyed by stringified
33
- * variant id. Stock is summed across all stock locations, mirroring the aggregate value returned
34
- * by {@link StockLevelService.getAvailableStock} for the common single-location setup.
44
+ * Fetches stock on hand for many variants, keyed by stringified variant id. Stock levels are
45
+ * read in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants and aggregated per variant by the
46
+ * configured {@link StockLocationStrategy}, the same aggregation
47
+ * `StockLevelService.getAvailableStock` applies, without one query per variant.
35
48
  */
36
49
  private getStockOnHandMap;
37
50
  private mapTranslations;
38
51
  private mapFacetTranslations;
52
+ private formatOptionGroupForExport;
39
53
  hasMultiVariantProducts(ctx: RequestContext, selectionIds?: ID[]): Promise<boolean>;
40
54
  getAllProductIds(ctx: RequestContext): Promise<ID[]>;
41
55
  /**
@@ -49,11 +49,14 @@ exports.ProductExportService = void 0;
49
49
  const common_1 = require("@nestjs/common");
50
50
  const core_1 = require("@nestjs/core");
51
51
  const core_2 = require("@vendure/core");
52
+ const generated_types_1 = require("@vendure/common/lib/generated-types");
53
+ const typeorm_1 = require("typeorm");
52
54
  const constants_1 = require("../constants");
53
55
  const csv_writer_1 = require("csv-writer");
54
56
  const path = __importStar(require("path"));
55
57
  const fs_1 = require("fs");
56
58
  const lodash_1 = require("lodash");
59
+ const self_relation_custom_fields_1 = require("./self-relation-custom-fields");
57
60
  /**
58
61
  * Formats a date as a timestamp string for use in filenames.
59
62
  * Format: YYYY-MM-DD_HH-MM-SS (e.g., "2024-01-15_14-30-45")
@@ -68,20 +71,23 @@ function formatTimestampForFilename(date = new Date()) {
68
71
  const seconds = String(date.getUTCSeconds()).padStart(2, '0');
69
72
  return `${year}-${month}-${day}_${hours}-${minutes}-${seconds}`;
70
73
  }
74
+ /**
75
+ * Variants per relation load. 100 keeps TypeORM's (entities × relation rows) grouping in the
76
+ * low millions of comparisons even for products with ~12 assets and ~5 facet values per variant.
77
+ */
78
+ const VARIANT_LOAD_CHUNK_SIZE = 100;
71
79
  let ProductExportService = class ProductExportService {
72
80
  options;
73
81
  exportStorageStrategy;
74
82
  productService;
75
- stockLevelService;
76
83
  channelService;
77
84
  configService;
78
85
  connection;
79
86
  moduleRef;
80
- constructor(options, exportStorageStrategy, productService, stockLevelService, channelService, configService, connection, moduleRef) {
87
+ constructor(options, exportStorageStrategy, productService, channelService, configService, connection, moduleRef) {
81
88
  this.options = options;
82
89
  this.exportStorageStrategy = exportStorageStrategy;
83
90
  this.productService = productService;
84
- this.stockLevelService = stockLevelService;
85
91
  this.channelService = channelService;
86
92
  this.configService = configService;
87
93
  this.connection = connection;
@@ -130,13 +136,17 @@ let ProductExportService = class ProductExportService {
130
136
  // 'id' must NOT be the first CSV column: ProductImporter.extractProductIdsFromCSV
131
137
  // treats column 0 as a Vendure product id and uses it for by-id matching on import.
132
138
  headers.push({ id: 'id', title: 'id' });
133
- headers.push({ id: 'assets', title: 'assets' }, ...languages.map((lang) => ({ id: `facets:${lang}`, title: `facets:${lang}` })), ...languages.map((lang) => ({ id: `optionGroups:${lang}`, title: `optionGroups:${lang}` })), ...languages.map((lang) => ({ id: `optionValues:${lang}`, title: `optionValues:${lang}` })), { id: 'sku', title: 'sku' }, { id: 'price', title: 'price' }, { id: 'taxCategory', title: 'taxCategory' }, { id: 'stockOnHand', title: 'stockOnHand' }, { id: 'trackInventory', title: 'trackInventory' }, { id: 'variantAssets', title: 'variantAssets' }, ...languages.map((lang) => ({ id: `variantFacets:${lang}`, title: `variantFacets:${lang}` })), ...filteredCustomFieldNames.map((field) => ({
134
- id: field,
135
- title: field,
136
- })), { id: 'enabled', title: 'enabled' });
139
+ // Product columns first, then variant columns, so a product's data sits together on its first row.
140
+ const toHeader = (field) => ({ id: field, title: field });
141
+ const productCustomFieldNames = filteredCustomFieldNames.filter((f) => f.startsWith('product:'));
142
+ const variantCustomFieldNames = filteredCustomFieldNames.filter((f) => f.startsWith('variant:'));
143
+ headers.push({ id: 'assets', title: 'assets' }, ...languages.map((lang) => ({ id: `facets:${lang}`, title: `facets:${lang}` })), ...languages.map((lang) => ({ id: `optionGroups:${lang}`, title: `optionGroups:${lang}` })), ...productCustomFieldNames.map(toHeader), ...languages.map((lang) => ({ id: `optionValues:${lang}`, title: `optionValues:${lang}` })), { id: 'sku', title: 'sku' }, { id: 'price', title: 'price' }, { id: 'taxCategory', title: 'taxCategory' }, { id: 'stockOnHand', title: 'stockOnHand' }, { id: 'trackInventory', title: 'trackInventory' }, { id: 'variantAssets', title: 'variantAssets' }, ...languages.map((lang) => ({ id: `variantFacets:${lang}`, title: `variantFacets:${lang}` })), ...variantCustomFieldNames.map(toHeader), { id: 'enabled', title: 'enabled' });
137
144
  const configuredCustomColumns = this.options.exportOptions.customExportColumns ?? [];
138
145
  headers.push(...configuredCustomColumns.map((col) => ({ id: col.name, title: col.name })));
139
- const selectedExportFieldsArray = selectedExportFields.split(',');
146
+ const selectedExportFieldsArray = selectedExportFields
147
+ .split(',')
148
+ .map((field) => field.trim())
149
+ .filter(Boolean);
140
150
  const selectedExportFieldsSet = new Set(selectedExportFieldsArray);
141
151
  const selectedCustomColumns = configuredCustomColumns.filter((col) => selectedExportFieldsSet.has(col.name));
142
152
  for (const col of selectedCustomColumns) {
@@ -164,40 +174,59 @@ let ProductExportService = class ProductExportService {
164
174
  let currentPage = 1;
165
175
  let hasMore = true;
166
176
  let processedItems = 0;
167
- const productRelationCustomFields = this.configService.customFields.Product.filter((f) => f.type === 'relation').map((f) => `customFields.${f.name}`);
168
- const variantRelationCustomFields = this.configService.customFields.ProductVariant.filter((f) => f.type === 'relation').map((f) => `variants.customFields.${f.name}`);
177
+ // Self-referencing relation custom fields are kept out of the relation lists and loaded per
178
+ // page with an explicit join alias (see splitSelfRelationCustomFields).
179
+ const productRelations = (0, self_relation_custom_fields_1.splitSelfRelationCustomFields)(this.configService.customFields.Product, core_2.Product, 'customFields.');
180
+ const variantRelations = (0, self_relation_custom_fields_1.splitSelfRelationCustomFields)(this.configService.customFields.ProductVariant, core_2.ProductVariant, 'customFields.');
181
+ // Only the selected ones are written to the CSV, so only those are worth a query.
182
+ const selectedCustomFieldKeys = new Set(filteredCustomFieldNames.map((field) => field.split(':').slice(0, 2).join(':')));
183
+ const productSelfRelationNames = productRelations.selfRelationNames.filter((name) => selectedCustomFieldKeys.has(`product:${name}`));
184
+ const variantSelfRelationNames = variantRelations.selfRelationNames.filter((name) => selectedCustomFieldKeys.has(`variant:${name}`));
169
185
  while (hasMore) {
170
186
  const { items, totalItems } = await this.productService.findAll(ctx, {
171
187
  filter: {
172
188
  id: { in: selectionIds },
173
189
  },
190
+ // Without an explicit sort Vendure emits no ORDER BY, so offset paging is
191
+ // heap-ordered and can skip or repeat products between pages.
192
+ sort: { id: generated_types_1.SortOrder.ASC },
174
193
  skip: (currentPage - 1) * pageSize,
175
194
  take: pageSize,
176
195
  }, [
177
- 'variants',
178
196
  'facetValues',
179
197
  'facetValues.facet',
180
198
  'optionGroups',
181
199
  'assets',
182
- 'variants.assets',
183
- 'variants.facetValues',
184
- 'variants.facetValues.facet',
185
- 'variants.options',
186
- ...productRelationCustomFields,
187
- ...variantRelationCustomFields,
200
+ ...productRelations.relations,
188
201
  ]);
202
+ await this.applySelfRelationCustomFields(ctx, 'product', items, productSelfRelationNames);
189
203
  hasMore = currentPage * pageSize < totalItems;
204
+ // Variants are loaded separately in bounded chunks. Loading them through findAll's
205
+ // relation list lets TypeORM's query-strategy grouping run over every variant relation
206
+ // row on the page at once (O(variants × rows)); a page of 25 large products with ~4 000
207
+ // variants and ~47 000 asset rows took minutes and froze the worker's event loop.
208
+ const variantsByProductId = await this.loadVariantsForProducts(ctx, items.map((product) => product.id), ['assets', 'facetValues', 'facetValues.facet', 'options', ...variantRelations.relations]);
209
+ await this.applySelfRelationCustomFields(ctx, 'variant', Array.from(variantsByProductId.values()).flat(), variantSelfRelationNames);
210
+ for (const product of items) {
211
+ // The cast only satisfies the `Translated<Product>` typing: ProductService.findAll never
212
+ // translated variants either, and exportProduct reads `.translations` arrays off variants,
213
+ // options and facet values.
214
+ product.variants = (variantsByProductId.get(String(product.id)) ??
215
+ []);
216
+ }
190
217
  // Fetch stock on hand for the whole page in a single query. Doing this up front (instead of
191
218
  // per-product, in parallel) avoids firing many concurrent queries over the request's single
192
219
  // shared DB connection, which node-postgres serializes anyway and which, for large exports,
193
220
  // starves the event loop long enough for BullMQ to lose the job lock.
194
221
  const stockOnHandByVariantId = includeStockOnHand
195
- ? await this.getStockOnHandMap(ctx, items.flatMap((product) => product.variants.filter((variant) => !variant.deletedAt).map((variant) => variant.id)))
222
+ ? await this.getStockOnHandMap(ctx, items.flatMap((product) => product.variants
223
+ .filter((variant) => !variant.deletedAt)
224
+ .map((variant) => variant.id)))
196
225
  : new Map();
197
- // Process products sequentially. The expensive relations are already eager-loaded by findAll
198
- // above, so each product is pure in-memory work plus a single sequential CSV write — there is
199
- // no benefit to running these concurrently on the shared connection, and the per-product
200
- // await yields to the event loop so BullMQ can renew the job lock.
226
+ // Process products sequentially. Variants were already loaded above by loadVariantsForProducts
227
+ // and the other relations by findAll, so each product is pure in-memory work plus a single
228
+ // sequential CSV write — there is no benefit to running these concurrently on the shared
229
+ // connection, and the per-product await yields to the event loop so BullMQ can renew the job lock.
201
230
  for (const product of items) {
202
231
  await this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, selectedCustomColumns, injector);
203
232
  }
@@ -243,6 +272,85 @@ let ProductExportService = class ProductExportService {
243
272
  throw error;
244
273
  }
245
274
  }
275
+ /**
276
+ * Sets each self-referencing relation custom field on the given entities to `{ id }`,
277
+ * `[{ id }, …]` or `null`, the shapes {@link serializeRelationCustomFieldIds} reads.
278
+ */
279
+ async applySelfRelationCustomFields(ctx, owner, entities, fieldNames) {
280
+ if (fieldNames.length === 0 || entities.length === 0) {
281
+ return;
282
+ }
283
+ const repository = owner === 'product'
284
+ ? this.connection.getRepository(ctx, core_2.Product)
285
+ : this.connection.getRepository(ctx, core_2.ProductVariant);
286
+ const idsByEntityId = await (0, self_relation_custom_fields_1.loadSelfRelationCustomFieldIds)(repository, owner, entities.map((item) => item.id), fieldNames.map((name) => ({ name, list: this.isCustomFieldList(owner, name) })));
287
+ for (const item of entities) {
288
+ const values = idsByEntityId.get(String(item.id)) ?? {};
289
+ const customFields = (item.customFields ?? {});
290
+ for (const name of fieldNames) {
291
+ const value = values[name];
292
+ customFields[name] = Array.isArray(value)
293
+ ? value.map((id) => ({ id }))
294
+ : value == null
295
+ ? null
296
+ : { id: value };
297
+ }
298
+ item.customFields = customFields;
299
+ }
300
+ }
301
+ /**
302
+ * Loads the non-deleted variants of the given products with the relations the export needs,
303
+ * in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants. TypeORM's `query` relation strategy
304
+ * groups relation rows with nested loops over (entities × rows), so the cost of one load is
305
+ * bounded by the chunk size instead of by the product page. Returns variants keyed by product
306
+ * id, each list in ascending variant id order.
307
+ */
308
+ async loadVariantsForProducts(ctx, productIds, variantRelations) {
309
+ const byProductId = new Map();
310
+ if (productIds.length === 0) {
311
+ return byProductId;
312
+ }
313
+ const repository = this.connection.getRepository(ctx, core_2.ProductVariant);
314
+ // loadEagerRelations false: the id-only query would otherwise still join every variant's
315
+ // eager translations and prices for the whole page (TypeORM joins eager relations regardless
316
+ // of `select`), the one load here that is bounded by the page instead of by the chunk size.
317
+ const idRows = await repository.find({
318
+ select: { id: true },
319
+ loadEagerRelations: false,
320
+ where: { productId: (0, typeorm_1.In)(productIds), deletedAt: (0, typeorm_1.IsNull)() },
321
+ order: { id: 'ASC' },
322
+ });
323
+ const idPosition = new Map(idRows.map((row, index) => [String(row.id), index]));
324
+ for (const ids of (0, lodash_1.chunk)(idRows.map((row) => row.id), VARIANT_LOAD_CHUNK_SIZE)) {
325
+ // No `order` here: with relationLoadStrategy 'query', TypeORM propagates the find's order
326
+ // into every relation sub-query via deepValue(order, relation.propertyPath), which throws
327
+ // for an embedded `customFields.<name>` relation path (reads a property off undefined).
328
+ const variants = await repository.find({
329
+ where: { id: (0, typeorm_1.In)(ids) },
330
+ relations: variantRelations,
331
+ relationLoadStrategy: 'query',
332
+ });
333
+ for (const variant of variants) {
334
+ const key = String(variant.productId);
335
+ const list = byProductId.get(key);
336
+ if (list) {
337
+ list.push(variant);
338
+ }
339
+ else {
340
+ byProductId.set(key, [variant]);
341
+ }
342
+ }
343
+ // Yield between chunks so BullMQ's lock renewal timer can fire on long pages.
344
+ await new Promise((resolve) => setImmediate(resolve));
345
+ }
346
+ // Restore ascending variant id order: chunks are loaded without an `order`, so within (and
347
+ // once merged, across) a product's list, variants are in the order the query-strategy joins
348
+ // return them, not id order.
349
+ for (const [key, list] of byProductId) {
350
+ byProductId.set(key, (0, lodash_1.sortBy)(list, (variant) => idPosition.get(String(variant.id))));
351
+ }
352
+ return byProductId;
353
+ }
246
354
  async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, customColumns, injector) {
247
355
  const records = [];
248
356
  const { assets = [], facetValues = [], optionGroups = [], variants = [], translations = [], customFields = {}, } = product;
@@ -254,7 +362,10 @@ let ProductExportService = class ProductExportService {
254
362
  const productAssets = assets.length === 0
255
363
  ? ''
256
364
  : assets.length > 0
257
- ? this.handleAssets(assets.map(({ asset }) => asset), exportAssetsAs)
365
+ ? this.handleAssets(
366
+ // Sort by the stored position: row order is not position order, and the importer
367
+ // makes the first listed image the featured image.
368
+ (0, lodash_1.sortBy)(assets, (orderable) => orderable.position).map(({ asset }) => asset), exportAssetsAs)
258
369
  : this.handleAssets([product.featuredAsset], exportAssetsAs);
259
370
  const productFacets = languages.reduce((acc, lang) => {
260
371
  acc[lang] = facetValues
@@ -265,13 +376,16 @@ let ProductExportService = class ProductExportService {
265
376
  }, {});
266
377
  const optionGroupNames = languages.reduce((acc, lang) => {
267
378
  acc[lang] = (0, lodash_1.sortBy)(optionGroups, (g) => g.id)
268
- .map((group) => this.mapTranslations(group.translations, 'name', [lang])[lang])
379
+ .map((group) => this.formatOptionGroupForExport(group, lang))
269
380
  .filter((name) => name)
270
381
  .join('|');
271
382
  return acc;
272
383
  }, {});
273
384
  const convertToHTML = (text) => {
274
- return text.replace(/\n/g, '<br>').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/,\s*'/g, ", '");
385
+ return text
386
+ .replace(/\n/g, '<br>')
387
+ .replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')
388
+ .replace(/,\s*'/g, ", '");
275
389
  };
276
390
  const firstRowProductColumnsByLang = languages.reduce((acc, lang) => {
277
391
  const escapedDescription = convertToHTML(descriptionTranslations[lang] || '');
@@ -297,7 +411,7 @@ let ProductExportService = class ProductExportService {
297
411
  .join('|');
298
412
  return acc;
299
413
  }, {});
300
- const variantAssets = this.handleAssets(variant.assets.map(({ asset }) => asset), exportAssetsAs);
414
+ const variantAssets = this.handleAssets((0, lodash_1.sortBy)(variant.assets, (orderable) => orderable.position).map(({ asset }) => asset), exportAssetsAs);
301
415
  const variantFacets = languages.reduce((acc, lang) => {
302
416
  acc[lang] = (variant.facetValues || [])
303
417
  .map((facet) => this.mapFacetTranslations(facet, lang))
@@ -315,7 +429,8 @@ let ProductExportService = class ProductExportService {
315
429
  record[`slug:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`slug:${lang}`] : '';
316
430
  record[`description:${lang}`] =
317
431
  variantIndex === 0 ? firstRowProductColumns[`description:${lang}`] : '';
318
- record[`facets:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
432
+ record[`facets:${lang}`] =
433
+ variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
319
434
  record[`optionGroups:${lang}`] =
320
435
  variantIndex === 0 ? firstRowProductColumns[`optionGroups:${lang}`] : '';
321
436
  record[`optionValues:${lang}`] = variantValues[lang];
@@ -334,8 +449,11 @@ let ProductExportService = class ProductExportService {
334
449
  for (const field of filteredCustomFieldNames) {
335
450
  const [owner, fieldName] = field.split(':');
336
451
  if (owner === 'product') {
452
+ // Import reads product data from the first row only, like name and description.
337
453
  record[field] =
338
- this.handleCustomFields(customFields, fieldName, exportAssetsAs, 'product') ?? '';
454
+ variantIndex === 0
455
+ ? (this.handleCustomFields(customFields, fieldName, exportAssetsAs, 'product') ?? '')
456
+ : '';
339
457
  }
340
458
  else if (owner === 'variant') {
341
459
  record[field] =
@@ -452,25 +570,25 @@ let ProductExportService = class ProductExportService {
452
570
  return customFields[fieldName];
453
571
  }
454
572
  /**
455
- * Fetches the total stock on hand for many variants in a single query, keyed by stringified
456
- * variant id. Stock is summed across all stock locations, mirroring the aggregate value returned
457
- * by {@link StockLevelService.getAvailableStock} for the common single-location setup.
573
+ * Fetches stock on hand for many variants, keyed by stringified variant id. Stock levels are
574
+ * read in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants and aggregated per variant by the
575
+ * configured {@link StockLocationStrategy}, the same aggregation
576
+ * `StockLevelService.getAvailableStock` applies, without one query per variant.
458
577
  */
459
578
  async getStockOnHandMap(ctx, variantIds) {
460
579
  const stockOnHandByVariantId = new Map();
461
- if (variantIds.length === 0) {
462
- return stockOnHandByVariantId;
463
- }
464
- const rows = await this.connection
465
- .getRepository(ctx, core_2.StockLevel)
466
- .createQueryBuilder('stockLevel')
467
- .select('stockLevel.productVariantId', 'variantId')
468
- .addSelect('SUM(stockLevel.stockOnHand)', 'stockOnHand')
469
- .where('stockLevel.productVariantId IN (:...variantIds)', { variantIds })
470
- .groupBy('stockLevel.productVariantId')
471
- .getRawMany();
472
- for (const row of rows) {
473
- stockOnHandByVariantId.set(String(row.variantId), Number(row.stockOnHand) || 0);
580
+ const { stockLocationStrategy } = this.configService.catalogOptions;
581
+ const repository = this.connection.getRepository(ctx, core_2.StockLevel);
582
+ for (const ids of (0, lodash_1.chunk)(variantIds, VARIANT_LOAD_CHUNK_SIZE)) {
583
+ const stockLevels = await repository.find({
584
+ where: { productVariantId: (0, typeorm_1.In)(ids) },
585
+ loadEagerRelations: false,
586
+ });
587
+ const levelsByVariantId = (0, lodash_1.groupBy)(stockLevels, (level) => String(level.productVariantId));
588
+ for (const id of ids) {
589
+ const available = await stockLocationStrategy.getAvailableStock(ctx, id, levelsByVariantId[String(id)] ?? []);
590
+ stockOnHandByVariantId.set(String(id), available.stockOnHand);
591
+ }
474
592
  }
475
593
  return stockOnHandByVariantId;
476
594
  }
@@ -494,6 +612,16 @@ let ProductExportService = class ProductExportService {
494
612
  }
495
613
  return `${facetNameTranslations[lang]}:${facetValueTranslations[lang]}`;
496
614
  }
615
+ formatOptionGroupForExport(group, lang) {
616
+ const translatedName = this.mapTranslations(group.translations, 'name', [lang])[lang];
617
+ if (!translatedName) {
618
+ return '';
619
+ }
620
+ if (!group.code) {
621
+ return translatedName;
622
+ }
623
+ return `${translatedName}:${group.code}`;
624
+ }
497
625
  async hasMultiVariantProducts(ctx, selectionIds) {
498
626
  const pageSize = 100;
499
627
  let skip = 0;
@@ -507,6 +635,7 @@ let ProductExportService = class ProductExportService {
507
635
  },
508
636
  }
509
637
  : {}),
638
+ sort: { id: generated_types_1.SortOrder.ASC },
510
639
  skip,
511
640
  take: pageSize,
512
641
  }, ['variants']);
@@ -525,6 +654,7 @@ let ProductExportService = class ProductExportService {
525
654
  let totalItems = 0;
526
655
  do {
527
656
  const { items, totalItems: total } = await this.productService.findAll(ctx, {
657
+ sort: { id: generated_types_1.SortOrder.ASC },
528
658
  skip: offset,
529
659
  take: limit,
530
660
  });
@@ -581,7 +711,6 @@ exports.ProductExportService = ProductExportService = __decorate([
581
711
  __param(0, (0, common_1.Inject)(constants_1.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS)),
582
712
  __param(1, (0, common_1.Inject)(constants_1.EXPORT_STORAGE_STRATEGY)),
583
713
  __metadata("design:paramtypes", [Object, Object, core_2.ProductService,
584
- core_2.StockLevelService,
585
714
  core_2.ChannelService,
586
715
  core_2.ConfigService,
587
716
  core_2.TransactionalConnection,
@@ -1 +1 @@
1
- {"version":3,"file":"product-export.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/product-export.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product-export.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/product-export.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { CustomFieldConfig, ID, Product, ProductVariant } from '@vendure/core';
2
+ import { Repository } from 'typeorm';
3
+ export interface SelfRelationSplit {
4
+ /** Relation paths safe for findAll / repository relations, e.g. 'customFields.brand'. */
5
+ relations: string[];
6
+ /** Names of relation custom fields whose entity is the owner entity itself. */
7
+ selfRelationNames: string[];
8
+ }
9
+ /**
10
+ * Splits an entity's relation custom fields into paths that can be loaded through
11
+ * `ProductService.findAll` / repository `relations`, and self-referencing fields (a Product field
12
+ * relating to Product, a ProductVariant field relating to ProductVariant). TypeORM joins a
13
+ * self-referencing relation under the owner table's own alias a second time, which Postgres rejects
14
+ * ("table name specified more than once"), so those must be loaded with
15
+ * {@link loadSelfRelationCustomFieldIds} instead.
16
+ */
17
+ export declare function splitSelfRelationCustomFields(fields: CustomFieldConfig[], owner: typeof Product | typeof ProductVariant, prefix: string): SelfRelationSplit;
18
+ /**
19
+ * Loads the related ids of self-referencing relation custom fields with an explicit join alias,
20
+ * one query per field. Returns a map keyed by the stringified owner id; each entry holds every
21
+ * requested field: `ID | null` for a single relation, `ID[]` (possibly empty) for a list.
22
+ */
23
+ export declare function loadSelfRelationCustomFieldIds(repository: Repository<Product> | Repository<ProductVariant>, alias: string, ids: ID[], fields: Array<{
24
+ name: string;
25
+ list: boolean;
26
+ }>): Promise<Map<string, Record<string, ID | ID[] | null>>>;