@unchainedshop/core 3.0.0-alpha7 → 3.0.0-rc2

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,30 @@
1
+ import { Enrollment, EnrollmentStatus } from '@unchainedshop/core-enrollments';
2
+ import { Modules } from '../modules.js';
3
+ import { processEnrollmentService } from './processEnrollment.js';
4
+
5
+ export async function activateEnrollmentService(this: Modules, enrollment: Enrollment) {
6
+ if (enrollment.status === EnrollmentStatus.TERMINATED) return enrollment;
7
+
8
+ let updatedEnrollment = await this.enrollments.updateStatus(enrollment._id, {
9
+ status: EnrollmentStatus.ACTIVE,
10
+ info: 'activated manually',
11
+ });
12
+
13
+ updatedEnrollment = await processEnrollmentService.bind(this)(updatedEnrollment);
14
+
15
+ const user = await this.users.findUserById(enrollment.userId);
16
+ const locale = this.users.userLocale(user);
17
+
18
+ await this.worker.addWork({
19
+ type: 'MESSAGE',
20
+ retries: 0,
21
+ input: {
22
+ reason: 'status_change',
23
+ locale,
24
+ template: 'ENROLLMENT_STATUS',
25
+ enrollmentId: updatedEnrollment._id,
26
+ },
27
+ });
28
+
29
+ return updatedEnrollment;
30
+ }
@@ -0,0 +1,71 @@
1
+ import { Order, OrderDiscount } from '@unchainedshop/core-orders';
2
+ import { Modules } from '../modules.js';
3
+ import {
4
+ OrderPricingRowCategory,
5
+ OrderPricingSheet,
6
+ DeliveryPricingRowCategory,
7
+ DeliveryPricingSheet,
8
+ ProductPricingRowCategory,
9
+ ProductPricingSheet,
10
+ PaymentPricingRowCategory,
11
+ PaymentPricingSheet,
12
+ } from '../directors/index.js';
13
+
14
+ export async function calculateDiscountTotalService(
15
+ this: Modules,
16
+ order: Order,
17
+ orderDiscount: OrderDiscount,
18
+ ) {
19
+ const orderDiscountId = orderDiscount._id;
20
+
21
+ // Delivery discounts
22
+ const orderDelivery = await this.orders.deliveries.findDelivery({
23
+ orderDeliveryId: order.deliveryId,
24
+ });
25
+ const orderDeliveryDiscountSum = DeliveryPricingSheet({
26
+ calculation: orderDelivery.calculation || [],
27
+ currency: order.currency,
28
+ }).total({ category: DeliveryPricingRowCategory.Discount, discountId: orderDiscountId });
29
+
30
+ // Payment discounts
31
+ const orderPayment = await this.orders.payments.findOrderPayment({
32
+ orderPaymentId: order.paymentId,
33
+ });
34
+ const orderPaymentDiscountSum = PaymentPricingSheet({
35
+ calculation: orderPayment.calculation || [],
36
+ currency: order.currency,
37
+ }).total({ category: PaymentPricingRowCategory.Discount, discountId: orderDiscountId });
38
+
39
+ // Position discounts
40
+ const orderPositions = await this.orders.positions.findOrderPositions({
41
+ orderId: order._id,
42
+ });
43
+ const orderPositionDiscounts = orderPositions.map((orderPosition) =>
44
+ ProductPricingSheet({
45
+ calculation: orderPosition.calculation || [],
46
+ currency: order.currency,
47
+ quantity: orderPosition.quantity,
48
+ }).total({
49
+ category: ProductPricingRowCategory.Discount,
50
+ discountId: orderDiscountId,
51
+ }),
52
+ );
53
+
54
+ // order discounts
55
+ const orderDiscountSum = OrderPricingSheet({
56
+ calculation: order.calculation,
57
+ currency: order.currency,
58
+ }).total({ category: OrderPricingRowCategory.Discounts, discountId: orderDiscountId });
59
+
60
+ const prices = [
61
+ orderDeliveryDiscountSum.amount,
62
+ orderPaymentDiscountSum.amount,
63
+ ...orderPositionDiscounts.map((positionDiscount) => positionDiscount.amount),
64
+ orderDiscountSum.amount,
65
+ ];
66
+ const amount = prices.reduce((oldValue, price) => oldValue + (price || 0), 0);
67
+ return {
68
+ amount,
69
+ currency: order.currency,
70
+ };
71
+ }
@@ -0,0 +1,43 @@
1
+ import { OrderStatus } from '@unchainedshop/core-orders';
2
+ import { Modules } from '../modules.js';
3
+ import { nextUserCartService } from './nextUserCart.js';
4
+ import { validateOrderService } from './validateOrder.js';
5
+ import { processOrderService } from './processOrder.js';
6
+
7
+ export async function checkoutOrderService(
8
+ this: Modules,
9
+ orderId: string,
10
+ transactionContext: {
11
+ paymentContext?: any;
12
+ deliveryContext?: any;
13
+ comment?: string;
14
+ nextStatus?: OrderStatus;
15
+ },
16
+ ) {
17
+ const order = await this.orders.findOrder({ orderId });
18
+ if (order.status !== null) return order;
19
+
20
+ await validateOrderService.bind(this)(order);
21
+
22
+ const lock = await this.orders.acquireLock(order._id, 'checkout');
23
+
24
+ try {
25
+ const processedOrder = await processOrderService.bind(this)(order, transactionContext);
26
+
27
+ // After checkout, store last checkout information on user
28
+ await this.users.updateLastBillingAddress(processedOrder.userId, processedOrder.billingAddress);
29
+ await this.users.updateLastContact(processedOrder.userId, processedOrder.contact);
30
+
31
+ // Then eventually build next cart
32
+ const user = await this.users.findUserById(processedOrder.userId);
33
+ const locale = this.users.userLocale(user);
34
+ await nextUserCartService.bind(this)({
35
+ user,
36
+ countryCode: locale.region,
37
+ });
38
+
39
+ return processedOrder;
40
+ } finally {
41
+ await lock.release();
42
+ }
43
+ }
@@ -0,0 +1,26 @@
1
+ import { Order, OrderStatus } from '@unchainedshop/core-orders';
2
+ import { Modules } from '../modules.js';
3
+ import { processOrderService } from './processOrder.js';
4
+
5
+ export async function confirmOrderService(
6
+ this: Modules,
7
+ order: Order,
8
+ transactionContext: {
9
+ paymentContext?: any;
10
+ deliveryContext?: any;
11
+ comment?: string;
12
+ nextStatus?: OrderStatus;
13
+ },
14
+ ) {
15
+ if (order.status !== OrderStatus.PENDING) return order;
16
+
17
+ const lock = await this.orders.acquireLock(order._id, 'confirm-reject', 1500);
18
+ try {
19
+ return await processOrderService.bind(this)(order, {
20
+ ...transactionContext,
21
+ nextStatus: OrderStatus.CONFIRMED,
22
+ });
23
+ } finally {
24
+ await lock.release();
25
+ }
26
+ }
@@ -0,0 +1,16 @@
1
+ import { getFileAdapter } from '@unchainedshop/core-files';
2
+ import { Modules } from '../modules.js';
3
+
4
+ export async function createDownloadStreamService(
5
+ this: Modules,
6
+ {
7
+ fileId,
8
+ }: {
9
+ fileId: string;
10
+ },
11
+ ) {
12
+ const fileAdapter = getFileAdapter();
13
+ const file = await this.files.findFile({ fileId });
14
+ const stream = fileAdapter.createDownloadStream(file, { modules: this });
15
+ return stream;
16
+ }
@@ -0,0 +1,66 @@
1
+ import { Order, OrderPosition } from '@unchainedshop/core-orders';
2
+ import { Product } from '@unchainedshop/core-products';
3
+ import { Enrollment } from '@unchainedshop/core-enrollments';
4
+ import { Modules } from '../modules.js';
5
+ import { EnrollmentDirector } from '../directors/index.js';
6
+ import { initializeEnrollmentService } from './initializeEnrollment.js';
7
+
8
+ export async function createEnrollmentFromCheckoutService(
9
+ this: Modules,
10
+ order: Order,
11
+ {
12
+ items,
13
+ context,
14
+ }: {
15
+ items: Array<{
16
+ orderPosition: OrderPosition;
17
+ product: Product;
18
+ }>;
19
+ context: {
20
+ paymentContext?: any;
21
+ deliveryContext?: any;
22
+ };
23
+ },
24
+ ): Promise<Array<Enrollment>> {
25
+ const orderId = order._id;
26
+
27
+ const payment = await this.orders.payments.findOrderPayment({
28
+ orderPaymentId: order.paymentId,
29
+ });
30
+ const delivery = await this.orders.deliveries.findDelivery({
31
+ orderDeliveryId: order.deliveryId,
32
+ });
33
+
34
+ const template = {
35
+ billingAddress: order.billingAddress,
36
+ contact: order.contact,
37
+ countryCode: order.countryCode,
38
+ currencyCode: order.currency,
39
+ delivery: {
40
+ deliveryProviderId: delivery.deliveryProviderId,
41
+ context: delivery.context,
42
+ },
43
+ orderIdForFirstPeriod: orderId,
44
+ payment: {
45
+ paymentProviderId: payment.paymentProviderId,
46
+ context: payment.context,
47
+ },
48
+ userId: order.userId,
49
+ meta: order.context,
50
+ ...context,
51
+ };
52
+
53
+ return Promise.all(
54
+ items.map(async (item) => {
55
+ const enrollmentData = await EnrollmentDirector.transformOrderItemToEnrollment(item, template, {
56
+ modules: this,
57
+ });
58
+
59
+ const enrollment = await this.enrollments.create(enrollmentData);
60
+ return await initializeEnrollmentService.bind(this)(enrollment, {
61
+ orderIdForFirstPeriod: enrollment.orderIdForFirstPeriod,
62
+ reason: 'new_enrollment',
63
+ });
64
+ }),
65
+ );
66
+ }
@@ -0,0 +1,56 @@
1
+ import { Order, OrderDiscount } from '@unchainedshop/core-orders';
2
+ import { OrderDiscountDirector } from '../directors/OrderDiscountDirector.js';
3
+ import { Modules } from '../modules.js';
4
+
5
+ export async function createManualOrderDiscountService(
6
+ this: Modules,
7
+ { order, code }: { code: string; order: Order },
8
+ ): Promise<OrderDiscount> {
9
+ // Use an already existing discount if available!
10
+ const spareDiscount = await this.orders.discounts.findSpareDiscount({ code });
11
+ if (spareDiscount) {
12
+ const Adapter = OrderDiscountDirector.getAdapter(spareDiscount.discountKey);
13
+ if (!Adapter) return null;
14
+
15
+ const actions = await Adapter.actions({
16
+ context: { order, orderDiscount: spareDiscount, code, modules: this },
17
+ });
18
+ const reservation = await actions.reserve({
19
+ code,
20
+ });
21
+
22
+ return this.orders.discounts.update(spareDiscount._id, { orderId: order._id, reservation });
23
+ }
24
+
25
+ const director = await OrderDiscountDirector.actions({ order, code }, { modules: this });
26
+ const Adapter = await director.resolveDiscountAdapterFromStaticCode({
27
+ code,
28
+ });
29
+
30
+ if (!Adapter) return null;
31
+
32
+ const newDiscount = await this.orders.discounts.create({
33
+ orderId: order._id,
34
+ code,
35
+ discountKey: Adapter.key,
36
+ });
37
+
38
+ const adapter = await Adapter.actions({
39
+ context: { order, orderDiscount: newDiscount, code: newDiscount.code, modules: this },
40
+ });
41
+
42
+ try {
43
+ const reservation = await adapter.reserve({
44
+ code: newDiscount.code,
45
+ });
46
+ const reservedDiscount = this.orders.discounts.update(newDiscount._id, {
47
+ orderId: newDiscount.orderId,
48
+ reservation,
49
+ });
50
+ return reservedDiscount;
51
+ } catch (error) {
52
+ await adapter.release();
53
+ await this.orders.discounts.delete(newDiscount._id);
54
+ throw error;
55
+ }
56
+ }
@@ -0,0 +1,20 @@
1
+ import { getFileFromFileData, getFileAdapter, SignedFileUpload } from '@unchainedshop/core-files';
2
+ import { Modules } from '../modules.js';
3
+
4
+ export async function createSignedURLService(
5
+ this: Modules,
6
+ { directoryName, fileName, meta }: { directoryName: string; fileName: string; meta?: any },
7
+ ) {
8
+ const fileUploadAdapter = getFileAdapter();
9
+ const preparedFileData = await fileUploadAdapter.createSignedURL(directoryName, fileName, {
10
+ modules: this,
11
+ });
12
+ const fileData = getFileFromFileData(preparedFileData, meta);
13
+ const fileId = await this.files.create(fileData);
14
+ const file = await this.files.findFile({ fileId });
15
+
16
+ return {
17
+ ...file,
18
+ putURL: preparedFileData.putURL as string,
19
+ } as SignedFileUpload;
20
+ }
@@ -0,0 +1,33 @@
1
+ import { Modules } from '../modules.js';
2
+
3
+ export async function deleteUserService(this: Modules, { userId }: { userId: string }) {
4
+ const user = await this.users.markDeleted(userId);
5
+
6
+ if (!user) return null;
7
+
8
+ await this.bookmarks.deleteByUserId(userId);
9
+ await this.quotations.deleteRequestedUserQuotations(userId);
10
+ await this.enrollments.deleteInactiveUserEnrollments(userId);
11
+
12
+ const carts = await this.orders.findOrders({ userId, status: null });
13
+
14
+ for (const userCart of carts) {
15
+ await this.orders.positions.deleteOrderPositions(userCart?._id);
16
+ await this.orders.payments.deleteOrderPayments(userCart?._id);
17
+ await this.orders.deliveries.deleteOrderDeliveries(userCart?._id);
18
+ await this.orders.discounts.deleteOrderDiscounts(userCart?._id);
19
+ await this.orders.delete(userCart?._id);
20
+ }
21
+
22
+ const ordersCount = await this.orders.count({ userId, includeCarts: true });
23
+ const quotationsCount = await this.quotations.count({ userId });
24
+ const reviewsCount = await this.products.reviews.count({ authorId: userId });
25
+ const enrollmentsCount = await this.enrollments.count({ userId });
26
+ const tokens = await this.warehousing.findTokensForUser({ userId });
27
+
28
+ if (!ordersCount && !reviewsCount && !enrollmentsCount && !quotationsCount && !tokens?.length) {
29
+ await this.users.deletePermanently({ userId });
30
+ }
31
+
32
+ return user;
33
+ }
@@ -0,0 +1,81 @@
1
+ import { Order, OrderDiscount } from '@unchainedshop/core-orders';
2
+ import {
3
+ DeliveryPricingSheet,
4
+ OrderPricingDiscount,
5
+ OrderPricingSheet,
6
+ PaymentPricingSheet,
7
+ ProductPricingSheet,
8
+ } from '../directors/index.js';
9
+ import { Modules } from '../modules.js';
10
+
11
+ export async function discountedEntitiesService(
12
+ this: Modules,
13
+ order: Order,
14
+ orderDiscount: OrderDiscount,
15
+ ): Promise<Array<OrderPricingDiscount>> {
16
+ // Delivery discounts
17
+ const orderDelivery = await this.orders.deliveries.findDelivery({
18
+ orderDeliveryId: order.deliveryId,
19
+ });
20
+
21
+ const deliveryPricingSheet = DeliveryPricingSheet({
22
+ calculation: orderDelivery.calculation || [],
23
+ currency: order.currency,
24
+ });
25
+ const orderDeliveryDiscounts = deliveryPricingSheet
26
+ .discountPrices(orderDiscount._id)
27
+ .map((discount) => ({
28
+ delivery: orderDelivery,
29
+ ...discount,
30
+ }));
31
+
32
+ // Payment discounts
33
+ const orderPayment = await this.orders.payments.findOrderPayment({
34
+ orderPaymentId: order.paymentId,
35
+ });
36
+ const paymentPricingSheet = PaymentPricingSheet({
37
+ calculation: orderPayment.calculation || [],
38
+ currency: order.currency,
39
+ });
40
+ const orderPaymentDiscounts = paymentPricingSheet
41
+ .discountPrices(orderDiscount._id)
42
+ .map((discount) => ({
43
+ payment: orderPayment,
44
+ ...discount,
45
+ }));
46
+
47
+ // Position discounts
48
+ const orderPositions = await this.orders.positions.findOrderPositions({
49
+ orderId: order._id,
50
+ });
51
+ const orderPositionDiscounts = orderPositions.flatMap((orderPosition) =>
52
+ ProductPricingSheet({
53
+ calculation: orderPosition.calculation,
54
+ currency: order.currency,
55
+ quantity: orderPosition.quantity,
56
+ })
57
+ .discountPrices(orderDiscount._id)
58
+ .map((discount) => ({
59
+ item: orderPosition,
60
+ ...discount,
61
+ })),
62
+ );
63
+
64
+ // order discounts
65
+ const orderDiscounts = OrderPricingSheet({
66
+ calculation: order.calculation || [],
67
+ currency: order.currency,
68
+ })
69
+ .discountPrices(orderDiscount._id)
70
+ .map((discount) => ({ order, ...discount }));
71
+
72
+ // All discounts
73
+ const discounted = [
74
+ ...orderPaymentDiscounts,
75
+ ...orderDeliveryDiscounts,
76
+ ...orderPositionDiscounts,
77
+ ...orderDiscounts,
78
+ ].filter(Boolean);
79
+
80
+ return discounted;
81
+ }
@@ -0,0 +1,33 @@
1
+ import { WarehousingProviderType } from '@unchainedshop/core-warehousing';
2
+ import { WarehousingDirector } from '../directors/WarehousingDirector.js';
3
+ import { Modules } from '../modules.js';
4
+
5
+ export async function ercMetadataService(
6
+ this: Modules,
7
+ { productId, chainTokenId, locale }: { productId: string; chainTokenId: string; locale: Intl.Locale },
8
+ ) {
9
+ const product = await this.products.findProduct({
10
+ productId,
11
+ });
12
+
13
+ const [token] = await this.warehousing.findTokens({
14
+ chainTokenId,
15
+ contractAddress: product?.tokenization?.contractAddress,
16
+ });
17
+
18
+ const virtualProviders = await this.warehousing.findProviders({
19
+ type: WarehousingProviderType.VIRTUAL,
20
+ });
21
+
22
+ return await WarehousingDirector.tokenMetadata(
23
+ virtualProviders,
24
+ {
25
+ product,
26
+ token,
27
+ locale,
28
+ quantity: token?.quantity || 1,
29
+ referenceDate: new Date(),
30
+ },
31
+ { modules: this },
32
+ );
33
+ }
@@ -0,0 +1,14 @@
1
+ import { Quotation, QuotationStatus } from '@unchainedshop/core-quotations';
2
+ import { Modules } from '../modules.js';
3
+ import { processQuotationService } from './processQuotation.js';
4
+
5
+ export async function fullfillQuotationService(this: Modules, quotation: Quotation, info) {
6
+ if (quotation.status === QuotationStatus.FULLFILLED) return quotation;
7
+
8
+ const updatedQuotation = await this.quotations.updateStatus(quotation._id, {
9
+ status: QuotationStatus.FULLFILLED,
10
+ info: JSON.stringify(info),
11
+ });
12
+
13
+ return processQuotationService.bind(this)(updatedQuotation, {});
14
+ }
@@ -0,0 +1,154 @@
1
+ import { migrateUserDataService } from './migrateUserData.js';
2
+ import { updateUserAvatarAfterUploadService } from './updateUserAvatarAfterUpload.js';
3
+ import { linkFileService } from './linkFileService.js';
4
+ import { createSignedURLService } from './createSignedURL.js';
5
+ import { uploadFileFromURLService } from './uploadFileFromURL.js';
6
+ import { uploadFileFromStreamService } from './uploadFileFromStream.js';
7
+ import { removeFilesService } from './removeFiles.js';
8
+ import { createDownloadStreamService } from './createDownloadStream.js';
9
+ import { migrateBookmarksService } from './migrateBookmarks.js';
10
+ import { migrateOrderCartsService } from './migrateOrderCart.js';
11
+ import { nextUserCartService } from './nextUserCart.js';
12
+ import { removeProductService } from './removeProduct.js';
13
+ import { initCartProvidersService } from './initCartProviders.js';
14
+ import { updateCalculationService } from './updateCalculation.js';
15
+ import { supportedDeliveryProvidersService } from './supportedDeliveryProviders.js';
16
+ import { deleteUserService } from './deleteUser.js';
17
+ import { supportedPaymentProvidersService } from './supportedPaymentProviders.js';
18
+ import { supportedWarehousingProvidersService } from './supportedWarehousingProviders.js';
19
+ import { createEnrollmentFromCheckoutService } from './createEnrollmentFromCheckout.js';
20
+ import { searchAssortmentsService } from './searchAssortments.js';
21
+ import { searchProductsService } from './searchProducts.js';
22
+ import { calculateDiscountTotalService } from './calculateDiscountTotal.js';
23
+ import { registerPaymentCredentialsService } from './registerPaymentCredentials.js';
24
+ import { processOrderService } from './processOrder.js';
25
+ import { checkoutOrderService } from './checkoutOrder.js';
26
+ import { confirmOrderService } from './confirmOrder.js';
27
+ import { rejectOrderService } from './rejectOrder.js';
28
+ import { discountedEntitiesService } from './discountedEntities.js';
29
+ import { createManualOrderDiscountService } from './createManualOrderDiscount.js';
30
+ import { initializeEnrollmentService } from './initializeEnrollment.js';
31
+ import { activateEnrollmentService } from './activateEnrollment.js';
32
+ import { terminateEnrollmentService } from './terminateEnrollment.js';
33
+ import { invalidateFilterCacheService } from './invalidateFilterCache.js';
34
+ import { fullfillQuotationService } from './fullfillQuotation.js';
35
+ import { processQuotationService } from './processQuotation.js';
36
+ import { proposeQuotationService } from './proposeQuotation.js';
37
+ import { rejectQuotationService } from './rejectQuotation.js';
38
+ import { verifyQuotationService } from './verifyQuotation.js';
39
+ import { loadFiltersService } from './loadFilters.js';
40
+ import { loadFilterOptionsService } from './loadFilterOptions.js';
41
+ import { ercMetadataService } from './ercMetadata.js';
42
+ import { Modules } from '../modules.js';
43
+
44
+ // TODO: Auto-Inject Unchained API as last parameter
45
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
46
+
47
+ function bindMethodsToModules(modules: Modules) {
48
+ return {
49
+ get(target, prop, receiver) {
50
+ const value = target[prop];
51
+ if (value instanceof Function) {
52
+ return value.bind(modules);
53
+ } else if (value instanceof Object) {
54
+ return new Proxy(value, bindMethodsToModules(modules));
55
+ }
56
+ return Reflect.get(target, prop, receiver);
57
+ },
58
+ };
59
+ }
60
+
61
+ export interface ServiceInterface {
62
+ (this: Modules, ...args: any[]): any;
63
+ }
64
+
65
+ export type Bound<T extends ServiceInterface> = OmitThisParameter<T>;
66
+
67
+ export default function initServices(
68
+ modules: Modules,
69
+ customServices: Record<string, ServiceInterface> = {},
70
+ ) {
71
+ const services = {
72
+ bookmarks: {
73
+ migrateBookmarks: migrateBookmarksService as Bound<typeof migrateBookmarksService>,
74
+ },
75
+ files: {
76
+ linkFile: linkFileService as Bound<typeof linkFileService>,
77
+ createSignedURL: createSignedURLService as Bound<typeof createSignedURLService>,
78
+ uploadFileFromURL: uploadFileFromURLService as Bound<typeof uploadFileFromURLService>,
79
+ uploadFileFromStream: uploadFileFromStreamService as Bound<typeof uploadFileFromStreamService>,
80
+ removeFiles: removeFilesService as Bound<typeof removeFilesService>,
81
+ createDownloadStream: createDownloadStreamService as Bound<typeof createDownloadStreamService>,
82
+ },
83
+ orders: {
84
+ registerPaymentCredentials: registerPaymentCredentialsService as Bound<
85
+ typeof registerPaymentCredentialsService
86
+ >,
87
+ calculateDiscountTotal: calculateDiscountTotalService as Bound<
88
+ typeof calculateDiscountTotalService
89
+ >,
90
+ migrateOrderCarts: migrateOrderCartsService as Bound<typeof migrateOrderCartsService>,
91
+ nextUserCart: nextUserCartService as Bound<typeof nextUserCartService>,
92
+ initCartProviders: initCartProvidersService as Bound<typeof initCartProvidersService>,
93
+ updateCalculation: updateCalculationService as Bound<typeof updateCalculationService>,
94
+ supportedDeliveryProviders: supportedDeliveryProvidersService as Bound<
95
+ typeof supportedDeliveryProvidersService
96
+ >,
97
+ supportedPaymentProviders: supportedPaymentProvidersService as Bound<
98
+ typeof supportedPaymentProvidersService
99
+ >,
100
+ supportedWarehousingProviders: supportedWarehousingProvidersService as Bound<
101
+ typeof supportedWarehousingProvidersService
102
+ >,
103
+ processOrder: processOrderService as Bound<typeof processOrderService>,
104
+ checkoutOrder: checkoutOrderService as Bound<typeof checkoutOrderService>,
105
+ confirmOrder: confirmOrderService as Bound<typeof confirmOrderService>,
106
+ rejectOrder: rejectOrderService as Bound<typeof rejectOrderService>,
107
+ discountedEntities: discountedEntitiesService as Bound<typeof discountedEntitiesService>,
108
+ createManualOrderDiscount: createManualOrderDiscountService as Bound<
109
+ typeof createManualOrderDiscountService
110
+ >,
111
+ },
112
+ products: {
113
+ removeProduct: removeProductService as Bound<typeof removeProductService>,
114
+ },
115
+ users: {
116
+ migrateUserData: migrateUserDataService as Bound<typeof migrateUserDataService>,
117
+ updateUserAvatarAfterUpload: updateUserAvatarAfterUploadService as Bound<
118
+ typeof updateUserAvatarAfterUploadService
119
+ >,
120
+ deleteUser: deleteUserService as Bound<typeof deleteUserService>,
121
+ },
122
+ enrollments: {
123
+ createEnrollmentFromCheckout: createEnrollmentFromCheckoutService as Bound<
124
+ typeof createEnrollmentFromCheckoutService
125
+ >,
126
+ processEnrollment: processOrderService as Bound<typeof processOrderService>,
127
+ initializeEnrollment: initializeEnrollmentService as Bound<typeof initializeEnrollmentService>,
128
+ activateEnrollment: activateEnrollmentService as Bound<typeof activateEnrollmentService>,
129
+ terminateEnrollment: terminateEnrollmentService as Bound<typeof terminateEnrollmentService>,
130
+ },
131
+ quotations: {
132
+ fullfillQuotation: fullfillQuotationService as Bound<typeof fullfillQuotationService>,
133
+ processQuotation: processQuotationService as Bound<typeof processQuotationService>,
134
+ proposeQuotation: proposeQuotationService as Bound<typeof proposeQuotationService>,
135
+ rejectQuotation: rejectQuotationService as Bound<typeof rejectQuotationService>,
136
+ verifyQuotation: verifyQuotationService as Bound<typeof verifyQuotationService>,
137
+ },
138
+ filters: {
139
+ searchAssortments: searchAssortmentsService as Bound<typeof searchAssortmentsService>,
140
+ searchProducts: searchProductsService as Bound<typeof searchProductsService>,
141
+ invalidateFilterCache: invalidateFilterCacheService as Bound<typeof invalidateFilterCacheService>,
142
+ loadFilters: loadFiltersService as Bound<typeof loadFiltersService>,
143
+ loadFilterOptions: loadFilterOptionsService as Bound<typeof loadFilterOptionsService>,
144
+ },
145
+ warehousing: {
146
+ ercMetadata: ercMetadataService as Bound<typeof ercMetadataService>,
147
+ },
148
+ };
149
+
150
+ // This Proxy Binds all services to the Modules Object
151
+ return new Proxy<typeof services>({ ...services, ...customServices }, bindMethodsToModules(modules));
152
+ }
153
+
154
+ export type Services = ReturnType<typeof initServices>;