@unchainedshop/core 4.3.5 → 4.4.0

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 (648) hide show
  1. package/README.md +614 -2
  2. package/lib/bulk-importer/createBulkImporter.d.ts +5 -6
  3. package/lib/bulk-importer/createBulkImporter.js +6 -5
  4. package/lib/bulk-importer/handlers/assortment/create.d.ts +2 -3
  5. package/lib/bulk-importer/handlers/assortment/create.js +6 -8
  6. package/lib/bulk-importer/handlers/assortment/index.d.ts +3 -4
  7. package/lib/bulk-importer/handlers/assortment/index.js +3 -4
  8. package/lib/bulk-importer/handlers/assortment/remove.d.ts +1 -2
  9. package/lib/bulk-importer/handlers/assortment/remove.js +0 -1
  10. package/lib/bulk-importer/handlers/assortment/update.d.ts +2 -3
  11. package/lib/bulk-importer/handlers/assortment/update.js +7 -9
  12. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts +1 -2
  13. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js +1 -2
  14. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts +1 -2
  15. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js +1 -2
  16. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts +1 -2
  17. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js +1 -2
  18. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts +2 -3
  19. package/lib/bulk-importer/handlers/assortment/upsertMedia.js +2 -4
  20. package/lib/bulk-importer/handlers/filter/create.d.ts +7 -3
  21. package/lib/bulk-importer/handlers/filter/create.js +3 -4
  22. package/lib/bulk-importer/handlers/filter/index.d.ts +3 -4
  23. package/lib/bulk-importer/handlers/filter/index.js +3 -4
  24. package/lib/bulk-importer/handlers/filter/remove.d.ts +1 -2
  25. package/lib/bulk-importer/handlers/filter/remove.js +0 -1
  26. package/lib/bulk-importer/handlers/filter/update.d.ts +1 -2
  27. package/lib/bulk-importer/handlers/filter/update.js +2 -4
  28. package/lib/bulk-importer/handlers/product/create.d.ts +23 -6
  29. package/lib/bulk-importer/handlers/product/create.js +10 -12
  30. package/lib/bulk-importer/handlers/product/index.d.ts +3 -4
  31. package/lib/bulk-importer/handlers/product/index.js +3 -4
  32. package/lib/bulk-importer/handlers/product/remove.d.ts +2 -3
  33. package/lib/bulk-importer/handlers/product/remove.js +0 -1
  34. package/lib/bulk-importer/handlers/product/update.d.ts +2 -3
  35. package/lib/bulk-importer/handlers/product/update.js +8 -11
  36. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts +2 -3
  37. package/lib/bulk-importer/handlers/product/upsertMedia.js +4 -6
  38. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts +1 -2
  39. package/lib/bulk-importer/handlers/product/upsertVariations.js +2 -5
  40. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts +0 -1
  41. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js +0 -1
  42. package/lib/bulk-importer/index.d.ts +2 -3
  43. package/lib/bulk-importer/index.js +2 -3
  44. package/lib/bulk-importer/upsertAsset.d.ts +2 -3
  45. package/lib/bulk-importer/upsertAsset.js +4 -4
  46. package/lib/core-index.d.ts +9 -10
  47. package/lib/core-index.js +9 -10
  48. package/lib/directors/BaseDiscountAdapter.d.ts +5 -6
  49. package/lib/directors/BaseDiscountAdapter.js +0 -17
  50. package/lib/directors/BaseDiscountDirector.d.ts +3 -4
  51. package/lib/directors/BaseDiscountDirector.js +0 -1
  52. package/lib/directors/BasePricingAdapter.d.ts +4 -5
  53. package/lib/directors/BasePricingAdapter.js +1 -2
  54. package/lib/directors/BasePricingDirector.d.ts +4 -5
  55. package/lib/directors/BasePricingDirector.js +1 -6
  56. package/lib/directors/BasePricingSheet.d.ts +1 -2
  57. package/lib/directors/BasePricingSheet.js +0 -4
  58. package/lib/directors/BaseWorker.d.ts +1 -2
  59. package/lib/directors/BaseWorker.js +2 -5
  60. package/lib/directors/DeliveryAdapter.d.ts +8 -8
  61. package/lib/directors/DeliveryAdapter.js +6 -15
  62. package/lib/directors/DeliveryDirector.d.ts +5 -6
  63. package/lib/directors/DeliveryDirector.js +1 -2
  64. package/lib/directors/DeliveryPricingAdapter.d.ts +6 -7
  65. package/lib/directors/DeliveryPricingAdapter.js +2 -3
  66. package/lib/directors/DeliveryPricingDirector.d.ts +3 -4
  67. package/lib/directors/DeliveryPricingDirector.js +2 -2
  68. package/lib/directors/DeliveryPricingSheet.d.ts +9 -9
  69. package/lib/directors/DeliveryPricingSheet.js +7 -9
  70. package/lib/directors/EnrollmentAdapter.d.ts +2 -3
  71. package/lib/directors/EnrollmentAdapter.js +0 -1
  72. package/lib/directors/EnrollmentDirector.d.ts +3 -4
  73. package/lib/directors/EnrollmentDirector.js +0 -1
  74. package/lib/directors/EventListenerWorker.d.ts +1 -2
  75. package/lib/directors/EventListenerWorker.js +2 -11
  76. package/lib/directors/FailedRescheduler.d.ts +1 -2
  77. package/lib/directors/FailedRescheduler.js +0 -3
  78. package/lib/directors/FilterAdapter.d.ts +5 -6
  79. package/lib/directors/FilterAdapter.js +1 -5
  80. package/lib/directors/FilterDirector.d.ts +6 -7
  81. package/lib/directors/FilterDirector.js +13 -19
  82. package/lib/directors/IntervalWorker.d.ts +2 -3
  83. package/lib/directors/IntervalWorker.js +3 -5
  84. package/lib/directors/MessagingDirector.d.ts +0 -1
  85. package/lib/directors/MessagingDirector.js +0 -1
  86. package/lib/directors/OrderDiscountAdapter.d.ts +1 -2
  87. package/lib/directors/OrderDiscountAdapter.js +1 -2
  88. package/lib/directors/OrderDiscountConfiguration.d.ts +0 -1
  89. package/lib/directors/OrderDiscountConfiguration.js +0 -1
  90. package/lib/directors/OrderDiscountDirector.d.ts +2 -3
  91. package/lib/directors/OrderDiscountDirector.js +1 -2
  92. package/lib/directors/OrderPricingAdapter.d.ts +4 -5
  93. package/lib/directors/OrderPricingAdapter.js +1 -2
  94. package/lib/directors/OrderPricingDirector.d.ts +2 -3
  95. package/lib/directors/OrderPricingDirector.js +1 -2
  96. package/lib/directors/OrderPricingSheet.d.ts +10 -10
  97. package/lib/directors/OrderPricingSheet.js +8 -12
  98. package/lib/directors/PaymentAdapter.d.ts +8 -8
  99. package/lib/directors/PaymentAdapter.js +6 -12
  100. package/lib/directors/PaymentDirector.d.ts +4 -5
  101. package/lib/directors/PaymentDirector.js +1 -2
  102. package/lib/directors/PaymentPricingAdapter.d.ts +6 -7
  103. package/lib/directors/PaymentPricingAdapter.js +2 -3
  104. package/lib/directors/PaymentPricingDirector.d.ts +4 -5
  105. package/lib/directors/PaymentPricingDirector.js +2 -3
  106. package/lib/directors/PaymentPricingSheet.d.ts +8 -8
  107. package/lib/directors/PaymentPricingSheet.js +7 -9
  108. package/lib/directors/ProductDiscountAdapter.d.ts +1 -2
  109. package/lib/directors/ProductDiscountAdapter.js +1 -2
  110. package/lib/directors/ProductDiscountConfiguration.d.ts +1 -2
  111. package/lib/directors/ProductDiscountConfiguration.js +0 -1
  112. package/lib/directors/ProductDiscountDirector.d.ts +2 -3
  113. package/lib/directors/ProductDiscountDirector.js +1 -2
  114. package/lib/directors/ProductPricingAdapter.d.ts +5 -6
  115. package/lib/directors/ProductPricingAdapter.js +1 -2
  116. package/lib/directors/ProductPricingDirector.d.ts +4 -5
  117. package/lib/directors/ProductPricingDirector.js +1 -2
  118. package/lib/directors/ProductPricingSheet.d.ts +8 -8
  119. package/lib/directors/ProductPricingSheet.js +6 -8
  120. package/lib/directors/QuotationAdapter.d.ts +9 -9
  121. package/lib/directors/QuotationAdapter.js +6 -8
  122. package/lib/directors/QuotationDirector.d.ts +2 -3
  123. package/lib/directors/QuotationDirector.js +1 -2
  124. package/lib/directors/WarehousingAdapter.d.ts +12 -12
  125. package/lib/directors/WarehousingAdapter.js +6 -8
  126. package/lib/directors/WarehousingDirector.d.ts +4 -5
  127. package/lib/directors/WarehousingDirector.js +1 -4
  128. package/lib/directors/WorkerAdapter.d.ts +5 -6
  129. package/lib/directors/WorkerAdapter.js +0 -1
  130. package/lib/directors/WorkerDirector.d.ts +5 -6
  131. package/lib/directors/WorkerDirector.js +0 -3
  132. package/lib/directors/index.d.ts +42 -43
  133. package/lib/directors/index.js +42 -43
  134. package/lib/factory/index.d.ts +9 -10
  135. package/lib/factory/index.js +9 -10
  136. package/lib/factory/registerAssortmentSearchFilter.d.ts +1 -2
  137. package/lib/factory/registerAssortmentSearchFilter.js +1 -2
  138. package/lib/factory/registerInvoicePayment.d.ts +2 -3
  139. package/lib/factory/registerInvoicePayment.js +1 -2
  140. package/lib/factory/registerPhysicalWarehousing.d.ts +2 -3
  141. package/lib/factory/registerPhysicalWarehousing.js +1 -2
  142. package/lib/factory/registerPickUpDelivery.d.ts +3 -4
  143. package/lib/factory/registerPickUpDelivery.js +1 -2
  144. package/lib/factory/registerProductDiscoverabilityFilter.d.ts +0 -1
  145. package/lib/factory/registerProductDiscoverabilityFilter.js +1 -2
  146. package/lib/factory/registerProductSearchFilter.d.ts +1 -2
  147. package/lib/factory/registerProductSearchFilter.js +1 -2
  148. package/lib/factory/registerShippingDelivery.d.ts +3 -4
  149. package/lib/factory/registerShippingDelivery.js +1 -2
  150. package/lib/factory/registerVirtualWarehousing.d.ts +2 -3
  151. package/lib/factory/registerVirtualWarehousing.js +1 -2
  152. package/lib/factory/registerWorker.d.ts +0 -1
  153. package/lib/factory/registerWorker.js +1 -2
  154. package/lib/modules.d.ts +18 -19
  155. package/lib/modules.js +5 -5
  156. package/lib/services/activateEnrollment.d.ts +2 -3
  157. package/lib/services/activateEnrollment.js +2 -3
  158. package/lib/services/addMessage.d.ts +2 -3
  159. package/lib/services/addMessage.js +2 -3
  160. package/lib/services/calculateDiscountTotal.d.ts +2 -3
  161. package/lib/services/calculateDiscountTotal.js +1 -6
  162. package/lib/services/checkoutOrder.d.ts +1 -2
  163. package/lib/services/checkoutOrder.js +4 -6
  164. package/lib/services/confirmOrder.d.ts +2 -3
  165. package/lib/services/confirmOrder.js +1 -2
  166. package/lib/services/createDownloadStream.d.ts +2 -3
  167. package/lib/services/createDownloadStream.js +0 -1
  168. package/lib/services/createEnrollmentFromCheckout.d.ts +4 -5
  169. package/lib/services/createEnrollmentFromCheckout.js +2 -3
  170. package/lib/services/createManualOrderDiscount.d.ts +2 -3
  171. package/lib/services/createManualOrderDiscount.js +1 -3
  172. package/lib/services/createSignedURL.d.ts +2 -3
  173. package/lib/services/createSignedURL.js +0 -1
  174. package/lib/services/deleteUser.d.ts +1 -2
  175. package/lib/services/deleteUser.js +0 -1
  176. package/lib/services/discountedEntities.d.ts +3 -4
  177. package/lib/services/discountedEntities.js +1 -7
  178. package/lib/services/ercMetadata.d.ts +3 -4
  179. package/lib/services/ercMetadata.js +1 -2
  180. package/lib/services/findOrInitCart.d.ts +2 -3
  181. package/lib/services/findOrInitCart.js +1 -2
  182. package/lib/services/fullfillQuotation.d.ts +2 -3
  183. package/lib/services/fullfillQuotation.js +1 -2
  184. package/lib/services/generateOrderFromEnrollment.d.ts +2 -3
  185. package/lib/services/generateOrderFromEnrollment.js +2 -3
  186. package/lib/services/index.d.ts +48 -49
  187. package/lib/services/index.js +47 -51
  188. package/lib/services/initCartProviders.d.ts +2 -3
  189. package/lib/services/initCartProviders.js +2 -5
  190. package/lib/services/initializeEnrollment.d.ts +2 -3
  191. package/lib/services/initializeEnrollment.js +3 -4
  192. package/lib/services/invalidateFilterCache.d.ts +1 -2
  193. package/lib/services/invalidateFilterCache.js +1 -2
  194. package/lib/services/linkFileService.d.ts +1 -2
  195. package/lib/services/linkFileService.js +0 -1
  196. package/lib/services/loadFilterOptions.d.ts +2 -3
  197. package/lib/services/loadFilterOptions.js +2 -3
  198. package/lib/services/loadFilters.d.ts +2 -3
  199. package/lib/services/loadFilters.js +3 -3
  200. package/lib/services/migrateBookmarks.d.ts +1 -2
  201. package/lib/services/migrateBookmarks.js +0 -2
  202. package/lib/services/migrateOrderCart.d.ts +1 -2
  203. package/lib/services/migrateOrderCart.js +1 -7
  204. package/lib/services/migrateUserData.d.ts +0 -1
  205. package/lib/services/migrateUserData.js +2 -3
  206. package/lib/services/nextUserCart.d.ts +2 -3
  207. package/lib/services/nextUserCart.js +1 -2
  208. package/lib/services/processEnrollment.d.ts +2 -3
  209. package/lib/services/processEnrollment.js +1 -5
  210. package/lib/services/processOrder.d.ts +2 -3
  211. package/lib/services/processOrder.js +7 -27
  212. package/lib/services/processQuotation.d.ts +2 -3
  213. package/lib/services/processQuotation.js +2 -3
  214. package/lib/services/proposeQuotation.d.ts +2 -3
  215. package/lib/services/proposeQuotation.js +1 -2
  216. package/lib/services/registerPaymentCredentials.d.ts +2 -3
  217. package/lib/services/registerPaymentCredentials.js +1 -2
  218. package/lib/services/rejectOrder.d.ts +2 -3
  219. package/lib/services/rejectOrder.js +1 -2
  220. package/lib/services/rejectQuotation.d.ts +2 -3
  221. package/lib/services/rejectQuotation.js +1 -2
  222. package/lib/services/removeFiles.d.ts +1 -2
  223. package/lib/services/removeFiles.js +0 -2
  224. package/lib/services/removeProduct.d.ts +1 -2
  225. package/lib/services/removeProduct.js +1 -4
  226. package/lib/services/searchAssortments.d.ts +3 -4
  227. package/lib/services/searchAssortments.js +1 -2
  228. package/lib/services/searchProducts.d.ts +3 -4
  229. package/lib/services/searchProducts.js +1 -4
  230. package/lib/services/simulateProductDispatching.d.ts +5 -6
  231. package/lib/services/simulateProductDispatching.js +2 -3
  232. package/lib/services/simulateProductInventory.d.ts +4 -5
  233. package/lib/services/simulateProductInventory.js +2 -3
  234. package/lib/services/simulateProductPricing.d.ts +5 -6
  235. package/lib/services/simulateProductPricing.js +1 -2
  236. package/lib/services/supportedDeliveryProviders.d.ts +3 -4
  237. package/lib/services/supportedDeliveryProviders.js +1 -2
  238. package/lib/services/supportedPaymentProviders.d.ts +3 -4
  239. package/lib/services/supportedPaymentProviders.js +1 -2
  240. package/lib/services/supportedWarehousingProviders.d.ts +3 -4
  241. package/lib/services/supportedWarehousingProviders.js +1 -2
  242. package/lib/services/terminateEnrollment.d.ts +1 -2
  243. package/lib/services/terminateEnrollment.js +2 -3
  244. package/lib/services/updateCalculation.d.ts +2 -3
  245. package/lib/services/updateCalculation.js +3 -20
  246. package/lib/services/updateScheduling.d.ts +2 -3
  247. package/lib/services/updateScheduling.js +2 -4
  248. package/lib/services/updateUserAvatarAfterUpload.d.ts +2 -3
  249. package/lib/services/updateUserAvatarAfterUpload.js +1 -3
  250. package/lib/services/uploadFileFromStream.d.ts +2 -3
  251. package/lib/services/uploadFileFromStream.js +0 -1
  252. package/lib/services/uploadFileFromURL.d.ts +1 -2
  253. package/lib/services/uploadFileFromURL.js +0 -1
  254. package/lib/services/validateOrder.d.ts +2 -3
  255. package/lib/services/validateOrder.js +0 -1
  256. package/lib/services/verifyQuotation.d.ts +2 -3
  257. package/lib/services/verifyQuotation.js +1 -2
  258. package/package.json +27 -26
  259. package/lib/bulk-importer/createBulkImporter.d.ts.map +0 -1
  260. package/lib/bulk-importer/createBulkImporter.js.map +0 -1
  261. package/lib/bulk-importer/handlers/assortment/create.d.ts.map +0 -1
  262. package/lib/bulk-importer/handlers/assortment/create.js.map +0 -1
  263. package/lib/bulk-importer/handlers/assortment/index.d.ts.map +0 -1
  264. package/lib/bulk-importer/handlers/assortment/index.js.map +0 -1
  265. package/lib/bulk-importer/handlers/assortment/remove.d.ts.map +0 -1
  266. package/lib/bulk-importer/handlers/assortment/remove.js.map +0 -1
  267. package/lib/bulk-importer/handlers/assortment/update.d.ts.map +0 -1
  268. package/lib/bulk-importer/handlers/assortment/update.js.map +0 -1
  269. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.d.ts.map +0 -1
  270. package/lib/bulk-importer/handlers/assortment/upsertAssortmentChildren.js.map +0 -1
  271. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.d.ts.map +0 -1
  272. package/lib/bulk-importer/handlers/assortment/upsertAssortmentFilters.js.map +0 -1
  273. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.d.ts.map +0 -1
  274. package/lib/bulk-importer/handlers/assortment/upsertAssortmentProducts.js.map +0 -1
  275. package/lib/bulk-importer/handlers/assortment/upsertMedia.d.ts.map +0 -1
  276. package/lib/bulk-importer/handlers/assortment/upsertMedia.js.map +0 -1
  277. package/lib/bulk-importer/handlers/filter/create.d.ts.map +0 -1
  278. package/lib/bulk-importer/handlers/filter/create.js.map +0 -1
  279. package/lib/bulk-importer/handlers/filter/index.d.ts.map +0 -1
  280. package/lib/bulk-importer/handlers/filter/index.js.map +0 -1
  281. package/lib/bulk-importer/handlers/filter/remove.d.ts.map +0 -1
  282. package/lib/bulk-importer/handlers/filter/remove.js.map +0 -1
  283. package/lib/bulk-importer/handlers/filter/update.d.ts.map +0 -1
  284. package/lib/bulk-importer/handlers/filter/update.js.map +0 -1
  285. package/lib/bulk-importer/handlers/product/create.d.ts.map +0 -1
  286. package/lib/bulk-importer/handlers/product/create.js.map +0 -1
  287. package/lib/bulk-importer/handlers/product/index.d.ts.map +0 -1
  288. package/lib/bulk-importer/handlers/product/index.js.map +0 -1
  289. package/lib/bulk-importer/handlers/product/remove.d.ts.map +0 -1
  290. package/lib/bulk-importer/handlers/product/remove.js.map +0 -1
  291. package/lib/bulk-importer/handlers/product/update.d.ts.map +0 -1
  292. package/lib/bulk-importer/handlers/product/update.js.map +0 -1
  293. package/lib/bulk-importer/handlers/product/upsertMedia.d.ts.map +0 -1
  294. package/lib/bulk-importer/handlers/product/upsertMedia.js.map +0 -1
  295. package/lib/bulk-importer/handlers/product/upsertVariations.d.ts.map +0 -1
  296. package/lib/bulk-importer/handlers/product/upsertVariations.js.map +0 -1
  297. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.d.ts.map +0 -1
  298. package/lib/bulk-importer/handlers/utils/convertTagsToLowerCase.js.map +0 -1
  299. package/lib/bulk-importer/index.d.ts.map +0 -1
  300. package/lib/bulk-importer/index.js.map +0 -1
  301. package/lib/bulk-importer/upsertAsset.d.ts.map +0 -1
  302. package/lib/bulk-importer/upsertAsset.js.map +0 -1
  303. package/lib/core-index.d.ts.map +0 -1
  304. package/lib/core-index.js.map +0 -1
  305. package/lib/directors/BaseDiscountAdapter.d.ts.map +0 -1
  306. package/lib/directors/BaseDiscountAdapter.js.map +0 -1
  307. package/lib/directors/BaseDiscountDirector.d.ts.map +0 -1
  308. package/lib/directors/BaseDiscountDirector.js.map +0 -1
  309. package/lib/directors/BasePricingAdapter.d.ts.map +0 -1
  310. package/lib/directors/BasePricingAdapter.js.map +0 -1
  311. package/lib/directors/BasePricingDirector.d.ts.map +0 -1
  312. package/lib/directors/BasePricingDirector.js.map +0 -1
  313. package/lib/directors/BasePricingSheet.d.ts.map +0 -1
  314. package/lib/directors/BasePricingSheet.js.map +0 -1
  315. package/lib/directors/BaseWorker.d.ts.map +0 -1
  316. package/lib/directors/BaseWorker.js.map +0 -1
  317. package/lib/directors/DeliveryAdapter.d.ts.map +0 -1
  318. package/lib/directors/DeliveryAdapter.js.map +0 -1
  319. package/lib/directors/DeliveryDirector.d.ts.map +0 -1
  320. package/lib/directors/DeliveryDirector.js.map +0 -1
  321. package/lib/directors/DeliveryPricingAdapter.d.ts.map +0 -1
  322. package/lib/directors/DeliveryPricingAdapter.js.map +0 -1
  323. package/lib/directors/DeliveryPricingDirector.d.ts.map +0 -1
  324. package/lib/directors/DeliveryPricingDirector.js.map +0 -1
  325. package/lib/directors/DeliveryPricingSheet.d.ts.map +0 -1
  326. package/lib/directors/DeliveryPricingSheet.js.map +0 -1
  327. package/lib/directors/EnrollmentAdapter.d.ts.map +0 -1
  328. package/lib/directors/EnrollmentAdapter.js.map +0 -1
  329. package/lib/directors/EnrollmentDirector.d.ts.map +0 -1
  330. package/lib/directors/EnrollmentDirector.js.map +0 -1
  331. package/lib/directors/EventListenerWorker.d.ts.map +0 -1
  332. package/lib/directors/EventListenerWorker.js.map +0 -1
  333. package/lib/directors/FailedRescheduler.d.ts.map +0 -1
  334. package/lib/directors/FailedRescheduler.js.map +0 -1
  335. package/lib/directors/FilterAdapter.d.ts.map +0 -1
  336. package/lib/directors/FilterAdapter.js.map +0 -1
  337. package/lib/directors/FilterDirector.d.ts.map +0 -1
  338. package/lib/directors/FilterDirector.js.map +0 -1
  339. package/lib/directors/IntervalWorker.d.ts.map +0 -1
  340. package/lib/directors/IntervalWorker.js.map +0 -1
  341. package/lib/directors/MessagingDirector.d.ts.map +0 -1
  342. package/lib/directors/MessagingDirector.js.map +0 -1
  343. package/lib/directors/OrderDiscountAdapter.d.ts.map +0 -1
  344. package/lib/directors/OrderDiscountAdapter.js.map +0 -1
  345. package/lib/directors/OrderDiscountConfiguration.d.ts.map +0 -1
  346. package/lib/directors/OrderDiscountConfiguration.js.map +0 -1
  347. package/lib/directors/OrderDiscountDirector.d.ts.map +0 -1
  348. package/lib/directors/OrderDiscountDirector.js.map +0 -1
  349. package/lib/directors/OrderPricingAdapter.d.ts.map +0 -1
  350. package/lib/directors/OrderPricingAdapter.js.map +0 -1
  351. package/lib/directors/OrderPricingDirector.d.ts.map +0 -1
  352. package/lib/directors/OrderPricingDirector.js.map +0 -1
  353. package/lib/directors/OrderPricingSheet.d.ts.map +0 -1
  354. package/lib/directors/OrderPricingSheet.js.map +0 -1
  355. package/lib/directors/PaymentAdapter.d.ts.map +0 -1
  356. package/lib/directors/PaymentAdapter.js.map +0 -1
  357. package/lib/directors/PaymentDirector.d.ts.map +0 -1
  358. package/lib/directors/PaymentDirector.js.map +0 -1
  359. package/lib/directors/PaymentPricingAdapter.d.ts.map +0 -1
  360. package/lib/directors/PaymentPricingAdapter.js.map +0 -1
  361. package/lib/directors/PaymentPricingDirector.d.ts.map +0 -1
  362. package/lib/directors/PaymentPricingDirector.js.map +0 -1
  363. package/lib/directors/PaymentPricingSheet.d.ts.map +0 -1
  364. package/lib/directors/PaymentPricingSheet.js.map +0 -1
  365. package/lib/directors/ProductDiscountAdapter.d.ts.map +0 -1
  366. package/lib/directors/ProductDiscountAdapter.js.map +0 -1
  367. package/lib/directors/ProductDiscountConfiguration.d.ts.map +0 -1
  368. package/lib/directors/ProductDiscountConfiguration.js.map +0 -1
  369. package/lib/directors/ProductDiscountDirector.d.ts.map +0 -1
  370. package/lib/directors/ProductDiscountDirector.js.map +0 -1
  371. package/lib/directors/ProductPricingAdapter.d.ts.map +0 -1
  372. package/lib/directors/ProductPricingAdapter.js.map +0 -1
  373. package/lib/directors/ProductPricingDirector.d.ts.map +0 -1
  374. package/lib/directors/ProductPricingDirector.js.map +0 -1
  375. package/lib/directors/ProductPricingSheet.d.ts.map +0 -1
  376. package/lib/directors/ProductPricingSheet.js.map +0 -1
  377. package/lib/directors/QuotationAdapter.d.ts.map +0 -1
  378. package/lib/directors/QuotationAdapter.js.map +0 -1
  379. package/lib/directors/QuotationDirector.d.ts.map +0 -1
  380. package/lib/directors/QuotationDirector.js.map +0 -1
  381. package/lib/directors/WarehousingAdapter.d.ts.map +0 -1
  382. package/lib/directors/WarehousingAdapter.js.map +0 -1
  383. package/lib/directors/WarehousingDirector.d.ts.map +0 -1
  384. package/lib/directors/WarehousingDirector.js.map +0 -1
  385. package/lib/directors/WorkerAdapter.d.ts.map +0 -1
  386. package/lib/directors/WorkerAdapter.js.map +0 -1
  387. package/lib/directors/WorkerDirector.d.ts.map +0 -1
  388. package/lib/directors/WorkerDirector.js.map +0 -1
  389. package/lib/directors/index.d.ts.map +0 -1
  390. package/lib/directors/index.js.map +0 -1
  391. package/lib/factory/index.d.ts.map +0 -1
  392. package/lib/factory/index.js.map +0 -1
  393. package/lib/factory/registerAssortmentSearchFilter.d.ts.map +0 -1
  394. package/lib/factory/registerAssortmentSearchFilter.js.map +0 -1
  395. package/lib/factory/registerInvoicePayment.d.ts.map +0 -1
  396. package/lib/factory/registerInvoicePayment.js.map +0 -1
  397. package/lib/factory/registerPhysicalWarehousing.d.ts.map +0 -1
  398. package/lib/factory/registerPhysicalWarehousing.js.map +0 -1
  399. package/lib/factory/registerPickUpDelivery.d.ts.map +0 -1
  400. package/lib/factory/registerPickUpDelivery.js.map +0 -1
  401. package/lib/factory/registerProductDiscoverabilityFilter.d.ts.map +0 -1
  402. package/lib/factory/registerProductDiscoverabilityFilter.js.map +0 -1
  403. package/lib/factory/registerProductSearchFilter.d.ts.map +0 -1
  404. package/lib/factory/registerProductSearchFilter.js.map +0 -1
  405. package/lib/factory/registerShippingDelivery.d.ts.map +0 -1
  406. package/lib/factory/registerShippingDelivery.js.map +0 -1
  407. package/lib/factory/registerVirtualWarehousing.d.ts.map +0 -1
  408. package/lib/factory/registerVirtualWarehousing.js.map +0 -1
  409. package/lib/factory/registerWorker.d.ts.map +0 -1
  410. package/lib/factory/registerWorker.js.map +0 -1
  411. package/lib/modules.d.ts.map +0 -1
  412. package/lib/modules.js.map +0 -1
  413. package/lib/services/activateEnrollment.d.ts.map +0 -1
  414. package/lib/services/activateEnrollment.js.map +0 -1
  415. package/lib/services/addMessage.d.ts.map +0 -1
  416. package/lib/services/addMessage.js.map +0 -1
  417. package/lib/services/calculateDiscountTotal.d.ts.map +0 -1
  418. package/lib/services/calculateDiscountTotal.js.map +0 -1
  419. package/lib/services/checkoutOrder.d.ts.map +0 -1
  420. package/lib/services/checkoutOrder.js.map +0 -1
  421. package/lib/services/confirmOrder.d.ts.map +0 -1
  422. package/lib/services/confirmOrder.js.map +0 -1
  423. package/lib/services/createDownloadStream.d.ts.map +0 -1
  424. package/lib/services/createDownloadStream.js.map +0 -1
  425. package/lib/services/createEnrollmentFromCheckout.d.ts.map +0 -1
  426. package/lib/services/createEnrollmentFromCheckout.js.map +0 -1
  427. package/lib/services/createManualOrderDiscount.d.ts.map +0 -1
  428. package/lib/services/createManualOrderDiscount.js.map +0 -1
  429. package/lib/services/createSignedURL.d.ts.map +0 -1
  430. package/lib/services/createSignedURL.js.map +0 -1
  431. package/lib/services/deleteUser.d.ts.map +0 -1
  432. package/lib/services/deleteUser.js.map +0 -1
  433. package/lib/services/discountedEntities.d.ts.map +0 -1
  434. package/lib/services/discountedEntities.js.map +0 -1
  435. package/lib/services/ercMetadata.d.ts.map +0 -1
  436. package/lib/services/ercMetadata.js.map +0 -1
  437. package/lib/services/findOrInitCart.d.ts.map +0 -1
  438. package/lib/services/findOrInitCart.js.map +0 -1
  439. package/lib/services/fullfillQuotation.d.ts.map +0 -1
  440. package/lib/services/fullfillQuotation.js.map +0 -1
  441. package/lib/services/generateOrderFromEnrollment.d.ts.map +0 -1
  442. package/lib/services/generateOrderFromEnrollment.js.map +0 -1
  443. package/lib/services/index.d.ts.map +0 -1
  444. package/lib/services/index.js.map +0 -1
  445. package/lib/services/initCartProviders.d.ts.map +0 -1
  446. package/lib/services/initCartProviders.js.map +0 -1
  447. package/lib/services/initializeEnrollment.d.ts.map +0 -1
  448. package/lib/services/initializeEnrollment.js.map +0 -1
  449. package/lib/services/invalidateFilterCache.d.ts.map +0 -1
  450. package/lib/services/invalidateFilterCache.js.map +0 -1
  451. package/lib/services/linkFileService.d.ts.map +0 -1
  452. package/lib/services/linkFileService.js.map +0 -1
  453. package/lib/services/loadFilterOptions.d.ts.map +0 -1
  454. package/lib/services/loadFilterOptions.js.map +0 -1
  455. package/lib/services/loadFilters.d.ts.map +0 -1
  456. package/lib/services/loadFilters.js.map +0 -1
  457. package/lib/services/migrateBookmarks.d.ts.map +0 -1
  458. package/lib/services/migrateBookmarks.js.map +0 -1
  459. package/lib/services/migrateOrderCart.d.ts.map +0 -1
  460. package/lib/services/migrateOrderCart.js.map +0 -1
  461. package/lib/services/migrateUserData.d.ts.map +0 -1
  462. package/lib/services/migrateUserData.js.map +0 -1
  463. package/lib/services/nextUserCart.d.ts.map +0 -1
  464. package/lib/services/nextUserCart.js.map +0 -1
  465. package/lib/services/processEnrollment.d.ts.map +0 -1
  466. package/lib/services/processEnrollment.js.map +0 -1
  467. package/lib/services/processOrder.d.ts.map +0 -1
  468. package/lib/services/processOrder.js.map +0 -1
  469. package/lib/services/processQuotation.d.ts.map +0 -1
  470. package/lib/services/processQuotation.js.map +0 -1
  471. package/lib/services/proposeQuotation.d.ts.map +0 -1
  472. package/lib/services/proposeQuotation.js.map +0 -1
  473. package/lib/services/registerPaymentCredentials.d.ts.map +0 -1
  474. package/lib/services/registerPaymentCredentials.js.map +0 -1
  475. package/lib/services/rejectOrder.d.ts.map +0 -1
  476. package/lib/services/rejectOrder.js.map +0 -1
  477. package/lib/services/rejectQuotation.d.ts.map +0 -1
  478. package/lib/services/rejectQuotation.js.map +0 -1
  479. package/lib/services/removeFiles.d.ts.map +0 -1
  480. package/lib/services/removeFiles.js.map +0 -1
  481. package/lib/services/removeProduct.d.ts.map +0 -1
  482. package/lib/services/removeProduct.js.map +0 -1
  483. package/lib/services/searchAssortments.d.ts.map +0 -1
  484. package/lib/services/searchAssortments.js.map +0 -1
  485. package/lib/services/searchProducts.d.ts.map +0 -1
  486. package/lib/services/searchProducts.js.map +0 -1
  487. package/lib/services/simulateProductDispatching.d.ts.map +0 -1
  488. package/lib/services/simulateProductDispatching.js.map +0 -1
  489. package/lib/services/simulateProductInventory.d.ts.map +0 -1
  490. package/lib/services/simulateProductInventory.js.map +0 -1
  491. package/lib/services/simulateProductPricing.d.ts.map +0 -1
  492. package/lib/services/simulateProductPricing.js.map +0 -1
  493. package/lib/services/supportedDeliveryProviders.d.ts.map +0 -1
  494. package/lib/services/supportedDeliveryProviders.js.map +0 -1
  495. package/lib/services/supportedPaymentProviders.d.ts.map +0 -1
  496. package/lib/services/supportedPaymentProviders.js.map +0 -1
  497. package/lib/services/supportedWarehousingProviders.d.ts.map +0 -1
  498. package/lib/services/supportedWarehousingProviders.js.map +0 -1
  499. package/lib/services/terminateEnrollment.d.ts.map +0 -1
  500. package/lib/services/terminateEnrollment.js.map +0 -1
  501. package/lib/services/updateCalculation.d.ts.map +0 -1
  502. package/lib/services/updateCalculation.js.map +0 -1
  503. package/lib/services/updateScheduling.d.ts.map +0 -1
  504. package/lib/services/updateScheduling.js.map +0 -1
  505. package/lib/services/updateUserAvatarAfterUpload.d.ts.map +0 -1
  506. package/lib/services/updateUserAvatarAfterUpload.js.map +0 -1
  507. package/lib/services/uploadFileFromStream.d.ts.map +0 -1
  508. package/lib/services/uploadFileFromStream.js.map +0 -1
  509. package/lib/services/uploadFileFromURL.d.ts.map +0 -1
  510. package/lib/services/uploadFileFromURL.js.map +0 -1
  511. package/lib/services/validateOrder.d.ts.map +0 -1
  512. package/lib/services/validateOrder.js.map +0 -1
  513. package/lib/services/verifyQuotation.d.ts.map +0 -1
  514. package/lib/services/verifyQuotation.js.map +0 -1
  515. package/src/bulk-importer/createBulkImporter.ts +0 -205
  516. package/src/bulk-importer/handlers/assortment/create.ts +0 -118
  517. package/src/bulk-importer/handlers/assortment/index.ts +0 -3
  518. package/src/bulk-importer/handlers/assortment/remove.ts +0 -26
  519. package/src/bulk-importer/handlers/assortment/update.ts +0 -133
  520. package/src/bulk-importer/handlers/assortment/upsertAssortmentChildren.ts +0 -77
  521. package/src/bulk-importer/handlers/assortment/upsertAssortmentFilters.ts +0 -70
  522. package/src/bulk-importer/handlers/assortment/upsertAssortmentProducts.ts +0 -76
  523. package/src/bulk-importer/handlers/assortment/upsertMedia.ts +0 -76
  524. package/src/bulk-importer/handlers/filter/create.ts +0 -104
  525. package/src/bulk-importer/handlers/filter/index.ts +0 -3
  526. package/src/bulk-importer/handlers/filter/remove.ts +0 -25
  527. package/src/bulk-importer/handlers/filter/update.ts +0 -94
  528. package/src/bulk-importer/handlers/product/create.ts +0 -170
  529. package/src/bulk-importer/handlers/product/index.ts +0 -3
  530. package/src/bulk-importer/handlers/product/remove.ts +0 -27
  531. package/src/bulk-importer/handlers/product/update.ts +0 -175
  532. package/src/bulk-importer/handlers/product/upsertMedia.ts +0 -81
  533. package/src/bulk-importer/handlers/product/upsertVariations.ts +0 -110
  534. package/src/bulk-importer/handlers/utils/convertTagsToLowerCase.ts +0 -4
  535. package/src/bulk-importer/index.ts +0 -3
  536. package/src/bulk-importer/upsertAsset.ts +0 -50
  537. package/src/core-index.ts +0 -103
  538. package/src/directors/BaseDiscountAdapter.test.ts +0 -52
  539. package/src/directors/BaseDiscountAdapter.ts +0 -86
  540. package/src/directors/BaseDiscountDirector.ts +0 -73
  541. package/src/directors/BasePricingAdapter.ts +0 -74
  542. package/src/directors/BasePricingDirector.ts +0 -136
  543. package/src/directors/BasePricingSheet.test.ts +0 -45
  544. package/src/directors/BasePricingSheet.ts +0 -141
  545. package/src/directors/BaseWorker.ts +0 -117
  546. package/src/directors/DeliveryAdapter.ts +0 -106
  547. package/src/directors/DeliveryDirector.ts +0 -143
  548. package/src/directors/DeliveryPricingAdapter.ts +0 -87
  549. package/src/directors/DeliveryPricingDirector.ts +0 -91
  550. package/src/directors/DeliveryPricingSheet.ts +0 -87
  551. package/src/directors/EnrollmentAdapter.ts +0 -108
  552. package/src/directors/EnrollmentDirector.ts +0 -71
  553. package/src/directors/EventListenerWorker.ts +0 -101
  554. package/src/directors/FailedRescheduler.ts +0 -73
  555. package/src/directors/FilterAdapter.ts +0 -106
  556. package/src/directors/FilterDirector.ts +0 -315
  557. package/src/directors/IntervalWorker.ts +0 -75
  558. package/src/directors/MessagingDirector.test.ts +0 -8
  559. package/src/directors/MessagingDirector.ts +0 -52
  560. package/src/directors/OrderDiscountAdapter.ts +0 -10
  561. package/src/directors/OrderDiscountConfiguration.ts +0 -5
  562. package/src/directors/OrderDiscountDirector.ts +0 -5
  563. package/src/directors/OrderPricingAdapter.ts +0 -63
  564. package/src/directors/OrderPricingDirector.ts +0 -74
  565. package/src/directors/OrderPricingSheet.ts +0 -148
  566. package/src/directors/PaymentAdapter.ts +0 -118
  567. package/src/directors/PaymentDirector.ts +0 -297
  568. package/src/directors/PaymentPricingAdapter.ts +0 -86
  569. package/src/directors/PaymentPricingDirector.ts +0 -92
  570. package/src/directors/PaymentPricingSheet.ts +0 -92
  571. package/src/directors/ProductDiscountAdapter.ts +0 -10
  572. package/src/directors/ProductDiscountConfiguration.ts +0 -18
  573. package/src/directors/ProductDiscountDirector.ts +0 -4
  574. package/src/directors/ProductPricingAdapter.ts +0 -58
  575. package/src/directors/ProductPricingDirector.ts +0 -100
  576. package/src/directors/ProductPricingSheet.test.ts +0 -140
  577. package/src/directors/ProductPricingSheet.ts +0 -125
  578. package/src/directors/QuotationAdapter.ts +0 -82
  579. package/src/directors/QuotationDirector.ts +0 -105
  580. package/src/directors/WarehousingAdapter.ts +0 -77
  581. package/src/directors/WarehousingDirector.ts +0 -233
  582. package/src/directors/WorkerAdapter.ts +0 -31
  583. package/src/directors/WorkerDirector.ts +0 -149
  584. package/src/directors/index.ts +0 -53
  585. package/src/directors/periodForReferenceDate.test.ts +0 -25
  586. package/src/factory/index.ts +0 -21
  587. package/src/factory/registerAssortmentSearchFilter.ts +0 -36
  588. package/src/factory/registerInvoicePayment.ts +0 -61
  589. package/src/factory/registerPhysicalWarehousing.ts +0 -92
  590. package/src/factory/registerPickUpDelivery.ts +0 -81
  591. package/src/factory/registerProductDiscoverabilityFilter.ts +0 -36
  592. package/src/factory/registerProductSearchFilter.ts +0 -36
  593. package/src/factory/registerShippingDelivery.ts +0 -65
  594. package/src/factory/registerVirtualWarehousing.ts +0 -100
  595. package/src/factory/registerWorker.ts +0 -46
  596. package/src/modules.ts +0 -207
  597. package/src/services/activateEnrollment.ts +0 -26
  598. package/src/services/addMessage.ts +0 -20
  599. package/src/services/calculateDiscountTotal.ts +0 -71
  600. package/src/services/checkoutOrder.ts +0 -48
  601. package/src/services/confirmOrder.ts +0 -26
  602. package/src/services/createDownloadStream.ts +0 -17
  603. package/src/services/createEnrollmentFromCheckout.ts +0 -68
  604. package/src/services/createManualOrderDiscount.ts +0 -56
  605. package/src/services/createSignedURL.ts +0 -21
  606. package/src/services/deleteUser.ts +0 -48
  607. package/src/services/discountedEntities.ts +0 -81
  608. package/src/services/ercMetadata.ts +0 -25
  609. package/src/services/findOrInitCart.ts +0 -28
  610. package/src/services/fullfillQuotation.ts +0 -14
  611. package/src/services/generateOrderFromEnrollment.ts +0 -54
  612. package/src/services/index.ts +0 -173
  613. package/src/services/initCartProviders.ts +0 -84
  614. package/src/services/initializeEnrollment.ts +0 -41
  615. package/src/services/invalidateFilterCache.ts +0 -16
  616. package/src/services/linkFileService.ts +0 -24
  617. package/src/services/loadFilterOptions.ts +0 -49
  618. package/src/services/loadFilters.ts +0 -60
  619. package/src/services/migrateBookmarks.ts +0 -39
  620. package/src/services/migrateOrderCart.ts +0 -52
  621. package/src/services/migrateUserData.ts +0 -22
  622. package/src/services/nextUserCart.ts +0 -52
  623. package/src/services/processEnrollment.ts +0 -49
  624. package/src/services/processOrder.ts +0 -243
  625. package/src/services/processQuotation.ts +0 -71
  626. package/src/services/proposeQuotation.ts +0 -18
  627. package/src/services/registerPaymentCredentials.ts +0 -28
  628. package/src/services/rejectOrder.ts +0 -26
  629. package/src/services/rejectQuotation.ts +0 -18
  630. package/src/services/removeFiles.ts +0 -25
  631. package/src/services/removeProduct.ts +0 -39
  632. package/src/services/searchAssortments.ts +0 -57
  633. package/src/services/searchProducts.ts +0 -71
  634. package/src/services/simulateProductDispatching.ts +0 -58
  635. package/src/services/simulateProductInventory.ts +0 -59
  636. package/src/services/simulateProductPricing.ts +0 -23
  637. package/src/services/supportedDeliveryProviders.ts +0 -24
  638. package/src/services/supportedPaymentProviders.ts +0 -25
  639. package/src/services/supportedWarehousingProviders.ts +0 -18
  640. package/src/services/terminateEnrollment.ts +0 -25
  641. package/src/services/updateCalculation.ts +0 -159
  642. package/src/services/updateScheduling.ts +0 -63
  643. package/src/services/updateUserAvatarAfterUpload.ts +0 -33
  644. package/src/services/uploadFileFromStream.ts +0 -27
  645. package/src/services/uploadFileFromURL.ts +0 -29
  646. package/src/services/validateOrder.ts +0 -49
  647. package/src/services/verifyQuotation.ts +0 -18
  648. package/tsconfig.json +0 -9
