@unchainedshop/core 3.0.0-alpha7 → 3.0.0-rc1

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 (530) hide show
  1. package/lib/core-index.d.ts +8 -61
  2. package/lib/core-index.d.ts.map +1 -1
  3. package/lib/core-index.js +9 -140
  4. package/lib/core-index.js.map +1 -1
  5. package/lib/core-index_BACKUP_57582.d.ts +26 -0
  6. package/lib/core-index_BACKUP_57582.d.ts.map +1 -0
  7. package/lib/core-index_BACKUP_57582.js +30 -0
  8. package/lib/core-index_BACKUP_57582.js.map +1 -0
  9. package/lib/core-index_BASE_57582.d.ts +74 -0
  10. package/lib/core-index_BASE_57582.d.ts.map +1 -0
  11. package/lib/core-index_BASE_57582.js +145 -0
  12. package/lib/core-index_BASE_57582.js.map +1 -0
  13. package/lib/core-index_LOCAL_57582.d.ts +26 -0
  14. package/lib/core-index_LOCAL_57582.d.ts.map +1 -0
  15. package/lib/core-index_LOCAL_57582.js +31 -0
  16. package/lib/core-index_LOCAL_57582.js.map +1 -0
  17. package/lib/core-index_REMOTE_57582.d.ts +74 -0
  18. package/lib/core-index_REMOTE_57582.d.ts.map +1 -0
  19. package/lib/core-index_REMOTE_57582.js +146 -0
  20. package/lib/core-index_REMOTE_57582.js.map +1 -0
  21. package/lib/directors/BaseDiscountAdapter.d.ts +38 -0
  22. package/lib/directors/BaseDiscountAdapter.d.ts.map +1 -0
  23. package/lib/directors/BaseDiscountAdapter.js +48 -0
  24. package/lib/directors/BaseDiscountAdapter.js.map +1 -0
  25. package/lib/directors/BaseDiscountDirector.d.ts +12 -0
  26. package/lib/directors/BaseDiscountDirector.d.ts.map +1 -0
  27. package/lib/directors/BaseDiscountDirector.js +45 -0
  28. package/lib/directors/BaseDiscountDirector.js.map +1 -0
  29. package/lib/directors/BasePricingAdapter.d.ts +39 -0
  30. package/lib/directors/BasePricingAdapter.d.ts.map +1 -0
  31. package/lib/directors/BasePricingAdapter.js +25 -0
  32. package/lib/directors/BasePricingAdapter.js.map +1 -0
  33. package/lib/directors/BasePricingDirector.d.ts +17 -0
  34. package/lib/directors/BasePricingDirector.d.ts.map +1 -0
  35. package/lib/directors/BasePricingDirector.js +70 -0
  36. package/lib/directors/BasePricingDirector.js.map +1 -0
  37. package/lib/directors/BasePricingSheet.d.ts +46 -0
  38. package/lib/directors/BasePricingSheet.d.ts.map +1 -0
  39. package/lib/directors/BasePricingSheet.js +74 -0
  40. package/lib/directors/BasePricingSheet.js.map +1 -0
  41. package/lib/directors/DeliveryAdapter.d.ts +46 -0
  42. package/lib/directors/DeliveryAdapter.d.ts.map +1 -0
  43. package/lib/directors/DeliveryAdapter.js +50 -0
  44. package/lib/directors/DeliveryAdapter.js.map +1 -0
  45. package/lib/directors/DeliveryDirector.d.ts +15 -0
  46. package/lib/directors/DeliveryDirector.d.ts.map +1 -0
  47. package/lib/directors/DeliveryDirector.js +96 -0
  48. package/lib/directors/DeliveryDirector.js.map +1 -0
  49. package/lib/directors/DeliveryPricingAdapter.d.ts +49 -0
  50. package/lib/directors/DeliveryPricingAdapter.d.ts.map +1 -0
  51. package/lib/directors/DeliveryPricingAdapter.js +25 -0
  52. package/lib/directors/DeliveryPricingAdapter.js.map +1 -0
  53. package/lib/directors/DeliveryPricingDirector.d.ts +20 -0
  54. package/lib/directors/DeliveryPricingDirector.d.ts.map +1 -0
  55. package/lib/directors/DeliveryPricingDirector.js +50 -0
  56. package/lib/directors/DeliveryPricingDirector.js.map +1 -0
  57. package/lib/directors/DeliveryPricingSheet.d.ts +10 -0
  58. package/lib/directors/DeliveryPricingSheet.d.ts.map +1 -0
  59. package/lib/directors/DeliveryPricingSheet.js +75 -0
  60. package/lib/directors/DeliveryPricingSheet.js.map +1 -0
  61. package/lib/directors/EnrollmentAdapter.d.ts +27 -0
  62. package/lib/directors/EnrollmentAdapter.d.ts.map +1 -0
  63. package/lib/directors/EnrollmentAdapter.js +73 -0
  64. package/lib/directors/EnrollmentAdapter.js.map +1 -0
  65. package/lib/directors/EnrollmentDirector.d.ts +14 -0
  66. package/lib/directors/EnrollmentDirector.d.ts.map +1 -0
  67. package/lib/directors/EnrollmentDirector.js +44 -0
  68. package/lib/directors/EnrollmentDirector.js.map +1 -0
  69. package/lib/directors/FilterAdapter.d.ts +54 -0
  70. package/lib/directors/FilterAdapter.d.ts.map +1 -0
  71. package/lib/directors/FilterAdapter.js +38 -0
  72. package/lib/directors/FilterAdapter.js.map +1 -0
  73. package/lib/directors/FilterDirector.d.ts +40 -0
  74. package/lib/directors/FilterDirector.d.ts.map +1 -0
  75. package/lib/directors/FilterDirector.js +173 -0
  76. package/lib/directors/FilterDirector.js.map +1 -0
  77. package/lib/directors/MessagingDirector.d.ts +46 -0
  78. package/lib/directors/MessagingDirector.d.ts.map +1 -0
  79. package/lib/directors/MessagingDirector.js +10 -0
  80. package/lib/directors/MessagingDirector.js.map +1 -0
  81. package/lib/directors/OrderDiscountAdapter.d.ts +3 -0
  82. package/lib/directors/OrderDiscountAdapter.d.ts.map +1 -0
  83. package/lib/directors/OrderDiscountAdapter.js +3 -0
  84. package/lib/directors/OrderDiscountAdapter.js.map +1 -0
  85. package/lib/directors/OrderDiscountConfiguration.d.ts +6 -0
  86. package/lib/directors/OrderDiscountConfiguration.d.ts.map +1 -0
  87. package/lib/directors/OrderDiscountConfiguration.js +2 -0
  88. package/lib/directors/OrderDiscountConfiguration.js.map +1 -0
  89. package/lib/directors/OrderDiscountDirector.d.ts +3 -0
  90. package/lib/directors/OrderDiscountDirector.d.ts.map +1 -0
  91. package/lib/directors/OrderDiscountDirector.js +3 -0
  92. package/lib/directors/OrderDiscountDirector.js.map +1 -0
  93. package/lib/directors/OrderPricingAdapter.d.ts +18 -0
  94. package/lib/directors/OrderPricingAdapter.d.ts.map +1 -0
  95. package/lib/directors/OrderPricingAdapter.js +24 -0
  96. package/lib/directors/OrderPricingAdapter.js.map +1 -0
  97. package/lib/directors/OrderPricingDirector.d.ts +18 -0
  98. package/lib/directors/OrderPricingDirector.d.ts.map +1 -0
  99. package/lib/directors/OrderPricingDirector.js +31 -0
  100. package/lib/directors/OrderPricingDirector.js.map +1 -0
  101. package/lib/directors/OrderPricingSheet.d.ts +37 -0
  102. package/lib/directors/OrderPricingSheet.d.ts.map +1 -0
  103. package/lib/directors/OrderPricingSheet.js +108 -0
  104. package/lib/directors/OrderPricingSheet.js.map +1 -0
  105. package/lib/directors/PaymentAdapter.d.ts +50 -0
  106. package/lib/directors/PaymentAdapter.d.ts.map +1 -0
  107. package/lib/directors/PaymentAdapter.js +55 -0
  108. package/lib/directors/PaymentAdapter.js.map +1 -0
  109. package/lib/directors/PaymentDirector.d.ts +21 -0
  110. package/lib/directors/PaymentDirector.d.ts.map +1 -0
  111. package/lib/directors/PaymentDirector.js +172 -0
  112. package/lib/directors/PaymentDirector.js.map +1 -0
  113. package/lib/directors/PaymentPricingAdapter.d.ts +48 -0
  114. package/lib/directors/PaymentPricingAdapter.d.ts.map +1 -0
  115. package/lib/directors/PaymentPricingAdapter.js +25 -0
  116. package/lib/directors/PaymentPricingAdapter.js.map +1 -0
  117. package/lib/directors/PaymentPricingDirector.d.ts +18 -0
  118. package/lib/directors/PaymentPricingDirector.d.ts.map +1 -0
  119. package/lib/directors/PaymentPricingDirector.js +51 -0
  120. package/lib/directors/PaymentPricingDirector.js.map +1 -0
  121. package/lib/directors/PaymentPricingSheet.d.ts +9 -0
  122. package/lib/directors/PaymentPricingSheet.d.ts.map +1 -0
  123. package/lib/directors/PaymentPricingSheet.js +75 -0
  124. package/lib/directors/PaymentPricingSheet.js.map +1 -0
  125. package/lib/directors/ProductDiscountAdapter.d.ts +3 -0
  126. package/lib/directors/ProductDiscountAdapter.d.ts.map +1 -0
  127. package/lib/directors/ProductDiscountAdapter.js +3 -0
  128. package/lib/directors/ProductDiscountAdapter.js.map +1 -0
  129. package/lib/directors/ProductDiscountConfiguration.d.ts +13 -0
  130. package/lib/directors/ProductDiscountConfiguration.d.ts.map +1 -0
  131. package/lib/directors/ProductDiscountConfiguration.js +2 -0
  132. package/lib/directors/ProductDiscountConfiguration.js.map +1 -0
  133. package/lib/directors/ProductDiscountDirector.d.ts +3 -0
  134. package/lib/directors/ProductDiscountDirector.d.ts.map +1 -0
  135. package/lib/directors/ProductDiscountDirector.js +3 -0
  136. package/lib/directors/ProductDiscountDirector.js.map +1 -0
  137. package/lib/directors/ProductPricingAdapter.d.ts +17 -0
  138. package/lib/directors/ProductPricingAdapter.d.ts.map +1 -0
  139. package/lib/directors/ProductPricingAdapter.js +24 -0
  140. package/lib/directors/ProductPricingAdapter.js.map +1 -0
  141. package/lib/directors/ProductPricingDirector.d.ts +21 -0
  142. package/lib/directors/ProductPricingDirector.d.ts.map +1 -0
  143. package/lib/directors/ProductPricingDirector.js +52 -0
  144. package/lib/directors/ProductPricingDirector.js.map +1 -0
  145. package/lib/directors/ProductPricingSheet.d.ts +38 -0
  146. package/lib/directors/ProductPricingSheet.d.ts.map +1 -0
  147. package/lib/directors/ProductPricingSheet.js +83 -0
  148. package/lib/directors/ProductPricingSheet.js.map +1 -0
  149. package/lib/directors/QuotationAdapter.d.ts +28 -0
  150. package/lib/directors/QuotationAdapter.d.ts.map +1 -0
  151. package/lib/directors/QuotationAdapter.js +46 -0
  152. package/lib/directors/QuotationAdapter.js.map +1 -0
  153. package/lib/directors/QuotationDirector.d.ts +7 -0
  154. package/lib/directors/QuotationDirector.d.ts.map +1 -0
  155. package/lib/directors/QuotationDirector.js +84 -0
  156. package/lib/directors/QuotationDirector.js.map +1 -0
  157. package/lib/directors/WarehousingAdapter.d.ts +40 -0
  158. package/lib/directors/WarehousingAdapter.d.ts.map +1 -0
  159. package/lib/directors/WarehousingAdapter.js +32 -0
  160. package/lib/directors/WarehousingAdapter.js.map +1 -0
  161. package/lib/directors/WarehousingDirector.d.ts +38 -0
  162. package/lib/directors/WarehousingDirector.d.ts.map +1 -0
  163. package/lib/directors/WarehousingDirector.js +169 -0
  164. package/lib/directors/WarehousingDirector.js.map +1 -0
  165. package/lib/directors/WorkerAdapter.d.ts +17 -0
  166. package/lib/directors/WorkerAdapter.d.ts.map +1 -0
  167. package/lib/directors/WorkerAdapter.js +11 -0
  168. package/lib/directors/WorkerAdapter.js.map +1 -0
  169. package/lib/directors/WorkerDirector.d.ts +26 -0
  170. package/lib/directors/WorkerDirector.d.ts.map +1 -0
  171. package/lib/directors/WorkerDirector.js +102 -0
  172. package/lib/directors/WorkerDirector.js.map +1 -0
  173. package/lib/directors/index.d.ts +39 -0
  174. package/lib/directors/index.d.ts.map +1 -0
  175. package/lib/directors/index.js +39 -0
  176. package/lib/directors/index.js.map +1 -0
  177. package/lib/modules.d.ts +61 -0
  178. package/lib/modules.d.ts.map +1 -0
  179. package/lib/modules.js +132 -0
  180. package/lib/modules.js.map +1 -0
  181. package/lib/services/activateEnrollment.d.ts +4 -0
  182. package/lib/services/activateEnrollment.d.ts.map +1 -0
  183. package/lib/services/activateEnrollment.js +25 -0
  184. package/lib/services/activateEnrollment.js.map +1 -0
  185. package/lib/services/calculateDiscountTotal.d.ts +7 -0
  186. package/lib/services/calculateDiscountTotal.d.ts.map +1 -0
  187. package/lib/services/calculateDiscountTotal.js +49 -0
  188. package/lib/services/calculateDiscountTotal.js.map +1 -0
  189. package/lib/services/checkoutOrder.d.ts +9 -0
  190. package/lib/services/checkoutOrder.d.ts.map +1 -0
  191. package/lib/services/checkoutOrder.js +28 -0
  192. package/lib/services/checkoutOrder.js.map +1 -0
  193. package/lib/services/confirmOrder.d.ts +9 -0
  194. package/lib/services/confirmOrder.d.ts.map +1 -0
  195. package/lib/services/confirmOrder.js +17 -0
  196. package/lib/services/confirmOrder.js.map +1 -0
  197. package/lib/services/createDownloadStream.d.ts +5 -0
  198. package/lib/services/createDownloadStream.d.ts.map +1 -0
  199. package/lib/services/createDownloadStream.js +8 -0
  200. package/lib/services/createDownloadStream.js.map +1 -0
  201. package/lib/services/createDownloadStreamService.d.ts +11 -0
  202. package/lib/services/createDownloadStreamService.d.ts.map +1 -0
  203. package/lib/services/createDownloadStreamService.js +9 -0
  204. package/lib/services/createDownloadStreamService.js.map +1 -0
  205. package/lib/services/createEnrollmentFromCheckout.d.ts +15 -0
  206. package/lib/services/createEnrollmentFromCheckout.d.ts.map +1 -0
  207. package/lib/services/createEnrollmentFromCheckout.js +40 -0
  208. package/lib/services/createEnrollmentFromCheckout.js.map +1 -0
  209. package/lib/services/createManualOrderDiscount.d.ts +7 -0
  210. package/lib/services/createManualOrderDiscount.d.ts.map +1 -0
  211. package/lib/services/createManualOrderDiscount.js +47 -0
  212. package/lib/services/createManualOrderDiscount.js.map +1 -0
  213. package/lib/services/createSignedURL.d.ts +8 -0
  214. package/lib/services/createSignedURL.d.ts.map +1 -0
  215. package/lib/services/createSignedURL.js +15 -0
  216. package/lib/services/createSignedURL.js.map +1 -0
  217. package/lib/services/createSignedURLService.d.ts +13 -0
  218. package/lib/services/createSignedURLService.d.ts.map +1 -0
  219. package/lib/services/createSignedURLService.js +14 -0
  220. package/lib/services/createSignedURLService.js.map +1 -0
  221. package/lib/services/deleteUser.d.ts +5 -0
  222. package/lib/services/deleteUser.d.ts.map +1 -0
  223. package/lib/services/deleteUser.js +26 -0
  224. package/lib/services/deleteUser.js.map +1 -0
  225. package/lib/services/deleteUserCartService.d.ts +6 -0
  226. package/lib/services/deleteUserCartService.d.ts.map +1 -0
  227. package/lib/services/deleteUserCartService.js +20 -0
  228. package/lib/services/deleteUserCartService.js.map +1 -0
  229. package/lib/services/deleteUserCarts.d.ts +5 -0
  230. package/lib/services/deleteUserCarts.d.ts.map +1 -0
  231. package/lib/services/deleteUserCarts.js +18 -0
  232. package/lib/services/deleteUserCarts.js.map +1 -0
  233. package/lib/services/deleteUserCartsService.d.ts +5 -0
  234. package/lib/services/deleteUserCartsService.d.ts.map +1 -0
  235. package/lib/services/deleteUserCartsService.js +18 -0
  236. package/lib/services/deleteUserCartsService.js.map +1 -0
  237. package/lib/services/discountedEntities.d.ts +5 -0
  238. package/lib/services/discountedEntities.d.ts.map +1 -0
  239. package/lib/services/discountedEntities.js +61 -0
  240. package/lib/services/discountedEntities.js.map +1 -0
  241. package/lib/services/ercMetadata.d.ts +7 -0
  242. package/lib/services/ercMetadata.d.ts.map +1 -0
  243. package/lib/services/ercMetadata.js +22 -0
  244. package/lib/services/ercMetadata.js.map +1 -0
  245. package/lib/services/fullfillQuotation.d.ts +4 -0
  246. package/lib/services/fullfillQuotation.d.ts.map +1 -0
  247. package/lib/services/fullfillQuotation.js +12 -0
  248. package/lib/services/fullfillQuotation.js.map +1 -0
  249. package/lib/services/index.d.ts +110 -0
  250. package/lib/services/index.d.ts.map +1 -0
  251. package/lib/services/index.js +124 -0
  252. package/lib/services/index.js.map +1 -0
  253. package/lib/services/index_BACKUP_58089.d.ts +246 -0
  254. package/lib/services/index_BACKUP_58089.d.ts.map +1 -0
  255. package/lib/services/index_BACKUP_58089.js +103 -0
  256. package/lib/services/index_BACKUP_58089.js.map +1 -0
  257. package/lib/services/index_BASE_58089.d.ts +31 -0
  258. package/lib/services/index_BASE_58089.d.ts.map +1 -0
  259. package/lib/services/index_BASE_58089.js +42 -0
  260. package/lib/services/index_BASE_58089.js.map +1 -0
  261. package/lib/services/index_LOCAL_58089.d.ts +246 -0
  262. package/lib/services/index_LOCAL_58089.d.ts.map +1 -0
  263. package/lib/services/index_LOCAL_58089.js +103 -0
  264. package/lib/services/index_LOCAL_58089.js.map +1 -0
  265. package/lib/services/index_REMOTE_58089.d.ts +34 -0
  266. package/lib/services/index_REMOTE_58089.d.ts.map +1 -0
  267. package/lib/services/index_REMOTE_58089.js +44 -0
  268. package/lib/services/index_REMOTE_58089.js.map +1 -0
  269. package/lib/services/initCartProviders.d.ts +4 -0
  270. package/lib/services/initCartProviders.d.ts.map +1 -0
  271. package/lib/services/initCartProviders.js +55 -0
  272. package/lib/services/initCartProviders.js.map +1 -0
  273. package/lib/services/initializeEnrollment.d.ts +7 -0
  274. package/lib/services/initializeEnrollment.d.ts.map +1 -0
  275. package/lib/services/initializeEnrollment.js +28 -0
  276. package/lib/services/initializeEnrollment.js.map +1 -0
  277. package/lib/services/invalidateFilterCache.d.ts +3 -0
  278. package/lib/services/invalidateFilterCache.d.ts.map +1 -0
  279. package/lib/services/invalidateFilterCache.js +12 -0
  280. package/lib/services/invalidateFilterCache.js.map +1 -0
  281. package/lib/services/linkFileService.d.ts +7 -0
  282. package/lib/services/linkFileService.d.ts.map +1 -0
  283. package/lib/services/linkFileService.js +18 -0
  284. package/lib/services/linkFileService.js.map +1 -0
  285. package/lib/services/loadFilterOptions.d.ts +14 -0
  286. package/lib/services/loadFilterOptions.d.ts.map +1 -0
  287. package/lib/services/loadFilterOptions.js +30 -0
  288. package/lib/services/loadFilterOptions.js.map +1 -0
  289. package/lib/services/loadFilters.d.ts +14 -0
  290. package/lib/services/loadFilters.d.ts.map +1 -0
  291. package/lib/services/loadFilters.js +36 -0
  292. package/lib/services/loadFilters.js.map +1 -0
  293. package/lib/services/migrateBookmarks.d.ts +8 -0
  294. package/lib/services/migrateBookmarks.d.ts.map +1 -0
  295. package/lib/services/migrateBookmarks.js +26 -0
  296. package/lib/services/migrateBookmarks.js.map +1 -0
  297. package/lib/services/migrateBookmarksService.d.ts +13 -0
  298. package/lib/services/migrateBookmarksService.d.ts.map +1 -0
  299. package/lib/services/migrateBookmarksService.js +26 -0
  300. package/lib/services/migrateBookmarksService.js.map +1 -0
  301. package/lib/services/migrateOrderCart.d.ts +8 -0
  302. package/lib/services/migrateOrderCart.d.ts.map +1 -0
  303. package/lib/services/migrateOrderCart.js +32 -0
  304. package/lib/services/migrateOrderCart.js.map +1 -0
  305. package/lib/services/migrateOrderCartService.d.ts +23 -0
  306. package/lib/services/migrateOrderCartService.d.ts.map +1 -0
  307. package/lib/services/migrateOrderCartService.js +32 -0
  308. package/lib/services/migrateOrderCartService.js.map +1 -0
  309. package/lib/services/migrateUserData.d.ts +2 -0
  310. package/lib/services/migrateUserData.d.ts.map +1 -0
  311. package/lib/services/migrateUserData.js +20 -0
  312. package/lib/services/migrateUserData.js.map +1 -0
  313. package/lib/services/migrateUserDataService.d.ts +19 -0
  314. package/lib/services/migrateUserDataService.d.ts.map +1 -0
  315. package/lib/services/migrateUserDataService.js +18 -0
  316. package/lib/services/migrateUserDataService.js.map +1 -0
  317. package/lib/services/nextUserCart.d.ts +9 -0
  318. package/lib/services/nextUserCart.d.ts.map +1 -0
  319. package/lib/services/nextUserCart.js +34 -0
  320. package/lib/services/nextUserCart.js.map +1 -0
  321. package/lib/services/nextUserCartService.d.ts +22 -0
  322. package/lib/services/nextUserCartService.d.ts.map +1 -0
  323. package/lib/services/nextUserCartService.js +35 -0
  324. package/lib/services/nextUserCartService.js.map +1 -0
  325. package/lib/services/processEnrollment.d.ts +4 -0
  326. package/lib/services/processEnrollment.d.ts.map +1 -0
  327. package/lib/services/processEnrollment.js +33 -0
  328. package/lib/services/processEnrollment.js.map +1 -0
  329. package/lib/services/processOrder.d.ts +9 -0
  330. package/lib/services/processOrder.d.ts.map +1 -0
  331. package/lib/services/processOrder.js +161 -0
  332. package/lib/services/processOrder.js.map +1 -0
  333. package/lib/services/processQuotation.d.ts +6 -0
  334. package/lib/services/processQuotation.d.ts.map +1 -0
  335. package/lib/services/processQuotation.js +60 -0
  336. package/lib/services/processQuotation.js.map +1 -0
  337. package/lib/services/proposeQuotation.d.ts +6 -0
  338. package/lib/services/proposeQuotation.d.ts.map +1 -0
  339. package/lib/services/proposeQuotation.js +12 -0
  340. package/lib/services/proposeQuotation.js.map +1 -0
  341. package/lib/services/registerPaymentCredentials.d.ts +5 -0
  342. package/lib/services/registerPaymentCredentials.d.ts.map +1 -0
  343. package/lib/services/registerPaymentCredentials.js +21 -0
  344. package/lib/services/registerPaymentCredentials.js.map +1 -0
  345. package/lib/services/rejectOrder.d.ts +9 -0
  346. package/lib/services/rejectOrder.d.ts.map +1 -0
  347. package/lib/services/rejectOrder.js +17 -0
  348. package/lib/services/rejectOrder.js.map +1 -0
  349. package/lib/services/rejectQuotation.d.ts +6 -0
  350. package/lib/services/rejectQuotation.d.ts.map +1 -0
  351. package/lib/services/rejectQuotation.js +12 -0
  352. package/lib/services/rejectQuotation.js.map +1 -0
  353. package/lib/services/removeFiles.d.ts +5 -0
  354. package/lib/services/removeFiles.d.ts.map +1 -0
  355. package/lib/services/removeFiles.js +19 -0
  356. package/lib/services/removeFiles.js.map +1 -0
  357. package/lib/services/removeFilesService.d.ts +10 -0
  358. package/lib/services/removeFilesService.d.ts.map +1 -0
  359. package/lib/services/removeFilesService.js +20 -0
  360. package/lib/services/removeFilesService.js.map +1 -0
  361. package/lib/services/removeProduct.d.ts +5 -0
  362. package/lib/services/removeProduct.d.ts.map +1 -0
  363. package/lib/services/removeProduct.js +26 -0
  364. package/lib/services/removeProduct.js.map +1 -0
  365. package/lib/services/removeProductService.d.ts +20 -0
  366. package/lib/services/removeProductService.d.ts.map +1 -0
  367. package/lib/services/removeProductService.js +27 -0
  368. package/lib/services/removeProductService.js.map +1 -0
  369. package/lib/services/searchAssortments.d.ts +19 -0
  370. package/lib/services/searchAssortments.d.ts.map +1 -0
  371. package/lib/services/searchAssortments.js +33 -0
  372. package/lib/services/searchAssortments.js.map +1 -0
  373. package/lib/services/searchProducts.d.ts +16 -0
  374. package/lib/services/searchProducts.d.ts.map +1 -0
  375. package/lib/services/searchProducts.js +41 -0
  376. package/lib/services/searchProducts.js.map +1 -0
  377. package/lib/services/supportedDeliveryProviders.d.ts +5 -0
  378. package/lib/services/supportedDeliveryProviders.d.ts.map +1 -0
  379. package/lib/services/supportedDeliveryProviders.js +14 -0
  380. package/lib/services/supportedDeliveryProviders.js.map +1 -0
  381. package/lib/services/supportedPaymentProviders.d.ts +5 -0
  382. package/lib/services/supportedPaymentProviders.d.ts.map +1 -0
  383. package/lib/services/supportedPaymentProviders.js +14 -0
  384. package/lib/services/supportedPaymentProviders.js.map +1 -0
  385. package/lib/services/supportedWarehousingProviders.d.ts +5 -0
  386. package/lib/services/supportedWarehousingProviders.d.ts.map +1 -0
  387. package/lib/services/supportedWarehousingProviders.js +10 -0
  388. package/lib/services/supportedWarehousingProviders.js.map +1 -0
  389. package/lib/services/terminateEnrollment.d.ts +3 -0
  390. package/lib/services/terminateEnrollment.d.ts.map +1 -0
  391. package/lib/services/terminateEnrollment.js +25 -0
  392. package/lib/services/terminateEnrollment.js.map +1 -0
  393. package/lib/services/updateCalculation.d.ts +3 -0
  394. package/lib/services/updateCalculation.d.ts.map +1 -0
  395. package/lib/services/updateCalculation.js +101 -0
  396. package/lib/services/updateCalculation.js.map +1 -0
  397. package/lib/services/updateCalculationService.d.ts +17 -0
  398. package/lib/services/updateCalculationService.d.ts.map +1 -0
  399. package/lib/services/updateCalculationService.js +68 -0
  400. package/lib/services/updateCalculationService.js.map +1 -0
  401. package/lib/services/updateScheduling.d.ts +8 -0
  402. package/lib/services/updateScheduling.d.ts.map +1 -0
  403. package/lib/services/updateScheduling.js +42 -0
  404. package/lib/services/updateScheduling.js.map +1 -0
  405. package/lib/services/updateUserAvatarAfterUpload.d.ts +6 -0
  406. package/lib/services/updateUserAvatarAfterUpload.d.ts.map +1 -0
  407. package/lib/services/updateUserAvatarAfterUpload.js +25 -0
  408. package/lib/services/updateUserAvatarAfterUpload.js.map +1 -0
  409. package/lib/services/updateUserAvatarAfterUploadService.d.ts +18 -0
  410. package/lib/services/updateUserAvatarAfterUploadService.d.ts.map +1 -0
  411. package/lib/services/updateUserAvatarAfterUploadService.js +25 -0
  412. package/lib/services/updateUserAvatarAfterUploadService.js.map +1 -0
  413. package/lib/services/uploadFileFromStream.d.ts +8 -0
  414. package/lib/services/uploadFileFromStream.d.ts.map +1 -0
  415. package/lib/services/uploadFileFromStream.js +11 -0
  416. package/lib/services/uploadFileFromStream.js.map +1 -0
  417. package/lib/services/uploadFileFromStreamService.d.ts +12 -0
  418. package/lib/services/uploadFileFromStreamService.d.ts.map +1 -0
  419. package/lib/services/uploadFileFromStreamService.js +10 -0
  420. package/lib/services/uploadFileFromStreamService.js.map +1 -0
  421. package/lib/services/uploadFileFromURL.d.ts +13 -0
  422. package/lib/services/uploadFileFromURL.d.ts.map +1 -0
  423. package/lib/services/uploadFileFromURL.js +11 -0
  424. package/lib/services/uploadFileFromURL.js.map +1 -0
  425. package/lib/services/uploadFileFromURLService.d.ts +17 -0
  426. package/lib/services/uploadFileFromURLService.d.ts.map +1 -0
  427. package/lib/services/uploadFileFromURLService.js +10 -0
  428. package/lib/services/uploadFileFromURLService.js.map +1 -0
  429. package/lib/services/validateOrder.d.ts +4 -0
  430. package/lib/services/validateOrder.d.ts.map +1 -0
  431. package/lib/services/validateOrder.js +45 -0
  432. package/lib/services/validateOrder.js.map +1 -0
  433. package/lib/services/verifyQuotation.d.ts +6 -0
  434. package/lib/services/verifyQuotation.d.ts.map +1 -0
  435. package/lib/services/verifyQuotation.js +12 -0
  436. package/lib/services/verifyQuotation.js.map +1 -0
  437. package/package.json +28 -28
  438. package/src/core-index.ts +14 -241
  439. package/src/directors/BaseDiscountAdapter.test.ts +49 -0
  440. package/src/directors/BaseDiscountAdapter.ts +91 -0
  441. package/src/directors/BaseDiscountDirector.ts +72 -0
  442. package/src/directors/BasePricingAdapter.ts +82 -0
  443. package/src/directors/BasePricingDirector.ts +136 -0
  444. package/src/directors/BasePricingSheet.test.ts +43 -0
  445. package/src/directors/BasePricingSheet.ts +140 -0
  446. package/src/directors/DeliveryAdapter.ts +110 -0
  447. package/src/directors/DeliveryDirector.ts +135 -0
  448. package/src/directors/DeliveryPricingAdapter.ts +87 -0
  449. package/src/directors/DeliveryPricingDirector.ts +92 -0
  450. package/src/directors/DeliveryPricingSheet.ts +86 -0
  451. package/src/directors/EnrollmentAdapter.ts +109 -0
  452. package/src/directors/EnrollmentDirector.ts +70 -0
  453. package/src/directors/FilterAdapter.ts +103 -0
  454. package/src/directors/FilterDirector.ts +309 -0
  455. package/src/directors/MessagingDirector.test.ts +5 -0
  456. package/src/directors/MessagingDirector.ts +59 -0
  457. package/src/directors/OrderDiscountAdapter.ts +10 -0
  458. package/src/directors/OrderDiscountConfiguration.ts +5 -0
  459. package/src/directors/OrderDiscountDirector.ts +6 -0
  460. package/src/directors/OrderPricingAdapter.ts +63 -0
  461. package/src/directors/OrderPricingDirector.ts +74 -0
  462. package/src/directors/OrderPricingSheet.ts +147 -0
  463. package/src/directors/PaymentAdapter.ts +118 -0
  464. package/src/directors/PaymentDirector.ts +275 -0
  465. package/src/directors/PaymentPricingAdapter.ts +86 -0
  466. package/src/directors/PaymentPricingDirector.ts +94 -0
  467. package/src/directors/PaymentPricingSheet.ts +91 -0
  468. package/src/directors/ProductDiscountAdapter.ts +10 -0
  469. package/src/directors/ProductDiscountConfiguration.ts +18 -0
  470. package/src/directors/ProductDiscountDirector.ts +5 -0
  471. package/src/directors/ProductPricingAdapter.ts +56 -0
  472. package/src/directors/ProductPricingDirector.ts +100 -0
  473. package/src/directors/ProductPricingSheet.test.ts +129 -0
  474. package/src/directors/ProductPricingSheet.ts +127 -0
  475. package/src/directors/QuotationAdapter.ts +86 -0
  476. package/src/directors/QuotationDirector.ts +105 -0
  477. package/src/directors/WarehousingAdapter.ts +83 -0
  478. package/src/directors/WarehousingDirector.ts +235 -0
  479. package/src/directors/WorkerAdapter.ts +30 -0
  480. package/src/directors/WorkerDirector.ts +154 -0
  481. package/src/directors/index.ts +49 -0
  482. package/src/directors/periodForReferenceDate.test.ts +23 -0
  483. package/src/modules.ts +215 -0
  484. package/src/services/activateEnrollment.ts +30 -0
  485. package/src/services/calculateDiscountTotal.ts +71 -0
  486. package/src/services/checkoutOrder.ts +43 -0
  487. package/src/services/confirmOrder.ts +26 -0
  488. package/src/services/createDownloadStream.ts +16 -0
  489. package/src/services/createEnrollmentFromCheckout.ts +66 -0
  490. package/src/services/createManualOrderDiscount.ts +56 -0
  491. package/src/services/createSignedURL.ts +20 -0
  492. package/src/services/deleteUser.ts +33 -0
  493. package/src/services/discountedEntities.ts +81 -0
  494. package/src/services/ercMetadata.ts +33 -0
  495. package/src/services/fullfillQuotation.ts +14 -0
  496. package/src/services/index.ts +154 -0
  497. package/src/services/initCartProviders.ts +86 -0
  498. package/src/services/initializeEnrollment.ts +38 -0
  499. package/src/services/invalidateFilterCache.ts +16 -0
  500. package/src/services/linkFileService.ts +22 -0
  501. package/src/services/loadFilterOptions.ts +50 -0
  502. package/src/services/loadFilters.ts +52 -0
  503. package/src/services/migrateBookmarks.ts +39 -0
  504. package/src/services/migrateOrderCart.ts +52 -0
  505. package/src/services/migrateUserData.ts +22 -0
  506. package/src/services/nextUserCart.ts +52 -0
  507. package/src/services/processEnrollment.ts +37 -0
  508. package/src/services/processOrder.ts +241 -0
  509. package/src/services/processQuotation.ts +75 -0
  510. package/src/services/proposeQuotation.ts +18 -0
  511. package/src/services/registerPaymentCredentials.ts +30 -0
  512. package/src/services/rejectOrder.ts +26 -0
  513. package/src/services/rejectQuotation.ts +18 -0
  514. package/src/services/removeFiles.ts +25 -0
  515. package/src/services/removeProduct.ts +34 -0
  516. package/src/services/searchAssortments.ts +58 -0
  517. package/src/services/searchProducts.ts +73 -0
  518. package/src/services/supportedDeliveryProviders.ts +24 -0
  519. package/src/services/supportedPaymentProviders.ts +25 -0
  520. package/src/services/supportedWarehousingProviders.ts +18 -0
  521. package/src/services/terminateEnrollment.ts +29 -0
  522. package/src/services/updateCalculation.ts +143 -0
  523. package/src/services/updateScheduling.ts +64 -0
  524. package/src/services/updateUserAvatarAfterUpload.ts +30 -0
  525. package/src/services/uploadFileFromStream.ts +15 -0
  526. package/src/services/uploadFileFromURL.ts +29 -0
  527. package/src/services/validateOrder.ts +53 -0
  528. package/src/services/verifyQuotation.ts +18 -0
  529. package/tsconfig.json +5 -7
  530. package/src/types.ts +0 -7
