@haus-tech/product-import-export-plugin 3.6.2 → 3.6.4

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 (30) hide show
  1. package/CHANGELOG.md +17 -34
  2. package/README.md +52 -2
  3. package/package.json +1 -3
  4. package/src/api/plugin.controller.d.ts +32 -2
  5. package/src/api/plugin.controller.js +30 -4
  6. package/src/api/plugin.controller.js.map +1 -1
  7. package/src/api/product-export.controller.d.ts +1 -0
  8. package/src/api/product-export.controller.js +17 -0
  9. package/src/api/product-export.controller.js.map +1 -1
  10. package/src/api/product-import.controller.js +1 -0
  11. package/src/api/product-import.controller.js.map +1 -1
  12. package/src/dashboard/export-configuration-panel.tsx +47 -3
  13. package/src/dashboard/import.tsx +2 -2
  14. package/src/dashboard/utils.ts +20 -3
  15. package/src/index.d.ts +1 -1
  16. package/src/product-import-export.plugin.js +24 -0
  17. package/src/product-import-export.plugin.js.map +1 -1
  18. package/src/providers/import-providers/product-importer.js +14 -4
  19. package/src/providers/import-providers/product-importer.js.map +1 -1
  20. package/src/services/product-export-queue.service.js +1 -1
  21. package/src/services/product-export-queue.service.js.map +1 -1
  22. package/src/services/product-export.service.d.ts +27 -7
  23. package/src/services/product-export.service.js +226 -48
  24. package/src/services/product-export.service.js.map +1 -1
  25. package/src/services/self-relation-custom-fields.d.ts +26 -0
  26. package/src/services/self-relation-custom-fields.js +67 -0
  27. package/src/services/self-relation-custom-fields.js.map +1 -0
  28. package/src/types.d.ts +29 -2
  29. package/src/ui/components/product-import.component.ts +1 -0
  30. package/README.mdx +0 -244
