@unchainedshop/platform 4.3.3 → 4.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/package.json +1 -1
  2. package/lib/bulk-importer/createBulkImporter.d.ts +0 -20
  3. package/lib/bulk-importer/createBulkImporter.d.ts.map +0 -1
  4. package/lib/bulk-importer/createBulkImporter.js +0 -97
  5. package/lib/bulk-importer/createBulkImporter.js.map +0 -1
  6. package/lib/bulk-importer/handlers/assortment/create.d.ts +0 -11
  7. package/lib/bulk-importer/handlers/assortment/create.d.ts.map +0 -1
  8. package/lib/bulk-importer/handlers/assortment/create.js +0 -60
  9. package/lib/bulk-importer/handlers/assortment/create.js.map +0 -1
  10. package/lib/bulk-importer/handlers/assortment/index.d.ts +0 -4
  11. package/lib/bulk-importer/handlers/assortment/index.d.ts.map +0 -1
  12. package/lib/bulk-importer/handlers/assortment/index.js +0 -4
  13. package/lib/bulk-importer/handlers/assortment/index.js.map +0 -1
  14. package/lib/bulk-importer/handlers/assortment/remove.d.ts +0 -10
  15. package/lib/bulk-importer/handlers/assortment/remove.d.ts.map +0 -1
  16. package/lib/bulk-importer/handlers/assortment/remove.js +0 -13
  17. package/lib/bulk-importer/handlers/assortment/remove.js.map +0 -1
  18. package/lib/bulk-importer/handlers/assortment/update.d.ts +0 -12
  19. package/lib/bulk-importer/handlers/assortment/update.d.ts.map +0 -1
  20. package/lib/bulk-importer/handlers/assortment/update.js +0 -62
  21. package/lib/bulk-importer/handlers/assortment/update.js.map +0 -1
  22. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts +0 -7
  23. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts.map +0 -1
  24. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js +0 -37
  25. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js.map +0 -1
  26. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts +0 -7
  27. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts.map +0 -1
  28. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js +0 -32
  29. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js.map +0 -1
  30. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts +0 -7
  31. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts.map +0 -1
  32. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js +0 -37
  33. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js.map +0 -1
  34. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts +0 -7
  35. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts.map +0 -1
  36. package/lib/bulk-importer/handlers/assortment/upsertMedia.js +0 -39
  37. package/lib/bulk-importer/handlers/assortment/upsertMedia.js.map +0 -1
  38. package/lib/bulk-importer/handlers/filter/create.d.ts +0 -11
  39. package/lib/bulk-importer/handlers/filter/create.d.ts.map +0 -1
  40. package/lib/bulk-importer/handlers/filter/create.js +0 -54
  41. package/lib/bulk-importer/handlers/filter/create.js.map +0 -1
  42. package/lib/bulk-importer/handlers/filter/index.d.ts +0 -4
  43. package/lib/bulk-importer/handlers/filter/index.d.ts.map +0 -1
  44. package/lib/bulk-importer/handlers/filter/index.js +0 -4
  45. package/lib/bulk-importer/handlers/filter/index.js.map +0 -1
  46. package/lib/bulk-importer/handlers/filter/remove.d.ts +0 -10
  47. package/lib/bulk-importer/handlers/filter/remove.d.ts.map +0 -1
  48. package/lib/bulk-importer/handlers/filter/remove.js +0 -14
  49. package/lib/bulk-importer/handlers/filter/remove.js.map +0 -1
  50. package/lib/bulk-importer/handlers/filter/update.d.ts +0 -11
  51. package/lib/bulk-importer/handlers/filter/update.d.ts.map +0 -1
  52. package/lib/bulk-importer/handlers/filter/update.js +0 -44
  53. package/lib/bulk-importer/handlers/filter/update.js.map +0 -1
  54. package/lib/bulk-importer/handlers/product/create.d.ts +0 -11
  55. package/lib/bulk-importer/handlers/product/create.d.ts.map +0 -1
  56. package/lib/bulk-importer/handlers/product/create.js +0 -51
  57. package/lib/bulk-importer/handlers/product/create.js.map +0 -1
  58. package/lib/bulk-importer/handlers/product/index.d.ts +0 -4
  59. package/lib/bulk-importer/handlers/product/index.d.ts.map +0 -1
  60. package/lib/bulk-importer/handlers/product/index.js +0 -4
  61. package/lib/bulk-importer/handlers/product/index.js.map +0 -1
  62. package/lib/bulk-importer/handlers/product/remove.d.ts +0 -10
  63. package/lib/bulk-importer/handlers/product/remove.d.ts.map +0 -1
  64. package/lib/bulk-importer/handlers/product/remove.js +0 -13
  65. package/lib/bulk-importer/handlers/product/remove.js.map +0 -1
  66. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts +0 -3
  67. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts.map +0 -1
  68. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js +0 -16
  69. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js.map +0 -1
  70. package/lib/bulk-importer/handlers/product/update.d.ts +0 -11
  71. package/lib/bulk-importer/handlers/product/update.d.ts.map +0 -1
  72. package/lib/bulk-importer/handlers/product/update.js +0 -48
  73. package/lib/bulk-importer/handlers/product/update.js.map +0 -1
  74. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts +0 -6
  75. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts.map +0 -1
  76. package/lib/bulk-importer/handlers/product/upsertMedia.js +0 -45
  77. package/lib/bulk-importer/handlers/product/upsertMedia.js.map +0 -1
  78. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts +0 -6
  79. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts.map +0 -1
  80. package/lib/bulk-importer/handlers/product/upsertVariations.js +0 -42
  81. package/lib/bulk-importer/handlers/product/upsertVariations.js.map +0 -1
  82. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts +0 -3
  83. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts.map +0 -1
  84. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js +0 -6
  85. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js.map +0 -1
  86. package/lib/bulk-importer/upsertAsset.d.ts +0 -8
  87. package/lib/bulk-importer/upsertAsset.d.ts.map +0 -1
  88. package/lib/bulk-importer/upsertAsset.js +0 -33
  89. package/lib/bulk-importer/upsertAsset.js.map +0 -1
  90. package/lib/context/withAccessToken.d.ts +0 -4
  91. package/lib/context/withAccessToken.d.ts.map +0 -1
  92. package/lib/context/withAccessToken.js +0 -42
  93. package/lib/context/withAccessToken.js.map +0 -1
  94. package/lib/setup/setupCarts.d.ts +0 -8
  95. package/lib/setup/setupCarts.d.ts.map +0 -1
  96. package/lib/setup/setupCarts.js +0 -17
  97. package/lib/setup/setupCarts.js.map +0 -1
  98. package/lib/templates/order-parser/formatAddress.d.ts +0 -3
  99. package/lib/templates/order-parser/formatAddress.d.ts.map +0 -1
  100. package/lib/templates/order-parser/formatAddress.js +0 -14
  101. package/lib/templates/order-parser/formatAddress.js.map +0 -1
  102. package/lib/templates/order-parser/formatPrice.d.ts +0 -6
  103. package/lib/templates/order-parser/formatPrice.d.ts.map +0 -1
  104. package/lib/templates/order-parser/formatPrice.js +0 -6
  105. package/lib/templates/order-parser/formatPrice.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/platform",
