@unchainedshop/platform 2.4.3 → 2.5.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 (44) hide show
  1. package/lib/bulk-importer/handlers/assortment/create.js +6 -5
  2. package/lib/bulk-importer/handlers/assortment/create.js.map +1 -1
  3. package/lib/bulk-importer/handlers/assortment/update.js +6 -5
  4. package/lib/bulk-importer/handlers/assortment/update.js.map +1 -1
  5. package/lib/bulk-importer/handlers/assortment/upsertMedia.js +4 -3
  6. package/lib/bulk-importer/handlers/assortment/upsertMedia.js.map +1 -1
  7. package/lib/bulk-importer/handlers/filter/create.js +18 -6
  8. package/lib/bulk-importer/handlers/filter/create.js.map +1 -1
  9. package/lib/bulk-importer/handlers/filter/update.js +12 -4
  10. package/lib/bulk-importer/handlers/filter/update.js.map +1 -1
  11. package/lib/bulk-importer/handlers/product/create.js +6 -5
  12. package/lib/bulk-importer/handlers/product/create.js.map +1 -1
  13. package/lib/bulk-importer/handlers/product/update.js +6 -5
  14. package/lib/bulk-importer/handlers/product/update.js.map +1 -1
  15. package/lib/bulk-importer/handlers/product/upsertMedia.js +5 -2
  16. package/lib/bulk-importer/handlers/product/upsertMedia.js.map +1 -1
  17. package/lib/bulk-importer/handlers/product/upsertVariations.js +11 -12
  18. package/lib/bulk-importer/handlers/product/upsertVariations.js.map +1 -1
  19. package/package.json +12 -12
  20. package/src/bulk-importer/handlers/assortment/create.ts +8 -7
  21. package/src/bulk-importer/handlers/assortment/update.ts +8 -7
  22. package/src/bulk-importer/handlers/assortment/upsertMedia.ts +6 -9
  23. package/src/bulk-importer/handlers/filter/create.ts +28 -6
  24. package/src/bulk-importer/handlers/filter/update.ts +22 -4
  25. package/src/bulk-importer/handlers/product/create.ts +8 -7
  26. package/src/bulk-importer/handlers/product/update.ts +8 -7
  27. package/src/bulk-importer/handlers/product/upsertMedia.ts +7 -7
  28. package/src/bulk-importer/handlers/product/upsertVariations.ts +19 -25
  29. package/lib/bulk-importer/handlers/assortment/upsertAssortmentContent.d.ts +0 -6
  30. package/lib/bulk-importer/handlers/assortment/upsertAssortmentContent.js +0 -6
  31. package/lib/bulk-importer/handlers/assortment/upsertAssortmentContent.js.map +0 -1
  32. package/lib/bulk-importer/handlers/filter/upsertFilterContent.d.ts +0 -11
  33. package/lib/bulk-importer/handlers/filter/upsertFilterContent.js +0 -6
  34. package/lib/bulk-importer/handlers/filter/upsertFilterContent.js.map +0 -1
  35. package/lib/bulk-importer/handlers/filter/upsertFilterOptionContent.d.ts +0 -5
  36. package/lib/bulk-importer/handlers/filter/upsertFilterOptionContent.js +0 -8
  37. package/lib/bulk-importer/handlers/filter/upsertFilterOptionContent.js.map +0 -1
  38. package/lib/bulk-importer/handlers/product/upsertProductContent.d.ts +0 -5
  39. package/lib/bulk-importer/handlers/product/upsertProductContent.js +0 -6
  40. package/lib/bulk-importer/handlers/product/upsertProductContent.js.map +0 -1
  41. package/src/bulk-importer/handlers/assortment/upsertAssortmentContent.ts +0 -10
  42. package/src/bulk-importer/handlers/filter/upsertFilterContent.ts +0 -10
  43. package/src/bulk-importer/handlers/filter/upsertFilterOptionContent.ts +0 -21
  44. package/src/bulk-importer/handlers/product/upsertProductContent.ts +0 -10
@@ -1,6 +1,5 @@
1
1
  import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
2
  import upsertAssortmentChildren from './upsertAssortmentChildren.js';
3
- import upsertAssortmentContent from './upsertAssortmentContent.js';
4
3
  import upsertAssortmentFilters from './upsertAssortmentFilters.js';
5
4
  import upsertAssortmentProducts from './upsertAssortmentProducts.js';
6
5
  import upsertMedia from './upsertMedia.js';
@@ -28,10 +27,12 @@ export default async function createAssortment(payload, { logger, createShouldUp
28
27
  throw new Error(`Can't create assortment ${_id}, fields missing?`);
29
28
  }
30
29
  logger.debug('create localized content for assortment', specification.content);
31
- await upsertAssortmentContent({
32
- content: specification.content,
33
- assortmentId: _id,
34
- }, unchainedAPI);
30
+ await modules.assortments.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
31
+ return {
32
+ locale,
33
+ ...localizedData,
34
+ };
35
+ }));
35
36
  logger.debug('create assortment products', products);
36
37
  await upsertAssortmentProducts({
37
38
  products: products || [],
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/create.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import upsertAssortmentContent from './upsertAssortmentContent.js';
2
1
  import upsertAssortmentProducts from './upsertAssortmentProducts.js';
3
2
  import upsertAssortmentChildren from './upsertAssortmentChildren.js';
4
3
  import upsertAssortmentFilters from './upsertAssortmentFilters.js';
@@ -16,10 +15,12 @@ export default async function updateAssortment(payload, { logger }, unchainedAPI
16
15
  await unchainedAPI.modules.assortments.update(_id, { ...specification });
17
16
  if (specification.content) {
18
17
  logger.debug('replace localized content for assortment', specification.content);
19
- await upsertAssortmentContent({
20
- content: specification.content,
21
- assortmentId: _id,
22
- }, unchainedAPI);
18
+ await modules.assortments.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
19
+ return {
20
+ locale,
21
+ ...localizedData,
22
+ };
23
+ }));
23
24
  }
