@haus-tech/product-import-export-plugin 3.3.1 → 3.3.2-next.1

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 (51) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.mdx +22 -5
  3. package/package.json +4 -2
  4. package/src/api/product-export.controller.d.ts +1 -0
  5. package/src/api/product-export.controller.js +17 -1
  6. package/src/api/product-export.controller.js.map +1 -1
  7. package/src/api/product-import.controller.js +2 -2
  8. package/src/api/product-import.controller.js.map +1 -1
  9. package/src/constants.d.ts +1 -0
  10. package/src/constants.js +2 -1
  11. package/src/constants.js.map +1 -1
  12. package/src/dashboard/export-dialog.tsx +21 -7
  13. package/src/dashboard/import.tsx +6 -3
  14. package/src/dashboard/utils.ts +0 -1
  15. package/src/index.d.ts +3 -0
  16. package/src/index.js +3 -0
  17. package/src/index.js.map +1 -1
  18. package/src/product-import-export.plugin.js +21 -0
  19. package/src/product-import-export.plugin.js.map +1 -1
  20. package/src/providers/import-providers/asset-importer.js +0 -2
  21. package/src/providers/import-providers/asset-importer.js.map +1 -1
  22. package/src/providers/import-providers/import-parser.d.ts +7 -5
  23. package/src/providers/import-providers/import-parser.js +56 -16
  24. package/src/providers/import-providers/import-parser.js.map +1 -1
  25. package/src/providers/import-providers/product-importer.d.ts +4 -0
  26. package/src/providers/import-providers/product-importer.js +151 -88
  27. package/src/providers/import-providers/product-importer.js.map +1 -1
  28. package/src/services/extended-fast-importer.service.d.ts +5 -3
  29. package/src/services/extended-fast-importer.service.js +20 -7
  30. package/src/services/extended-fast-importer.service.js.map +1 -1
  31. package/src/services/import-storage/import-job-storage-strategy.d.ts +22 -0
  32. package/src/services/import-storage/import-job-storage-strategy.js +3 -0
  33. package/src/services/import-storage/import-job-storage-strategy.js.map +1 -0
  34. package/src/services/import-storage/local-import-job-storage-strategy.d.ts +18 -0
  35. package/src/services/import-storage/local-import-job-storage-strategy.js +76 -0
  36. package/src/services/import-storage/local-import-job-storage-strategy.js.map +1 -0
  37. package/src/services/import-storage/s3-import-job-storage-strategy.d.ts +13 -0
  38. package/src/services/import-storage/s3-import-job-storage-strategy.js +109 -0
  39. package/src/services/import-storage/s3-import-job-storage-strategy.js.map +1 -0
  40. package/src/services/product-export.service.d.ts +3 -1
  41. package/src/services/product-export.service.js +66 -26
  42. package/src/services/product-export.service.js.map +1 -1
  43. package/src/services/product-import.service.d.ts +10 -6
  44. package/src/services/product-import.service.js +62 -37
  45. package/src/services/product-import.service.js.map +1 -1
  46. package/src/types.d.ts +21 -1
  47. package/src/ui/components/export-dialog.component.html +1 -1
  48. package/src/ui/components/export-dialog.component.ts +10 -2
  49. package/src/ui/components/product-import.component.html +6 -8
  50. package/src/ui/translations/en.json +1 -1
  51. package/src/ui/translations/sv.json +1 -1
@@ -15,22 +15,25 @@ const core_1 = require("@vendure/core");
15
15
  const normalize_string_1 = require("../helpers/normalize-string");
16
16
  const unique_1 = require("@vendure/common/lib/unique");
17
17
  const lodash_1 = require("lodash");
18
+ const constants_1 = require("../constants");
18
19
  let ExtendedFastImporterService = class ExtendedFastImporterService {
19
20
  connection;
20
21
  channelService;
21
22
  customFieldRelationService;
22
- stockMovementService;
23
+ stockLevelService;
24
+ stockLocationService;
23
25
  translatableSaver;
24
26
  requestContextService;
25
27
  entityHydrator;
26
28
  defaultChannel;
27
29
  importCtx;
28
30
  /** @internal */
29
- constructor(connection, channelService, customFieldRelationService, stockMovementService, translatableSaver, requestContextService, entityHydrator) {
31
+ constructor(connection, channelService, customFieldRelationService, stockLevelService, stockLocationService, translatableSaver, requestContextService, entityHydrator) {
30
32
  this.connection = connection;
31
33
  this.channelService = channelService;
32
34
  this.customFieldRelationService = customFieldRelationService;
33
- this.stockMovementService = stockMovementService;
35
+ this.stockLevelService = stockLevelService;
36
+ this.stockLocationService = stockLocationService;
34
37
  this.translatableSaver = translatableSaver;
35
38
  this.requestContextService = requestContextService;
36
39
  this.entityHydrator = entityHydrator;
@@ -126,7 +129,7 @@ let ExtendedFastImporterService = class ExtendedFastImporterService {
126
129
  }
127
130
  }
128
131
  catch (error) {
129
- console.log(error);
132
+ core_1.Logger.error('Failed to prepare product before save', constants_1.loggerCtx, error.stack);
130
133
  }
131
134
  },
132
135
  });
@@ -397,7 +400,7 @@ let ExtendedFastImporterService = class ExtendedFastImporterService {
397
400
  .getRepository(this.importCtx, core_1.ProductVariantAsset)
398
401
  .save(newAssets, { reload: false });
399
402
  }
