@unchainedshop/core 4.0.0-rc.15 → 4.0.0-rc.16

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 (156) hide show
  1. package/lib/bulk-importer/createBulkImporter.d.ts +61 -0
  2. package/lib/bulk-importer/createBulkImporter.d.ts.map +1 -0
  3. package/lib/bulk-importer/createBulkImporter.js +135 -0
  4. package/lib/bulk-importer/createBulkImporter.js.map +1 -0
  5. package/lib/bulk-importer/handlers/assortment/create.d.ts +15 -0
  6. package/lib/bulk-importer/handlers/assortment/create.d.ts.map +1 -0
  7. package/lib/bulk-importer/handlers/assortment/create.js +62 -0
  8. package/lib/bulk-importer/handlers/assortment/create.js.map +1 -0
  9. package/lib/bulk-importer/handlers/assortment/index.d.ts +4 -0
  10. package/lib/bulk-importer/handlers/assortment/index.d.ts.map +1 -0
  11. package/lib/bulk-importer/handlers/assortment/index.js +4 -0
  12. package/lib/bulk-importer/handlers/assortment/index.js.map +1 -0
  13. package/lib/bulk-importer/handlers/assortment/remove.d.ts +12 -0
  14. package/lib/bulk-importer/handlers/assortment/remove.d.ts.map +1 -0
  15. package/lib/bulk-importer/handlers/assortment/remove.js +13 -0
  16. package/lib/bulk-importer/handlers/assortment/remove.js.map +1 -0
  17. package/lib/bulk-importer/handlers/assortment/update.d.ts +16 -0
  18. package/lib/bulk-importer/handlers/assortment/update.d.ts.map +1 -0
  19. package/lib/bulk-importer/handlers/assortment/update.js +62 -0
  20. package/lib/bulk-importer/handlers/assortment/update.js.map +1 -0
  21. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts +9 -0
  22. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts.map +1 -0
  23. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js +37 -0
  24. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js.map +1 -0
  25. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts +9 -0
  26. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts.map +1 -0
  27. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js +32 -0
  28. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js.map +1 -0
  29. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts +9 -0
  30. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts.map +1 -0
  31. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js +37 -0
  32. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js.map +1 -0
  33. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts +11 -0
  34. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts.map +1 -0
  35. package/lib/bulk-importer/handlers/assortment/upsertMedia.js +39 -0
  36. package/lib/bulk-importer/handlers/assortment/upsertMedia.js.map +1 -0
  37. package/lib/bulk-importer/handlers/filter/create.d.ts +13 -0
  38. package/lib/bulk-importer/handlers/filter/create.d.ts.map +1 -0
  39. package/lib/bulk-importer/handlers/filter/create.js +58 -0
  40. package/lib/bulk-importer/handlers/filter/create.js.map +1 -0
  41. package/lib/bulk-importer/handlers/filter/index.d.ts +4 -0
  42. package/lib/bulk-importer/handlers/filter/index.d.ts.map +1 -0
  43. package/lib/bulk-importer/handlers/filter/index.js +4 -0
  44. package/lib/bulk-importer/handlers/filter/index.js.map +1 -0
  45. package/lib/bulk-importer/handlers/filter/remove.d.ts +12 -0
  46. package/lib/bulk-importer/handlers/filter/remove.d.ts.map +1 -0
  47. package/lib/bulk-importer/handlers/filter/remove.js +14 -0
  48. package/lib/bulk-importer/handlers/filter/remove.js.map +1 -0
  49. package/lib/bulk-importer/handlers/filter/update.d.ts +13 -0
  50. package/lib/bulk-importer/handlers/filter/update.d.ts.map +1 -0
  51. package/lib/bulk-importer/handlers/filter/update.js +48 -0
  52. package/lib/bulk-importer/handlers/filter/update.js.map +1 -0
  53. package/lib/bulk-importer/handlers/product/create.d.ts +15 -0
  54. package/lib/bulk-importer/handlers/product/create.d.ts.map +1 -0
  55. package/lib/bulk-importer/handlers/product/create.js +53 -0
  56. package/lib/bulk-importer/handlers/product/create.js.map +1 -0
  57. package/lib/bulk-importer/handlers/product/index.d.ts +4 -0
  58. package/lib/bulk-importer/handlers/product/index.d.ts.map +1 -0
  59. package/lib/bulk-importer/handlers/product/index.js +4 -0
  60. package/lib/bulk-importer/handlers/product/index.js.map +1 -0
  61. package/lib/bulk-importer/handlers/product/remove.d.ts +14 -0
  62. package/lib/bulk-importer/handlers/product/remove.d.ts.map +1 -0
  63. package/lib/bulk-importer/handlers/product/remove.js +13 -0
  64. package/lib/bulk-importer/handlers/product/remove.js.map +1 -0
  65. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts +3 -0
  66. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.d.ts.map +1 -0
  67. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js +16 -0
  68. package/lib/bulk-importer/handlers/product/transformSpecificationToProductStructure.js.map +1 -0
  69. package/lib/bulk-importer/handlers/product/update.d.ts +15 -0
  70. package/lib/bulk-importer/handlers/product/update.d.ts.map +1 -0
  71. package/lib/bulk-importer/handlers/product/update.js +48 -0
  72. package/lib/bulk-importer/handlers/product/update.js.map +1 -0
  73. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts +10 -0
  74. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts.map +1 -0
  75. package/lib/bulk-importer/handlers/product/upsertMedia.js +45 -0
  76. package/lib/bulk-importer/handlers/product/upsertMedia.js.map +1 -0
  77. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts +8 -0
  78. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts.map +1 -0
  79. package/lib/bulk-importer/handlers/product/upsertVariations.js +48 -0
  80. package/lib/bulk-importer/handlers/product/upsertVariations.js.map +1 -0
  81. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts +3 -0
  82. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts.map +1 -0
  83. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js +6 -0
  84. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js.map +1 -0
  85. package/lib/bulk-importer/upsertAsset.d.ts +12 -0
  86. package/lib/bulk-importer/upsertAsset.d.ts.map +1 -0
  87. package/lib/bulk-importer/upsertAsset.js +33 -0
  88. package/lib/bulk-importer/upsertAsset.js.map +1 -0
  89. package/lib/core-index.d.ts +6 -5
  90. package/lib/core-index.d.ts.map +1 -1
  91. package/lib/core-index.js +4 -1
  92. package/lib/core-index.js.map +1 -1
  93. package/lib/directors/PaymentDirector.js +2 -2
  94. package/lib/directors/PaymentDirector.js.map +1 -1
  95. package/lib/directors/WorkerAdapter.d.ts +3 -2
  96. package/lib/directors/WorkerAdapter.d.ts.map +1 -1
  97. package/lib/directors/WorkerAdapter.js.map +1 -1
  98. package/lib/modules.d.ts.map +1 -1
  99. package/lib/modules.js +1 -0
  100. package/lib/modules.js.map +1 -1
  101. package/lib/services/activateEnrollment.d.ts.map +1 -1
  102. package/lib/services/activateEnrollment.js +5 -9
  103. package/lib/services/activateEnrollment.js.map +1 -1
  104. package/lib/services/addMessage.d.ts +4 -0
  105. package/lib/services/addMessage.d.ts.map +1 -0
  106. package/lib/services/addMessage.js +15 -0
  107. package/lib/services/addMessage.js.map +1 -0
  108. package/lib/services/index.d.ts +4 -0
  109. package/lib/services/index.d.ts.map +1 -1
  110. package/lib/services/index.js +4 -0
  111. package/lib/services/index.js.map +1 -1
  112. package/lib/services/initializeEnrollment.d.ts.map +1 -1
  113. package/lib/services/initializeEnrollment.js +5 -9
  114. package/lib/services/initializeEnrollment.js.map +1 -1
  115. package/lib/services/processQuotation.d.ts.map +1 -1
  116. package/lib/services/processQuotation.js +4 -8
  117. package/lib/services/processQuotation.js.map +1 -1
  118. package/lib/services/removeFiles.js +2 -2
  119. package/lib/services/removeFiles.js.map +1 -1
  120. package/lib/services/terminateEnrollment.d.ts.map +1 -1
  121. package/lib/services/terminateEnrollment.js +5 -9
  122. package/lib/services/terminateEnrollment.js.map +1 -1
  123. package/package.json +3 -2
  124. package/src/bulk-importer/createBulkImporter.ts +193 -0
  125. package/src/bulk-importer/handlers/assortment/create.ts +87 -0
  126. package/src/bulk-importer/handlers/assortment/index.ts +3 -0
  127. package/src/bulk-importer/handlers/assortment/remove.ts +15 -0
  128. package/src/bulk-importer/handlers/assortment/update.ts +89 -0
  129. package/src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts +52 -0
  130. package/src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts +42 -0
  131. package/src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts +50 -0
  132. package/src/bulk-importer/handlers/assortment/upsertMedia.ts +58 -0
  133. package/src/bulk-importer/handlers/filter/create.ts +76 -0
  134. package/src/bulk-importer/handlers/filter/index.ts +3 -0
  135. package/src/bulk-importer/handlers/filter/remove.ts +20 -0
  136. package/src/bulk-importer/handlers/filter/update.ts +67 -0
  137. package/src/bulk-importer/handlers/product/create.ts +70 -0
  138. package/src/bulk-importer/handlers/product/index.ts +3 -0
  139. package/src/bulk-importer/handlers/product/remove.ts +21 -0
  140. package/src/bulk-importer/handlers/product/transformSpecificationToProductStructure.ts +22 -0
  141. package/src/bulk-importer/handlers/product/update.ts +66 -0
  142. package/src/bulk-importer/handlers/product/upsertMedia.ts +64 -0
  143. package/src/bulk-importer/handlers/product/upsertVariations.ts +71 -0
  144. package/src/bulk-importer/handlers/utils/convertTagsToLowerCase.ts +4 -0
  145. package/src/bulk-importer/upsertAsset.ts +42 -0
  146. package/src/core-index.ts +10 -5
  147. package/src/directors/PaymentDirector.ts +2 -2
  148. package/src/directors/WorkerAdapter.ts +8 -3
  149. package/src/modules.ts +1 -0
  150. package/src/services/activateEnrollment.ts +5 -9
  151. package/src/services/addMessage.ts +20 -0
  152. package/src/services/index.ts +4 -0
  153. package/src/services/initializeEnrollment.ts +5 -9
  154. package/src/services/processQuotation.ts +4 -8
  155. package/src/services/removeFiles.ts +2 -2
  156. package/src/services/terminateEnrollment.ts +5 -9
