@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.
- package/CHANGELOG.md +26 -54
- package/{README.mdx → README.md} +64 -35
- package/package.json +10 -10
- 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 +42 -4
- 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 +174 -45
- 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;
|
|
@@ -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
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
|
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
|
-
|
|
168
|
-
|
|
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
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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(
|
|
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.
|
|
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
|
|
385
|
+
return text
|
|
386
|
+
.replace(/\n/g, '<br>')
|
|
387
|
+
.replace(/\t/g, ' ')
|
|
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}`] =
|
|
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
|
-
|
|
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
|
|
456
|
-
*
|
|
457
|
-
*
|
|
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
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAmD;AACnD,uCAAwC;AACxC,wCAesB;AACtB,4CAAuG;AAEvG,2CAAkD;AAClD,2CAA4B;AAC5B,2BAA0D;AAC1D,mCAAoD;AAmBpD;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,OAAa,IAAI,IAAI,EAAE;IACzD,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE7D,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,IAAI,KAAK,IAAI,OAAO,IAAI,OAAO,EAAE,CAAA;AACjE,CAAC;AAGM,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAEyB;IACb;IACjC;IACA;IACA;IACA;IACA;IACA;IARV,YACwD,OAA0B,EACvC,qBAA4C,EAC7E,cAA8B,EAC9B,iBAAoC,EACpC,cAA8B,EAC9B,aAA4B,EAC5B,UAAmC,EACnC,SAAoB;QAP0B,YAAO,GAAP,OAAO,CAAmB;QACvC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC7E,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,eAAU,GAAV,UAAU,CAAyB;QACnC,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IAEJ,KAAK,CAAC,gBAAgB,CACpB,GAAmB,EACnB,YAAkB,EAClB,QAAgB,EAChB,oBAA4B,EAC5B,cAA8B,EAC9B,oBAA4B;IAC5B,4FAA4F;IAC5F,6FAA6F;IAC7F,sFAAsF;IACtF,QAAQ,GAAG,EAAE;IACb,oFAAoF;IACpF,uFAAuF;IACvF,UAAsC;QAEtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;QAErE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACtC,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,sBAAsB,CAAA;QAEhD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,YAAwB,CAAC,CAAA;QACrF,MAAM,wBAAwB,GAAG,oBAAoB;aAClD,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;aACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;YAC/D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACnD,CAAC,CAAC,CAAA;QAEJ,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC,CAAA;QAC/E,IAAI,CAAC,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACzB,IAAA,cAAS,EAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAA;QAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAC1C,MAAM,mBAAmB,GAAG,GAAG,IAAI,IAAI,SAAS,GAAG,GAAG,EAAE,CAAA;QACxD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;QAC/D,qIAAqI;QACrI,MAAM,UAAU,GAAG,GAAG,eAAe,MAAM,CAAA;QAE3C,MAAM,OAAO,GAAoC,EAAE,CAAA;QAEnD,+BAA+B;QAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,CAAC,CAAA;QAC3E,CAAC;QAED,kFAAkF;QAClF,oFAAoF;QACpF,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAEvC,OAAO,CAAC,IAAI,CACV,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,EACjC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC,CAAC,EAC/E,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE,CAAC,CAAC,EAC3F,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,gBAAgB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,IAAI,EAAE,EAAE,CAAC,CAAC,EAC3F,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAC3B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAC/B,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAC3C,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,EAC3C,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,EACjD,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,EAC/C,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,CAAC,EAC7F,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,KAAK;SACb,CAAC,CAAC,EACH,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CACpC,CAAA;QAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,IAAI,EAAE,CAAA;QACpF,OAAO,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAE1F,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACjE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAA;QAElE,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACnE,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CACtC,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;YACxC,MAAM,GAAG,CAAC,aAAa,EAAE,EAAE,CAAA;QAC7B,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,eAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAE7C,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAChD,4CAA4C;YAC5C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,OAAO,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3C,CAAC;YACD,OAAO,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAA,kCAAqB,EAAC;gBACtC,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,eAAe;gBACvB,MAAM,EAAE,KAAK;aACd,CAAC,CAAA;YAEF,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YAErE,IAAI,WAAW,GAAG,CAAC,CAAA;YACnB,IAAI,OAAO,GAAG,IAAI,CAAA;YAClB,IAAI,cAAc,GAAG,CAAC,CAAA;YAEtB,MAAM,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAChF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAC7B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAW,CAAC,CAAA;YAE/C,MAAM,2BAA2B,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,CACvF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAC7B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,IAAI,EAAW,CAAC,CAAA;YAExD,OAAO,OAAO,EAAE,CAAC;gBACf,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7D,GAAG,EACH;oBACE,MAAM,EAAE;wBACN,EAAE,EAAE,EAAE,EAAE,EAAE,YAAwB,EAAE;qBACrC;oBACD,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,QAAQ;oBAClC,IAAI,EAAE,QAAQ;iBACf,EACD;oBACE,UAAU;oBACV,aAAa;oBACb,mBAAmB;oBACnB,cAAc;oBACd,QAAQ;oBACR,iBAAiB;oBACjB,sBAAsB;oBACtB,4BAA4B;oBAC5B,kBAAkB;oBAClB,GAAG,2BAA2B;oBAC9B,GAAG,2BAA2B;iBAC/B,CACF,CAAA;gBAED,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAA;gBAE7C,4FAA4F;gBAC5F,4FAA4F;gBAC5F,4FAA4F;gBAC5F,sEAAsE;gBACtE,MAAM,sBAAsB,GAAG,kBAAkB;oBAC/C,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAC1B,GAAG,EACH,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CACtF,CACF;oBACH,CAAC,CAAC,IAAI,GAAG,EAAkB,CAAA;gBAE7B,6FAA6F;gBAC7F,8FAA8F;gBAC9F,yFAAyF;gBACzF,mEAAmE;gBACnE,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,aAAa,CACtB,GAAG,EACH,OAAO,EACP,SAAS,EACT,wBAAwB,EACxB,cAAc,EACd,SAAS,EACT,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,CACT,CAAA;gBACH,CAAC;gBAED,6FAA6F;gBAC7F,sFAAsF;gBACtF,cAAc,IAAI,KAAK,CAAC,MAAM,CAAA;gBAC9B,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACjC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC3E,CAAC;gBAED,WAAW,EAAE,CAAA;gBAEb,6FAA6F;gBAC7F,6FAA6F;gBAC7F,2FAA2F;gBAC3F,kFAAkF;gBAClF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAA;YAC7D,CAAC;YAED,yDAAyD;YACzD,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;YAE5C,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,GAAG,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAAA;YAC3F,IAAI,CAAC;gBACH,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;oBAChC,MAAM,aAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wBAAwB;YAC1B,CAAC;YACD,OAAO,mBAAmB,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uDAAuD;YACvD,IAAI,CAAC;gBACH,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;oBAC3B,MAAM,aAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBAC7B,CAAC;gBAED,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,EAAE,CAAC;oBAChC,MAAM,aAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAA;YAC/D,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,GAAmB,EACnB,OAAgB,EAChB,SAAyB,EACzB,wBAAkC,EAClC,cAA8B,EAC9B,SAAyB,EACzB,kBAA2B,EAC3B,sBAA2C,EAC3C,aAAmC,EACnC,QAAkB;QAElB,MAAM,OAAO,GAAU,EAAE,CAAA;QACzB,MAAM,EACJ,MAAM,GAAG,EAAE,EACX,WAAW,GAAG,EAAE,EAChB,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,EAAE,EACb,YAAY,GAAG,EAAE,EACjB,YAAY,GAAG,EAAE,GAClB,GAAG,OAAO,CAAA;QACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAA;QAC9E,MAAM,uBAAuB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,CAAA;QAE5F,gDAAgD;QAChD,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAE3D,MAAM,aAAa,GACjB,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,IAAI,CAAC,YAAY,CACf,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAChC,cAAc,CACf;gBACH,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,CAAA;QAClE,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW;iBACpB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;iBAChE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;iBACxB,IAAI,CAAC,GAAG,CAAC,CAAA;YACZ,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAA+B,CAChC,CAAA;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,GAAG,CAAC,IAAI,CAAC,GAAG,IAAA,eAAM,EAAC,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC9E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;iBACtB,IAAI,CAAC,GAAG,CAAC,CAAA;YACZ,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAA+B,CAChC,CAAA;QAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE;YACrC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;QACxG,CAAC,CAAA;QAED,MAAM,4BAA4B,GAAG,SAAS,CAAC,MAAM,CACnD,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACZ,MAAM,kBAAkB,GAAG,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAC7E,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBAC/C,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;iBAClB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;iBACxB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG;gBACV,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE;gBACnC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC9C,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,kBAAkB,IAAI,EAAE;gBACjD,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC;gBACvC,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC;aACjD,CAAA;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAKC,CACF,CAAA;QAED,KAAK,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;qBAC1D,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBAChF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;qBACtB,IAAI,CAAC,GAAG,CAAC,CAAA;gBACZ,OAAO,GAAG,CAAA;YACZ,CAAC,EACD,EAA+B,CAChC,CAAA;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CACrC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EACxC,cAAc,CACf,CAAA;YAED,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;qBACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;qBACtD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;qBACxB,IAAI,CAAC,GAAG,CAAC,CAAA;gBACZ,OAAO,GAAG,CAAA;YACZ,CAAC,EACD,EAA+B,CAChC,CAAA;YAED,MAAM,WAAW,GAAG,kBAAkB;gBACpC,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC,CAAA;YAEL,MAAM,MAAM,GAAQ,EAAE,CAAA;YAEtB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,MAAM,sBAAsB,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAA;gBACjE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACzF,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACzF,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;oBAC3B,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBACzE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC7F,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;oBAC5B,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC1E,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;gBACpD,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,CAC7C,CAAA;YACD,MAAM,CAAC,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAA;YACvD,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC9B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;YACxB,MAAM,CAAC,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,GAAG,CAAA,CAAC,wCAAwC;YAC5F,MAAM,CAAC,WAAW,GAAG,UAAU,CAAA,CAAC,gDAAgD;YAChF,MAAM,CAAC,WAAW,GAAG,WAAW,CAAA;YAChC,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,CAAA;YAC5D,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;YACpC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;YAE3C,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;gBAC7C,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAiD,CAAA;gBAC3F,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC;wBACX,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;gBACrF,CAAC;qBAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC;wBACX,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC;4BACnF,EAAE,CAAA;gBACN,CAAC;YACH,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;oBAChE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvD,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,aAAM,CAAC,IAAI,CACT,wBAAwB,GAAG,CAAC,IAAI,oBAAoB,OAAO,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,EACrF,qBAAS,CACV,CAAA;oBACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;gBACvB,CAAC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QACD,MAAM,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAEO,YAAY,CAAC,MAAe,EAAE,cAA8B;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,cAAc,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACtD,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,MAAM,CAAC,MAAM,GAAG,CAAC;YACf,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACrB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,MAAM;aAClB,CAAC,CAAC;YACL,CAAC,CAAC;gBACE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI;gBACpB,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;aACtB,CACN;aACE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,2CAA2C;aAC9D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,gDAAgD;aACrE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA,CAAC,oCAAoC;IAClE,CAAC;IAED;;;OAGG;IACK,+BAA+B,CAAC,UAAmB;QACzD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,EAAE,CAAA;QACX,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;oBAC9D,OAAO,MAAM,CAAE,IAAmB,CAAC,EAAE,CAAC,CAAA;gBACxC,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;YACzD,OAAO,CAAC,MAAM,CAAE,UAAyB,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC7B,CAAC;IAEO,iBAAiB,CAAC,KAA4B,EAAE,SAAiB;QACvE,MAAM,IAAI,GACR,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO;YACzC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAClD,OAAO,GAAG,EAAE,IAAI,KAAK,IAAI,CAAA;IAC3B,CAAC;IAED;;OAEG;IACK,yBAAyB,CAC/B,KAA4B,EAC5B,SAAiB;QAEjB,MAAM,IAAI,GACR,KAAK,KAAK,SAAS;YACjB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO;YACzC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAA;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;QAClD,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,kBAAkB,CACxB,YAAiC,EACjC,SAAiB,EACjB,cAA8B,EAC9B,KAA4B;QAE5B,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAC1C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;YAC5C,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACpE,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,WAAW,CAAC,MAAM,KAAK,YAAK,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;gBACpE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YAClD,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAA;YAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAM;YACR,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACvD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;iBACjD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,2CAA2C;iBAC9D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,gDAAgD;iBACrE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA,CAAC,oCAAoC;YAChE,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,IAAA,mBAAU,EAAC,UAAU,EAAE,GAAG,CAAC,IAAI,IAAA,mBAAU,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YAC/D,YAAY,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;YAC5E,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;QAED,OAAO,YAAY,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,iBAAiB,CAC7B,GAAmB,EACnB,UAAgB;QAEhB,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,sBAAsB,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU;aAC/B,aAAa,CAAC,GAAG,EAAE,iBAAU,CAAC;aAC9B,kBAAkB,CAAC,YAAY,CAAC;aAChC,MAAM,CAAC,6BAA6B,EAAE,WAAW,CAAC;aAClD,SAAS,CAAC,6BAA6B,EAAE,aAAa,CAAC;aACvD,KAAK,CAAC,iDAAiD,EAAE,EAAE,UAAU,EAAE,CAAC;aACxE,OAAO,CAAC,6BAA6B,CAAC;aACtC,UAAU,EAAmD,CAAA;QAEhE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,sBAAsB,CAAA;IAC/B,CAAC;IAED,kDAAkD;IAC1C,eAAe,CAAC,YAAmB,EAAE,KAAa,EAAE,SAAmB;QAC7E,MAAM,cAAc,GAAmB,EAAE,CAAA;QACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAA;YACrE,cAAc,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAC9D,CAAC;QAED,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,mCAAmC;IAC3B,oBAAoB,CAAC,UAAe,EAAE,IAAY;QACxD,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE;YACxF,IAAI;SACL,CAAC,CAAA;QACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5F,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAA;IACzE,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,GAAmB,EAAE,YAAmB;QACpE,MAAM,QAAQ,GAAG,GAAG,CAAA;QACpB,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,OAAO,OAAO,EAAE,CAAC;YACf,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC7D,GAAG,EACH;gBACE,GAAG,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC;wBACE,MAAM,EAAE;4BACN,EAAE,EAAE,EAAE,EAAE,EAAE,YAAwB,EAAE;yBACrC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,IAAI;gBACJ,IAAI,EAAE,QAAQ;aACf,EACD,CAAC,UAAU,CAAC,CACb,CAAA;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjG,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,IAAI,QAAQ,CAAA;YAChB,OAAO,GAAG,IAAI,GAAG,UAAU,CAAA;QAC7B,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAmB;QACxC,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,KAAK,GAAG,GAAG,CAAA;QACjB,MAAM,UAAU,GAAS,EAAE,CAAA;QAC3B,IAAI,UAAU,GAAG,CAAC,CAAA;QAElB,GAAG,CAAC;YACF,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC1E,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,KAAK;aACZ,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;YACtD,UAAU,GAAG,KAAK,CAAA;YAClB,MAAM,IAAI,KAAK,CAAA;QACjB,CAAC,QAAQ,UAAU,CAAC,MAAM,GAAG,UAAU,EAAC;QAExC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,GAAmB,EAAE,UAAoB;QAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkC,CAAA;QAE9D,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACzD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;gBAE3C,YAAY,CAAC,GAAG,CAAC;oBACf,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,iBAAiB,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAA;gBAEF,OAAM;YACR,CAAC;YAED,YAAY,CAAC,GAAG,CAAC;gBACf,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;YAChE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAA;gBAE3C,YAAY,CAAC,GAAG,CAAC;oBACf,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;oBAC7B,IAAI,EAAE,iBAAiB,CAAC,WAAW,EAAE;iBACtC,CAAC,CAAA;gBAEF,OAAM;YACR,CAAC;YAED,YAAY,CAAC,GAAG,CAAC;gBACf,IAAI,EAAE,WAAW,KAAK,CAAC,IAAI,EAAE;gBAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF,CAAA;AAnrBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,gDAAoC,CAAC,CAAA;IAC5C,WAAA,IAAA,eAAM,EAAC,mCAAuB,CAAC,CAAA;qDACR,qBAAc;QACX,wBAAiB;QACpB,qBAAc;QACf,oBAAa;QAChB,8BAAuB;QACxB,gBAAS;GATnB,oBAAoB,CAmrBhC"}
|
|
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>>>;
|