package/README.md CHANGED
@@ -1,3 +1,615 @@
1
- # Core (Unchained Engine)
1
+ [![npm version](https://img.shields.io/npm/v/@unchainedshop/core.svg)](https://npmjs.com/package/@unchainedshop/core)
2
+ [![License: EUPL-1.2](https://img.shields.io/badge/License-EUPL--1.2-blue.svg)](https://opensource.org/licenses/EUPL-1.2)
2
3
 
3
- This package handles internationalization, localization and asset handling available to all core modules.
4
+ # @unchainedshop/core
5
+
6
+ Core orchestration package for the Unchained Engine. Integrates all core-* modules, provides business services, directors for plugins, and bulk import functionality.
7
+
8
+ ## Installation
9
+
10
+ ```bash
11
+ npm install @unchainedshop/core
12
+ ```
13
+
14
+ ## Usage
15
+
16
+ ```typescript
17
+ import { initCore, type UnchainedCore } from '@unchainedshop/core';
18
+
19
+ const unchainedCore = await initCore({
20
+ db,
21
+ migrationRepository,
22
+ options: {
23
+ // Module-specific options
24
+ },
25
+ });
26
+
27
+ // Access modules
28
+ const products = await unchainedCore.modules.products.findProducts({});
29
+
30
+ // Use services
31
+ const pricing = await unchainedCore.services.orders.pricingSheet(order);
32
+
33
+ // Bulk import
34
+ await unchainedCore.bulkImporter.prepare('PRODUCT');
35
+ ```
36
+
37
+ ## API Overview
38
+
39
+ ### Initialization
40
+
41
+ | Export | Description |
42
+ |--------|-------------|
43
+ | `initCore` | Initialize the core with all modules and services |
44
+ | `getAllAdapters` | Get all registered adapters across all directors |
45
+
46
+ ### Modules
47
+
48
+ The `modules` object provides access to all core-* module APIs:
49
+
50
+ | Module | Description |
51
+ |--------|-------------|
52
+ | `products` | Product management |
53
+ | `assortments` | Category/assortment management |
54
+ | `filters` | Product filtering and search |
55
+ | `orders` | Order management |
56
+ | `users` | User management |
57
+ | `payment` | Payment providers |
58
+ | `delivery` | Delivery providers |
59
+ | `warehousing` | Inventory and stock |
60
+ | `enrollments` | Subscriptions |
61
+ | `quotations` | Quote management |
62
+ | `bookmarks` | User bookmarks |
63
+ | `countries` | Country management |
64
+ | `currencies` | Currency management |
65
+ | `languages` | Language management |
66
+ | `files` | File management |
67
+ | `events` | Event history |
68
+ | `worker` | Background jobs |
69
+
70
+ ### Services
71
+
72
+ Business logic services that orchestrate multiple modules:
73
+
74
+ | Service | Description |
75
+ |---------|-------------|
76
+ | `orders` | Order pricing, checkout workflows |
77
+ | `products` | Product pricing calculations |
78
+ | `users` | User-related operations |
79
+ | `files` | File operations with adapters |
80
+
81
+ ### Directors
82
+
83
+ Plugin directors provide extensibility through the Director/Adapter pattern. Each director manages a collection of adapters that implement specific behaviors.
84
+
85
+ | Director | Description |
86
+ |----------|-------------|
87
+ | `PaymentDirector` | Payment processing adapters |
88
+ | `DeliveryDirector` | Delivery/shipping adapters |
89
+ | `WarehousingDirector` | Inventory and stock adapters |
90
+ | `WorkerDirector` | Background job workers |
91
+ | `FilterDirector` | Product search and filtering |
92
+ | `EnrollmentDirector` | Subscription plan handling |
93
+ | `QuotationDirector` | Quote/RFQ processing |
94
+ | `ProductPricingDirector` | Product price calculations |
95
+ | `OrderPricingDirector` | Order total calculations |
96
+ | `DeliveryPricingDirector` | Delivery fee calculations |
97
+ | `PaymentPricingDirector` | Payment fee calculations |
98
+ | `ProductDiscountDirector` | Product-level discounts |
99
+ | `OrderDiscountDirector` | Order-level discounts |
100
+ | `MessagingDirector` | Email/notification templates |
101
+
102
+ ## Director/Adapter Architecture
103
+
104
+ The Unchained Engine uses a Director/Adapter pattern for extensibility. Directors manage collections of adapters, and adapters implement specific behaviors.
105
+
106
+ ### Base Classes
107
+
108
+ ```typescript
109
+ import { BaseAdapter, BaseDirector } from '@unchainedshop/utils';
110
+ ```
111
+
112
+ - **BaseDirector**: Factory function that creates a generic director with methods to register, unregister, and retrieve adapters
113
+ - **BaseAdapter**: Base implementation providing logging and utility methods for all adapters
114
+
115
+ ### Creating a Custom Adapter
116
+
117
+ All adapters extend from `BaseAdapter` and must implement:
118
+
119
+ ```typescript
120
+ const MyAdapter = {
121
+ key: 'my-adapter', // Unique identifier
122
+ label: 'My Custom Adapter', // Human-readable label
123
+ version: '1.0.0', // Adapter version
124
+
125
+ // Adapter-specific methods...
126
+ };
127
+
128
+ // Register with the appropriate director
129
+ SomeDirector.registerAdapter(MyAdapter);
130
+ ```
131
+
132
+ ### Payment Director
133
+
134
+ Manages payment processing and orchestrates payment adapters.
135
+
136
+ ```typescript
137
+ import { PaymentDirector, type IPaymentAdapter } from '@unchainedshop/core';
138
+
139
+ const MyPaymentAdapter: IPaymentAdapter = {
140
+ key: 'my-payment',
141
+ label: 'My Payment Gateway',
142
+ version: '1.0.0',
143
+
144
+ typeSupported(type) {
145
+ return type === 'CARD';
146
+ },
147
+
148
+ actions(config, context) {
149
+ return {
150
+ configurationError() { return null; },
151
+ isActive() { return true; },
152
+ isPayLaterAllowed() { return false; },
153
+
154
+ async charge() {
155
+ // Process payment charge
156
+ return { transactionId: '...' };
157
+ },
158
+ async confirm() {
159
+ // Confirm payment
160
+ return { transactionId: '...' };
161
+ },
162
+ async cancel() {
163
+ // Cancel payment
164
+ return true;
165
+ },
166
+ async register() {
167
+ // Register payment method
168
+ return { token: '...' };
169
+ },
170
+ async sign() {
171
+ // Sign payment request
172
+ return '...';
173
+ },
174
+ async validate(token) {
175
+ // Validate payment token
176
+ return true;
177
+ },
178
+ };
179
+ },
180
+ };
181
+
182
+ PaymentDirector.registerAdapter(MyPaymentAdapter);
183
+ ```
184
+
185
+ ### Delivery Director
186
+
187
+ Manages delivery operations and coordinates shipping adapters.
188
+
189
+ ```typescript
190
+ import { DeliveryDirector, type IDeliveryAdapter } from '@unchainedshop/core';
191
+
192
+ const MyDeliveryAdapter: IDeliveryAdapter = {
193
+ key: 'my-delivery',
194
+ label: 'My Shipping Provider',
195
+ version: '1.0.0',
196
+
197
+ typeSupported(type) {
198
+ return type === 'SHIPPING';
199
+ },
200
+
201
+ actions(config, context) {
202
+ return {
203
+ configurationError() { return null; },
204
+ isActive() { return true; },
205
+ isAutoReleaseAllowed() { return false; },
206
+
207
+ async send() {
208
+ // Trigger delivery
209
+ return { trackingNumber: '...' };
210
+ },
211
+ estimatedDeliveryThroughput(warehousingTime) {
212
+ // Return estimated delivery time in ms
213
+ return 3 * 24 * 60 * 60 * 1000; // 3 days
214
+ },
215
+ async pickUpLocations() {
216
+ // Return available pickup locations
217
+ return [];
218
+ },
219
+ async pickUpLocationById(locationId) {
220
+ return null;
221
+ },
222
+ };
223
+ },
224
+ };
225
+
226
+ DeliveryDirector.registerAdapter(MyDeliveryAdapter);
227
+ ```
228
+
229
+ ### Warehousing Director
230
+
231
+ Manages inventory and stock operations, including NFT/token support.
232
+
233
+ ```typescript
234
+ import { WarehousingDirector, type IWarehousingAdapter } from '@unchainedshop/core';
235
+
236
+ const MyWarehousingAdapter: IWarehousingAdapter = {
237
+ key: 'my-warehouse',
238
+ label: 'My Inventory System',
239
+ version: '1.0.0',
240
+
241
+ typeSupported(type) {
242
+ return type === 'PHYSICAL';
243
+ },
244
+
245
+ actions(config, context) {
246
+ return {
247
+ configurationError() { return null; },
248
+ isActive() { return true; },
249
+
250
+ async stock(referenceDate) {
251
+ // Return current stock quantity
252
+ return 100;
253
+ },
254
+ async productionTime(quantity) {
255
+ // Return production time in ms
256
+ return 0;
257
+ },
258
+ async commissioningTime(quantity) {
259
+ // Return commissioning time in ms
260
+ return 24 * 60 * 60 * 1000; // 1 day
261
+ },
262
+ async estimatedStock() {
263
+ return 100;
264
+ },
265
+ async estimatedDispatch() {
266
+ return new Date();
267
+ },
268
+ // For tokenized products (NFTs):
269
+ async tokenize() { return []; },
270
+ async tokenMetadata(serial, date) { return {}; },
271
+ async isInvalidateable(serial, date) { return false; },
272
+ };
273
+ },
274
+ };
275
+
276
+ WarehousingDirector.registerAdapter(MyWarehousingAdapter);
277
+ ```
278
+
279
+ ### Worker Director
280
+
281
+ Manages background job processing and scheduled tasks.
282
+
283
+ ```typescript
284
+ import { WorkerDirector, type IWorkerAdapter } from '@unchainedshop/core';
285
+
286
+ interface MyInput { email: string; subject: string; }
287
+ interface MyOutput { messageId: string; }
288
+
289
+ const MyWorkerAdapter: IWorkerAdapter<MyInput, MyOutput> = {
290
+ key: 'my-worker',
291
+ label: 'My Background Worker',
292
+ version: '1.0.0',
293
+ type: 'MY_WORK_TYPE', // Work type identifier
294
+ external: false, // Runs in-process
295
+ maxParallelAllocations: 10, // Max concurrent executions
296
+
297
+ async doWork(input, unchainedAPI, workId) {
298
+ // Process the work item
299
+ const { email, subject } = input;
300
+
301
+ // Return result
302
+ return {
303
+ success: true,
304
+ result: { messageId: 'msg-123' },
305
+ };
306
+ },
307
+ };
308
+
309
+ WorkerDirector.registerAdapter(MyWorkerAdapter);
310
+
311
+ // Schedule recurring work
312
+ WorkerDirector.configureAutoscheduling({
313
+ type: 'MY_WORK_TYPE',
314
+ input: { email: 'test@example.com', subject: 'Test' },
315
+ schedule: '0 * * * *', // Every hour (cron syntax)
316
+ });
317
+ ```
318
+
319
+ ### Pricing Directors
320
+
321
+ Pricing directors calculate prices using a chain of adapters. Each adapter can add, modify, or discount prices.
322
+
323
+ ```typescript
324
+ import { ProductPricingDirector, type IProductPricingAdapter } from '@unchainedshop/core';
325
+
326
+ const MyPricingAdapter: IProductPricingAdapter = {
327
+ key: 'my-pricing',
328
+ label: 'My Pricing Logic',
329
+ version: '1.0.0',
330
+ orderIndex: 10, // Lower numbers run first
331
+
332
+ isActivatedFor(context) {
333
+ // Return true if this adapter should apply
334
+ return true;
335
+ },
336
+
337
+ actions(params) {
338
+ return {
339
+ calculate() {
340
+ // Add price calculations
341
+ this.calculation.addItem({
342
+ category: 'BASE',
343
+ amount: 1000, // in smallest currency unit
344
+ });
345
+ },
346
+ };
347
+ },
348
+ };
349
+
350
+ ProductPricingDirector.registerAdapter(MyPricingAdapter);
351
+ ```
352
+
353
+ ### Discount Directors
354
+
355
+ Discount directors manage coupon codes and automatic discounts.
356
+
357
+ ```typescript
358
+ import { OrderDiscountDirector, type IDiscountAdapter } from '@unchainedshop/core';
359
+
360
+ const MyDiscountAdapter: IDiscountAdapter = {
361
+ key: 'my-discount',
362
+ label: 'My Discount System',
363
+ version: '1.0.0',
364
+ orderIndex: 10,
365
+
366
+ isManualAdditionAllowed(code) {
367
+ return code.startsWith('PROMO');
368
+ },
369
+ isManualRemovalAllowed() {
370
+ return true;
371
+ },
372
+
373
+ actions(context) {
374
+ return {
375
+ isValidForSystemTriggering() {
376
+ // Auto-apply discount?
377
+ return false;
378
+ },
379
+ isValidForCodeTriggering(code) {
380
+ // Apply when code entered?
381
+ return code === 'PROMO10';
382
+ },
383
+ discountForPricingAdapterKey(params) {
384
+ // Return discount configuration for pricing adapter
385
+ return {
386
+ isNetPrice: false,
387
+ rate: 0.1, // 10% off
388
+ };
389
+ },
390
+ async reserve(code) {
391
+ // Reserve discount (e.g., decrement coupon balance)
392
+ },
393
+ async release() {
394
+ // Release reservation on order cancellation
395
+ },
396
+ };
397
+ },
398
+ };
399
+
400
+ OrderDiscountDirector.registerAdapter(MyDiscountAdapter);
401
+ ```
402
+
403
+ ### Filter Director
404
+
405
+ Manages product filtering and search functionality.
406
+
407
+ ```typescript
408
+ import { FilterDirector, type IFilterAdapter } from '@unchainedshop/core';
409
+
410
+ const MyFilterAdapter: IFilterAdapter = {
411
+ key: 'my-filter',
412
+ label: 'My Search Filter',
413
+ version: '1.0.0',
414
+ orderIndex: 10,
415
+
416
+ actions(context) {
417
+ return {
418
+ async aggregateProductIds(params) {
419
+ // Return product IDs matching filter
420
+ return ['product-1', 'product-2'];
421
+ },
422
+ async searchProducts(params, options) {
423
+ // Search products
424
+ return { productIds: [], totalCount: 0 };
425
+ },
426
+ async searchAssortments(params, options) {
427
+ // Search assortments
428
+ return { assortmentIds: [], totalCount: 0 };
429
+ },
430
+ transformProductSelector(selector, options) {
431
+ // Modify MongoDB product selector
432
+ return selector;
433
+ },
434
+ transformFilterSelector(selector, options) {
435
+ // Modify MongoDB filter selector
436
+ return selector;
437
+ },
438
+ transformSortStage(sort, options) {
439
+ // Modify MongoDB sort stage
440
+ return sort;
441
+ },
442
+ };
443
+ },
444
+ };
445
+
446
+ FilterDirector.registerAdapter(MyFilterAdapter);
447
+ ```
448
+
449
+ ### Messaging Director
450
+
451
+ The Messaging Director uses a template resolver pattern instead of traditional adapters.
452
+
453
+ ```typescript
454
+ import { MessagingDirector } from '@unchainedshop/core';
455
+
456
+ // Register a message template
457
+ MessagingDirector.registerTemplate('ORDER_CONFIRMATION', async (context) => {
458
+ const { order, user } = context;
459
+
460
+ return [
461
+ {
462
+ type: 'EMAIL',
463
+ input: {
464
+ to: user.email,
465
+ subject: `Order Confirmation #${order.orderNumber}`,
466
+ html: '<h1>Thank you for your order!</h1>',
467
+ },
468
+ },
469
+ {
470
+ type: 'SMS',
471
+ input: {
472
+ to: user.phone,
473
+ text: `Order #${order.orderNumber} confirmed!`,
474
+ },
475
+ },
476
+ ];
477
+ });
478
+ ```
479
+
480
+ ### Quotation Director
481
+
482
+ Handles quotation/RFQ (Request for Quote) operations.
483
+
484
+ ```typescript
485
+ import { QuotationDirector, type IQuotationAdapter } from '@unchainedshop/core';
486
+
487
+ const MyQuotationAdapter: IQuotationAdapter = {
488
+ key: 'my-quotation',
489
+ label: 'My Quote System',
490
+ version: '1.0.0',
491
+
492
+ isActivatedFor(quotationContext, unchainedAPI) {
493
+ return true;
494
+ },
495
+
496
+ actions(context) {
497
+ return {
498
+ configurationError() { return null; },
499
+ isManualProposalRequired() { return true; },
500
+ isManualRequestVerificationRequired() { return false; },
501
+
502
+ async quote() {
503
+ // Generate quote
504
+ return { price: 1000, currency: 'CHF' };
505
+ },
506
+ async submitRequest(quotationContext) {
507
+ // Submit RFQ
508
+ },
509
+ async verifyRequest(quotationContext) {
510
+ // Verify RFQ
511
+ },
512
+ async rejectRequest(quotationContext) {
513
+ // Reject RFQ
514
+ },
515
+ transformItemConfiguration(params) {
516
+ return params.configuration;
517
+ },
518
+ };
519
+ },
520
+ };
521
+
522
+ QuotationDirector.registerAdapter(MyQuotationAdapter);
523
+ ```
524
+
525
+ ### Enrollment Director
526
+
527
+ Manages subscription/enrollment plans and recurring billing.
528
+
529
+ ```typescript
530
+ import { EnrollmentDirector, type IEnrollmentAdapter } from '@unchainedshop/core';
531
+
532
+ const MyEnrollmentAdapter: IEnrollmentAdapter = {
533
+ key: 'my-enrollment',
534
+ label: 'My Subscription System',
535
+ version: '1.0.0',
536
+
537
+ isActivatedFor(productPlan) {
538
+ return productPlan.type === 'PLAN_PRODUCT';
539
+ },
540
+
541
+ transformOrderItemToEnrollmentPlan(orderPosition, unchainedAPI) {
542
+ return {
543
+ configuration: orderPosition.configuration,
544
+ };
545
+ },
546
+
547
+ actions(context) {
548
+ return {
549
+ async nextPeriod() {
550
+ // Calculate next billing period
551
+ return {
552
+ start: new Date(),
553
+ end: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000),
554
+ };
555
+ },
556
+ isValidForActivation() {
557
+ return true;
558
+ },
559
+ isOverdue() {
560
+ return false;
561
+ },
562
+ async configurationForOrder(period) {
563
+ // Return order configuration for period
564
+ return {};
565
+ },
566
+ };
567
+ },
568
+ };
569
+
570
+ EnrollmentDirector.registerAdapter(MyEnrollmentAdapter);
571
+ ```
572
+
573
+ ### Bulk Importer
574
+
575
+ | Method | Description |
576
+ |--------|-------------|
577
+ | `bulkImporter.prepare` | Prepare bulk import for entity type |
578
+ | `bulkImporter.process` | Process prepared import data |
579
+
580
+ ### Types
581
+
582
+ | Export | Description |
583
+ |--------|-------------|
584
+ | `UnchainedCore` | Core instance type |
585
+ | `UnchainedCoreOptions` | Initialization options |
586
+ | `Modules` | All modules type |
587
+ | `Services` | All services type |
588
+ | `BulkImporter` | Bulk importer type |
589
+
590
+ ## Configuration
591
+
592
+ ```typescript
593
+ const core = await initCore({
594
+ db,
595
+ migrationRepository,
596
+ modules: {
597
+ // Custom modules
598
+ },
599
+ services: {
600
+ // Custom services
601
+ },
602
+ bulkImporter: {
603
+ handlers: {
604
+ // Custom import handlers
605
+ },
606
+ },
607
+ options: {
608
+ // Module-specific options
609
+ },
610
+ });
611
+ ```
612
+
613
+ ## License
614
+
615
+ EUPL-1.2
@@ -1,11 +1,11 @@
1
1
  import { z } from 'zod';
2
2
  import { Readable } from 'node:stream';
3
3
  import { mongodb } from '@unchainedshop/mongodb';
4
- import * as AssortmentHandlers from './handlers/assortment/index.js';
5
- import * as FilterHandlers from './handlers/filter/index.js';
6
- import * as ProductHandlers from './handlers/product/index.js';
7
- import { Modules } from '../modules.js';
8
- import { Services } from '../services/index.js';
4
+ import * as AssortmentHandlers from './handlers/assortment/index.ts';
5
+ import * as FilterHandlers from './handlers/filter/index.ts';
6
+ import * as ProductHandlers from './handlers/product/index.ts';
7
+ import type { Modules } from '../modules.ts';
8
+ import type { Services } from '../services/index.ts';
9
9
  export interface BulkImportOperationResult {
10
10
  entity: string;
11
11
  operation: string;
@@ -81,4 +81,3 @@ export default function createBulkImporterFactory(db: any, bulkImporterOptions:
81
81
  };
82
82
  export type BulkImporter = ReturnType<typeof createBulkImporterFactory>;
83
83
  export { AssortmentHandlers, ProductHandlers, FilterHandlers };
84
- //# sourceMappingURL=createBulkImporter.d.ts.map
@@ -1,9 +1,11 @@
1
+ import { z } from 'zod';
1
2
  import JSONStream from 'minipass-json-stream';
2
- import { PassThrough } from 'node:stream';
3
+ import { PassThrough, Readable } from 'node:stream';
3
4
  import { pipeline } from 'node:stream/promises';
4
- import * as AssortmentHandlers from './handlers/assortment/index.js';
5
- import * as FilterHandlers from './handlers/filter/index.js';
6
- import * as ProductHandlers from './handlers/product/index.js';
5
+ import { mongodb } from '@unchainedshop/mongodb';
6
+ import * as AssortmentHandlers from "./handlers/assortment/index.js";
7
+ import * as FilterHandlers from "./handlers/filter/index.js";
8
+ import * as ProductHandlers from "./handlers/product/index.js";
7
9
  import { createLogger } from '@unchainedshop/logger';
8
10
  const logger = createLogger('unchained:bulk-import');
9
11
  let bulkOperationHandlers = {};
@@ -139,4 +141,3 @@ export default function createBulkImporterFactory(db, bulkImporterOptions) {
139
141
  };
140
142
  }
141
143
  export { AssortmentHandlers, ProductHandlers, FilterHandlers };
142
- //# sourceMappingURL=createBulkImporter.js.map
@@ -1,5 +1,5 @@
1
- import { Modules } from '../../../modules.js';
2
- import { Services } from '../../../services/index.js';
1
+ import type { Modules } from '../../../modules.ts';
2
+ import type { Services } from '../../../services/index.ts';
3
3
  import { z } from 'zod';
4
4
  export declare const AssortmentCreatePayloadSchema: z.ZodObject<{
5
5
  _id: z.ZodString;
@@ -122,4 +122,3 @@ declare namespace createAssortment {
122
122
  }, z.core.$strip>;
123
123
  }
124
124
  export default createAssortment;
125
- //# sourceMappingURL=create.d.ts.map
@@ -1,8 +1,8 @@
1
- import convertTagsToLowerCase from '../utils/convertTagsToLowerCase.js';
2
- import upsertAssortmentChildren, { AssortmentLinkSchema } from './upsertAssortmentChildren.js';
3
- import upsertAssortmentFilters, { AssortmentFilterSchema } from './upsertAssortmentFilters.js';
4
- import upsertAssortmentProducts, { AssortmentProductSchema } from './upsertAssortmentProducts.js';
5
- import upsertMedia, { MediaSchema } from './upsertMedia.js';
1
+ import convertTagsToLowerCase from "../utils/convertTagsToLowerCase.js";
2
+ import upsertAssortmentChildren, { AssortmentLinkSchema } from "./upsertAssortmentChildren.js";
3
+ import upsertAssortmentFilters, { AssortmentFilterSchema } from "./upsertAssortmentFilters.js";
4
+ import upsertAssortmentProducts, { AssortmentProductSchema } from "./upsertAssortmentProducts.js";
5
+ import upsertMedia, { MediaSchema } from "./upsertMedia.js";
6
6
  import { z } from 'zod';
7
7
  export const AssortmentCreatePayloadSchema = z.object({
8
8
  _id: z.string(),
@@ -14,8 +14,7 @@ export const AssortmentCreatePayloadSchema = z.object({
14
14
  tags: z.array(z.string()).optional(),
15
15
  meta: z.record(z.any(), z.any()).optional(),
16
16
  content: z
17
- .record(z.string(), // locale
18
- z.object({
17
+ .record(z.string(), z.object({
19
18
  title: z.string().optional(),
20
19
  subtitle: z.string().optional(),
21
20
  slug: z.string().optional(),
@@ -86,4 +85,3 @@ export default async function createAssortment(payload, { logger, createShouldUp
86
85
  };
87
86
  }
88
87
  createAssortment.payloadSchema = AssortmentCreatePayloadSchema;
89
- //# sourceMappingURL=create.js.map
@@ -1,4 +1,3 @@
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
+ export { default as create } from './create.ts';
2
+ export { default as update } from './update.ts';
3
+ export { default as remove } from './remove.ts';