24
25
  }
25
26
  if (products) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/update.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAY,EAAE,EAAE,MAAM,EAAE,EAAE,YAA2B;IAClG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE3E,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;KAChE;IAED,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;QAExD,aAAa,CAAC,IAAI,GAAG,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEjE,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;QACzE,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,uBAAuB,CAC3B;gBACE,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,YAAY,EAAE,GAAG;aAClB,EACD,YAAY,CACb,CAAC;SACH;KACF;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,wBAAwB,CAC5B;YACE,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,wBAAwB,CAC5B;YACE,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,uBAAuB,CAC3B;YACE,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IACD,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KAC5E;IAED,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/update.ts"],"names":[],"mappings":"AACA,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,wBAAwB,MAAM,+BAA+B,CAAC;AACrE,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAY,EAAE,EAAE,MAAM,EAAE,EAAE,YAA2B;IAClG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE3E,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QACxE,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAC;KAChE;IAED,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,CAAC;QAExD,aAAa,CAAC,IAAI,GAAG,sBAAsB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAEjE,MAAM,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;QACzE,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAChF,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CACzC,GAAG,EACH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;gBACnF,OAAO;oBACL,MAAM;oBACN,GAAG,aAAa;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;SACH;KACF;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,wBAAwB,CAC5B;YACE,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,QAAQ,EAAE;QACZ,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;QACrD,MAAM,wBAAwB,CAC5B;YACE,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QACnD,MAAM,uBAAuB,CAC3B;YACE,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,YAAY,EAAE,GAAG;SAClB,EACD,YAAY,CACb,CAAC;KACH;IACD,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KAC5E;IAED,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -24,9 +24,10 @@ export default async ({ media, assortmentId }, unchainedAPI) => {
24
24
  if (!mediaObject)
25
25
  throw new Error(`Unable to create media object ${mediaObject._id}`);
26
26
  if (content) {
27
- await Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
28
- return modules.assortments.media.texts.upsertLocalizedText(mediaObject._id, locale, localizedData);
29
- }));
27
+ await modules.assortments.media.texts.updateMediaTexts(mediaObject._id, Object.entries(content).map(([locale, localizedData]) => ({
28
+ locale,
29
+ ...localizedData,
30
+ })));
30
31
  }
31
32
  return mediaObject;