@@ -0,0 +1,20 @@
1
+ import { Work } from '@unchainedshop/core-worker';
2
+ import { MessagingDirector } from '../core-index.js';
3
+ import { Modules } from '../modules.js';
4
+
5
+ export async function addMessageService<T = Record<string, any>>(
6
+ this: Modules,
7
+ template: string,
8
+ input: T,
9
+ ): Promise<Work | null> {
10
+ const templateResolver = MessagingDirector.getTemplate(template); // Validate template exists
11
+ if (!templateResolver) return null;
12
+ return this.worker.addWork({
13
+ type: 'MESSAGE',
14
+ input: {
15
+ template,
16
+ ...input,
17
+ },
18
+ retries: 0,
19
+ });
20
+ }
@@ -44,6 +44,7 @@ import { simulateProductPricingService } from './simulateProductPricing.js';
44
44
  import { simulateProductDispatchingService } from './simulateProductDispatching.js';
45
45
  import { simulateProductInventoryService } from './simulateProductInventory.js';
46
46
  import { findOrInitCartService } from './findOrInitCart.js';
47
+ import { addMessageService } from './addMessage.js';
47
48
 
48
49
  // Auto-Inject Unchained API as last parameter
49
50
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
@@ -156,6 +157,9 @@ export default function initServices(modules: Modules, customServices: CustomSer
156
157
  warehousing: {
157
158
  ercMetadata: ercMetadataService as Bound<typeof ercMetadataService>,
158
159
  },
160
+ worker: {
161
+ addMessage: addMessageService as Bound<typeof addMessageService>,
162
+ },
159
163
  };