400
- await this.stockMovementService.adjustProductVariantStock(this.importCtx, updatedVariant.id, input.stockOnHand ?? 0);
403
+ await this.setProductVariantStockOnHandDirectly(updatedVariant.id, input.stockOnHand ?? 0);
401
404
  const assignedChannelIds = (0, unique_1.unique)([this.defaultChannel, this.importCtx.channel], 'id').map((c) => c.id);
402
405
  for (const channelId of assignedChannelIds) {
403
406
  const allPrices = await this.connection
@@ -476,7 +479,7 @@ let ExtendedFastImporterService = class ExtendedFastImporterService {
476
479
  .getRepository(this.importCtx, core_1.ProductVariantAsset)
477
480
  .save(variantAssets, { reload: false });
478
481
  }
479
- await this.stockMovementService.adjustProductVariantStock(this.importCtx, createdVariant.id, input.stockOnHand ?? 0);
482
+ await this.setProductVariantStockOnHandDirectly(createdVariant.id, input.stockOnHand ?? 0);
480
483
  const assignedChannelIds = (0, unique_1.unique)([this.defaultChannel, this.importCtx.channel], 'id').map((c) => c.id);
481
484
  for (const channelId of assignedChannelIds) {
482
485
  const variantPrice = new core_1.ProductVariantPrice({
@@ -496,6 +499,15 @@ let ExtendedFastImporterService = class ExtendedFastImporterService {
496
499
  throw new Error("The FastImporterService must be initialized with a call to 'initialize()' before importing data");
497
500
  }
498
501
  }
502
+ async setProductVariantStockOnHandDirectly(productVariantId, targetStockOnHand) {
503
+ const defaultStockLocation = await this.stockLocationService.defaultStockLocation(this.importCtx);
504
+ const stockLevel = await this.stockLevelService.getStockLevel(this.importCtx, productVariantId, defaultStockLocation.id);
505
+ const delta = targetStockOnHand - stockLevel.stockOnHand;
506
+ if (delta === 0) {
507
+ return;
508
+ }
509
+ await this.stockLevelService.updateStockOnHandForLocation(this.importCtx, productVariantId, defaultStockLocation.id, delta);
510
+ }
499
511
  };
500
512
  exports.ExtendedFastImporterService = ExtendedFastImporterService;
501
513
  exports.ExtendedFastImporterService = ExtendedFastImporterService = __decorate([
@@ -503,7 +515,8 @@ exports.ExtendedFastImporterService = ExtendedFastImporterService = __decorate([
503
515
  __metadata("design:paramtypes", [core_1.TransactionalConnection,
504
516
  core_1.ChannelService,
505
517
  core_1.CustomFieldRelationService,
506
- core_1.StockMovementService,
518
+ core_1.StockLevelService,
519
+ core_1.StockLocationService,
507
520
  core_1.TranslatableSaver,
508
521
  core_1.RequestContextService,
509
522
  core_1.EntityHydrator])
@@ -1 +1 @@
1
- {"version":3,"file":"extended-fast-importer.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/extended-fast-importer.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extended-fast-importer.service.js","sourceRoot":"","sources":["../../../../../packages/product-import-export-plugin/src/services/extended-fast-importer.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2C;AAC3C,wCA8BsB;AAStB,kEAA6D;AAC7D,uDAAmD;AACnD,mCAAyD;AACzD,4CAAwC;AAGjC,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAM5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAZF,cAAc,CAAS;IACvB,SAAS,CAAgB;IAEjC,gBAAgB;IAChB,YACU,UAAmC,EACnC,cAA8B,EAC9B,0BAAsD,EACtD,iBAAoC,EACpC,oBAA0C,EAC1C,iBAAoC,EACpC,qBAA4C,EAC5C,cAA8B;QAP9B,eAAU,GAAV,UAAU,CAAyB;QACnC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,OAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,OAAO;YACtB,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBACtC,OAAO,EAAE,OAAO;gBAChB,cAAc,EAAE,OAAO;aACxB,CAAC;YACJ,CAAC,CAAC,qBAAc,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAM,EAAE,KAAsC;QAChE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACtC,WAAW,CAAC,IAAI,GAAG,IAAA,kCAAe,EAAC,WAAW,CAAC,IAAc,EAAE,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;QAC/F,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAClD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,cAAO;YACnB,eAAe,EAAE,yBAAkB;YACnC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACjF,CAAC,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;gBACvF,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC,CAAA;gBAClE,CAAC;gBAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,CAAC,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAS,CAAA;gBACxD,CAAC;qBAAM,CAAC;oBACN,IAAA,YAAG,EAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;gBACjC,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAE9F,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU;iBACzC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAY,CAAC;iBAC3C,IAAI,CAAC;gBACJ,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;aACzB,CAAC,CAAA;YAEJ,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;iBAC7B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;iBACrE,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,mBAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAExF,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAY,CAAC;iBAC3C,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,OAAO,OAAO,CAAC,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,OAAgB;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,IAAI,CAAC,UAAU;aAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAY,CAAC;aAC3C,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QACpC,OAAO,CAAC,aAAa,GAAG,SAAgB,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,OAAuB;QACtD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,IAAI,CAAC,UAAU;aAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,0BAAmB,CAAC;aAClD,MAAM,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,aAAa,GAAG,SAAgB,CAAA;IAC1C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,2DAA2D;QAC3D,4DAA4D;QAC5D,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YACrC,WAAW,CAAC,IAAI,GAAG,IAAA,kCAAe,EAAC,WAAW,CAAC,IAAc,EAAE,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAA;QAC/F,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAClD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,cAAO;YACnB,eAAe,EAAE,yBAAkB;YACnC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;gBACtB,IAAI,CAAC;oBACH,CAAC,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;oBACxE,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;wBAC1B,CAAC,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAS,CAAA;oBACxD,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,aAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,qBAAS,EAAG,KAAe,CAAC,KAAK,CAAC,CAAA;gBAC1F,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAE9F,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CACtC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,mBAAY,CAAC;gBACf,OAAO,EAAE,EAAE;gBACX,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,CAAC;aACZ,CAAC,CACL,CAAA;YACD,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAY,CAAC;iBAC3C,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAiD;QAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK,EAAE,EAAE,GAAG,IAAA,aAAI,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE;YACpC,UAAU,EAAE,yBAAkB;YAC9B,eAAe,EAAE,oCAA6B;YAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;YACxB,CAAC;SACF,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,KAAoC;QACjE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU;aACtC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAkB,CAAC;aACjD,OAAO,CAAC;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;SAC5B,CAAC,CAAA;QAEJ,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAClC,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,EAAE,GAAG,IAAA,aAAI,EAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;gBACxD,UAAU,EAAE,yBAAkB;gBAC9B,eAAe,EAAE,oCAA6B;gBAC9C,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE;oBACpB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAA;gBACxB,CAAC;aACF,CAAC,CAAA;YACF,OAAO,WAAW,CAAC,EAAE,CAAA;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,yBAAkB;YAC9B,eAAe,EAAE,oCAA6B;SAC/C,CAAC,CAAA;QACF,OAAO,KAAK,CAAC,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAA+B;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU;aACvC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAa,CAAC;aAC5C,OAAO,CAAC;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,oBAAoB,EAAE;SACjE,CAAC,CAAA;QAEJ,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACxD,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;gBACxC,UAAU,EAAE,oBAAa;gBACzB,eAAe,EAAE,+BAAwB;gBACzC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;oBACjB,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,oBAAoB,EAAS,CAAA;oBACpD,EAAE,CAAC,SAAS,GAAG,IAAI,CAAA;gBACrB,CAAC;aACF,CAAC,CAAA;YAEF,OAAO,aAAa,CAAC,EAAE,CAAA;QACzB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,oBAAa;YACzB,eAAe,EAAE,+BAAwB;YACzC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;gBACjB,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,oBAAoB,EAAS,CAAA;gBACpD,EAAE,CAAC,SAAS,GAAG,IAAI,CAAA;YACrB,CAAC;SACF,CAAC,CAAA;QACF,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,SAAa;QAC/C,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,CAAC,CAAC,OAAO,CAAC;YACnF,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,SAAS,EAAE,CAAC,cAAc,EAAE,sBAAsB,CAAC;SACpD,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,YAAY,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,IAAI,CAAC,UAAU;aACZ,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,yBAAkB,CAAC;aACjD,kBAAkB,EAAE;aACpB,QAAQ,CAAC,yBAAkB,EAAE,SAAS,CAAC;aACvC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACZ,MAAM,EAAE,CACZ,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAE3B,MAAM,IAAI,CAAC,UAAU;aAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,CAAC;aACtC,kBAAkB,EAAE;aACpB,QAAQ,CAAC,cAAO,EAAE,cAAc,CAAC;aACjC,EAAE,CAAC,SAAS,CAAC;aACb,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,SAAa,EAAE,aAAiB;QAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,MAAM,IAAI,CAAC,UAAU;aAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,CAAC;aACtC,kBAAkB,EAAE;aACpB,QAAQ,CAAC,cAAc,CAAC;aACxB,EAAE,CAAC,SAAS,CAAC;aACb,GAAG,CAAC,aAAa,CAAC,CAAA;IACvB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,YAAK,CAAC,CAAC,OAAO,CAAC;YACrF,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YAC3B,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;SACxC,CAAC,CAAA;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAChD,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;gBACvC,UAAU,EAAE,YAAK;gBACjB,eAAe,EAAE,uBAAgB;gBACjC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;oBAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;oBACrF,KAAK,CAAC,QAAQ,GAAG,IAAA,eAAM,EACrB,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAChE,IAAI,CACL,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,OAAO,KAAK,CAAC,EAAE,CAAA;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAChD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,YAAK;YACjB,eAAe,EAAE,uBAAgB;YACjC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC1B,KAAK,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;YAC9E,CAAC;SACF,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,EAAE,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAA4B;QACjD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC3C,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAU,CAAC;aACzC,OAAO,CAAC;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE;YACzD,SAAS,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC;SACxC,CAAC,CAAA;QAEJ,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAC5D,GAAG,EAAE,IAAI,CAAC,SAAS;gBACnB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE;gBAC5C,UAAU,EAAE,iBAAU;gBACtB,eAAe,EAAE,4BAAqB;gBACtC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;oBAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;oBAC1F,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAS,CAAA;oBAC/C,UAAU,CAAC,QAAQ,GAAG,IAAA,eAAM,EAC1B,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EACrE,IAAI,CACL,CAAA;gBACH,CAAC;aACF,CAAC,CAAA;YAEF,OAAO,iBAAiB,CAAC,EAAE,CAAA;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACrD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK;YACL,UAAU,EAAE,iBAAU;YACtB,eAAe,EAAE,4BAAqB;YACtC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC/B,UAAU,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAS,CAAA;gBAC/C,UAAU,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;YACnF,CAAC;SACF,CAAC,CAAA;QAEF,OAAO,UAAU,CAAC,EAAE,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAa,EAAE,YAAgB;QAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC3C,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,CAAC;aACtC,kBAAkB,EAAE;aACpB,QAAQ,CAAC,cAAO,EAAE,aAAa,CAAC;aAChC,EAAE,CAAC,SAAS,CAAC;aACb,QAAQ,EAAE,CAAA;QAEb,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,cAAO,CAAC;iBACtC,kBAAkB,EAAE;iBACpB,QAAQ,CAAC,cAAO,EAAE,aAAa,CAAC;iBAChC,EAAE,CAAC,SAAS,CAAC;iBACb,GAAG,CAAC,YAAY,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,SAAa,EAAE,YAAgB;QACjE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAExB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU;aAC3C,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAc,CAAC;aAC7C,kBAAkB,EAAE;aACpB,QAAQ,CAAC,qBAAc,EAAE,aAAa,CAAC;aACvC,EAAE,CAAC,SAAS,CAAC;aACb,QAAQ,EAAE,CAAA;QAEb,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC;YAC5E,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,qBAAc,CAAC;iBAC7C,kBAAkB,EAAE;iBACpB,QAAQ,CAAC,qBAAc,EAAE,aAAa,CAAC;iBACvC,EAAE,CAAC,SAAS,CAAC;iBACb,GAAG,CAAC,YAAY,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAA6C;QACtE,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAA;QACtB,CAAC;QAED,MAAM,iBAAiB,GAAG;YACxB,GAAG,KAAK;SACT,CAAA;QACD,OAAO,iBAAiB,CAAC,KAAK,CAAA;QAE9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACzD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,qBAAc;YAC1B,eAAe,EAAE,gCAAyB;YAC1C,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;gBACvF,OAAO,CAAC,QAAQ,GAAG,IAAA,eAAM,EACvB,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAClE,IAAI,CACL,CAAA;gBACD,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;gBAC3B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC,CAAA;gBAC1D,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC,CAAA;gBACxE,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAS,CAAA;gBAChD,OAAO,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,EAAS,CAAA;gBACxD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAS,CAAA;gBAC9D,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACnD,IAAI,CAAC,SAAS,EACd,qBAAc,EACd,KAAK,EACL,cAAc,CACf,CAAA;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU;iBACzC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,0BAAmB,CAAC;iBAClD,IAAI,CAAC;gBACJ,KAAK,EAAE,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,EAAE;aACtC,CAAC,CAAA;YAEJ,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;iBAC7B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;iBACrE,GAAG,CACF,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,0BAAmB,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,gBAAgB,EAAE,cAAc,CAAC,EAAE;gBACnC,QAAQ,EAAE,CAAC;aACZ,CAAC,CACL,CAAA;YAEH,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,0BAAmB,CAAC;iBAClD,IAAI,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,MAAM,IAAI,CAAC,oCAAoC,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA;QAC1F,MAAM,kBAAkB,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CACxF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CACZ,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU;iBACpC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,0BAAmB,CAAC;iBAClD,IAAI,CAAC;gBACJ,KAAK,EAAE;oBACL,OAAO,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE;iBACnC;aACF,CAAC,CAAA;YACJ,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,CACzC,CAAC,CAAC,EAAE,EAAE,CACJ,IAAA,kBAAW,EAAC,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC;gBACnC,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB,CAChE,CAAA;YAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,IAAI,0BAAmB,CAAC;oBAC3C,KAAK,EAAE,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9C,SAAS;oBACT,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB;iBACzD,CAAC,CAAA;gBACF,YAAY,CAAC,OAAO,GAAG,cAAc,CAAA;gBACrC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa;qBAChC,aAAa,CAAC,0BAAmB,CAAC;qBAClC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAC1C,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAA,oBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,KAAK,CAAC,KAAK,GAAG,oBAAoB,CAAC,KAAK,CAAA;gBAC1C,CAAC;gBACD,oBAAoB,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;gBACxC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa;qBAChC,aAAa,CAAC,0BAAmB,CAAC;qBAClC,IAAI,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAClD,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAgC;QACzD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,SAAS,GAAG,EAAE,CAAA;QACtB,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,iBAAiB,GAAG;YACxB,GAAG,KAAK;SACT,CAAA;QACD,OAAO,iBAAiB,CAAC,KAAK,CAAA;QAE9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACzD,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,KAAK,EAAE,iBAAiB;YACxB,UAAU,EAAE,qBAAc;YAC1B,eAAe,EAAE,gCAAyB;YAC1C,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,OAAO,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC9E,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;gBAC3B,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;oBAClC,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC,CAAA;gBAC1D,CAAC;gBACD,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAQ,CAAC,CAAA;gBACxE,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAS,CAAA;gBAChD,OAAO,CAAC,WAAW,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,aAAa,EAAS,CAAA;gBACxD,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;oBAC1B,OAAO,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,eAAe,EAAS,CAAA;gBAC9D,CAAC;YACH,CAAC;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,CACnD,IAAI,CAAC,SAAS,EACd,qBAAc,EACd,KAAK,EACL,cAAc,CACf,CAAA;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CACtC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CACR,IAAI,0BAAmB,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,gBAAgB,EAAE,cAAc,CAAC,EAAE;gBACnC,QAAQ,EAAE,CAAC;aACZ,CAAC,CACL,CAAA;YACD,MAAM,IAAI,CAAC,UAAU;iBAClB,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,0BAAmB,CAAC;iBAClD,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,IAAI,CAAC,oCAAoC,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,CAAA;QAC1F,MAAM,kBAAkB,GAAG,IAAA,eAAM,EAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CACxF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CACZ,CAAA;QAED,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,0BAAmB,CAAC;gBAC3C,KAAK,EAAE,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9C,SAAS;gBACT,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mBAAmB;aACzD,CAAC,CAAA;YACF,YAAY,CAAC,OAAO,GAAG,cAAc,CAAA;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa;iBAChC,aAAa,CAAC,0BAAmB,CAAC;iBAClC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;QAC1C,CAAC;QAED,OAAO,cAAc,CAAC,EAAE,CAAA;IAC1B,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAA;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oCAAoC,CAChD,gBAAoB,EACpB,iBAAyB;QAEzB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAC3D,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,oBAAoB,CAAC,EAAE,CACxB,CAAA;QACD,MAAM,KAAK,GAAG,iBAAiB,GAAG,UAAU,CAAC,WAAW,CAAA;QACxD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CACvD,IAAI,CAAC,SAAS,EACd,gBAAgB,EAChB,oBAAoB,CAAC,EAAE,EACvB,KAAK,CACN,CAAA;IACH,CAAC;CACF,CAAA;AAvlBY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAOW,8BAAuB;QACnB,qBAAc;QACF,iCAA0B;QACnC,wBAAiB;QACd,2BAAoB;QACvB,wBAAiB;QACb,4BAAqB;QAC5B,qBAAc;GAb7B,2BAA2B,CAulBvC"}
@@ -0,0 +1,22 @@
1
+ import { RequestContext } from '@vendure/core';
2
+ export type ImportJobInputFile = {
3
+ originalname: string;
4
+ buffer: Buffer;
5
+ };
6
+ export interface ImportJobStorageStrategy {
7
+ /**
8
+ * @description
9
+ * Persist an uploaded import file and return a storage key to reference it in queued jobs.
10
+ */
11
+ storeImportFile(ctx: RequestContext, file: ImportJobInputFile): Promise<string>;
12
+ /**
13
+ * @description
14
+ * Resolve previously stored import file content from a storage key.
15
+ */
16
+ getImportFileContent(ctx: RequestContext, storageKey: string): Promise<string>;
17
+ /**
18
+ * @description
19
+ * Delete a stored import file by key. Must be safe to call repeatedly.
20
+ */
21
+ deleteImportFile(ctx: RequestContext, storageKey: string): Promise<void>;
22
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=import-job-storage-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-job-storage-strategy.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/services/import-storage/import-job-storage-strategy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { RequestContext } from '@vendure/core';
2
+ import { ImportJobInputFile, ImportJobStorageStrategy } from './import-job-storage-strategy';
3
+ export type LocalImportJobStorageStrategyOptions = {
4
+ /**
5
+ * @description
6
+ * Base directory in which queued import input files are stored.
7
+ * Files are stored under `<baseDir>/<channelToken>/`.
8
+ */
9
+ baseDir: string;
10
+ };
11
+ export declare class LocalImportJobStorageStrategy implements ImportJobStorageStrategy {
12
+ private options;
13
+ constructor(options: LocalImportJobStorageStrategyOptions);
14
+ storeImportFile(ctx: RequestContext, file: ImportJobInputFile): Promise<string>;
15
+ getImportFileContent(ctx: RequestContext, storageKey: string): Promise<string>;
16
+ deleteImportFile(ctx: RequestContext, storageKey: string): Promise<void>;
17
+ private getImportsDir;
18
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.LocalImportJobStorageStrategy = void 0;
37
+ const node_fs_1 = require("node:fs");
38
+ const path = __importStar(require("node:path"));
39
+ const crypto_1 = require("crypto");
40
+ class LocalImportJobStorageStrategy {
41
+ options;
42
+ constructor(options) {
43
+ this.options = options;
44
+ }
45
+ async storeImportFile(ctx, file) {
46
+ const importsDir = this.getImportsDir(ctx);
47
+ await node_fs_1.promises.mkdir(importsDir, { recursive: true });
48
+ const ext = path.extname(file.originalname || '').toLowerCase() || '.csv';
49
+ const fileName = `${Date.now()}-${(0, crypto_1.randomUUID)()}${ext}`;
50
+ const filePath = path.join(importsDir, fileName);
51
+ await node_fs_1.promises.writeFile(filePath, file.buffer);
52
+ return filePath;
53
+ }
54
+ async getImportFileContent(ctx, storageKey) {
55
+ const importsDir = this.getImportsDir(ctx);
56
+ if (!storageKey.startsWith(importsDir)) {
57
+ throw new Error('Invalid import storage key');
58
+ }
59
+ if (!(0, node_fs_1.existsSync)(storageKey)) {
60
+ throw new Error('Import file not found');
61
+ }
62
+ return node_fs_1.promises.readFile(storageKey, 'utf8');
63
+ }
64
+ async deleteImportFile(ctx, storageKey) {
65
+ const importsDir = this.getImportsDir(ctx);
66
+ if (!storageKey.startsWith(importsDir)) {
67
+ throw new Error('Invalid import storage key');
68
+ }
69
+ await node_fs_1.promises.rm(storageKey, { force: true });
70
+ }
71
+ getImportsDir(ctx) {
72
+ return path.join(this.options.baseDir, ctx.channel.token);
73
+ }
74
+ }
75
+ exports.LocalImportJobStorageStrategy = LocalImportJobStorageStrategy;
76
+ //# sourceMappingURL=local-import-job-storage-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-import-job-storage-strategy.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/services/import-storage/local-import-job-storage-strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAoD;AACpD,gDAAiC;AACjC,mCAAmC;AAanC,MAAa,6BAA6B;IACpB;IAApB,YAAoB,OAA6C;QAA7C,YAAO,GAAP,OAAO,CAAsC;IAAG,CAAC;IAErE,KAAK,CAAC,eAAe,CAAC,GAAmB,EAAE,IAAwB;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC1C,MAAM,kBAAE,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,MAAM,CAAA;QACzE,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAA,mBAAU,GAAE,GAAG,GAAG,EAAE,CAAA;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAChD,MAAM,kBAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,GAAmB,EAAE,UAAkB;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,CAAC,IAAA,oBAAU,EAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;QAC1C,CAAC;QACD,OAAO,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAmB,EAAE,UAAkB;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC/C,CAAC;QACD,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAC1C,CAAC;IAEO,aAAa,CAAC,GAAmB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC;CACF;AAnCD,sEAmCC"}
@@ -0,0 +1,13 @@
1
+ import { RequestContext } from '@vendure/core';
2
+ import { S3ExportStorageConfig } from '../export-storage.util';
3
+ import { ImportJobInputFile, ImportJobStorageStrategy } from './import-job-storage-strategy';
4
+ export type S3ImportJobStorageStrategyOptions = {
5
+ storage: S3ExportStorageConfig;
6
+ };
7
+ export declare class S3ImportJobStorageStrategy implements ImportJobStorageStrategy {
8
+ private storage;
9
+ constructor(options: S3ImportJobStorageStrategyOptions);
10
+ storeImportFile(ctx: RequestContext, file: ImportJobInputFile): Promise<string>;
11
+ getImportFileContent(ctx: RequestContext, storageKey: string): Promise<string>;
12
+ deleteImportFile(ctx: RequestContext, storageKey: string): Promise<void>;
13
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.S3ImportJobStorageStrategy = void 0;
37
+ const client_s3_1 = require("@aws-sdk/client-s3");
38
+ const crypto_1 = require("crypto");
39
+ const path = __importStar(require("node:path"));
40
+ const export_storage_util_1 = require("../export-storage.util");
41
+ function normalizeFileNameForObjectKey(fileName) {
42
+ const base = path.posix.basename(fileName || 'import.csv');
43
+ const trimmed = base.trim();
44
+ if (!trimmed || trimmed === '.' || trimmed === '..') {
45
+ return 'import.csv';
46
+ }
47
+ return trimmed.replace(/[^A-Za-z0-9._-]/g, '_');
48
+ }
49
+ function buildImportObjectKey(storage, channelToken, fileName) {
50
+ const prefix = storage.baseKeyPrefix ?? 'imports/';
51
+ const normalizedPrefix = prefix.endsWith('/') ? prefix : `${prefix}/`;
52
+ return `${normalizedPrefix}${channelToken}/${fileName}`;
53
+ }
54
+ async function streamToString(stream) {
55
+ const chunks = [];
56
+ for await (const chunk of stream) {
57
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
58
+ }
59
+ return Buffer.concat(chunks).toString('utf8');
60
+ }
61
+ class S3ImportJobStorageStrategy {
62
+ storage;
63
+ constructor(options) {
64
+ this.storage = options.storage;
65
+ }
66
+ async storeImportFile(ctx, file) {
67
+ const client = (0, export_storage_util_1.createS3Client)(this.storage);
68
+ const channelToken = ctx.channel.token;
69
+ const safeName = normalizeFileNameForObjectKey(file.originalname);
70
+ const key = buildImportObjectKey(this.storage, channelToken, `${Date.now()}-${(0, crypto_1.randomUUID)()}-${safeName}`);
71
+ await client.send(new client_s3_1.PutObjectCommand({
72
+ Bucket: this.storage.bucket,
73
+ Key: key,
74
+ Body: file.buffer,
75
+ ContentType: 'text/csv',
76
+ }));
77
+ return key;
78
+ }
79
+ async getImportFileContent(ctx, storageKey) {
80
+ const client = (0, export_storage_util_1.createS3Client)(this.storage);
81
+ const channelToken = ctx.channel.token;
82
+ const expectedPrefix = buildImportObjectKey(this.storage, channelToken, '');
83
+ if (!storageKey.startsWith(expectedPrefix)) {
84
+ throw new Error('Invalid import storage key');
85
+ }
86
+ const result = await client.send(new client_s3_1.GetObjectCommand({
87
+ Bucket: this.storage.bucket,
88
+ Key: storageKey,
89
+ }));
90
+ if (!result.Body) {
91
+ throw new Error('Import file not found');
92
+ }
93
+ return streamToString(result.Body);
94
+ }
95
+ async deleteImportFile(ctx, storageKey) {
96
+ const client = (0, export_storage_util_1.createS3Client)(this.storage);
97
+ const channelToken = ctx.channel.token;
98
+ const expectedPrefix = buildImportObjectKey(this.storage, channelToken, '');
99
+ if (!storageKey.startsWith(expectedPrefix)) {
100
+ throw new Error('Invalid import storage key');
101
+ }
102
+ await client.send(new client_s3_1.DeleteObjectCommand({
103
+ Bucket: this.storage.bucket,
104
+ Key: storageKey,
105
+ }));
106
+ }
107
+ }
108
+ exports.S3ImportJobStorageStrategy = S3ImportJobStorageStrategy;
109
+ //# sourceMappingURL=s3-import-job-storage-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-import-job-storage-strategy.js","sourceRoot":"","sources":["../../../../../../packages/product-import-export-plugin/src/services/import-storage/s3-import-job-storage-strategy.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare class ProductExportService {
12
12
  private configService;
13
13
  constructor(options: PluginInitOptions, exportStorageStrategy: ExportStorageStrategy, productService: ProductService, stockLevelService: StockLevelService, channelService: ChannelService, configService: ConfigService);
14
14
  createExportFile(ctx: RequestContext, selectionIds: ID[], fileName: string, selectedCustomFields: string, exportAssetsAs: 'url' | 'json', selectedExportFields: string, pageSize?: number, concurrency?: number): Promise<string>;
15
- exportProduct(ctx: RequestContext, product: Product, languages: LanguageCode[], filteredCustomFieldNames: string[], exportAssetsAs: 'url' | 'json', csvWriter: CsvWriter<any>): Promise<void>;
15
+ exportProduct(ctx: RequestContext, product: Product, languages: LanguageCode[], filteredCustomFieldNames: string[], exportAssetsAs: 'url' | 'json', csvWriter: CsvWriter<any>, includeStockOnHand: boolean): Promise<void>;
16
16
  private handleAssets;
17
17
  /**
18
18
  * Collects {@link ID}s from any relation custom field value (single entity, list, or raw id),
@@ -26,8 +26,10 @@ export declare class ProductExportService {
26
26
  private getRelationCustomFieldDef;
27
27
  private handleCustomFields;
28
28
  private getStockOnHand;
29
+ private getStockOnHandMap;
29
30
  private mapTranslations;
30
31
  private mapFacetTranslations;
32
+ hasMultiVariantProducts(ctx: RequestContext, selectionIds?: ID[]): Promise<boolean>;
31
33
  getAllProductIds(ctx: RequestContext): Promise<ID[]>;
32
34
  /**
33
35
  * Lists exportable custom field columns. For relations, `type` is always the **related entity’s**
@@ -113,7 +113,6 @@ let ProductExportService = class ProductExportService {
113
113
  // Use .tmp extension during export, rename to final name when complete to prevent it from being listed in ui without being completed
114
114
  const exportFile = `${finalExportFile}.tmp`;
115
115
  const headers = [];
116
- headers.push({ id: 'productId', title: 'productId' });
117
116
  // Add headers for translations
118
117
  for (const lang of languages) {
119
118
  headers.push({ id: `name:${lang}`, title: `name:${lang}` });
@@ -171,7 +170,7 @@ let ProductExportService = class ProductExportService {
171
170
  ...variantRelationCustomFields,
172
171
  ]);
173
172
  hasMore = currentPage * pageSize < totalItems;
174
- const exportPromises = items.map((product) => limiter.schedule(async () => this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter)));
173
+ const exportPromises = items.map((product) => limiter.schedule(async () => this.exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, selectedExportFieldsSet.has('stockOnHand'))));
175
174
  await Promise.all(exportPromises);
176
175
  currentPage++;
177
176
  }
@@ -204,7 +203,7 @@ let ProductExportService = class ProductExportService {
204
203
  throw error;
205
204
  }
206
205
  }
207
- async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter) {
206
+ async exportProduct(ctx, product, languages, filteredCustomFieldNames, exportAssetsAs, csvWriter, includeStockOnHand) {
208
207
  const records = [];
209
208
  const { assets = [], facetValues = [], optionGroups = [], variants = [], translations = [], customFields = {}, } = product;
210
209
  const nameTranslations = this.mapTranslations(translations, 'name', languages);
@@ -212,6 +211,9 @@ let ProductExportService = class ProductExportService {
212
211
  const descriptionTranslations = this.mapTranslations(translations, 'description', languages);
213
212
  // Filter out all variants that are soft deleted
214
213
  const activeVariants = variants.filter((v) => !v.deletedAt);
214
+ const stockOnHandByVariantId = includeStockOnHand
215
+ ? await this.getStockOnHandMap(ctx, activeVariants.map((variant) => variant.id))
216
+ : new Map();
215
217
  const productAssets = assets.length === 0
216
218
  ? ''
217
219
  : assets.length > 0
@@ -231,7 +233,26 @@ let ProductExportService = class ProductExportService {
231
233
  .join('|');
232
234
  return acc;
233
235
  }, {});
234
- for (const variant of activeVariants) {
236
+ const convertToHTML = (text) => {
237
+ return text.replace(/\n/g, '<br>').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;').replace(/,\s*'/g, ", '");
238
+ };
239
+ const firstRowProductColumnsByLang = languages.reduce((acc, lang) => {
240
+ const escapedDescription = convertToHTML(descriptionTranslations[lang] || '');
241
+ const escapedName = (nameTranslations[lang] || '')
242
+ .replace(/"/g, "'")
243
+ .replace(/\s+/g, ' ')
244
+ .replace(/,\s*'/g, ", '")
245
+ .replace(/'/g, "''");
246
+ acc[lang] = {
247
+ [`name:${lang}`]: escapedName || '',
248
+ [`slug:${lang}`]: slugTranslations[lang] || '',
249
+ [`description:${lang}`]: escapedDescription || '',
250
+ [`facets:${lang}`]: productFacets[lang],
251
+ [`optionGroups:${lang}`]: optionGroupNames[lang],
252
+ };
253
+ return acc;
254
+ }, {});
255
+ for (const [variantIndex, variant] of activeVariants.entries()) {
235
256
  const variantValues = languages.reduce((acc, lang) => {
236
257
  acc[lang] = ((0, lodash_1.sortBy)(variant.options, (o) => o.groupId) || [])
237
258
  .map((option) => this.mapTranslations(option.translations, 'name', [lang])[lang])
@@ -247,34 +268,22 @@ let ProductExportService = class ProductExportService {
247
268
  .join('|');
248
269
  return acc;
249
270
  }, {});
250
- const stockOnHand = await this.getStockOnHand(ctx, variant.id); // Adjusted to fetch stock details
251
- const variantTranslations = variant.translations;
252
- const variantNameTranslations = this.mapTranslations(variantTranslations, 'name', languages);
271
+ const stockOnHand = includeStockOnHand ? (stockOnHandByVariantId.get(variant.id) ?? 0) : 0;
253
272
  const record = {};
254
- const convertToHTML = (text) => {
255
- return text
256
- .replace(/\n/g, '<br>')
257
- .replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;')
258
- .replace(/,\s*'/g, ", '");
259
- };
260
273
  for (const lang of languages) {
261
- const escapedDescription = convertToHTML(descriptionTranslations[lang]);
262
- const escapedName = nameTranslations[lang]
263
- .replace(/"/g, "'")
264
- .replace(/\s+/g, ' ')
265
- .replace(/,\s*'/g, ", '")
266
- .replace(/'/g, "''");
267
- record.productId = records.length === 0 ? product.id : '';
268
- record[`name:${lang}`] = records.length === 0 ? escapedName || '' : '';
269
- record[`slug:${lang}`] = records.length === 0 ? slugTranslations[lang] || '' : '';
270
- record[`description:${lang}`] = records.length === 0 ? escapedDescription || '' : '';
271
- record[`facets:${lang}`] = records.length === 0 ? productFacets[lang] : '';
272
- record[`optionGroups:${lang}`] = records.length === 0 ? optionGroupNames[lang] : '';
274
+ const firstRowProductColumns = firstRowProductColumnsByLang[lang];
275
+ record[`name:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`name:${lang}`] : '';
276
+ record[`slug:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`slug:${lang}`] : '';
277
+ record[`description:${lang}`] =
278
+ variantIndex === 0 ? firstRowProductColumns[`description:${lang}`] : '';
279
+ record[`facets:${lang}`] = variantIndex === 0 ? firstRowProductColumns[`facets:${lang}`] : '';
280
+ record[`optionGroups:${lang}`] =
281
+ variantIndex === 0 ? firstRowProductColumns[`optionGroups:${lang}`] : '';
273
282
  record[`optionValues:${lang}`] = variantValues[lang];
274
283
  record[`variantFacets:${lang}`] = variantFacets[lang];
275
284
  }
276
285
  const productVariantPrices = variant.productVariantPrices.filter((price) => price.channelId === ctx.channelId);
277
- record.assets = records.length === 0 ? productAssets : '';
286
+ record.assets = variantIndex === 0 ? productAssets : '';
278
287
  record.sku = variant.sku;
279
288
  record.price = productVariantPrices[0]?.price / 100; // Assuming the price is stored in cents
280
289
  record.taxCategory = 'standard'; // Replace with actual tax category if available
@@ -397,6 +406,13 @@ let ProductExportService = class ProductExportService {
397
406
  const stockLevel = await this.stockLevelService.getAvailableStock(ctx, variantId);
398
407
  return stockLevel.stockOnHand;
399
408
  }
409
+ 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);
415
+ }
400
416
  // Method to map translations for a specific field
401
417
  mapTranslations(translations, field, languages) {
402
418
  const translationMap = {};
@@ -417,6 +433,30 @@ let ProductExportService = class ProductExportService {
417
433
  }
418
434
  return `${facetNameTranslations[lang]}:${facetValueTranslations[lang]}`;
419
435
  }
436
+ async hasMultiVariantProducts(ctx, selectionIds) {
437
+ const pageSize = 100;
438
+ let skip = 0;
439
+ let hasMore = true;
440
+ while (hasMore) {
441
+ const { items, totalItems } = await this.productService.findAll(ctx, {
442
+ ...(selectionIds && selectionIds.length > 0
443
+ ? {
444
+ filter: {
445
+ id: { in: selectionIds },
446
+ },
447
+ }
448
+ : {}),
449
+ skip,
450
+ take: pageSize,
451
+ }, ['variants']);
452
+ if (items.some((product) => product.variants.filter((variant) => !variant.deletedAt).length > 1)) {
453
+ return true;
454
+ }
455
+ skip += pageSize;
456
+ hasMore = skip < totalItems;
457
+ }
458
+ return false;
459
+ }
420
460
  async getAllProductIds(ctx) {
421
461
  let offset = 0;
422
462
  const limit = 100;