32
33
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertMedia.ts"],"names":[],"mappings":"AAEA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAK,EAAE,YAA2B,EAAE,EAAE;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,eAAe,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KACzD;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAA2B,EAAE,EAAE;IAC5E,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,kBAAkB,EAClB,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,KAAK,EAAE,EAC3D,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC;YACE,GAAG,SAAS;YACZ,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,EACD,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAEtF,IAAI,OAAO,EAAE;YACX,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAgC,EAAE,EAAE;gBAC3F,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CACxD,WAAW,CAAC,GAAG,EACf,MAAM,EACN,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;SACH;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC/C,YAAY;QACZ,0BAA0B,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertMedia.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAK,EAAE,YAA2B,EAAE,EAAE;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,eAAe,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;QACpC,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;KACzD;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,YAA2B,EAAE,EAAE;IAC5E,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,kBAAkB,EAClB,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,GAAG,KAAK,EAAE,EAC3D,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEnE,MAAM,WAAW,GAAG,MAAM,iBAAiB,CACzC;YACE,GAAG,SAAS;YACZ,YAAY;YACZ,OAAO,EAAE,IAAI,CAAC,GAAG;SAClB,EACD,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;QAEtF,IAAI,OAAO,EAAE;YACX,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CACpD,WAAW,CAAC,GAAG,EACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE,CAAC,CAAC;gBACvE,MAAM;gBACN,GAAG,aAAa;aACjB,CAAC,CAAC,CACJ,CAAC;SACH;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC/C,YAAY;QACZ,0BAA0B,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,5 +1,3 @@
1
- import upsertFilterContent from './upsertFilterContent.js';
2
- import upsertFilterOptionContent from './upsertFilterOptionContent.js';
3
1
  export default async function createFilter(payload, { logger, createShouldUpsertIfIDExists }, unchainedAPI) {
4
2
  const { modules } = unchainedAPI;
5
3
  const { specification, _id } = payload;
@@ -28,10 +26,24 @@ export default async function createFilter(payload, { logger, createShouldUpsert
28
26
  if (!(await modules.filters.filterExists({ filterId: _id }))) {
29
27
  throw new Error(`Can't upsert filter ${_id}`);
30
28
  }
31
- logger.debug('create localized content for filter', content);
32
- await upsertFilterContent({ content, filterId: _id }, unchainedAPI);
33
- logger.debug('create localized content for filter options', content);
34
- await upsertFilterOptionContent({ options, filterId: _id }, unchainedAPI);
29
+ if (content) {
30
+ logger.debug('create localized content for filter', content);
31
+ await modules.filters.texts.updateTexts({ filterId: _id }, Object.entries(content).map(([locale, localizedData]) => {
32
+ return {
33
+ locale,
34
+ ...localizedData,
35
+ };
36
+ }));
37
+ }
38
+ if (options) {
39
+ logger.debug('create localized content for filter options', content);
40
+ await Promise.all(options.map(async ({ content: optionContent, value: optionValue }) => modules.filters.texts.updateTexts({ filterId: _id, filterOptionValue: optionValue }, Object.entries(optionContent).map(([locale, localizedData]) => {
41
+ return {
42
+ locale,
43
+ ...localizedData,
44
+ };
45
+ }))));
46
+ }
35
47
  return {
36
48
  entity: 'FILTER',
37
49
  operation: 'create',
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/create.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAEvE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CACxC,OAAY,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE,EACxC,YAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,GAAG,EAAE,CAAC,CAAC;IAEjG,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC;IAE1D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,GAAG,EAAE,CAAC,CAAC;IAEhG,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;IACpD,IAAI;QACF,MAAM,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CACvC;YACE,GAAG,UAAU;YACb,GAAG;YACH,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;SACtD,EACD,YAAY,EACZ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,4BAA4B;YAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,aAAa,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAC1B,GAAG,EACH;YACE,GAAG,UAAU;YACb,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;SACtD,EACD,YAAY,EACZ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;KACH;IAED,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;KAC/C;IAED,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAEpE,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,yBAAyB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAE1E,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/create.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import upsertFilterContent from './upsertFilterContent.js';
2
- import upsertFilterOptionContent from './upsertFilterOptionContent.js';
3
1
  export default async function updateFilter(payload, { logger }, unchainedAPI) {
4
2
  const { modules } = unchainedAPI;
5
3
  const { specification, _id } = payload;
@@ -16,11 +14,21 @@ export default async function updateFilter(payload, { logger }, unchainedAPI) {
16
14
  }
17
15
  if (content) {
18
16
  logger.debug('replace localized content for filter', content);
19
- await upsertFilterContent({ content, filterId: _id }, unchainedAPI);
17
+ await modules.filters.texts.updateTexts({ filterId: _id }, Object.entries(content).map(([locale, localizedData]) => {
18
+ return {
19
+ locale,
20
+ ...localizedData,
21
+ };
22
+ }));
20
23
  }
21
24
  if (options) {
22
25
  logger.debug('replace localized content for filter options', content);
23
- await upsertFilterOptionContent({ options, filterId: _id }, unchainedAPI);
26
+ await Promise.all(options.map(async ({ content: optionContent, value: optionValue }) => modules.filters.texts.updateTexts({ filterId: _id, filterOptionValue: optionValue }, Object.entries(optionContent).map(([locale, localizedData]) => {
27
+ return {
28
+ locale,
29
+ ...localizedData,
30
+ };
31
+ }))));
24
32
  }
25
33
  return {
26
34
  entity: 'FILTER',
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/update.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AAC3D,OAAO,yBAAyB,MAAM,gCAAgC,CAAC;AAEvE,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CACxC,OAAY,EACZ,EAAE,MAAM,EAAmB,EAC3B,YAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;KAC5D;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC;IAE1D,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAC1B,GAAG,EACH;YACE,GAAG,UAAU;YACb,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;SACtD,EACD,YAAY,EACZ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;KACH;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KACrE;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,yBAAyB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KAC3E;IAED,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/update.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,YAAY,CACxC,OAAY,EACZ,EAAE,MAAM,EAAmB,EAC3B,YAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAEvC,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC5D,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAG,EAAE,CAAC,CAAC;KAC5D;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC;IAE1D,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,aAAa,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAC1B,GAAG,EACH;YACE,GAAG,UAAU;YACb,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;SACtD,EACD,YAAY,EACZ,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;KACH;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CACrC,EAAE,QAAQ,EAAE,GAAG,EAAE,EACjB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;YACrE,OAAO;gBACL,MAAM;gBACN,GAAG,aAAa;aACjB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;KACH;IAED,IAAI,OAAO,EAAE;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CACnE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAC/B,EAAE,QAAQ,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,EACjD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;YAC3E,OAAO;gBACL,MAAM;gBACN,GAAG,aAAa;aACjB,CAAC;QACJ,CAAC,CAAC,CACH,CACF,CACF,CAAC;KACH;IAED,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import upsertVariations from './upsertVariations.js';
2
2
  import upsertMedia from './upsertMedia.js';
3
- import upsertProductContent from './upsertProductContent.js';
4
3
  import transformSpecificationToProductStructure from './transformSpecificationToProductStructure.js';
5
4
  export default async function createProduct(payload, { logger, createShouldUpsertIfIDExists }, unchainedAPI) {
6
5
  const { modules } = unchainedAPI;
@@ -29,10 +28,12 @@ export default async function createProduct(payload, { logger, createShouldUpser
29
28
  throw new Error(`Can't create product ${_id}, fields missing?`);
30
29
  }
31
30
  logger.debug('create localized content for product', specification.content);
32
- await upsertProductContent({
33
- content: specification.content,
34
- productId: _id,
35
- }, unchainedAPI);
31
+ await modules.products.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
32
+ return {
33
+ locale,
34
+ ...localizedData,
35
+ };
36
+ }));
36
37
  logger.debug('create product variations', variations);
37
38
  await upsertVariations({
38
39
  variations: variations || [],
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/create.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,wCAAwC,MAAM,+CAA+C,CAAC;AAErG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,OAAY,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE,EACxC,YAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1D,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,EAAE,CAAC,CAAC;IAElG,IAAI,CAAC,aAAa,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;IAEpG,MAAM,WAAW,GAAG,wCAAwC,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI;QACF,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5B,GAAG,WAAW;YACd,GAAG;SACJ,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,4BAA4B;YAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,aAAa,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;YACjC,GAAG,WAAW;SACf,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;KACjE;IAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,oBAAoB,CACxB;QACE,OAAO,EAAE,aAAa,CAAC,OAAO;QAC9B,SAAS,EAAE,GAAG;KACf,EACD,YAAY,CACb,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,gBAAgB,CACpB;QACE,UAAU,EAAE,UAAU,IAAI,EAAE;QAC5B,SAAS,EAAE,GAAG;KACf,EACD,YAAY,CACb,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAExE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/create.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,wCAAwC,MAAM,+CAA+C,CAAC;AAErG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CACzC,OAAY,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE,EACxC,YAA2B;IAE3B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1D,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,GAAG,EAAE,CAAC,CAAC;IAElG,IAAI,CAAC,aAAa,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC;IAEpG,MAAM,WAAW,GAAG,wCAAwC,CAAC,aAAa,CAAC,CAAC;IAC5E,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;IACnD,IAAI;QACF,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC5B,GAAG,WAAW;YACd,GAAG;SACJ,CAAC,CAAC;KACJ;IAAC,OAAO,CAAC,EAAE;QACV,IAAI,CAAC,4BAA4B;YAAE,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,aAAa,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;YACjC,GAAG,WAAW;SACf,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,mBAAmB,CAAC,CAAC;KACjE;IAED,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CACtC,GAAG,EACH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;QACnF,OAAO;YACL,MAAM;YACN,GAAG,aAAa;SACjB,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;IACtD,MAAM,gBAAgB,CACpB;QACE,UAAU,EAAE,UAAU,IAAI,EAAE;QAC5B,SAAS,EAAE,GAAG;KACf,EACD,YAAY,CACb,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;IAExE,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import upsertVariations from './upsertVariations.js';
2
2
  import upsertMedia from './upsertMedia.js';
3
- import upsertProductContent from './upsertProductContent.js';
4
3
  import transformSpecificationToProductStructure from './transformSpecificationToProductStructure.js';
5
4
  export default async function createProduct(payload, { logger }, unchainedAPI) {
6
5
  const { modules } = unchainedAPI;
@@ -16,10 +15,12 @@ export default async function createProduct(payload, { logger }, unchainedAPI) {
16
15
  });
17
16
  if (specification.content) {
18
17
  logger.debug('replace localized content for product', specification.content);
19
- await upsertProductContent({
20
- content: specification.content,
21
- productId: _id,
22
- }, unchainedAPI);
18
+ await modules.products.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
19
+ return {
20
+ locale,
21
+ ...localizedData,
22
+ };
23
+ }));
23
24
  }
24
25
  }
25
26
  if (variations) {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/update.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,wCAAwC,MAAM,+CAA+C,CAAC;AAErG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,OAAY,EAAE,EAAE,MAAM,EAAE,EAAE,YAA2B;IAC/F,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1D,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;KAC7D;IAED,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,wCAAwC,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;YACjC,GAAG,WAAW;SACf,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,oBAAoB,CACxB;gBACE,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,SAAS,EAAE,GAAG;aACf,EACD,YAAY,CACb,CAAC;SACH;KACF;IAED,IAAI,UAAU,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,gBAAgB,CACpB;YACE,UAAU,EAAE,UAAU,IAAI,EAAE;YAC5B,SAAS,EAAE,GAAG;SACf,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KAC5D;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/update.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,wCAAwC,MAAM,+CAA+C,CAAC;AAErG,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,OAAY,EAAE,EAAE,MAAM,EAAE,EAAE,YAA2B;IAC/F,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAE1D,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE;QAC/D,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;KAC7D;IAED,IAAI,aAAa,EAAE;QACjB,MAAM,WAAW,GAAG,wCAAwC,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACnD,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE;YACjC,GAAG,WAAW;SACf,CAAC,CAAC;QAEH,IAAI,aAAa,CAAC,OAAO,EAAE;YACzB,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YAC7E,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CACtC,GAAG,EACH,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;gBACnF,OAAO;oBACL,MAAM;oBACN,GAAG,aAAa;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;SACH;KACF;IAED,IAAI,UAAU,EAAE;QACd,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAC/C,MAAM,gBAAgB,CACpB;YACE,UAAU,EAAE,UAAU,IAAI,EAAE;YAC5B,SAAS,EAAE,GAAG;SACf,EACD,YAAY,CACb,CAAC;KACH;IAED,IAAI,KAAK,EAAE;QACT,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;KAC5D;IAED,OAAO;QACL,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -28,8 +28,11 @@ export default async function upsertMedia({ media, productId }, unchainedAPI) {
28
28
  if (!productMedia)
29
29
  throw new Error(`Unable to create product media object for file ${fileId}`);
30
30
  if (content) {
31
- await Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
32
- return modules.products.media.texts.upsertLocalizedText(productMedia._id, locale, localizedData);
31
+ await modules.products.media.texts.updateMediaTexts(productMedia._id, Object.entries(content).map(([locale, localizedData]) => {
32
+ return {
33
+ locale,
34
+ ...localizedData,
35
+ };
33
36
  }));
34
37
  }
35
38
  return productMedia;
@@ -1 +1 @@
1
- {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertMedia.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE,OAAO,EAAiB,EAAE,EAAE;IAC1F,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAA2B;IACzF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,eAAe,EACf,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EACxD,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C;YACE,GAAG,SAAS;YACZ,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,GAAG;SACF,EACjB,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,EAAE,CAAC,CAAC;QAE/F,IAAI,OAAO,EAAE;YACX,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAA6B,EAAE,EAAE;gBACxF,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CACrD,YAAY,CAAC,GAAG,EAChB,MAAM,EACN,aAAa,CACd,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;SACH;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5C,SAAS;QACT,uBAAuB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KACnE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"upsertMedia.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertMedia.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AACxE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAE/C,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAA0B,EAAE,EAAE,OAAO,EAAiB,EAAE,EAAE;IAC1F,IAAI;QACF,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,eAAe,CAAC;KACxB;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC;QAClD,MAAM,cAAc,GAAG,GAAG,CAAC;QAC3B,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;KACxE;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,YAA2B;IACzF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,sBAAsB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAC5B,eAAe,EACf,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,EACxD,YAAY,CACb,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C;YACE,GAAG,SAAS;YACZ,IAAI;YACJ,SAAS;YACT,OAAO,EAAE,IAAI,CAAC,GAAG;SACF,EACjB,YAAY,CACb,CAAC;QACF,IAAI,CAAC,YAAY;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,MAAM,EAAE,CAAC,CAAC;QAE/F,IAAI,OAAO,EAAE;YACX,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CACjD,YAAY,CAAC,GAAG,EAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;gBACrE,OAAO;oBACL,MAAM;oBACN,GAAG,aAAa;iBACjB,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;SACH;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC;QAC5C,SAAS;QACT,uBAAuB,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;KACnE,CAAC,CAAC;AACL,CAAC"}
@@ -16,18 +16,17 @@ export default async function upsertVariations({ variations, productId }, unchai
16
16
  options: options.map((option) => option.value),
17
17
  productId,
18
18
  }, unchainedAPI);
19
- await Promise.all(options.map(async ({ content: optionContent, value: optionValue }) => {
20
- await Promise.all(Object.entries(optionContent).map(async ([locale, localizedData]) => {
21
- return modules.products.variations.texts.upsertLocalizedText({
22
- productVariationId: variation._id,
23
- productVariationOptionValue: optionValue,
24
- }, locale, localizedData);
25
- }));
26
- }));
27
- await Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
28
- return modules.products.variations.texts.upsertLocalizedText({
29
- productVariationId: variation._id,
30
- }, locale, localizedData);
19
+ await Promise.all(options.map(async ({ content: optionContent, value: optionValue }) => modules.products.variations.texts.updateVariationTexts(variation._id, Object.entries(optionContent).map(([locale, localizedData]) => {
20
+ return {
21
+ locale,
22
+ ...localizedData,
23
+ };
24
+ }), optionValue)));
25
+ await modules.products.variations.texts.updateVariationTexts(variation._id, Object.entries(content).map(([locale, localizedData]) => {
26
+ return {
27
+ locale,
28
+ ...localizedData,
29
+ };
31
30
  }));
32
31
  return variation._id;
33
32
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"upsertVariations.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertVariations.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,GAAG,KAAK,EAAE,gBAAkC,EAAE,YAA2B,EAAE,EAAE;IACvF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAChF,OAAO,YAAY,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;KACnF;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,YAA2B;IACnG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,GAAG,CACnD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE;QAC/D,MAAM,SAAS,GAAG,MAAM,MAAM,CAC5B;YACE,GAAG,cAAc;YACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,SAAS;SACV,EACD,YAAY,CACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;YACnE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAC/B,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAiC,EAAE,EAAE;gBAChE,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAC1D;oBACE,kBAAkB,EAAE,SAAS,CAAC,GAAG;oBACjC,2BAA2B,EAAE,WAAW;iBACzC,EACD,MAAM,EACN,aAAa,CACd,CAAC;YACJ,CAAC,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAiC,EAAE,EAAE;YAC5F,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAC1D;gBACE,kBAAkB,EAAE,SAAS,CAAC,GAAG;aAClC,EACD,MAAM,EACN,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC,CAAC,CACH,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAC5E,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACpC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxD,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACzD;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"upsertVariations.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertVariations.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,GAAG,KAAK,EAAE,gBAAkC,EAAE,YAA2B,EAAE,EAAE;IACvF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,IAAI;QACF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAChF,OAAO,YAAY,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;KACnF;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,YAA2B;IACnG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IAEjC,MAAM,2BAA2B,GAAG,MAAM,OAAO,CAAC,GAAG,CACnD,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,EAAE,EAAE;QAC/D,MAAM,SAAS,GAAG,MAAM,MAAM,CAC5B;YACE,GAAG,cAAc;YACjB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;YAC9C,SAAS;SACV,EACD,YAAY,CACb,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CACnE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CACpD,SAAS,CAAC,GAAG,EACb,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;YAC3E,OAAO;gBACL,MAAM;gBACN,GAAG,aAAa;aACjB,CAAC;QACJ,CAAC,CAAC,EACF,WAAW,CACZ,CACF,CACF,CAAC;QACF,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,oBAAoB,CAC1D,SAAS,CAAC,GAAG,EACb,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,CAAgB,EAAE,EAAE;YACrE,OAAO;gBACL,MAAM;gBACN,GAAG,aAAa;aACjB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC,CAAC,CACH,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;QAC5E,SAAS;KACV,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACpC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACxD,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SACzD;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "2.4.3",
3
+ "version": "2.5.1",
4
4
  "main": "lib/platform-index.js",
5
5
  "exports": {
6
6
  ".": "./lib/platform-index.js",
@@ -31,22 +31,22 @@
31
31
  },
32
32
  "homepage": "https://github.com/unchainedshop/unchained#readme",
33
33
  "dependencies": {
34
- "@unchainedshop/api": "^2.4.3",
35
- "@unchainedshop/core": "^2.4.3",
36
- "@unchainedshop/events": "^2.4.3",
37
- "@unchainedshop/file-upload": "^2.4.3",
38
- "@unchainedshop/logger": "^2.4.3",
39
- "@unchainedshop/mongodb": "^2.4.3",
40
- "@unchainedshop/plugins": "^2.4.3",
41
- "@unchainedshop/roles": "^2.4.3",
42
- "@unchainedshop/utils": "^2.4.3",
34
+ "@unchainedshop/api": "^2.5.1",
35
+ "@unchainedshop/core": "^2.5.1",
36
+ "@unchainedshop/events": "^2.5.1",
37
+ "@unchainedshop/file-upload": "^2.5.1",
38
+ "@unchainedshop/logger": "^2.5.1",
39
+ "@unchainedshop/mongodb": "^2.5.1",
40
+ "@unchainedshop/plugins": "^2.5.1",
41
+ "@unchainedshop/roles": "^2.5.1",
42
+ "@unchainedshop/utils": "^2.5.1",
43
43
  "event-iterator": "^2.0.0",
44
44
  "JSONStream": "^1.3.5",
45
45
  "moniker": "0.1.2"
46
46
  },
47
47
  "devDependencies": {
48
- "@types/node": "^18.17.14",
49
- "@unchainedshop/types": "^2.4.3",
48
+ "@types/node": "^18.17.15",
49
+ "@unchainedshop/types": "^2.5.1",
50
50
  "cross-env": "^7.0.3",
51
51
  "jest": "^29.6.4",
52
52
  "ts-jest": "^29.1.1",
@@ -1,7 +1,6 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
2
  import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
3
3
  import upsertAssortmentChildren from './upsertAssortmentChildren.js';
4
- import upsertAssortmentContent from './upsertAssortmentContent.js';
5
4
  import upsertAssortmentFilters from './upsertAssortmentFilters.js';
6
5
  import upsertAssortmentProducts from './upsertAssortmentProducts.js';
7
6
  import upsertMedia from './upsertMedia.js';
@@ -36,12 +35,14 @@ export default async function createAssortment(
36
35
  }
37
36
 
38
37
  logger.debug('create localized content for assortment', specification.content);
39
- await upsertAssortmentContent(
40
- {
41
- content: specification.content,
42
- assortmentId: _id,
43
- },
44
- unchainedAPI,
38
+ await modules.assortments.texts.updateTexts(
39
+ _id,
40
+ Object.entries(specification.content).map(([locale, localizedData]: [string, any]) => {
41
+ return {
42
+ locale,
43
+ ...localizedData,
44
+ };
45
+ }),
45
46
  );
46
47
 
47
48
  logger.debug('create assortment products', products);
@@ -1,5 +1,4 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import upsertAssortmentContent from './upsertAssortmentContent.js';
3
2
  import upsertAssortmentProducts from './upsertAssortmentProducts.js';
4
3
  import upsertAssortmentChildren from './upsertAssortmentChildren.js';
5
4
  import upsertAssortmentFilters from './upsertAssortmentFilters.js';
@@ -22,12 +21,14 @@ export default async function updateAssortment(payload: any, { logger }, unchain
22
21
  await unchainedAPI.modules.assortments.update(_id, { ...specification });
23
22
  if (specification.content) {
24
23
  logger.debug('replace localized content for assortment', specification.content);
25
- await upsertAssortmentContent(
26
- {
27
- content: specification.content,
28
- assortmentId: _id,
29
- },
30
- unchainedAPI,
24
+ await modules.assortments.texts.updateTexts(
25
+ _id,
26
+ Object.entries(specification.content).map(([locale, localizedData]: [string, any]) => {
27
+ return {
28
+ locale,
29
+ ...localizedData,
30
+ };
31
+ }),
31
32
  );
32
33
  }
33
34
  }
@@ -1,4 +1,3 @@
1
- import { AssortmentMediaText } from '@unchainedshop/types/assortments.media.js';
2
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
3
2
  import upsertAsset from '../../upsertAsset.js';
4
3
 
@@ -36,14 +35,12 @@ export default async ({ media, assortmentId }, unchainedAPI: UnchainedCore) => {
36
35
  if (!mediaObject) throw new Error(`Unable to create media object ${mediaObject._id}`);
37
36
 
38
37
  if (content) {
39
- await Promise.all(
40
- Object.entries(content).map(async ([locale, localizedData]: [string, AssortmentMediaText]) => {
41
- return modules.assortments.media.texts.upsertLocalizedText(
42
- mediaObject._id,
43
- locale,
44
- localizedData,
45
- );
46
- }),
38
+ await modules.assortments.media.texts.updateMediaTexts(
39
+ mediaObject._id,
40
+ Object.entries(content).map(([locale, localizedData]: [string, any]) => ({
41
+ locale,
42
+ ...localizedData,
43
+ })),
47
44
  );
48
45
  }
49
46
  return mediaObject;
@@ -1,6 +1,4 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import upsertFilterContent from './upsertFilterContent.js';
3
- import upsertFilterOptionContent from './upsertFilterOptionContent.js';
4
2
 
5
3
  export default async function createFilter(
6
4
  payload: any,
@@ -46,11 +44,35 @@ export default async function createFilter(
46
44
  throw new Error(`Can't upsert filter ${_id}`);
47
45
  }
48
46
 
49
- logger.debug('create localized content for filter', content);
50
- await upsertFilterContent({ content, filterId: _id }, unchainedAPI);
47
+ if (content) {
48
+ logger.debug('create localized content for filter', content);
49
+ await modules.filters.texts.updateTexts(
50
+ { filterId: _id },
51
+ Object.entries(content).map(([locale, localizedData]: [string, any]) => {
52
+ return {
53
+ locale,
54
+ ...localizedData,
55
+ };
56
+ }),
57
+ );
58
+ }
51
59
 
52
- logger.debug('create localized content for filter options', content);
53
- await upsertFilterOptionContent({ options, filterId: _id }, unchainedAPI);
60
+ if (options) {
61
+ logger.debug('create localized content for filter options', content);
62
+ await Promise.all(
63
+ options.map(async ({ content: optionContent, value: optionValue }) =>
64
+ modules.filters.texts.updateTexts(
65
+ { filterId: _id, filterOptionValue: optionValue },
66
+ Object.entries(optionContent).map(([locale, localizedData]: [string, any]) => {
67
+ return {
68
+ locale,
69
+ ...localizedData,
70
+ };
71
+ }),
72
+ ),
73
+ ),
74
+ );
75
+ }
54
76
 
55
77
  return {
56
78
  entity: 'FILTER',
@@ -1,6 +1,4 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import upsertFilterContent from './upsertFilterContent.js';
3
- import upsertFilterOptionContent from './upsertFilterOptionContent.js';
4
2
 
5
3
  export default async function updateFilter(
6
4
  payload: any,
@@ -31,12 +29,32 @@ export default async function updateFilter(
31
29
 
32
30
  if (content) {
33
31
  logger.debug('replace localized content for filter', content);
34
- await upsertFilterContent({ content, filterId: _id }, unchainedAPI);
32
+ await modules.filters.texts.updateTexts(
33
+ { filterId: _id },
34
+ Object.entries(content).map(([locale, localizedData]: [string, any]) => {
35
+ return {
36
+ locale,
37
+ ...localizedData,
38
+ };
39
+ }),
40
+ );
35
41
  }
36
42
 
37
43
  if (options) {
38
44
  logger.debug('replace localized content for filter options', content);
39
- await upsertFilterOptionContent({ options, filterId: _id }, unchainedAPI);
45
+ await Promise.all(
46
+ options.map(async ({ content: optionContent, value: optionValue }) =>
47
+ modules.filters.texts.updateTexts(
48
+ { filterId: _id, filterOptionValue: optionValue },
49
+ Object.entries(optionContent).map(([locale, localizedData]: [string, any]) => {
50
+ return {
51
+ locale,
52
+ ...localizedData,
53
+ };
54
+ }),
55
+ ),
56
+ ),
57
+ );
40
58
  }
41
59
 
42
60
  return {
@@ -1,7 +1,6 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
2
  import upsertVariations from './upsertVariations.js';
3
3
  import upsertMedia from './upsertMedia.js';
4
- import upsertProductContent from './upsertProductContent.js';
5
4
  import transformSpecificationToProductStructure from './transformSpecificationToProductStructure.js';
6
5
 
7
6
  export default async function createProduct(
@@ -37,12 +36,14 @@ export default async function createProduct(
37
36
  }
38
37
 
39
38
  logger.debug('create localized content for product', specification.content);
40
- await upsertProductContent(
41
- {
42
- content: specification.content,
43
- productId: _id,
44
- },
45
- unchainedAPI,
39
+ await modules.products.texts.updateTexts(
40
+ _id,
41
+ Object.entries(specification.content).map(([locale, localizedData]: [string, any]) => {
42
+ return {
43
+ locale,
44
+ ...localizedData,
45
+ };
46
+ }),
46
47
  );
47
48
 
48
49
  logger.debug('create product variations', variations);
@@ -1,7 +1,6 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
2
  import upsertVariations from './upsertVariations.js';
3
3
  import upsertMedia from './upsertMedia.js';
4
- import upsertProductContent from './upsertProductContent.js';
5
4
  import transformSpecificationToProductStructure from './transformSpecificationToProductStructure.js';
6
5
 
7
6
  export default async function createProduct(payload: any, { logger }, unchainedAPI: UnchainedCore) {
@@ -21,12 +20,14 @@ export default async function createProduct(payload: any, { logger }, unchainedA
21
20
 
22
21
  if (specification.content) {
23
22
  logger.debug('replace localized content for product', specification.content);
24
- await upsertProductContent(
25
- {
26
- content: specification.content,
27
- productId: _id,
28
- },
29
- unchainedAPI,
23
+ await modules.products.texts.updateTexts(
24
+ _id,
25
+ Object.entries(specification.content).map(([locale, localizedData]: [string, any]) => {
26
+ return {
27
+ locale,
28
+ ...localizedData,
29
+ };
30
+ }),
30
31
  );
31
32
  }
32
33
  }
@@ -1,4 +1,4 @@
1
- import { ProductMedia, ProductMediaText } from '@unchainedshop/types/products.media.js';
1
+ import { ProductMedia } from '@unchainedshop/types/products.media.js';
2
2
  import { UnchainedCore } from '@unchainedshop/types/core.js';
3
3
  import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
4
4
  import upsertAsset from '../../upsertAsset.js';
@@ -39,13 +39,13 @@ export default async function upsertMedia({ media, productId }, unchainedAPI: Un
39
39
  if (!productMedia) throw new Error(`Unable to create product media object for file ${fileId}`);
40
40
 
41
41
  if (content) {
42
- await Promise.all(
43
- Object.entries(content).map(async ([locale, localizedData]: [string, ProductMediaText]) => {
44
- return modules.products.media.texts.upsertLocalizedText(
45
- productMedia._id,
42
+ await modules.products.media.texts.updateMediaTexts(
43
+ productMedia._id,
44
+ Object.entries(content).map(([locale, localizedData]: [string, any]) => {
45
+ return {
46
46
  locale,
47
- localizedData,
48
- );
47
+ ...localizedData,
48
+ };
49
49
  }),
50
50
  );
51
51
  }
@@ -1,5 +1,5 @@
1
1
  import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import { ProductVariation, ProductVariationText } from '@unchainedshop/types/products.variations.js';
2
+ import { ProductVariation } from '@unchainedshop/types/products.variations.js';
3
3
 
4
4
  const upsert = async (productVariation: ProductVariation, unchainedAPI: UnchainedCore) => {
5
5
  const { modules } = unchainedAPI;
@@ -26,32 +26,26 @@ export default async function upsertVariations({ variations, productId }, unchai
26
26
  );
27
27
 
28
28
  await Promise.all(
29
- options.map(async ({ content: optionContent, value: optionValue }) => {
30
- await Promise.all(
31
- Object.entries(optionContent).map(
32
- async ([locale, localizedData]: [string, ProductVariationText]) => {
33
- return modules.products.variations.texts.upsertLocalizedText(
34
- {
35
- productVariationId: variation._id,
36
- productVariationOptionValue: optionValue,
37
- },
38
- locale,
39
- localizedData,
40
- );
41
- },
42
- ),
43
- );
44
- }),
29
+ options.map(async ({ content: optionContent, value: optionValue }) =>
30
+ modules.products.variations.texts.updateVariationTexts(
31
+ variation._id,
32
+ Object.entries(optionContent).map(([locale, localizedData]: [string, any]) => {
33
+ return {
34
+ locale,
35
+ ...localizedData,
36
+ };
37
+ }),
38
+ optionValue,
39
+ ),
40
+ ),
45
41
  );
46
- await Promise.all(
47
- Object.entries(content).map(async ([locale, localizedData]: [string, ProductVariationText]) => {
48
- return modules.products.variations.texts.upsertLocalizedText(
49
- {
50
- productVariationId: variation._id,
51
- },
42
+ await modules.products.variations.texts.updateVariationTexts(
43
+ variation._id,
44
+ Object.entries(content).map(([locale, localizedData]: [string, any]) => {
45
+ return {
52
46
  locale,
53
- localizedData,
54
- );
47
+ ...localizedData,
48
+ };
55
49
  }),
56
50
  );
57
51
  return variation._id;
@@ -1,6 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- declare const _default: ({ assortmentId, content }: {
3
- assortmentId: any;
4
- content: any;
5
- }, { modules }: UnchainedCore) => Promise<void>;
6
- export default _default;
@@ -1,6 +0,0 @@
1
- export default async ({ assortmentId, content }, { modules }) => {
2
- await Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
3
- return modules.assortments.texts.upsertLocalizedText(assortmentId, locale, localizedData);
4
- }));
5
- };
6
- //# sourceMappingURL=upsertAssortmentContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentContent.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentContent.ts"],"names":[],"mappings":"AAGA,eAAe,KAAK,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAiB,EAAE,EAAE;IAC7E,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAA2B,EAAE,EAAE;QACtF,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5F,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function upsertFilterContent({ content, filterId }: {
3
- content: any;
4
- filterId: any;
5
- }, unchainedAPI: UnchainedCore): Promise<({
6
- filterId: string;
7
- filterOptionValue?: string;
8
- locale?: string;
9
- subtitle?: string;
10
- title?: string;
11
- } & import("@unchainedshop/types/common.js").TimestampFields)[]>;
@@ -1,6 +0,0 @@
1
- export default async function upsertFilterContent({ content, filterId }, unchainedAPI) {
2
- return Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
3
- return unchainedAPI.modules.filters.texts.upsertLocalizedText({ filterId }, locale, localizedData);
4
- }));
5
- }
6
- //# sourceMappingURL=upsertFilterContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertFilterContent.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/upsertFilterContent.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAA2B;IAClG,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAuB,EAAE,EAAE;QAClF,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACrG,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function upsertFilterOptionContent({ options, filterId }: {
3
- options: any;
4
- filterId: any;
5
- }, unchainedAPI: UnchainedCore): Promise<any[]>;
@@ -1,8 +0,0 @@
1
- export default async function upsertFilterOptionContent({ options, filterId }, unchainedAPI) {
2
- return Promise.all((options || []).map(async ({ content: optionContent, value: optionValue }) => {
3
- await Promise.all(Object.entries(optionContent).map(async ([locale, localizedData]) => {
4
- return unchainedAPI.modules.filters.texts.upsertLocalizedText({ filterId, filterOptionValue: optionValue }, locale, localizedData);
5
- }));
6
- }));
7
- }
8
- //# sourceMappingURL=upsertFilterOptionContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertFilterOptionContent.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/upsertFilterOptionContent.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,yBAAyB,CACrD,EAAE,OAAO,EAAE,QAAQ,EAAE,EACrB,YAA2B;IAE3B,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;QAC3E,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAuB,EAAE,EAAE;YACxF,OAAO,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAC3D,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,EAC5C,MAAM,EACN,aAAa,CACd,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function upsertProductContent({ productId, content }: {
3
- productId: any;
4
- content: any;
5
- }, { modules }: UnchainedCore): Promise<void>;
@@ -1,6 +0,0 @@
1
- export default async function upsertProductContent({ productId, content }, { modules }) {
2
- await Promise.all(Object.entries(content).map(async ([locale, localizedData]) => {
3
- return modules.products.texts.upsertLocalizedText(productId, locale, localizedData);
4
- }));
5
- }
6
- //# sourceMappingURL=upsertProductContent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertProductContent.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/product/upsertProductContent.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAiB;IACnG,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,CAAwB,EAAE,EAAE;QACnF,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACtF,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- import { AssortmentText } from '@unchainedshop/types/assortments.js';
2
- import { UnchainedCore } from '@unchainedshop/types/core.js';
3
-
4
- export default async ({ assortmentId, content }, { modules }: UnchainedCore) => {
5
- await Promise.all(
6
- Object.entries(content).map(async ([locale, localizedData]: [string, AssortmentText]) => {
7
- return modules.assortments.texts.upsertLocalizedText(assortmentId, locale, localizedData);
8
- }),
9
- );
10
- };
@@ -1,10 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import { FilterText } from '@unchainedshop/types/filters.js';
3
-
4
- export default async function upsertFilterContent({ content, filterId }, unchainedAPI: UnchainedCore) {
5
- return Promise.all(
6
- Object.entries(content).map(async ([locale, localizedData]: [string, FilterText]) => {
7
- return unchainedAPI.modules.filters.texts.upsertLocalizedText({ filterId }, locale, localizedData);
8
- }),
9
- );
10
- }
@@ -1,21 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import { FilterText } from '@unchainedshop/types/filters.js';
3
-
4
- export default async function upsertFilterOptionContent(
5
- { options, filterId },
6
- unchainedAPI: UnchainedCore,
7
- ) {
8
- return Promise.all(
9
- (options || []).map(async ({ content: optionContent, value: optionValue }) => {
10
- await Promise.all(
11
- Object.entries(optionContent).map(async ([locale, localizedData]: [string, FilterText]) => {
12
- return unchainedAPI.modules.filters.texts.upsertLocalizedText(
13
- { filterId, filterOptionValue: optionValue },
14
- locale,
15
- localizedData,
16
- );
17
- }),
18
- );
19
- }),
20
- );
21
- }
@@ -1,10 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- import { ProductText } from '@unchainedshop/types/products.js';
3
-
4
- export default async function upsertProductContent({ productId, content }, { modules }: UnchainedCore) {
5
- await Promise.all(
6
- Object.entries(content).map(async ([locale, localizedData]: [string, ProductText]) => {
7
- return modules.products.texts.upsertLocalizedText(productId, locale, localizedData);
8
- }),
9
- );
10
- }