160
164
 
161
165
  // This Proxy Binds all services to the Modules Object
@@ -2,6 +2,7 @@ import { Enrollment } from '@unchainedshop/core-enrollments';
2
2
  import { EnrollmentDirector } from '../core-index.js';
3
3
  import { processEnrollmentService } from './processEnrollment.js';
4
4
  import { Modules } from '../modules.js';
5
+ import { addMessageService } from './addMessage.js';
5
6
 
6
7
  export async function initializeEnrollmentService(
7
8
  this: Modules,
@@ -23,15 +24,10 @@ export async function initializeEnrollmentService(
23
24
  const user = await this.users.findUserById(enrollment.userId);
24
25
  const locale = this.users.userLocale(user);
25
26
 
26
- await this.worker.addWork({
27
- type: 'MESSAGE',
28
- retries: 0,
29
- input: {
30
- reason: params.reason || 'status_change',
31
- locale: locale.baseName,
32
- template: 'ENROLLMENT_STATUS',
33
- enrollmentId: processedEnrollment._id,
34
- },
27
+ await addMessageService.bind(this)('ENROLLMENT_STATUS', {
28
+ reason: 'status_change',
29
+ locale: locale.baseName,
30
+ enrollmentId: processedEnrollment._id,
35
31
  });
36
32
 
37
33
  return processedEnrollment;
@@ -1,6 +1,7 @@
1
1
  import { Quotation, QuotationStatus } from '@unchainedshop/core-quotations';
2
2
  import { Modules } from '../modules.js';
3
3
  import { QuotationDirector } from '../core-index.js';
4
+ import { addMessageService } from './addMessage.js';
4
5
 
5
6
  const findNextStatus = async (quotation: Quotation, modules: Modules): Promise<QuotationStatus> => {
6
7
  let status = quotation.status as QuotationStatus;
@@ -61,14 +62,9 @@ export async function processQuotationService(
61
62
  const user = await this.users.findUserById(updatedQuotation.userId);
62
63
  const locale = this.users.userLocale(user);
63
64
 
64
- await this.worker.addWork({
65
- type: 'MESSAGE',
66
- retries: 0,
67
- input: {
68
- locale: locale.baseName,
69
- template: 'QUOTATION_STATUS',
70
- quotationId: updatedQuotation._id,
71
- },
65
+ await addMessageService.bind(this)('QUOTATION_STATUS', {
66
+ locale: locale.baseName,
67
+ quotationId: updatedQuotation._id,
72
68
  });
73
69
 
74
70
  return updatedQuotation;
@@ -13,8 +13,8 @@ export async function removeFilesService(this: Modules, { fileIds }: { fileIds:
13
13
 
14
14
  try {
15
15
  await fileUploadAdapter.removeFiles(fileObjects, { modules: this });
16
- } catch (e) {
17
- console.warn(e);
16
+ } catch {
17
+ /**/
18
18
  }
19
19
 
20
20
  const fileIdsToDelete = fileObjects.map((f) => f._id).filter(Boolean);
@@ -1,5 +1,6 @@
1
1
  import { Enrollment, EnrollmentStatus } from '@unchainedshop/core-enrollments';
2
2
  import { processEnrollmentService } from './processEnrollment.js';
3
+ import { addMessageService } from './addMessage.js';
3
4
 
4
5
  export async function terminateEnrollmentService(enrollment: Enrollment) {
5
6
  if (enrollment.status === EnrollmentStatus.TERMINATED) return enrollment;
@@ -14,15 +15,10 @@ export async function terminateEnrollmentService(enrollment: Enrollment) {
14
15
  const user = await this.users.findUserById(enrollment.userId);
15
16
  const locale = this.users.userLocale(user);
16
17
 
17
- await this.worker.addWork({
18
- type: 'MESSAGE',
19
- retries: 0,
20
- input: {
21
- reason: 'status_change',
22
- locale: locale.baseName,
23
- template: 'ENROLLMENT_STATUS',
24
- enrollmentId: updatedEnrollment._id,
25
- },
18
+ await addMessageService.bind(this)('ENROLLMENT_STATUS', {
19
+ reason: 'status_change',
20
+ locale: locale.baseName,
21
+ enrollmentId: updatedEnrollment._id,
26
22
  });
27
23
 
28
24
  return updatedEnrollment;