@@ -44,19 +44,19 @@ var __metadata = (this && this.__metadata) || function (k, v) {
44
44
  var __param = (this && this.__param) || function (paramIndex, decorator) {
45
45
  return function (target, key) { decorator(target, key, paramIndex); }
46
46
  };
47
- var __importDefault = (this && this.__importDefault) || function (mod) {
48
- return (mod && mod.__esModule) ? mod : { "default": mod };
49
- };
50
47
  Object.defineProperty(exports, "__esModule", { value: true });
51
48
  exports.ProductExportService = void 0;
52
49
  const common_1 = require("@nestjs/common");
53
- const core_1 = require("@vendure/core");
50
+ const core_1 = require("@nestjs/core");
51
+ const core_2 = require("@vendure/core");
52
+ const generated_types_1 = require("@vendure/common/lib/generated-types");
53
+ const typeorm_1 = require("typeorm");
54
54
  const constants_1 = require("../constants");
55
55
  const csv_writer_1 = require("csv-writer");
56
56
  const path = __importStar(require("path"));
57
57
  const fs_1 = require("fs");
58
58
  const lodash_1 = require("lodash");
59
- const bottleneck_1 = __importDefault(require("bottleneck"));
59
+ const self_relation_custom_fields_1 = require("./self-relation-custom-fields");
60
60
  /**
61
61
  * Formats a date as a timestamp string for use in filenames.
62
62
  * Format: YYYY-MM-DD_HH-MM-SS (e.g., "2024-01-15_14-30-45")
@@ -71,22 +71,36 @@ function formatTimestampForFilename(date = new Date()) {
71
71
  const seconds = String(date.getUTCSeconds()).padStart(2, '0');
72
72
  return `${year}-${month}-${day}_${hours}-${minutes}-${seconds}`;
73
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;
74
79
  let ProductExportService = class ProductExportService {
75
80
  options;
76
81
  exportStorageStrategy;
77
82
  productService;
78
- stockLevelService;
79
83
  channelService;
80
84
  configService;
81
- constructor(options, exportStorageStrategy, productService, stockLevelService, channelService, configService) {
85
+ connection;
86
+ moduleRef;
87
+ constructor(options, exportStorageStrategy, productService, channelService, configService, connection, moduleRef) {
82
88
  this.options = options;
83
89
  this.exportStorageStrategy = exportStorageStrategy;
84
90
  this.productService = productService;
85
- this.stockLevelService = stockLevelService;
86
91
  this.channelService = channelService;
87
92
  this.configService = configService;
93
+ this.connection = connection;
94
+ this.moduleRef = moduleRef;
88
95
  }
89
- async createExportFile(ctx, selectionIds, fileName, selectedCustomFields, exportAssetsAs, selectedExportFields, pageSize = 50, concurrency = 5) {
96
+ async createExportFile(ctx, selectionIds, fileName, selectedCustomFields, exportAssetsAs, selectedExportFields,
97
+ // Keep the page small: each page hydrates a deep relation graph (variants, facets, options,
98
+ // assets) synchronously. A smaller page keeps that synchronous chunk short so the event loop
99
+ // stays responsive and BullMQ can renew the job lock between pages on large catalogs.
100
+ pageSize = 25,
101
+ // Optional progress reporter (0-100), invoked once per processed page. Wire this to
102
+ // `job.setProgress` so the Admin UI reflects export progress instead of staying at 0%.
103
+ onProgress) {
90
104
  const channel = await this.channelService.findOne(ctx, ctx.channelId);
91
105
  if (!channel) {
92
106
  throw new Error('Channel not found');
@@ -119,12 +133,25 @@ let ProductExportService = class ProductExportService {
119
133
  headers.push({ id: `slug:${lang}`, title: `slug:${lang}` });
120
134
  headers.push({ id: `description:${lang}`, title: `description:${lang}` });
121
135
  }
136
+ // 'id' must NOT be the first CSV column: ProductImporter.extractProductIdsFromCSV
137
+ // treats column 0 as a Vendure product id and uses it for by-id matching on import.
138
+ headers.push({ id: 'id', title: 'id' });
122
139
  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) => ({
123
140
  id: field,
124
141
  title: field,
125
142
  })), { id: 'enabled', title: 'enabled' });
126
- const selectedExportFieldsArray = selectedExportFields.split(',');
143
+ const configuredCustomColumns = this.options.exportOptions.customExportColumns ?? [];
144
+ headers.push(...configuredCustomColumns.map((col) => ({ id: col.name, title: col.name })));
145
+ const selectedExportFieldsArray = selectedExportFields
146
+ .split(',')
147
+ .map((field) => field.trim())
148
+ .filter(Boolean);
127
149
  const selectedExportFieldsSet = new Set(selectedExportFieldsArray);
150
+ const selectedCustomColumns = configuredCustomColumns.filter((col) => selectedExportFieldsSet.has(col.name));
151
+ for (const col of selectedCustomColumns) {
152
+ await col.onExportStart?.();
153
+ }
154
+ const injector = new core_2.Injector(this.moduleRef);
128
155
  const filteredHeaders = headers.filter((header) => {
129
156
  // Ensure custom fields are not filtered out
130
157
  if (filteredCustomFieldNames.includes(header.id)) {
@@ -142,37 +169,78 @@ let ProductExportService = class ProductExportService {
142
169
  header: filteredHeaders,
143
170
  append: false,
144
171
  });
145
- const limiter = new bottleneck_1.default({
146
- maxConcurrent: concurrency,
147
- });
172
+ const includeStockOnHand = selectedExportFieldsSet.has('stockOnHand');
148
173
  let currentPage = 1;
149
174
  let hasMore = true;
150
- const productRelationCustomFields = this.configService.customFields.Product.filter((f) => f.type === 'relation').map((f) => `customFields.${f.name}`);
151
- const variantRelationCustomFields = this.configService.customFields.ProductVariant.filter((f) => f.type === 'relation').map((f) => `variants.customFields.${f.name}`);
175
+ let processedItems = 0;
176
+ // Self-referencing relation custom fields are kept out of the relation lists and loaded per
177
+ // page with an explicit join alias (see splitSelfRelationCustomFields).
178
+ const productRelations = (0, self_relation_custom_fields_1.splitSelfRelationCustomFields)(this.configService.customFields.Product, core_2.Product, 'customFields.');
179
+ const variantRelations = (0, self_relation_custom_fields_1.splitSelfRelationCustomFields)(this.configService.customFields.ProductVariant, core_2.ProductVariant, 'customFields.');
180
+ // Only the selected ones are written to the CSV, so only those are worth a query.
181
+ const selectedCustomFieldKeys = new Set(filteredCustomFieldNames.map((field) => field.split(':').slice(0, 2).join(':')));
182
+ const productSelfRelationNames = productRelations.selfRelationNames.filter((name) => selectedCustomFieldKeys.has(`product:${name}`));
183
+ const variantSelfRelationNames = variantRelations.selfRelationNames.filter((name) => selectedCustomFieldKeys.has(`variant:${name}`));
152
184
  while (hasMore) {
153
185
  const { items, totalItems } = await this.productService.findAll(ctx, {
154
186
  filter: {
155
187
  id: { in: selectionIds },
156
188
  },
189
+ // Without an explicit sort Vendure emits no ORDER BY, so offset paging is
190
+ // heap-ordered and can skip or repeat products between pages.
191
+ sort: { id: generated_types_1.SortOrder.ASC },
157
192
  skip: (currentPage - 1) * pageSize,
158
193
  take: pageSize,
159
194
  }, [
160
- 'variants',
161
195
  'facetValues',
162
196
  'facetValues.facet',
163
197
  'optionGroups',
164
198
  'assets',
165
- 'variants.assets',
166
- 'variants.facetValues',
167
- 'variants.facetValues.facet',
168
- 'variants.options',
169
- ...productRelationCustomFields,
170
- ...variantRelationCustomFields,
199
+ ...productRelations.relations,
171
200
  ]);
201
+ await this.applySelfRelationCustomFields(ctx, 'product', items, productSelfRelationNames);
172
202
  hasMore = currentPage * pageSize < totalItems;
173
- const exportPromises = items.map((product) => limiter.schedule(async () => this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, selectedExportFieldsSet.has('stockOnHand'))));
174
- await Promise.all(exportPromises);
203
+ // Variants are loaded separately in bounded chunks. Loading them through findAll's
204
+ // relation list lets TypeORM's query-strategy grouping run over every variant relation
205
+ // row on the page at once (O(variants × rows)); a page of 25 large products with ~4 000
206
+ // variants and ~47 000 asset rows took minutes and froze the worker's event loop.
207
+ const variantsByProductId = await this.loadVariantsForProducts(ctx, items.map((product) => product.id), ['assets', 'facetValues', 'facetValues.facet', 'options', ...variantRelations.relations]);
208
+ await this.applySelfRelationCustomFields(ctx, 'variant', Array.from(variantsByProductId.values()).flat(), variantSelfRelationNames);
209
+ for (const product of items) {
210
+ // The cast only satisfies the `Translated<Product>` typing: ProductService.findAll never
211
+ // translated variants either, and exportProduct reads `.translations` arrays off variants,
212
+ // options and facet values.
213
+ product.variants = (variantsByProductId.get(String(product.id)) ??
214
+ []);
215
+ }
216
+ // Fetch stock on hand for the whole page in a single query. Doing this up front (instead of
217
+ // per-product, in parallel) avoids firing many concurrent queries over the request's single
218
+ // shared DB connection, which node-postgres serializes anyway and which, for large exports,
219
+ // starves the event loop long enough for BullMQ to lose the job lock.
220
+ const stockOnHandByVariantId = includeStockOnHand
221
+ ? await this.getStockOnHandMap(ctx, items.flatMap((product) => product.variants
222
+ .filter((variant) => !variant.deletedAt)
223
+ .map((variant) => variant.id)))
224
+ : new Map();
225
+ // Process products sequentially. Variants were already loaded above by loadVariantsForProducts
226
+ // and the other relations by findAll, so each product is pure in-memory work plus a single
227
+ // sequential CSV write — there is no benefit to running these concurrently on the shared
228
+ // connection, and the per-product await yields to the event loop so BullMQ can renew the job lock.
229
+ for (const product of items) {
230
+ await this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, selectedCustomColumns, injector);
231
+ }
232
+ // Report progress after each page. Cap at 99 during the loop so the Admin UI only shows 100%
233
+ // once the job actually completes (the job queue strategy sets it to 100 on success).
234
+ processedItems += items.length;
235
+ if (onProgress && totalItems > 0) {
236
+ onProgress(Math.min(99, Math.round((processedItems / totalItems) * 100)));
237
+ }
175
238
  currentPage++;
239
+ // Yield to the event loop between pages. On a large catalog the export runs for a long time;
240
+ // without an explicit macrotask break BullMQ's lock-renewal timer cannot fire and the worker
241
+ // loses the job lock ("could not renew lock"), which with autoscaling lets another replica
242
+ // re-pick the same export. setImmediate lets the renewal timer run between pages.
243
+ await new Promise((resolve) => setImmediate(resolve));
176
244
  }
177
245
  // Rename .tmp file to final name when export is complete
178
246
  await fs_1.promises.rename(exportFile, finalExportFile);
@@ -203,7 +271,86 @@ let ProductExportService = class ProductExportService {
203
271
  throw error;
204
272
  }
205
273
  }
206
- async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand) {
274
+ /**
275
+ * Sets each self-referencing relation custom field on the given entities to `{ id }`,
276
+ * `[{ id }, …]` or `null`, the shapes {@link serializeRelationCustomFieldIds} reads.
277
+ */
278
+ async applySelfRelationCustomFields(ctx, owner, entities, fieldNames) {
279
+ if (fieldNames.length === 0 || entities.length === 0) {
280
+ return;
281
+ }
282
+ const repository = owner === 'product'
283
+ ? this.connection.getRepository(ctx, core_2.Product)
284
+ : this.connection.getRepository(ctx, core_2.ProductVariant);
285
+ 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) })));
286
+ for (const item of entities) {
287
+ const values = idsByEntityId.get(String(item.id)) ?? {};
288
+ const customFields = (item.customFields ?? {});
289
+ for (const name of fieldNames) {
290
+ const value = values[name];
291
+ customFields[name] = Array.isArray(value)
292
+ ? value.map((id) => ({ id }))
293
+ : value == null
294
+ ? null
295
+ : { id: value };
296
+ }
297
+ item.customFields = customFields;
298
+ }
299
+ }
300
+ /**
301
+ * Loads the non-deleted variants of the given products with the relations the export needs,
302
+ * in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants. TypeORM's `query` relation strategy
303
+ * groups relation rows with nested loops over (entities × rows), so the cost of one load is
304
+ * bounded by the chunk size instead of by the product page. Returns variants keyed by product
305
+ * id, each list in ascending variant id order.
306
+ */
307
+ async loadVariantsForProducts(ctx, productIds, variantRelations) {
308
+ const byProductId = new Map();
309
+ if (productIds.length === 0) {
310
+ return byProductId;
311
+ }
312
+ const repository = this.connection.getRepository(ctx, core_2.ProductVariant);
313
+ // loadEagerRelations false: the id-only query would otherwise still join every variant's
314
+ // eager translations and prices for the whole page (TypeORM joins eager relations regardless
315
+ // of `select`), the one load here that is bounded by the page instead of by the chunk size.
316
+ const idRows = await repository.find({
317
+ select: { id: true },
318
+ loadEagerRelations: false,
319
+ where: { productId: (0, typeorm_1.In)(productIds), deletedAt: (0, typeorm_1.IsNull)() },
320
+ order: { id: 'ASC' },
321
+ });
322
+ const idPosition = new Map(idRows.map((row, index) => [String(row.id), index]));
323
+ for (const ids of (0, lodash_1.chunk)(idRows.map((row) => row.id), VARIANT_LOAD_CHUNK_SIZE)) {
324
+ // No `order` here: with relationLoadStrategy 'query', TypeORM propagates the find's order
325
+ // into every relation sub-query via deepValue(order, relation.propertyPath), which throws
326
+ // for an embedded `customFields.<name>` relation path (reads a property off undefined).
327
+ const variants = await repository.find({
328
+ where: { id: (0, typeorm_1.In)(ids) },
329
+ relations: variantRelations,
330
+ relationLoadStrategy: 'query',
331
+ });
332
+ for (const variant of variants) {
333
+ const key = String(variant.productId);
334
+ const list = byProductId.get(key);
335
+ if (list) {
336
+ list.push(variant);
337
+ }
338
+ else {
339
+ byProductId.set(key, [variant]);
340
+ }
341
+ }
342
+ // Yield between chunks so BullMQ's lock renewal timer can fire on long pages.
343
+ await new Promise((resolve) => setImmediate(resolve));
344
+ }
345
+ // Restore ascending variant id order: chunks are loaded without an `order`, so within (and
346
+ // once merged, across) a product's list, variants are in the order the query-strategy joins
347
+ // return them, not id order.
348
+ for (const [key, list] of byProductId) {
349
+ byProductId.set(key, (0, lodash_1.sortBy)(list, (variant) => idPosition.get(String(variant.id))));
350
+ }
351
+ return byProductId;
352
+ }
353
+ async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, customColumns, injector) {
207
354
  const records = [];
208
355
  const { assets = [], facetValues = [], optionGroups = [], variants = [], translations = [], customFields = {}, } = product;
209
356
  const nameTranslations = this.mapTranslations(translations, 'name', languages);
@@ -211,13 +358,13 @@ let ProductExportService = class ProductExportService {
211
358
  const descriptionTranslations = this.mapTranslations(translations, 'description', languages);
212
359
  // Filter out all variants that are soft deleted
213
360
  const activeVariants = variants.filter((v) => !v.deletedAt);
214
- const stockOnHandByVariantId = includeStockOnHand
215
- ? await this.getStockOnHandMap(ctx, activeVariants.map((variant) => variant.id))
216
- : new Map();
217
361
  const productAssets = assets.length === 0
218
362
  ? ''
219
363
  : assets.length > 0
220
- ? this.handleAssets(assets.map(({ asset }) => asset), exportAssetsAs)
364
+ ? this.handleAssets(
365
+ // Sort by the stored position: row order is not position order, and the importer
366
+ // makes the first listed image the featured image.
367
+ (0, lodash_1.sortBy)(assets, (orderable) => orderable.position).map(({ asset }) => asset), exportAssetsAs)
221
368
  : this.handleAssets([product.featuredAsset], exportAssetsAs);
222
369
  const productFacets = languages.reduce((acc, lang) => {
223
370
  acc[lang] = facetValues
@@ -234,7 +381,10 @@ let ProductExportService = class ProductExportService {
234
381
  return acc;
235
382
  }, {});
236
383
  const convertToHTML = (text) => {
237
- return text.replace(/\n/g, '<br>').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/,\s*'/g, ", '");
384
+ return text
385
+ .replace(/\n/g, '<br>')
386
+ .replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')
387
+ .replace(/,\s*'/g, ", '");
238
388
  };
239
389
  const firstRowProductColumnsByLang = languages.reduce((acc, lang) => {
240
390
  const escapedDescription = convertToHTML(descriptionTranslations[lang] || '');
@@ -260,7 +410,7 @@ let ProductExportService = class ProductExportService {
260
410
  .join('|');
261
411
  return acc;
262
412
  }, {});
263
- const variantAssets = this.handleAssets(variant.assets.map(({ asset }) => asset), exportAssetsAs);
413
+ const variantAssets = this.handleAssets((0, lodash_1.sortBy)(variant.assets, (orderable) => orderable.position).map(({ asset }) => asset), exportAssetsAs);
264
414
  const variantFacets = languages.reduce((acc, lang) => {
265
415
  acc[lang] = (variant.facetValues || [])
266
416
  .map((facet) => this.mapFacetTranslations(facet, lang))
@@ -268,7 +418,9 @@ let ProductExportService = class ProductExportService {
268
418
  .join('|');
269
419
  return acc;
270
420
  }, {});
271
- const stockOnHand = includeStockOnHand ? (stockOnHandByVariantId.get(variant.id) ?? 0) : 0;
421
+ const stockOnHand = includeStockOnHand
422
+ ? (stockOnHandByVariantId.get(String(variant.id)) ?? 0)
423
+ : 0;
272
424
  const record = {};
273
425
  for (const lang of languages) {
274
426
  const firstRowProductColumns = firstRowProductColumnsByLang[lang];
@@ -276,7 +428,8 @@ let ProductExportService = class ProductExportService {
276
428
  record[`slug:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`slug:${lang}`] : '';
277
429
  record[`description:${lang}`] =
278
430
  variantIndex === 0 ? firstRowProductColumns[`description:${lang}`] : '';
279
- record[`facets:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
431
+ record[`facets:${lang}`] =
432
+ variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
280
433
  record[`optionGroups:${lang}`] =
281
434
  variantIndex === 0 ? firstRowProductColumns[`optionGroups:${lang}`] : '';
282
435
  record[`optionValues:${lang}`] = variantValues[lang];
@@ -284,6 +437,7 @@ let ProductExportService = class ProductExportService {
284
437
  }
285
438
  const productVariantPrices = variant.productVariantPrices.filter((price) => price.channelId === ctx.channelId);
286
439
  record.assets = variantIndex === 0 ? productAssets : '';
440
+ record.id = String(product.id);
287
441
  record.sku = variant.sku;
288
442
  record.price = productVariantPrices[0]?.price / 100; // Assuming the price is stored in cents
289
443
  record.taxCategory = 'standard'; // Replace with actual tax category if available
@@ -303,6 +457,16 @@ let ProductExportService = class ProductExportService {
303
457
  '';
304
458
  }
305
459
  }
460
+ for (const col of customColumns) {
461
+ try {
462
+ const value = await col.resolve(ctx, injector, product, variant);
463
+ record[col.name] = value == null ? '' : String(value);
464
+ }
465
+ catch (e) {
466
+ core_2.Logger.warn(`customExportColumns "${col.name}" failed for sku ${variant.sku}: ${e?.message ?? e}`, constants_1.loggerCtx);
467
+ record[col.name] = '';
468
+ }
469
+ }
306
470
  records.push(record);
307
471
  }
308
472
  await csvWriter.writeRecords(records);
@@ -377,7 +541,7 @@ let ProductExportService = class ProductExportService {
377
541
  }
378
542
  const relationDef = this.getRelationCustomFieldDef(owner, fieldName);
379
543
  if (relationDef) {
380
- if (relationDef.entity === core_1.Asset) {
544
+ if (relationDef.entity === core_2.Asset) {
381
545
  const assets = Array.isArray(fieldValue) ? fieldValue : [fieldValue];
382
546
  return this.handleAssets(assets, exportAssetsAs);
383
547
  }
@@ -401,17 +565,28 @@ let ProductExportService = class ProductExportService {
401
565
  }
402
566
  return customFields[fieldName];
403
567
  }
404
- // Method to fetch stock on hand for a variant
405
- async getStockOnHand(ctx, variantId) {
406
- const stockLevel = await this.stockLevelService.getAvailableStock(ctx, variantId);
407
- return stockLevel.stockOnHand;
408
- }
568
+ /**
569
+ * Fetches stock on hand for many variants, keyed by stringified variant id. Stock levels are
570
+ * read in chunks of {@link VARIANT_LOAD_CHUNK_SIZE} variants and aggregated per variant by the
571
+ * configured {@link StockLocationStrategy}, the same aggregation
572
+ * `StockLevelService.getAvailableStock` applies, without one query per variant.
573
+ */
409
574
  async getStockOnHandMap(ctx, variantIds) {
410
- const entries = await Promise.all(variantIds.map(async (variantId) => [
411
- variantId,
412
- await this.getStockOnHand(ctx, variantId),
413
- ]));
414
- return new Map(entries);
575
+ const stockOnHandByVariantId = new Map();
576
+ const { stockLocationStrategy } = this.configService.catalogOptions;
577
+ const repository = this.connection.getRepository(ctx, core_2.StockLevel);
578
+ for (const ids of (0, lodash_1.chunk)(variantIds, VARIANT_LOAD_CHUNK_SIZE)) {
579
+ const stockLevels = await repository.find({
580
+ where: { productVariantId: (0, typeorm_1.In)(ids) },
581
+ loadEagerRelations: false,
582
+ });
583
+ const levelsByVariantId = (0, lodash_1.groupBy)(stockLevels, (level) => String(level.productVariantId));
584
+ for (const id of ids) {
585
+ const available = await stockLocationStrategy.getAvailableStock(ctx, id, levelsByVariantId[String(id)] ?? []);
586
+ stockOnHandByVariantId.set(String(id), available.stockOnHand);
587
+ }
588
+ }
589
+ return stockOnHandByVariantId;
415
590
  }
416
591
  // Method to map translations for a specific field
417
592
  mapTranslations(translations, field, languages) {
@@ -456,6 +631,7 @@ let ProductExportService = class ProductExportService {
456
631
  },
457
632
  }
458
633
  : {}),
634
+ sort: { id: generated_types_1.SortOrder.ASC },
459
635
  skip,
460
636
  take: pageSize,
461
637
  }, ['variants']);
@@ -474,6 +650,7 @@ let ProductExportService = class ProductExportService {
474
650
  let totalItems = 0;
475
651
  do {
476
652
  const { items, totalItems: total } = await this.productService.findAll(ctx, {
653
+ sort: { id: generated_types_1.SortOrder.ASC },
477
654
  skip: offset,
478
655
  take: limit,
479
656
  });
@@ -529,9 +706,10 @@ exports.ProductExportService = ProductExportService = __decorate([
529
706
  (0, common_1.Injectable)(),
530
707
  __param(0, (0, common_1.Inject)(constants_1.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS)),
531
708
  __param(1, (0, common_1.Inject)(constants_1.EXPORT_STORAGE_STRATEGY)),
532
- __metadata("design:paramtypes", [Object, Object, core_1.ProductService,
533
- core_1.StockLevelService,
534
- core_1.ChannelService,
535
- core_1.ConfigService])
709
+ __metadata("design:paramtypes", [Object, Object, core_2.ProductService,
710
+ core_2.ChannelService,
711
+ core_2.ConfigService,
712
+ core_2.TransactionalConnection,
713
+ core_1.ModuleRef])
536
714
  ], ProductExportService);
537
715
  //# sourceMappingURL=product-export.service.js.map
@@ -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>>>;