@@ -0,0 +1,73 @@
1
+ import { log, LogLevel } from '@unchainedshop/logger';
2
+ import { add } from 'date-fns/add';
3
+ export const periodForReferenceDate = (referenceDate, intervalCount = 1, interval = 'WEEKS') => {
4
+ const lowerCaseInterval = interval.toLowerCase();
5
+ const start = new Date(referenceDate);
6
+ if (lowerCaseInterval === 'hours') {
7
+ start.setMinutes(0, 0, 0);
8
+ }
9
+ else {
10
+ start.setSeconds(0, 0);
11
+ }
12
+ return {
13
+ start,
14
+ end: add(start, {
15
+ [lowerCaseInterval]: intervalCount,
16
+ }),
17
+ };
18
+ };
19
+ export const EnrollmentAdapter = {
20
+ isActivatedFor: () => {
21
+ return false;
22
+ },
23
+ transformOrderItemToEnrollmentPlan: async (item) => {
24
+ return {
25
+ configuration: item.configuration,
26
+ productId: item.productId,
27
+ quantity: item.quantity,
28
+ };
29
+ },
30
+ actions: (context) => {
31
+ return {
32
+ configurationForOrder: async () => {
33
+ throw new Error(`Not implemented on EnrollmentAdapter`);
34
+ },
35
+ isOverdue: async () => false,
36
+ isValidForActivation: async () => false,
37
+ nextPeriod: async () => {
38
+ const { enrollment } = context;
39
+ const product = await context.modules.products.findProduct({
40
+ productId: enrollment.productId,
41
+ });
42
+ const plan = product?.plan;
43
+ const referenceDate = new Date();
44
+ if (!plan)
45
+ return null;
46
+ if (plan.trialIntervalCount && !enrollment?.periods?.length) {
47
+ return {
48
+ ...periodForReferenceDate(referenceDate, plan.trialIntervalCount, plan.trialInterval),
49
+ isTrial: true,
50
+ };
51
+ }
52
+ const lastEnd = enrollment?.periods?.reduce((acc, item) => {
53
+ if (!acc)
54
+ return item.end;
55
+ const endDate = new Date(item.end);
56
+ if (acc.getTime() < endDate.getTime()) {
57
+ return endDate;
58
+ }
59
+ return acc;
60
+ }, referenceDate);
61
+ return {
62
+ ...periodForReferenceDate(lastEnd, plan.billingIntervalCount, plan.billingInterval),
63
+ isTrial: false,
64
+ };
65
+ },
66
+ };
67
+ },
68
+ // eslint-disable-next-line
69
+ log(message, { level = LogLevel.Debug, ...options } = {}) {
70
+ return log(message, { level, ...options });
71
+ },
72
+ };
73
+ //# sourceMappingURL=EnrollmentAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnrollmentAdapter.js","sourceRoot":"","sources":["../../src/directors/EnrollmentAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { IBaseDirector } from '@unchainedshop/utils';
2
+ import { EnrollmentAdapterActions, EnrollmentContext, IEnrollmentAdapter } from './EnrollmentAdapter.js';
3
+ import type { OrderPosition } from '@unchainedshop/core-orders';
4
+ import type { Product } from '@unchainedshop/core-products';
5
+ import { Enrollment } from '@unchainedshop/core-enrollments';
6
+ export type IEnrollmentDirector = IBaseDirector<IEnrollmentAdapter> & {
7
+ transformOrderItemToEnrollment: (item: {
8
+ orderPosition: OrderPosition;
9
+ product: Product;
10
+ }, doc: Omit<Enrollment, 'configuration' | 'productId' | 'quantity' | 'status' | 'periods' | 'log'>, unchainedAPI: any) => Promise<Omit<Enrollment, 'status' | 'periods' | 'log'>>;
11
+ actions: (enrollmentContext: EnrollmentContext, unchainedAPI: any) => Promise<EnrollmentAdapterActions>;
12
+ };
13
+ export declare const EnrollmentDirector: IEnrollmentDirector;
14
+ //# sourceMappingURL=EnrollmentDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnrollmentDirector.d.ts","sourceRoot":"","sources":["../../src/directors/EnrollmentDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACzG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAe,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAK7D,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,kBAAkB,CAAC,GAAG;IACpE,8BAA8B,EAAE,CAC9B,IAAI,EAAE;QAAE,aAAa,EAAE,aAAa,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EACxD,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,EAChG,YAAY,KAAA,KACT,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;IAE7D,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACpG,CAAC;AAiBF,eAAO,MAAM,kBAAkB,EAAE,mBAmChC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { BaseDirector } from '@unchainedshop/utils';
2
+ import { createLogger } from '@unchainedshop/logger';
3
+ const logger = createLogger('unchained:core');
4
+ const baseDirector = BaseDirector('EnrollmentDirector', {
5
+ adapterSortKey: 'orderIndex',
6
+ });
7
+ const findAppropriateAdapters = (productPlan) => baseDirector.getAdapters({
8
+ adapterFilter: (Adapter) => {
9
+ const activated = Adapter.isActivatedFor(productPlan);
10
+ if (!activated) {
11
+ logger.warn(`Enrollment Director -> ${Adapter.key} (${Adapter.version}) skipped`);
12
+ }
13
+ return activated;
14
+ },
15
+ });
16
+ export const EnrollmentDirector = {
17
+ ...baseDirector,
18
+ transformOrderItemToEnrollment: async ({ orderPosition, product }, doc, unchainedAPI) => {
19
+ const Adapter = findAppropriateAdapters(product.plan)?.[0];
20
+ if (!Adapter) {
21
+ throw new Error('No suitable enrollment plugin available for this item');
22
+ }
23
+ const enrollmentPlan = await Adapter.transformOrderItemToEnrollmentPlan(orderPosition, unchainedAPI);
24
+ return {
25
+ ...doc,
26
+ ...enrollmentPlan,
27
+ configuration: [],
28
+ };
29
+ },
30
+ actions: async (enrollmentContext, unchainedAPI) => {
31
+ const context = { ...enrollmentContext, ...unchainedAPI };
32
+ // Resolve adapter
33
+ const product = await context.modules.products.findProduct({
34
+ productId: context.enrollment.productId,
35
+ });
36
+ const Adapter = findAppropriateAdapters(product?.plan)?.[0];
37
+ if (!Adapter) {
38
+ throw new Error('No suitable enrollment plugin available for this plan configuration');
39
+ }
40
+ const adapter = Adapter.actions(context);
41
+ return adapter;
42
+ },
43
+ };
44
+ //# sourceMappingURL=EnrollmentDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnrollmentDirector.js","sourceRoot":"","sources":["../../src/directors/EnrollmentDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAiB,MAAM,sBAAsB,CAAC;AAKnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAY9C,MAAM,YAAY,GAAG,YAAY,CAAqB,oBAAoB,EAAE;IAC1E,cAAc,EAAE,YAAY;CAC7B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,WAAyB,EAAE,EAAE,CAC5D,YAAY,CAAC,WAAW,CAAC;IACvB,aAAa,EAAE,CAAC,OAA2B,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,GAAG,YAAY;IAEf,8BAA8B,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE;QACtF,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,kCAAkC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAErG,OAAO;YACL,GAAG,GAAG;YACN,GAAG,cAAc;YACjB,aAAa,EAAE,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,EAAE;QACjD,MAAM,OAAO,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,YAAY,EAAE,CAAC;QAE1D,kBAAkB;QAClB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACzD,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,SAAS;SACxC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEzC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { Assortment } from '@unchainedshop/core-assortments';
2
+ import { mongodb } from '@unchainedshop/mongodb';
3
+ import { IBaseAdapter } from '@unchainedshop/utils';
4
+ import { Product } from '@unchainedshop/core-products';
5
+ import { Filter, SearchQuery } from '@unchainedshop/core-filters';
6
+ import { Modules } from '../modules.js';
7
+ export type FilterInputText = {
8
+ locale: string;
9
+ title: string;
10
+ subtitle?: string;
11
+ };
12
+ export declare enum FilterError {
13
+ NOT_IMPLEMENTED = "NOT_IMPLEMENTED"
14
+ }
15
+ export type FilterContext = {
16
+ filter?: Filter;
17
+ searchQuery: SearchQuery;
18
+ };
19
+ export interface FilterAdapterActions {
20
+ aggregateProductIds: (params: {
21
+ productIds: Array<string>;
22
+ }) => Array<string>;
23
+ searchAssortments: (params: {
24
+ assortmentIds: Array<string>;
25
+ }, options?: {
26
+ filterSelector: mongodb.Filter<Filter>;
27
+ assortmentSelector: mongodb.Filter<Assortment>;
28
+ sortStage: mongodb.FindOptions['sort'];
29
+ }) => Promise<Array<string>>;
30
+ searchProducts: (params: {
31
+ productIds: Array<string>;
32
+ }, options?: {
33
+ filterSelector: mongodb.Filter<Filter>;
34
+ productSelector: mongodb.Filter<Product>;
35
+ sortStage: mongodb.FindOptions['sort'];
36
+ }) => Promise<Array<string>>;
37
+ transformFilterSelector: (query: mongodb.Filter<Filter>, options?: any) => Promise<mongodb.Filter<Filter>>;
38
+ transformProductSelector: (query: mongodb.Filter<Product>, options?: {
39
+ key?: string;
40
+ value?: any;
41
+ }) => Promise<mongodb.Filter<Product>>;
42
+ transformSortStage: (sort: mongodb.FindOptions['sort'], options?: {
43
+ key: string;
44
+ value?: any;
45
+ }) => Promise<mongodb.FindOptions['sort']>;
46
+ }
47
+ export type IFilterAdapter = IBaseAdapter & {
48
+ orderIndex: number;
49
+ actions: (params: FilterContext & {
50
+ modules: Modules;
51
+ }) => FilterAdapterActions;
52
+ };
53
+ export declare const FilterAdapter: Omit<IFilterAdapter, 'key' | 'label' | 'version'>;
54
+ //# sourceMappingURL=FilterAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/FilterAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { log, LogLevel } from '@unchainedshop/logger';
2
+ export var FilterError;
3
+ (function (FilterError) {
4
+ FilterError["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
5
+ })(FilterError || (FilterError = {}));
6
+ export const FilterAdapter = {
7
+ orderIndex: 0,
8
+ actions: () => {
9
+ return {
10
+ // This function is called to check if a filter actually matches a certain productId
11
+ aggregateProductIds: ({ productIds }) => {
12
+ return productIds;
13
+ },
14
+ searchProducts: async ({ productIds }) => {
15
+ return productIds;
16
+ },
17
+ searchAssortments: async ({ assortmentIds }) => {
18
+ return assortmentIds;
19
+ },
20
+ transformSortStage: async (lastStage) => {
21
+ return lastStage;
22
+ },
23
+ // return a selector that is applied to Products.find to find relevant products
24
+ // if no key is provided, it expects either null for all products or a list of products that are relevant
25
+ transformProductSelector: async (lastSelector) => {
26
+ return lastSelector;
27
+ },
28
+ // return a selector that is applied to Filters.find to find relevant filters
29
+ transformFilterSelector: async (lastSelector) => {
30
+ return lastSelector;
31
+ },
32
+ };
33
+ },
34
+ log(message, { level = LogLevel.Debug, ...options } = {}) {
35
+ return log(message, { level, ...options });
36
+ },
37
+ };
38
+ //# sourceMappingURL=FilterAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterAdapter.js","sourceRoot":"","sources":["../../src/directors/FilterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAUtD,MAAM,CAAN,IAAY,WAEX;AAFD,WAAY,WAAW;IACrB,kDAAmC,CAAA;AACrC,CAAC,EAFW,WAAW,KAAX,WAAW,QAEtB;AAoDD,MAAM,CAAC,MAAM,aAAa,GAAsD;IAC9E,UAAU,EAAE,CAAC;IAEb,OAAO,EAAE,GAAG,EAAE;QACZ,OAAO;YACL,oFAAoF;YACpF,mBAAmB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;gBACtC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,cAAc,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBACvC,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,iBAAiB,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;gBAC7C,OAAO,aAAa,CAAC;YACvB,CAAC;YAED,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;gBACtC,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,+EAA+E;YAC/E,yGAAyG;YACzG,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC/C,OAAO,YAAY,CAAC;YACtB,CAAC;YAED,6EAA6E;YAC7E,uBAAuB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;gBAC9C,OAAO,YAAY,CAAC;YACtB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,GAAG,CAAC,OAAe,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { IBaseDirector } from '@unchainedshop/utils';
2
+ import { FilterAdapterActions, FilterContext, IFilterAdapter } from './FilterAdapter.js';
3
+ import { Filter, SearchConfiguration, SearchFilterQuery, SearchQuery } from '@unchainedshop/core-filters';
4
+ import { Modules } from '../modules.js';
5
+ export declare const parseQueryArray: (query: SearchFilterQuery) => Record<string, Array<string>>;
6
+ export type IFilterDirector = IBaseDirector<IFilterAdapter> & {
7
+ actions: (filterContext: FilterContext, unchainedAPI: any) => Promise<FilterAdapterActions>;
8
+ invalidateProductIdCache: (filter: Filter, unchainedAPI: any) => Promise<void>;
9
+ findProductIds: (filter: Filter, { value }: {
10
+ value?: boolean | string;
11
+ }, unchainedAPI: {
12
+ modules: Modules;
13
+ }) => Promise<Array<string>>;
14
+ buildProductIdMap: (filter: Filter, unchainedAPI: {
15
+ modules: Modules;
16
+ }) => Promise<[Array<string>, Record<string, Array<string>>]>;
17
+ filterProductIds: (filter: Filter, { values, forceLiveCollection }: {
18
+ values: Array<string>;
19
+ forceLiveCollection?: boolean;
20
+ }, unchainedAPI: {
21
+ modules: Modules;
22
+ }) => Promise<Array<string>>;
23
+ filterFacets: (filter: Filter, params: {
24
+ searchQuery: SearchQuery;
25
+ forceLiveCollection?: boolean;
26
+ allProductIds: Array<string>;
27
+ otherFilters: Array<Filter>;
28
+ }, unchainedAPI: {
29
+ modules: Modules;
30
+ }) => Promise<{
31
+ examinedProductIdSet: Set<string>;
32
+ filteredByOtherFiltersSet: Set<string>;
33
+ filteredByThisFilterSet: Set<string>;
34
+ }>;
35
+ productFacetedSearch: (productIds: Array<string>, searchConfiguration: SearchConfiguration, unchainedAPI: {
36
+ modules: Modules;
37
+ }) => Promise<Array<string>>;
38
+ };
39
+ export declare const FilterDirector: IFilterDirector;
40
+ //# sourceMappingURL=FilterDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterDirector.d.ts","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,MAAM,EAGN,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,eAAe,UAAW,iBAAiB,KAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAOpF,CAAC;AAEJ,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,cAAc,CAAC,GAAG;IAC5D,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvF,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,KAAA,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,cAAc,EAAE,CACd,MAAM,EAAE,MAAM,EACd,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,EACvC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,gBAAgB,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EACzF,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,YAAY,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE;QACN,WAAW,EAAE,WAAW,CAAC;QACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC7B,EACD,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC;QACX,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAClC,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,uBAAuB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC,CAAC;IAEH,oBAAoB,EAAE,CACpB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,KAC/B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;CAC7B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,eAiP5B,CAAC"}
@@ -0,0 +1,173 @@
1
+ import { BaseDirector, intersectSet } from '@unchainedshop/utils';
2
+ import { filtersSettings, FilterType, } from '@unchainedshop/core-filters';
3
+ export const parseQueryArray = (query) => (query || []).reduce((accumulator, { key, value }) => ({
4
+ ...accumulator,
5
+ [key]: accumulator[key] ? accumulator[key].concat(value) : [value],
6
+ }), {});
7
+ const baseDirector = BaseDirector('FilterDirector', {
8
+ adapterSortKey: 'orderIndex',
9
+ });
10
+ export const FilterDirector = {
11
+ ...baseDirector,
12
+ actions: async (filterContext, unchainedAPI) => {
13
+ const context = { ...filterContext, ...unchainedAPI };
14
+ const adapters = baseDirector.getAdapters().map((Adapter) => Adapter.actions(context));
15
+ const reduceAdapters = (reducer, initialValue) => {
16
+ if (adapters.length === 0) {
17
+ return null;
18
+ }
19
+ return adapters.reduce(async (lastSearchPromise, adapter, index) => {
20
+ return reducer(lastSearchPromise, adapter, index);
21
+ }, Promise.resolve(initialValue));
22
+ };
23
+ return {
24
+ aggregateProductIds: (params) => {
25
+ const reducedProductIds = adapters.reduce((productIds, adapter) => adapter.aggregateProductIds({ productIds }), params.productIds);
26
+ return reducedProductIds;
27
+ },
28
+ searchAssortments: async (params) => {
29
+ return reduceAdapters(async (lastSearchPromise, adapter) => {
30
+ const assortmentIds = await lastSearchPromise;
31
+ return adapter.searchAssortments({ assortmentIds });
32
+ }, params.assortmentIds);
33
+ },
34
+ searchProducts: async (params) => {
35
+ return reduceAdapters(async (lastSearchPromise, adapter) => {
36
+ const productIds = await lastSearchPromise;
37
+ return adapter.searchProducts({ productIds });
38
+ }, params.productIds);
39
+ },
40
+ transformProductSelector: async (defaultSelector, options) => {
41
+ return reduceAdapters(async (lastSelector, adapter) => {
42
+ return adapter.transformProductSelector(await lastSelector, options);
43
+ }, defaultSelector || null);
44
+ },
45
+ transformSortStage: async (defaultStage, options) => {
46
+ return reduceAdapters(async (lastSortStage, adapter) => {
47
+ return adapter.transformSortStage(await lastSortStage, options);
48
+ }, defaultStage || null);
49
+ },
50
+ transformFilterSelector: async (defaultSelector) => {
51
+ return reduceAdapters(async (lastSelector, adapter) => {
52
+ return adapter.transformFilterSelector(await lastSelector);
53
+ }, defaultSelector || null);
54
+ },
55
+ };
56
+ },
57
+ async findProductIds(filter, { value }, unchainedAPI) {
58
+ const { modules } = unchainedAPI;
59
+ const director = await FilterDirector.actions({ filter, searchQuery: {} }, unchainedAPI);
60
+ const productSelector = await director.transformProductSelector(modules.products.search.buildActiveDraftStatusFilter(), {
61
+ key: filter.key,
62
+ value,
63
+ });
64
+ if (!productSelector)
65
+ return [];
66
+ return modules.products.findProductIds({
67
+ productSelector,
68
+ includeDrafts: true,
69
+ });
70
+ },
71
+ async buildProductIdMap(filter, unchainedAPI) {
72
+ const allProductIds = await this.findProductIds(filter, {}, unchainedAPI);
73
+ const productIdsMap = filter.type === FilterType.SWITCH
74
+ ? {
75
+ true: await this.findProductIds(filter, { value: true }, unchainedAPI),
76
+ false: await this.findProductIds(filter, { value: false }, unchainedAPI),
77
+ }
78
+ : await (filter.options || []).reduce(async (accumulatorPromise, option) => {
79
+ const accumulator = await accumulatorPromise;
80
+ return {
81
+ ...accumulator,
82
+ [option]: await this.findProductIds(filter, { value: option }, unchainedAPI),
83
+ };
84
+ }, Promise.resolve({}));
85
+ return [allProductIds, productIdsMap];
86
+ },
87
+ async filterProductIds(filter, { values, forceLiveCollection }, unchainedAPI) {
88
+ const [allProductIds, keyToProductIdMap] = (!forceLiveCollection && (await filtersSettings.getCachedProductIds(filter._id))) ||
89
+ (await this.buildProductIdMap(filter, unchainedAPI));
90
+ const filteredKeys = unchainedAPI.modules.filters.parse(filter, values, Object.keys(keyToProductIdMap));
91
+ return filteredKeys.reduce((accumulator, key) => {
92
+ const additionalValues = key === undefined ? allProductIds : keyToProductIdMap[key];
93
+ return [...accumulator, ...(additionalValues || [])];
94
+ }, []);
95
+ },
96
+ async productFacetedSearch(productIds, searchConfiguration, unchainedAPI) {
97
+ const { searchQuery, filterSelector, forceLiveCollection } = searchConfiguration;
98
+ const { modules } = unchainedAPI;
99
+ if (!searchQuery || !searchQuery.filterQuery)
100
+ return productIds;
101
+ const parsedFilterQuery = parseQueryArray(searchQuery.filterQuery);
102
+ const filters = filterSelector
103
+ ? await modules.filters.findFilters({
104
+ ...filterSelector,
105
+ limit: 0,
106
+ includeInactive: true,
107
+ })
108
+ : [];
109
+ const intersectedProductIds = await filters.reduce(async (productIdSetPromise, filter) => {
110
+ const productIdSet = await productIdSetPromise;
111
+ if (!parsedFilterQuery[filter.key])
112
+ return productIdSet;
113
+ const values = parsedFilterQuery[filter.key];
114
+ const filterOptionProductIds = await this.filterProductIds(filter, {
115
+ values,
116
+ forceLiveCollection,
117
+ }, unchainedAPI);
118
+ return intersectSet(productIdSet, new Set(filterOptionProductIds));
119
+ }, Promise.resolve(new Set(productIds)));
120
+ return [...intersectedProductIds];
121
+ },
122
+ async filterFacets(filter, params, unchainedAPI) {
123
+ const { allProductIds, searchQuery, forceLiveCollection, otherFilters } = params;
124
+ const filterQueryParsed = parseQueryArray(searchQuery?.filterQuery);
125
+ // The examinedProductIdSet is a set of product id's that:
126
+ // - Fit this filter generally
127
+ // - Are part of the preselected product id array
128
+ const filteredProductIds = await this.filterProductIds(filter, {
129
+ values: [undefined],
130
+ forceLiveCollection,
131
+ }, unchainedAPI);
132
+ const examinedProductIdSet = intersectSet(new Set(allProductIds), new Set(filteredProductIds));
133
+ const values = filterQueryParsed[filter.key];
134
+ // The filteredProductIdSet is a set of product id's that:
135
+ // - Are filtered by all other filters
136
+ // - Are filtered by the currently selected value of this filter
137
+ // or if there is no currently selected value:
138
+ // - Is the same like examinedProductIdSet
139
+ const filteredByOtherFiltersSet = await otherFilters
140
+ .filter((otherFilter) => otherFilter.key !== filter.key)
141
+ .reduce(async (productIdSetPromise, otherFilter) => {
142
+ if (otherFilter.key === filter.key)
143
+ return productIdSetPromise;
144
+ if (!filterQueryParsed[otherFilter.key])
145
+ return productIdSetPromise;
146
+ const productIdSet = await productIdSetPromise;
147
+ const otherFilterProductIds = await this.filterProductIds(otherFilter, {
148
+ values: filterQueryParsed[otherFilter.key],
149
+ forceLiveCollection,
150
+ }, unchainedAPI);
151
+ return intersectSet(productIdSet, new Set(otherFilterProductIds));
152
+ }, Promise.resolve(new Set(examinedProductIdSet)));
153
+ const filterProductIdsForValues = values
154
+ ? await this.filterProductIds(filter, {
155
+ values,
156
+ forceLiveCollection,
157
+ }, unchainedAPI)
158
+ : filteredProductIds;
159
+ const filteredByThisFilterSet = new Set(filterProductIdsForValues);
160
+ return {
161
+ examinedProductIdSet,
162
+ filteredByOtherFiltersSet,
163
+ filteredByThisFilterSet,
164
+ };
165
+ },
166
+ async invalidateProductIdCache(filter, unchainedAPI) {
167
+ if (!filter)
168
+ return;
169
+ const [productIds, productIdMap] = await this.buildProductIdMap(filter, unchainedAPI);
170
+ await filtersSettings.setCachedProductIds(filter._id, productIds, productIdMap);
171
+ },
172
+ };
173
+ //# sourceMappingURL=FilterDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterDirector.js","sourceRoot":"","sources":["../../src/directors/FilterDirector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ export type EmailTemplateType = {
2
+ type: 'EMAIL';
3
+ input: {
4
+ from: string;
5
+ to: string;
6
+ cc?: string;
7
+ subject: string;
8
+ text: string;
9
+ html?: string;
10
+ attachments?: Array<{
11
+ filename: string;
12
+ path: string;
13
+ } | {
14
+ filename: string;
15
+ content: string;
16
+ contentType: string;
17
+ encoding: string;
18
+ } | {
19
+ href: string;
20
+ filename: string;
21
+ }>;
22
+ };
23
+ };
24
+ export type SMSTemplateType = {
25
+ type: 'SMS';
26
+ input: {
27
+ from: string;
28
+ to: string;
29
+ text: string;
30
+ };
31
+ };
32
+ export type ArbitraryTemplateType = {
33
+ type: string;
34
+ input: any;
35
+ };
36
+ export type TemplateResolver<T = {
37
+ [x: string]: any;
38
+ }> = (params: {
39
+ template: string;
40
+ } & T, unchainedAPI: any) => Promise<Array<EmailTemplateType | SMSTemplateType | ArbitraryTemplateType>>;
41
+ export type IMessagingDirector = {
42
+ registerTemplate: (templateName: string, templateResolver: TemplateResolver) => void;
43
+ getTemplate: (templateName: string) => TemplateResolver;
44
+ };
45
+ export declare const MessagingDirector: IMessagingDirector;
46
+ //# sourceMappingURL=MessagingDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagingDirector.d.ts","sourceRoot":"","sources":["../../src/directors/MessagingDirector.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,KAAK,CACf;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,GAClC;YACE,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;SAClB,GACD;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CACrC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,IAAI,CACvD,MAAM,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,EAChC,YAAY,KAAA,KACT,OAAO,CAAC,KAAK,CAAC,iBAAiB,GAAG,eAAe,GAAG,qBAAqB,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrF,WAAW,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,gBAAgB,CAAC;CACzD,CAAC;AAIF,eAAO,MAAM,iBAAiB,EAAE,kBAQ/B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { log } from '@unchainedshop/logger';
2
+ const TemplateResolvers = new Map();
3
+ export const MessagingDirector = {
4
+ registerTemplate: (templateName, templateResolver) => {
5
+ log(`MessagingDirector -> Registered template resolver for ${templateName}`);
6
+ TemplateResolvers.set(templateName, templateResolver);
7
+ },
8
+ getTemplate: (templateName) => TemplateResolvers.get(templateName),
9
+ };
10
+ //# sourceMappingURL=MessagingDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagingDirector.js","sourceRoot":"","sources":["../../src/directors/MessagingDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAgD5C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAuB;IACnD,gBAAgB,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE;QACnD,GAAG,CAAC,yDAAyD,YAAY,EAAE,CAAC,CAAC;QAE7E,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACxD,CAAC;IAED,WAAW,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC;CACnE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IDiscountAdapter, OrderDiscountConfiguration } from '../directors/index.js';
2
+ export declare const OrderDiscountAdapter: Omit<IDiscountAdapter<OrderDiscountConfiguration, any>, 'key' | 'label' | 'version'>;
3
+ //# sourceMappingURL=OrderDiscountAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountAdapter.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,oBAAoB,EAAE,IAAI,CACrC,gBAAgB,CAAC,0BAA0B,EAAE,GAAG,CAAC,EACjD,KAAK,GAAG,OAAO,GAAG,SAAS,CACN,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { BaseDiscountAdapter, } from '../directors/index.js';
2
+ export const OrderDiscountAdapter = BaseDiscountAdapter;
3
+ //# sourceMappingURL=OrderDiscountAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountAdapter.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,GAGpB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,CAAC,MAAM,oBAAoB,GAG7B,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface OrderDiscountConfiguration {
2
+ fixedRate?: number;
3
+ rate?: number;
4
+ isNetPrice?: boolean;
5
+ }
6
+ //# sourceMappingURL=OrderDiscountConfiguration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountConfiguration.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountConfiguration.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OrderDiscountConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountConfiguration.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountConfiguration.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { OrderDiscountConfiguration } from './OrderDiscountConfiguration.js';
2
+ export declare const OrderDiscountDirector: import("./BaseDiscountDirector.js").IDiscountDirector<OrderDiscountConfiguration, any>;
3
+ //# sourceMappingURL=OrderDiscountDirector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountDirector.d.ts","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,eAAO,MAAM,qBAAqB,wFAEjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { BaseDiscountDirector } from './BaseDiscountDirector.js';
2
+ export const OrderDiscountDirector = BaseDiscountDirector('OrderDiscountDirector');
3
+ //# sourceMappingURL=OrderDiscountDirector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderDiscountDirector.js","sourceRoot":"","sources":["../../src/directors/OrderDiscountDirector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CACvD,uBAAuB,CACxB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { IOrderPricingSheet, OrderPricingCalculation, IPricingAdapter, BasePricingAdapterContext } from '../directors/index.js';
2
+ import { Order, OrderDelivery, OrderDiscount, OrderPayment, OrderPosition } from '@unchainedshop/core-orders';
3
+ import { User } from '@unchainedshop/core-users';
4
+ import { Modules } from '../modules.js';
5
+ export interface OrderPricingAdapterContext extends BasePricingAdapterContext {
6
+ currency?: string;
7
+ discounts: Array<OrderDiscount>;
8
+ order: Order;
9
+ orderDelivery: OrderDelivery;
10
+ orderPositions: Array<OrderPosition>;
11
+ orderPayment: OrderPayment;
12
+ user: User;
13
+ }
14
+ export type IOrderPricingAdapter<DiscountConfiguration = unknown> = IPricingAdapter<OrderPricingAdapterContext & {
15
+ modules: Modules;
16
+ }, OrderPricingCalculation, IOrderPricingSheet, DiscountConfiguration>;
17
+ export declare const OrderPricingAdapter: IOrderPricingAdapter;
18
+ //# sourceMappingURL=OrderPricingAdapter.d.ts.map