@haus-tech/product-import-export-plugin 3.6.3 → 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.
- package/CHANGELOG.md +20 -64
- package/{README.mdx → README.md} +62 -35
- package/package.json +9 -9
- package/src/dashboard/bulk-export.tsx +1 -0
- package/src/dashboard/export-configuration-panel.tsx +448 -0
- package/src/dashboard/export-dialog.tsx +22 -285
- package/src/dashboard/export.tsx +52 -17
- package/src/dashboard/exported-list.tsx +176 -96
- package/src/dashboard/import.tsx +286 -149
- package/src/dashboard/index.tsx +27 -28
- package/src/dashboard/use-active-channel-key.ts +7 -0
- package/src/product-import-export.plugin.d.ts +6 -0
- package/src/product-import-export.plugin.js +29 -1
- package/src/product-import-export.plugin.js.map +1 -1
- package/src/providers/import-providers/asset-importer.js +27 -8
- package/src/providers/import-providers/asset-importer.js.map +1 -1
- package/src/providers/import-providers/import-parser.d.ts +1 -0
- package/src/providers/import-providers/import-parser.js +18 -2
- package/src/providers/import-providers/import-parser.js.map +1 -1
- package/src/providers/import-providers/product-importer.d.ts +10 -0
- package/src/providers/import-providers/product-importer.js +111 -20
- package/src/providers/import-providers/product-importer.js.map +1 -1
- package/src/services/export-storage/export-storage-strategy.d.ts +8 -0
- package/src/services/extended-fast-importer.service.js +20 -12
- package/src/services/extended-fast-importer.service.js.map +1 -1
- package/src/services/import-storage/import-job-storage-strategy.d.ts +9 -0
- package/src/services/product-export.service.d.ts +20 -6
- package/src/services/product-export.service.js +165 -40
- package/src/services/product-export.service.js.map +1 -1
- package/src/services/self-relation-custom-fields.d.ts +26 -0
- package/src/services/self-relation-custom-fields.js +67 -0
- package/src/services/self-relation-custom-fields.js.map +1 -0
- 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,
|
|
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,
|
|
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
|
|
33
|
-
*
|
|
34
|
-
*
|
|
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,
|
|
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;
|
|
@@ -136,7 +142,10 @@ let ProductExportService = class ProductExportService {
|
|
|
136
142
|
})), { id: 'enabled', title: 'enabled' });
|
|
137
143
|
const configuredCustomColumns = this.options.exportOptions.customExportColumns ?? [];
|
|
138
144
|
headers.push(...configuredCustomColumns.map((col) => ({ id: col.name, title: col.name })));
|
|
139
|
-
const selectedExportFieldsArray = selectedExportFields
|
|
145
|
+
const selectedExportFieldsArray = selectedExportFields
|
|
146
|
+
.split(',')
|
|
147
|
+
.map((field) => field.trim())
|
|
148
|
+
.filter(Boolean);
|
|
140
149
|
const selectedExportFieldsSet = new Set(selectedExportFieldsArray);
|
|
141
150
|
const selectedCustomColumns = configuredCustomColumns.filter((col) => selectedExportFieldsSet.has(col.name));
|
|
142
151
|
for (const col of selectedCustomColumns) {
|
|
@@ -164,40 +173,59 @@ let ProductExportService = class ProductExportService {
|
|
|
164
173
|
let currentPage = 1;
|
|
165
174
|
let hasMore = true;
|
|
166
175
|
let processedItems = 0;
|
|
167
|
-
|
|
168
|
-
|
|
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}`));
|
|
169
184
|
while (hasMore) {
|
|
170
185
|
const { items, totalItems } = await this.productService.findAll(ctx, {
|
|
171
186
|
filter: {
|
|
172
187
|
id: { in: selectionIds },
|
|
173
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 },
|
|
174
192
|
skip: (currentPage - 1) * pageSize,
|
|
175
193
|
take: pageSize,
|
|
176
194
|
}, [
|
|
177
|
-
'variants',
|
|
178
195
|
'facetValues',
|
|
179
196
|
'facetValues.facet',
|
|
180
197
|
'optionGroups',
|
|
181
198
|
'assets',
|
|
182
|
-
|
|
183
|
-
'variants.facetValues',
|
|
184
|
-
'variants.facetValues.facet',
|
|
185
|
-
'variants.options',
|
|
186
|
-
...productRelationCustomFields,
|
|
187
|
-
...variantRelationCustomFields,
|
|
199
|
+
...productRelations.relations,
|
|
188
200
|
]);
|
|
201
|
+
await this.applySelfRelationCustomFields(ctx, 'product', items, productSelfRelationNames);
|
|
189
202
|
hasMore = currentPage * pageSize < totalItems;
|
|
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
|
+
}
|
|
190
216
|
// Fetch stock on hand for the whole page in a single query. Doing this up front (instead of
|
|
191
217
|
// per-product, in parallel) avoids firing many concurrent queries over the request's single
|
|
192
218
|
// shared DB connection, which node-postgres serializes anyway and which, for large exports,
|
|
193
219
|
// starves the event loop long enough for BullMQ to lose the job lock.
|
|
194
220
|
const stockOnHandByVariantId = includeStockOnHand
|
|
195
|
-
? await this.getStockOnHandMap(ctx, items.flatMap((product) => product.variants
|
|
221
|
+
? await this.getStockOnHandMap(ctx, items.flatMap((product) => product.variants
|
|
222
|
+
.filter((variant) => !variant.deletedAt)
|
|
223
|
+
.map((variant) => variant.id)))
|
|
196
224
|
: new Map();
|
|
197
|
-
// Process products sequentially.
|
|
198
|
-
//
|
|
199
|
-
// no benefit to running these concurrently on the shared
|
|
200
|
-
// await yields to the event loop so BullMQ can renew the job lock.
|
|
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.
|
|
201
229
|
for (const product of items) {
|
|
202
230
|
await this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, selectedCustomColumns, injector);
|
|
203
231
|
}
|
|
@@ -243,6 +271,85 @@ let ProductExportService = class ProductExportService {
|
|
|
243
271
|
throw error;
|
|
244
272
|
}
|
|
245
273
|
}
|
|
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
|
+
}
|
|
246
353
|
async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand, stockOnHandByVariantId, customColumns, injector) {
|
|
247
354
|
const records = [];
|
|
248
355
|
const { assets = [], facetValues = [], optionGroups = [], variants = [], translations = [], customFields = {}, } = product;
|
|
@@ -254,7 +361,10 @@ let ProductExportService = class ProductExportService {
|
|
|
254
361
|
const productAssets = assets.length === 0
|
|
255
362
|
? ''
|
|
256
363
|
: assets.length > 0
|
|
257
|
-
? this.handleAssets(
|
|
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)
|
|
258
368
|
: this.handleAssets([product.featuredAsset], exportAssetsAs);
|
|
259
369
|
const productFacets = languages.reduce((acc, lang) => {
|
|
260
370
|
acc[lang] = facetValues
|
|
@@ -265,13 +375,16 @@ let ProductExportService = class ProductExportService {
|
|
|
265
375
|
}, {});
|
|
266
376
|
const optionGroupNames = languages.reduce((acc, lang) => {
|
|
267
377
|
acc[lang] = (0, lodash_1.sortBy)(optionGroups, (g) => g.id)
|
|
268
|
-
.map((group) => this.
|
|
378
|
+
.map((group) => this.formatOptionGroupForExport(group, lang))
|
|
269
379
|
.filter((name) => name)
|
|
270
380
|
.join('|');
|
|
271
381
|
return acc;
|
|
272
382
|
}, {});
|
|
273
383
|
const convertToHTML = (text) => {
|
|
274
|
-
return text
|
|
384
|
+
return text
|
|
385
|
+
.replace(/\n/g, '<br>')
|
|
386
|
+
.replace(/\t/g, ' ')
|
|
387
|
+
.replace(/,\s*'/g, ", '");
|
|
275
388
|
};
|
|
276
389
|
const firstRowProductColumnsByLang = languages.reduce((acc, lang) => {
|
|
277
390
|
const escapedDescription = convertToHTML(descriptionTranslations[lang] || '');
|
|
@@ -297,7 +410,7 @@ let ProductExportService = class ProductExportService {
|
|
|
297
410
|
.join('|');
|
|
298
411
|
return acc;
|
|
299
412
|
}, {});
|
|
300
|
-
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);
|
|
301
414
|
const variantFacets = languages.reduce((acc, lang) => {
|
|
302
415
|
acc[lang] = (variant.facetValues || [])
|
|
303
416
|
.map((facet) => this.mapFacetTranslations(facet, lang))
|
|
@@ -315,7 +428,8 @@ let ProductExportService = class ProductExportService {
|
|
|
315
428
|
record[`slug:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`slug:${lang}`] : '';
|
|
316
429
|
record[`description:${lang}`] =
|
|
317
430
|
variantIndex === 0 ? firstRowProductColumns[`description:${lang}`] : '';
|
|
318
|
-
record[`facets:${lang}`] =
|
|
431
|
+
record[`facets:${lang}`] =
|
|
432
|
+
variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
|
|
319
433
|
record[`optionGroups:${lang}`] =
|
|
320
434
|
variantIndex === 0 ? firstRowProductColumns[`optionGroups:${lang}`] : '';
|
|
321
435
|
record[`optionValues:${lang}`] = variantValues[lang];
|
|
@@ -452,25 +566,25 @@ let ProductExportService = class ProductExportService {
|
|
|
452
566
|
return customFields[fieldName];
|
|
453
567
|
}
|
|
454
568
|
/**
|
|
455
|
-
* Fetches
|
|
456
|
-
*
|
|
457
|
-
*
|
|
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.
|
|
458
573
|
*/
|
|
459
574
|
async getStockOnHandMap(ctx, variantIds) {
|
|
460
575
|
const stockOnHandByVariantId = new Map();
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
stockOnHandByVariantId.set(String(row.variantId), Number(row.stockOnHand) || 0);
|
|
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
|
+
}
|
|
474
588
|
}
|
|
475
589
|
return stockOnHandByVariantId;
|
|
476
590
|
}
|
|
@@ -494,6 +608,16 @@ let ProductExportService = class ProductExportService {
|
|
|
494
608
|
}
|
|
495
609
|
return `${facetNameTranslations[lang]}:${facetValueTranslations[lang]}`;
|
|
496
610
|
}
|
|
611
|
+
formatOptionGroupForExport(group, lang) {
|
|
612
|
+
const translatedName = this.mapTranslations(group.translations, 'name', [lang])[lang];
|
|
613
|
+
if (!translatedName) {
|
|
614
|
+
return '';
|
|
615
|
+
}
|
|
616
|
+
if (!group.code) {
|
|
617
|
+
return translatedName;
|
|
618
|
+
}
|
|
619
|
+
return `${translatedName}:${group.code}`;
|
|
620
|
+
}
|
|
497
621
|
async hasMultiVariantProducts(ctx, selectionIds) {
|
|
498
622
|
const pageSize = 100;
|
|
499
623
|
let skip = 0;
|
|
@@ -507,6 +631,7 @@ let ProductExportService = class ProductExportService {
|
|
|
507
631
|
},
|
|
508
632
|
}
|
|
509
633
|
: {}),
|
|
634
|
+
sort: { id: generated_types_1.SortOrder.ASC },
|
|
510
635
|
skip,
|
|
511
636
|
take: pageSize,
|
|
512
637
|
}, ['variants']);
|
|
@@ -525,6 +650,7 @@ let ProductExportService = class ProductExportService {
|
|
|
525
650
|
let totalItems = 0;
|
|
526
651
|
do {
|
|
527
652
|
const { items, totalItems: total } = await this.productService.findAll(ctx, {
|
|
653
|
+
sort: { id: generated_types_1.SortOrder.ASC },
|
|
528
654
|
skip: offset,
|
|
529
655
|
take: limit,
|
|
530
656
|
});
|
|
@@ -581,7 +707,6 @@ exports.ProductExportService = ProductExportService = __decorate([
|
|
|
581
707
|
__param(0, (0, common_1.Inject)(constants_1.PRODUCT_IMPORT_EXPORT_PLUGIN_OPTIONS)),
|
|
582
708
|
__param(1, (0, common_1.Inject)(constants_1.EXPORT_STORAGE_STRATEGY)),
|
|
583
709
|
__metadata("design:paramtypes", [Object, Object, core_2.ProductService,
|
|
584
|
-
core_2.StockLevelService,
|
|
585
710
|
core_2.ChannelService,
|
|
586
711
|
core_2.ConfigService,
|
|
587
712
|
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>>>;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.splitSelfRelationCustomFields = splitSelfRelationCustomFields;
|
|
4
|
+
exports.loadSelfRelationCustomFieldIds = loadSelfRelationCustomFieldIds;
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
/** Owner ids per query, far below Postgres' 65 535 bind parameter limit. */
|
|
7
|
+
const ID_CHUNK_SIZE = 1000;
|
|
8
|
+
/**
|
|
9
|
+
* Splits an entity's relation custom fields into paths that can be loaded through
|
|
10
|
+
* `ProductService.findAll` / repository `relations`, and self-referencing fields (a Product field
|
|
11
|
+
* relating to Product, a ProductVariant field relating to ProductVariant). TypeORM joins a
|
|
12
|
+
* self-referencing relation under the owner table's own alias a second time, which Postgres rejects
|
|
13
|
+
* ("table name specified more than once"), so those must be loaded with
|
|
14
|
+
* {@link loadSelfRelationCustomFieldIds} instead.
|
|
15
|
+
*/
|
|
16
|
+
function splitSelfRelationCustomFields(fields, owner, prefix) {
|
|
17
|
+
const relationFields = fields.filter((field) => field.type === 'relation');
|
|
18
|
+
return {
|
|
19
|
+
relations: relationFields
|
|
20
|
+
.filter((field) => field.entity !== owner)
|
|
21
|
+
.map((field) => `${prefix}${field.name}`),
|
|
22
|
+
selfRelationNames: relationFields
|
|
23
|
+
.filter((field) => field.entity === owner)
|
|
24
|
+
.map((field) => field.name),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Loads the related ids of self-referencing relation custom fields with an explicit join alias,
|
|
29
|
+
* one query per field. Returns a map keyed by the stringified owner id; each entry holds every
|
|
30
|
+
* requested field: `ID | null` for a single relation, `ID[]` (possibly empty) for a list.
|
|
31
|
+
*/
|
|
32
|
+
async function loadSelfRelationCustomFieldIds(repository, alias, ids, fields) {
|
|
33
|
+
const byOwnerId = new Map();
|
|
34
|
+
if (ids.length === 0 || fields.length === 0) {
|
|
35
|
+
return byOwnerId;
|
|
36
|
+
}
|
|
37
|
+
for (const id of ids) {
|
|
38
|
+
byOwnerId.set(String(id), Object.fromEntries(fields.map((field) => [field.name, field.list ? [] : null])));
|
|
39
|
+
}
|
|
40
|
+
for (const [field, idChunk] of fields.flatMap((field) => (0, lodash_1.chunk)(ids, ID_CHUNK_SIZE).map((idChunk) => [field, idChunk]))) {
|
|
41
|
+
const rows = await repository
|
|
42
|
+
.createQueryBuilder(alias)
|
|
43
|
+
.select(`${alias}.id`, 'ownerId')
|
|
44
|
+
.addSelect('related.id', 'relatedId')
|
|
45
|
+
.innerJoin(`${alias}.customFields.${field.name}`, 'related')
|
|
46
|
+
.where(`${alias}.id IN (:...ids)`, { ids: idChunk })
|
|
47
|
+
// A stable order for list fields; the join table stores no position.
|
|
48
|
+
.orderBy('related.id', 'ASC')
|
|
49
|
+
.getRawMany();
|
|
50
|
+
for (const row of rows) {
|
|
51
|
+
const entry = byOwnerId.get(String(row.ownerId));
|
|
52
|
+
if (!entry) {
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
const current = entry[field.name];
|
|
56
|
+
if (Array.isArray(current)) {
|
|
57
|
+
// The array was created above for this call only, so appending in place is safe.
|
|
58
|
+
current.push(row.relatedId);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
entry[field.name] = row.relatedId;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return byOwnerId;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=self-relation-custom-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-relation-custom-fields.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/self-relation-custom-fields.ts"],"names":[],"mappings":"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"}
|