3
- "version": "4.3.3",
3
+ "version": "4.3.4",
4
4
  "main": "lib/platform-index.js",
5
5
  "types": "lib/platform-index.d.ts",
6
6
  "type": "module",
@@ -1,20 +0,0 @@
1
- import { mongodb } from '@unchainedshop/mongodb';
2
- import { BulkImporter, UnchainedCore } from '@unchainedshop/types/core.js';
3
- export type BulkImportOperationResult = {
4
- entity: string;
5
- operation: string;
6
- success: boolean;
7
- };
8
- export type BulkImportOperation = (payload: any, options: {
9
- bulk: (collection: string) => typeof mongodb.BulkOperationBase;
10
- createShouldUpsertIfIDExists?: boolean;
11
- updateShouldUpsertIfIDNotExists?: boolean;
12
- skipCacheInvalidation?: boolean;
13
- logger?: any;
14
- }, unchainedAPI: UnchainedCore) => Promise<BulkImportOperationResult>;
15
- export type BulkImportHandler = {
16
- [x: string]: BulkImportOperation;
17
- };
18
- export declare const getOperation: (entity: string, operation: string) => BulkImportOperation;
19
- export declare const createBulkImporterFactory: (db: any, bulkImporterOptions: any) => BulkImporter;
20
- //# sourceMappingURL=createBulkImporter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBulkImporter.d.ts","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAK3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,CAChC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE;IACP,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,OAAO,CAAC,iBAAiB,CAAC;IAC/D,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,MAAM,CAAC,EAAE,GAAG,CAAC;CACd,EACD,YAAY,EAAE,aAAa,KACxB,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;CAClC,CAAC;AAIF,eAAO,MAAM,YAAY,WAAY,MAAM,aAAa,MAAM,KAAG,mBAahE,CAAC;AAEF,eAAO,MAAM,yBAAyB,iCAA6B,GAAG,KAAG,YAgGxE,CAAC"}
@@ -1,97 +0,0 @@
1
- import * as AssortmentHandlers from './handlers/assortment/index.js';
2
- import * as FilterHandlers from './handlers/filter/index.js';
3
- import * as ProductHandlers from './handlers/product/index.js';
4
- let bulkOperationHandlers = {};
5
- export const getOperation = (entity, operation) => {
6
- const handlers = bulkOperationHandlers[entity];
7
- if (!handlers) {
8
- throw new Error(`Entity ${entity} unknown`);
9
- }
10
- const entityOperation = handlers[operation];
11
- if (!entityOperation || typeof entityOperation !== 'function') {
12
- throw new Error(`Operation ${operation} for entity ${entity} invalid`);
13
- }
14
- return entityOperation;
15
- };
16
- export const createBulkImporterFactory = (db, bulkImporterOptions) => {
17
- bulkOperationHandlers = {
18
- ASSORTMENT: AssortmentHandlers,
19
- PRODUCT: ProductHandlers,
20
- FILTER: FilterHandlers,
21
- ...(bulkImporterOptions?.handlers || {}),
22
- };
23
- const createBulkImporter = (options) => {
24
- const bulkOperations = {};
25
- const preparationIssues = [];
26
- const processedOperations = {};
27
- const { logger, createShouldUpsertIfIDExists, skipCacheInvalidation, updateShouldUpsertIfIDNotExists, } = options;
28
- const bulk = (collectionName) => {
29
- const Collection = db.collection(collectionName);
30
- if (!bulkOperations[collectionName])
31
- bulkOperations[collectionName] = Collection.initializeOrderedBulkOp();
32
- return bulkOperations[collectionName];
33
- };
34
- logger.info(`Configure event import with options: createShouldUpsertIfIDExists=${createShouldUpsertIfIDExists} updateShouldUpsertIfIDNotExists=${updateShouldUpsertIfIDNotExists} skipCacheInvalidation=${skipCacheInvalidation}`);
35
- return {
36
- prepare: async (event, unchainedAPI) => {
37
- const entity = event.entity.toUpperCase();
38
- const operation = event.operation.toLowerCase();
39
- const handler = getOperation(entity, operation);
40
- const payloadId = event.payload?._id || 'global';
41
- logger.verbose(`${operation} ${entity} ${payloadId} [PREPARE]`);
42
- logger.profile(`${operation} ${entity} ${payloadId} [DONE]`, {
43
- level: 'verbose',
44
- });
45
- try {
46
- await handler(event.payload, { bulk, ...options }, unchainedAPI);
47
- if (!processedOperations[entity])
48
- processedOperations[entity] = {};
49
- if (!processedOperations[entity][operation])
50
- processedOperations[entity][operation] = [];
51
- processedOperations[entity][operation].push(payloadId);
52
- logger.verbose(`${operation} ${entity} ${payloadId} [SUCCESS]`);
53
- }
54
- catch (e) {
55
- logger.verbose(`${operation} ${entity} ${payloadId} [FAILED]: ${e.message}`);
56
- preparationIssues.push({
57
- operation,
58
- entity,
59
- payloadId,
60
- errorCode: e.name,
61
- errorMessage: e.message,
62
- });
63
- }
64
- finally {
65
- logger.profile(`${operation} ${entity} ${payloadId} [DONE]`, {
66
- level: 'verbose',
67
- });
68
- }
69
- },
70
- execute: async () => {
71
- logger.info(`Execute bulk operations for: ${Object.keys(bulkOperations).join(', ')}`);
72
- const processedBulkOperations = await Promise.allSettled(Object.values(bulkOperations).map(async (o) => o.execute()));
73
- const operationResults = {
74
- processedOperations,
75
- processedBulkOperations,
76
- };
77
- if (preparationIssues?.length) {
78
- logger.error(`${preparationIssues.length} issues occured while preparing events, import finished with errors`);
79
- const errors = { preparationIssues };
80
- return [operationResults, errors];
81
- }
82
- logger.info(`Import finished without errors`);
83
- return [operationResults, null];
84
- },
85
- invalidateCaches: async (unchainedAPI) => {
86
- if (skipCacheInvalidation)
87
- return;
88
- await unchainedAPI.modules.assortments.invalidateCache({}, { skipUpstreamTraversal: true });
89
- await unchainedAPI.modules.filters.invalidateCache({}, unchainedAPI);
90
- },
91
- };
92
- };
93
- return {
94
- createBulkImporter,
95
- };
96
- };
97
- //# sourceMappingURL=createBulkImporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createBulkImporter.js","sourceRoot":"","sources":["../../src/bulk-importer/createBulkImporter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function createAssortment(payload: any, { logger, createShouldUpsertIfIDExists }: {
3
- logger: any;
4
- createShouldUpsertIfIDExists: any;
5
- }, unchainedAPI: UnchainedCore): Promise<{
6
- entity: string;
7
- operation: string;
8
- _id: any;
9
- success: boolean;
10
- }>;
11
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAO7D,wBAA8B,gBAAgB,CAC5C,OAAO,EAAE,GAAG,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE;;;CAAA,EACxC,YAAY,EAAE,aAAa;;;;;GAyE5B"}
@@ -1,60 +0,0 @@
1
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
- import upsertAssortmentChildren from './upsertAssortmentChildren.js';
3
- import upsertAssortmentFilters from './upsertAssortmentFilters.js';
4
- import upsertAssortmentProducts from './upsertAssortmentProducts.js';
5
- import upsertMedia from './upsertMedia.js';
6
- export default async function createAssortment(payload, { logger, createShouldUpsertIfIDExists }, unchainedAPI) {
7
- const { modules } = unchainedAPI;
8
- const { media, specification, products, children, filters, _id } = payload;
9
- if (!specification)
10
- throw new Error(`Specification is required when creating new assortment ${_id}`);
11
- if (!specification.content)
12
- throw new Error(`Assortment content is required when creating new assortment${_id}`);
13
- specification.tags = convertTagsToLowerCase(specification?.tags);
14
- logger.debug('create assortment object', specification);
15
- try {
16
- await modules.assortments.create({ ...specification, _id });
17
- }
18
- catch (e) {
19
- if (!createShouldUpsertIfIDExists)
20
- throw e;
21
- logger.debug('entity already exists, falling back to update', specification);
22
- await modules.assortments.update(_id, {
23
- ...specification,
24
- });
25
- }
26
- if (!(await modules.assortments.assortmentExists({ assortmentId: _id }))) {
27
- throw new Error(`Can't create assortment ${_id}, fields missing?`);
28
- }
29
- logger.debug('create localized content for assortment', specification.content);
30
- await modules.assortments.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
31
- return {
32
- locale,
33
- ...localizedData,
34
- };
35
- }));
36
- logger.debug('create assortment products', products);
37
- await upsertAssortmentProducts({
38
- products: products || [],
39
- assortmentId: _id,
40
- }, unchainedAPI);
41
- logger.debug('create assortment children', children);
42
- await upsertAssortmentChildren({
43
- children: children || [],
44
- assortmentId: _id,
45
- }, unchainedAPI);
46
- logger.debug('create assortment filters', filters);
47
- await upsertAssortmentFilters({
48
- filters: filters || [],
49
- assortmentId: _id,
50
- }, unchainedAPI);
51
- logger.debug('create assortment media', media);
52
- await upsertMedia({ media: media || [], assortmentId: _id }, unchainedAPI);
53
- return {
54
- entity: 'ASSORTMENT',
55
- operation: 'create',
56
- _id,
57
- success: true,
58
- };
59
- }
60
- //# sourceMappingURL=create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/create.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- export { default as create } from './create.js';
2
- export { default as update } from './update.js';
3
- export { default as remove } from './remove.js';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,4 +0,0 @@
1
- export { default as create } from './create.js';
2
- export { default as update } from './update.js';
3
- export { default as remove } from './remove.js';
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,aAAa,CAAC"}
@@ -1,10 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function removeAssortment(payload: any, { logger }: {
3
- logger: any;
4
- }, unchainedAPI: UnchainedCore): Promise<{
5
- entity: string;
6
- operation: string;
7
- _id: any;
8
- success: boolean;
9
- }>;
10
- //# sourceMappingURL=remove.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,wBAA8B,gBAAgB,CAAC,OAAO,KAAA,EAAE,EAAE,MAAM,EAAE;;CAAA,EAAE,YAAY,EAAE,aAAa;;;;;GAY9F"}
@@ -1,13 +0,0 @@
1
- export default async function removeAssortment(payload, { logger }, unchainedAPI) {
2
- const { modules } = unchainedAPI;
3
- const { _id } = payload;
4
- logger.debug('remove assortment');
5
- await modules.assortments.delete(_id, { skipInvalidation: true });
6
- return {
7
- entity: 'ASSORTMENT',
8
- operation: 'remove',
9
- _id,
10
- success: true,
11
- };
12
- }
13
- //# sourceMappingURL=remove.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/remove.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,YAA2B;IAC7F,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACxB,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAClC,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAElE,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,QAAQ;QACnB,GAAG;QACH,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function updateAssortment(payload: any, { logger, createShouldUpsertIfIDExists, updateShouldUpsertIfIDNotExists }: {
3
- logger: any;
4
- createShouldUpsertIfIDExists: any;
5
- updateShouldUpsertIfIDNotExists: any;
6
- }, unchainedAPI: UnchainedCore): Promise<{
7
- entity: string;
8
- operation: string;
9
- _id: any;
10
- success: boolean;
11
- }>;
12
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAQ7D,wBAA8B,gBAAgB,CAC5C,OAAO,EAAE,GAAG,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE,+BAA+B,EAAE;;;;CAAA,EACzE,YAAY,EAAE,aAAa;;;;;GA2E5B"}
@@ -1,62 +0,0 @@
1
- import upsertAssortmentProducts from './upsertAssortmentProducts.js';
2
- import upsertAssortmentChildren from './upsertAssortmentChildren.js';
3
- import upsertAssortmentFilters from './upsertAssortmentFilters.js';
4
- import upsertMedia from './upsertMedia.js';
5
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
6
- import createAssortment from './create.js';
7
- export default async function updateAssortment(payload, { logger, createShouldUpsertIfIDExists, updateShouldUpsertIfIDNotExists }, unchainedAPI) {
8
- const { modules } = unchainedAPI;
9
- const { media, specification, products, children, filters, _id } = payload;
10
- if (!(await modules.assortments.assortmentExists({ assortmentId: _id }))) {
11
- if (updateShouldUpsertIfIDNotExists) {
12
- return createAssortment(payload, { logger, createShouldUpsertIfIDExists }, unchainedAPI);
13
- }
14
- throw new Error(`Can't update non-existing assortment ${_id}`);
15
- }
16
- if (specification) {
17
- logger.debug('update assortment object', specification);
18
- specification.tags = convertTagsToLowerCase(specification?.tags);
19
- await unchainedAPI.modules.assortments.update(_id, { ...specification });
20
- if (specification.content) {
21
- logger.debug('replace localized content for assortment', specification.content);
22
- await modules.assortments.texts.updateTexts(_id, Object.entries(specification.content).map(([locale, localizedData]) => {
23
- return {
24
- locale,
25
- ...localizedData,
26
- };
27
- }));
28
- }
29
- }
30
- if (products) {
31
- logger.debug('update product products', products);
32
- await upsertAssortmentProducts({
33
- products: products || [],
34
- assortmentId: _id,
35
- }, unchainedAPI);
36
- }
37
- if (children) {
38
- logger.debug('update assortment children', children);
39
- await upsertAssortmentChildren({
40
- children: children || [],
41
- assortmentId: _id,
42
- }, unchainedAPI);
43
- }
44
- if (filters) {
45
- logger.debug('update assortment filters', filters);
46
- await upsertAssortmentFilters({
47
- filters: filters || [],
48
- assortmentId: _id,
49
- }, unchainedAPI);
50
- }
51
- if (media) {
52
- logger.debug('update assortment media', media);
53
- await upsertMedia({ media: media || [], assortmentId: _id }, unchainedAPI);
54
- }
55
- return {
56
- entity: 'ASSORTMENT',
57
- operation: 'update',
58
- _id,
59
- success: true,
60
- };
61
- }
62
- //# sourceMappingURL=update.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/update.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- declare const _default: ({ children, assortmentId: parentAssortmentId }: {
3
- children: any;
4
- assortmentId: any;
5
- }, unchainedAPI: UnchainedCore) => Promise<void>;
6
- export default _default;
7
- //# sourceMappingURL=upsertAssortmentChildren.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentChildren.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;;;;iBAuBuB,aAAa;AAAjG,wBAwBE"}
@@ -1,37 +0,0 @@
1
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
- const upsert = async (assortmentLink, { modules }) => {
3
- if (!(await modules.assortments.assortmentExists({
4
- assortmentId: assortmentLink.childAssortmentId,
5
- }))) {
6
- throw new Error(`Can't link non-existing assortment ${assortmentLink.childAssortmentId}`);
7
- }
8
- try {
9
- const newAssortmentLink = await modules.assortments.links.create(assortmentLink, {
10
- skipInvalidation: true,
11
- });
12
- return newAssortmentLink;
13
- }
14
- catch {
15
- return modules.assortments.links.update(assortmentLink._id, assortmentLink, {
16
- skipInvalidation: true,
17
- });
18
- }
19
- };
20
- export default async ({ children, assortmentId: parentAssortmentId }, unchainedAPI) => {
21
- const { modules } = unchainedAPI;
22
- const assortmentLinkIds = await Promise.all(children.map(async ({ assortmentId: childAssortmentId, ...childrenRest }) => {
23
- const tags = convertTagsToLowerCase(childrenRest?.tags);
24
- const assortmentLink = await upsert({
25
- ...childrenRest,
26
- tags,
27
- parentAssortmentId,
28
- childAssortmentId,
29
- }, unchainedAPI);
30
- return assortmentLink._id;
31
- }));
32
- await modules.assortments.links.deleteMany({
33
- _id: { $nin: assortmentLinkIds },
34
- parentAssortmentId,
35
- }, { skipInvalidation: true });
36
- };
37
- //# sourceMappingURL=upsertAssortmentChildren.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentChildren.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,MAAM,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE,OAAO,EAAiB,EAAE,EAAE;IAClF,IACE,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;QAC3C,YAAY,EAAE,cAAc,CAAC,iBAAiB;KAC/C,CAAC,CAAC,EACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC;QACH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE;YAC/E,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE;YAC1E,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,EAAE,YAA2B,EAAE,EAAE;IACnG,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACzC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,MAAM,MAAM,CACjC;YACE,GAAG,YAAY;YACf,IAAI;YACJ,kBAAkB;YAClB,iBAAiB;SACA,EACnB,YAAY,CACb,CAAC;QACF,OAAO,cAAc,CAAC,GAAG,CAAC;IAC5B,CAAC,CAAC,CACH,CAAC;IACF,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CACxC;QACE,GAAG,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;QAChC,kBAAkB;KACnB,EACD,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- declare const _default: ({ filters, assortmentId }: {
3
- filters: any;
4
- assortmentId: any;
5
- }, unchainedAPI: UnchainedCore) => Promise<void>;
6
- export default _default;
7
- //# sourceMappingURL=upsertAssortmentFilters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentFilters.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;;;;iBAmBE,aAAa;AAA5E,wBAqBE"}
@@ -1,32 +0,0 @@
1
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
- const upsert = async (assortmentFilter, { modules }) => {
3
- if (!(await modules.filters.filterExists({
4
- filterId: assortmentFilter.filterId,
5
- }))) {
6
- throw new Error(`Can't link non-existing filter ${assortmentFilter.filterId}`);
7
- }
8
- try {
9
- const newAssortmentFilter = await modules.assortments.filters.create(assortmentFilter);
10
- return newAssortmentFilter;
11
- }
12
- catch {
13
- return modules.assortments.filters.update(assortmentFilter._id, assortmentFilter);
14
- }
15
- };
16
- export default async ({ filters, assortmentId }, unchainedAPI) => {
17
- const { modules } = unchainedAPI;
18
- const assortmentFilterIds = await Promise.all(filters.map(async (filter) => {
19
- const tags = convertTagsToLowerCase(filter?.tags);
20
- const assortmentFilter = await upsert({
21
- ...filter,
22
- tags,
23
- assortmentId,
24
- }, unchainedAPI);
25
- return assortmentFilter._id;
26
- }));
27
- await modules.assortments.filters.deleteMany({
28
- _id: { $nin: assortmentFilterIds },
29
- assortmentId,
30
- });
31
- };
32
- //# sourceMappingURL=upsertAssortmentFilters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentFilters.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,MAAM,GAAG,KAAK,EAAE,gBAAkC,EAAE,EAAE,OAAO,EAAiB,EAAE,EAAE;IACtF,IACE,CAAC,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;QACnC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ;KACpC,CAAC,CAAC,EACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACvF,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;IACpF,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,YAA2B,EAAE,EAAE;IAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAwB,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAClD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CACnC;YACE,GAAG,MAAM;YACT,IAAI;YACJ,YAAY;SACb,EACD,YAAY,CACb,CAAC;QACF,OAAO,gBAAgB,CAAC,GAAG,CAAC;IAC9B,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3C,GAAG,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;QAClC,YAAY;KACb,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- declare const _default: ({ products, assortmentId }: {
3
- products: any;
4
- assortmentId: any;
5
- }, unchainedAPI: UnchainedCore) => Promise<void>;
6
- export default _default;
7
- //# sourceMappingURL=upsertAssortmentProducts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentProducts.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;;;;iBAwBG,aAAa;AAA7E,wBAwBE"}
@@ -1,37 +0,0 @@
1
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
- const upsert = async (assortmentProduct, unchainedAPI) => {
3
- const { modules } = unchainedAPI;
4
- if (!(await modules.products.productExists({
5
- productId: assortmentProduct.productId,
6
- }))) {
7
- throw new Error(`Can't link non-existing product ${assortmentProduct.productId}`);
8
- }
9
- try {
10
- const newAssortmentProduct = await modules.assortments.products.create(assortmentProduct, {
11
- skipInvalidation: true,
12
- });
13
- return newAssortmentProduct;
14
- }
15
- catch {
16
- return modules.assortments.products.update(assortmentProduct._id, assortmentProduct, {
17
- skipInvalidation: true,
18
- });
19
- }
20
- };
21
- export default async ({ products, assortmentId }, unchainedAPI) => {
22
- const { modules } = unchainedAPI;
23
- const assortmentProductIds = await Promise.all(products.map(async (product) => {
24
- const tags = convertTagsToLowerCase(product?.tags);
25
- const assortmentProduct = await upsert({
26
- ...product,
27
- tags,
28
- assortmentId,
29
- }, unchainedAPI);
30
- return assortmentProduct._id;
31
- }));
32
- await modules.assortments.products.deleteMany({
33
- _id: { $nin: assortmentProductIds },
34
- assortmentId,
35
- }, { skipInvalidation: true });
36
- };
37
- //# sourceMappingURL=upsertAssortmentProducts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertAssortmentProducts.js","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,oCAAoC,CAAC;AAExE,MAAM,MAAM,GAAG,KAAK,EAAE,iBAAoC,EAAE,YAA2B,EAAE,EAAE;IACzF,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,IACE,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QACrC,SAAS,EAAE,iBAAiB,CAAC,SAAS;KACvC,CAAC,CAAC,EACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACxF,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE;YACnF,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,YAA2B,EAAE,EAAE;IAC/E,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;IACjC,MAAM,oBAAoB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5C,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAA0B,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CACpC;YACE,GAAG,OAAO;YACV,IAAI;YACJ,YAAY;SACb,EACD,YAAY,CACb,CAAC;QACF,OAAO,iBAAiB,CAAC,GAAG,CAAC;IAC/B,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAC3C;QACE,GAAG,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE;QACnC,YAAY;KACb,EACD,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;AACJ,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- declare const _default: ({ media, assortmentId }: {
3
- media: any;
4
- assortmentId: any;
5
- }, unchainedAPI: UnchainedCore) => Promise<void>;
6
- export default _default;
7
- //# sourceMappingURL=upsertMedia.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"upsertMedia.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/assortment/upsertMedia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;;;;iBAcA,aAAa;AAA1E,wBAuCE"}
@@ -1,39 +0,0 @@
1
- import upsertAsset from '../../upsertAsset.js';
2
- const upsertMediaObject = async (media, unchainedAPI) => {
3
- const { modules } = unchainedAPI;
4
- try {
5
- const assortmentMedia = await modules.assortments.media.create(media);
6
- return assortmentMedia;
7
- }
8
- catch {
9
- const { _id, ...mediaData } = media;
10
- return modules.assortments.media.update(_id, mediaData);
11
- }
12
- };
13
- export default async ({ media, assortmentId }, unchainedAPI) => {
14
- const { modules } = unchainedAPI;
15
- const mediaObjects = await Promise.all(media.map(async ({ asset, content, ...mediaData }) => {
16
- const file = await upsertAsset('assortment-media', { meta: { ...(asset.meta || {}), assortmentId }, ...asset }, unchainedAPI);
17
- if (!file)
18
- throw new Error(`Unable to create binary ${asset._id}`);
19
- const mediaObject = await upsertMediaObject({
20
- ...mediaData,
21
- assortmentId,
22
- mediaId: file._id,
23
- }, unchainedAPI);
24
- if (!mediaObject)
25
- throw new Error(`Unable to create media object ${mediaObject._id}`);
26
- if (content) {
27
- await modules.assortments.media.texts.updateMediaTexts(mediaObject._id, Object.entries(content).map(([locale, localizedData]) => ({
28
- locale,
29
- ...localizedData,
30
- })));
31
- }
32
- return mediaObject;
33
- }));
34
- await modules.assortments.media.deleteMediaFiles({
35
- assortmentId,
36
- excludedAssortmentMediaIds: mediaObjects.map((obj) => obj._id),
37
- });
38
- };
39
- //# sourceMappingURL=upsertMedia.js.map
@@ -1 +0,0 @@
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,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,eAAe,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,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;IAC1D,CAAC;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,CAAC;YACZ,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;QACJ,CAAC;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,11 +0,0 @@
1
- import { UnchainedCore } from '@unchainedshop/types/core.js';
2
- export default function createFilter(payload: any, { logger, createShouldUpsertIfIDExists }: {
3
- logger: any;
4
- createShouldUpsertIfIDExists: any;
5
- }, unchainedAPI: UnchainedCore): Promise<{
6
- entity: string;
7
- operation: string;
8
- _id: any;
9
- success: boolean;
10
- }>;
11
- //# sourceMappingURL=create.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/bulk-importer/handlers/filter/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,wBAA8B,YAAY,CACxC,OAAO,EAAE,GAAG,EACZ,EAAE,MAAM,EAAE,4BAA4B,EAAE;;;CAAA,EACxC,YAAY,EAAE,aAAa;;;;;GA6E5B"}