@unchainedshop/core 3.0.0-alpha7 → 3.0.0-rc.12

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 (462) 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/directors/BaseDiscountAdapter.d.ts +36 -0
  6. package/lib/directors/BaseDiscountAdapter.d.ts.map +1 -0
  7. package/lib/directors/BaseDiscountAdapter.js +48 -0
  8. package/lib/directors/BaseDiscountAdapter.js.map +1 -0
  9. package/lib/directors/BaseDiscountDirector.d.ts +15 -0
  10. package/lib/directors/BaseDiscountDirector.d.ts.map +1 -0
  11. package/lib/directors/BaseDiscountDirector.js +45 -0
  12. package/lib/directors/BaseDiscountDirector.js.map +1 -0
  13. package/lib/directors/BasePricingAdapter.d.ts +34 -0
  14. package/lib/directors/BasePricingAdapter.d.ts.map +1 -0
  15. package/lib/directors/BasePricingAdapter.js +25 -0
  16. package/lib/directors/BasePricingAdapter.js.map +1 -0
  17. package/lib/directors/BasePricingDirector.d.ts +17 -0
  18. package/lib/directors/BasePricingDirector.d.ts.map +1 -0
  19. package/lib/directors/BasePricingDirector.js +70 -0
  20. package/lib/directors/BasePricingDirector.js.map +1 -0
  21. package/lib/directors/BasePricingSheet.d.ts +46 -0
  22. package/lib/directors/BasePricingSheet.d.ts.map +1 -0
  23. package/lib/directors/BasePricingSheet.js +74 -0
  24. package/lib/directors/BasePricingSheet.js.map +1 -0
  25. package/lib/directors/DeliveryAdapter.d.ts +46 -0
  26. package/lib/directors/DeliveryAdapter.d.ts.map +1 -0
  27. package/lib/directors/DeliveryAdapter.js +50 -0
  28. package/lib/directors/DeliveryAdapter.js.map +1 -0
  29. package/lib/directors/DeliveryDirector.d.ts +15 -0
  30. package/lib/directors/DeliveryDirector.d.ts.map +1 -0
  31. package/lib/directors/DeliveryDirector.js +96 -0
  32. package/lib/directors/DeliveryDirector.js.map +1 -0
  33. package/lib/directors/DeliveryPricingAdapter.d.ts +49 -0
  34. package/lib/directors/DeliveryPricingAdapter.d.ts.map +1 -0
  35. package/lib/directors/DeliveryPricingAdapter.js +25 -0
  36. package/lib/directors/DeliveryPricingAdapter.js.map +1 -0
  37. package/lib/directors/DeliveryPricingDirector.d.ts +20 -0
  38. package/lib/directors/DeliveryPricingDirector.d.ts.map +1 -0
  39. package/lib/directors/DeliveryPricingDirector.js +50 -0
  40. package/lib/directors/DeliveryPricingDirector.js.map +1 -0
  41. package/lib/directors/DeliveryPricingSheet.d.ts +10 -0
  42. package/lib/directors/DeliveryPricingSheet.d.ts.map +1 -0
  43. package/lib/directors/DeliveryPricingSheet.js +75 -0
  44. package/lib/directors/DeliveryPricingSheet.js.map +1 -0
  45. package/lib/directors/EnrollmentAdapter.d.ts +27 -0
  46. package/lib/directors/EnrollmentAdapter.d.ts.map +1 -0
  47. package/lib/directors/EnrollmentAdapter.js +73 -0
  48. package/lib/directors/EnrollmentAdapter.js.map +1 -0
  49. package/lib/directors/EnrollmentDirector.d.ts +14 -0
  50. package/lib/directors/EnrollmentDirector.d.ts.map +1 -0
  51. package/lib/directors/EnrollmentDirector.js +44 -0
  52. package/lib/directors/EnrollmentDirector.js.map +1 -0
  53. package/lib/directors/FilterAdapter.d.ts +54 -0
  54. package/lib/directors/FilterAdapter.d.ts.map +1 -0
  55. package/lib/directors/FilterAdapter.js +38 -0
  56. package/lib/directors/FilterAdapter.js.map +1 -0
  57. package/lib/directors/FilterDirector.d.ts +40 -0
  58. package/lib/directors/FilterDirector.d.ts.map +1 -0
  59. package/lib/directors/FilterDirector.js +177 -0
  60. package/lib/directors/FilterDirector.js.map +1 -0
  61. package/lib/directors/MessagingDirector.d.ts +46 -0
  62. package/lib/directors/MessagingDirector.d.ts.map +1 -0
  63. package/lib/directors/MessagingDirector.js +10 -0
  64. package/lib/directors/MessagingDirector.js.map +1 -0
  65. package/lib/directors/OrderDiscountAdapter.d.ts +3 -0
  66. package/lib/directors/OrderDiscountAdapter.d.ts.map +1 -0
  67. package/lib/directors/OrderDiscountAdapter.js +3 -0
  68. package/lib/directors/OrderDiscountAdapter.js.map +1 -0
  69. package/lib/directors/OrderDiscountConfiguration.d.ts +6 -0
  70. package/lib/directors/OrderDiscountConfiguration.d.ts.map +1 -0
  71. package/lib/directors/OrderDiscountConfiguration.js +2 -0
  72. package/lib/directors/OrderDiscountConfiguration.js.map +1 -0
  73. package/lib/directors/OrderDiscountDirector.d.ts +3 -0
  74. package/lib/directors/OrderDiscountDirector.d.ts.map +1 -0
  75. package/lib/directors/OrderDiscountDirector.js +3 -0
  76. package/lib/directors/OrderDiscountDirector.js.map +1 -0
  77. package/lib/directors/OrderPricingAdapter.d.ts +18 -0
  78. package/lib/directors/OrderPricingAdapter.d.ts.map +1 -0
  79. package/lib/directors/OrderPricingAdapter.js +24 -0
  80. package/lib/directors/OrderPricingAdapter.js.map +1 -0
  81. package/lib/directors/OrderPricingDirector.d.ts +18 -0
  82. package/lib/directors/OrderPricingDirector.d.ts.map +1 -0
  83. package/lib/directors/OrderPricingDirector.js +31 -0
  84. package/lib/directors/OrderPricingDirector.js.map +1 -0
  85. package/lib/directors/OrderPricingSheet.d.ts +37 -0
  86. package/lib/directors/OrderPricingSheet.d.ts.map +1 -0
  87. package/lib/directors/OrderPricingSheet.js +108 -0
  88. package/lib/directors/OrderPricingSheet.js.map +1 -0
  89. package/lib/directors/PaymentAdapter.d.ts +50 -0
  90. package/lib/directors/PaymentAdapter.d.ts.map +1 -0
  91. package/lib/directors/PaymentAdapter.js +55 -0
  92. package/lib/directors/PaymentAdapter.js.map +1 -0
  93. package/lib/directors/PaymentDirector.d.ts +21 -0
  94. package/lib/directors/PaymentDirector.d.ts.map +1 -0
  95. package/lib/directors/PaymentDirector.js +172 -0
  96. package/lib/directors/PaymentDirector.js.map +1 -0
  97. package/lib/directors/PaymentPricingAdapter.d.ts +48 -0
  98. package/lib/directors/PaymentPricingAdapter.d.ts.map +1 -0
  99. package/lib/directors/PaymentPricingAdapter.js +25 -0
  100. package/lib/directors/PaymentPricingAdapter.js.map +1 -0
  101. package/lib/directors/PaymentPricingDirector.d.ts +18 -0
  102. package/lib/directors/PaymentPricingDirector.d.ts.map +1 -0
  103. package/lib/directors/PaymentPricingDirector.js +51 -0
  104. package/lib/directors/PaymentPricingDirector.js.map +1 -0
  105. package/lib/directors/PaymentPricingSheet.d.ts +9 -0
  106. package/lib/directors/PaymentPricingSheet.d.ts.map +1 -0
  107. package/lib/directors/PaymentPricingSheet.js +75 -0
  108. package/lib/directors/PaymentPricingSheet.js.map +1 -0
  109. package/lib/directors/ProductDiscountAdapter.d.ts +3 -0
  110. package/lib/directors/ProductDiscountAdapter.d.ts.map +1 -0
  111. package/lib/directors/ProductDiscountAdapter.js +3 -0
  112. package/lib/directors/ProductDiscountAdapter.js.map +1 -0
  113. package/lib/directors/ProductDiscountConfiguration.d.ts +13 -0
  114. package/lib/directors/ProductDiscountConfiguration.d.ts.map +1 -0
  115. package/lib/directors/ProductDiscountConfiguration.js +2 -0
  116. package/lib/directors/ProductDiscountConfiguration.js.map +1 -0
  117. package/lib/directors/ProductDiscountDirector.d.ts +3 -0
  118. package/lib/directors/ProductDiscountDirector.d.ts.map +1 -0
  119. package/lib/directors/ProductDiscountDirector.js +3 -0
  120. package/lib/directors/ProductDiscountDirector.js.map +1 -0
  121. package/lib/directors/ProductPricingAdapter.d.ts +19 -0
  122. package/lib/directors/ProductPricingAdapter.d.ts.map +1 -0
  123. package/lib/directors/ProductPricingAdapter.js +24 -0
  124. package/lib/directors/ProductPricingAdapter.js.map +1 -0
  125. package/lib/directors/ProductPricingDirector.d.ts +21 -0
  126. package/lib/directors/ProductPricingDirector.d.ts.map +1 -0
  127. package/lib/directors/ProductPricingDirector.js +52 -0
  128. package/lib/directors/ProductPricingDirector.js.map +1 -0
  129. package/lib/directors/ProductPricingSheet.d.ts +35 -0
  130. package/lib/directors/ProductPricingSheet.d.ts.map +1 -0
  131. package/lib/directors/ProductPricingSheet.js +83 -0
  132. package/lib/directors/ProductPricingSheet.js.map +1 -0
  133. package/lib/directors/QuotationAdapter.d.ts +28 -0
  134. package/lib/directors/QuotationAdapter.d.ts.map +1 -0
  135. package/lib/directors/QuotationAdapter.js +46 -0
  136. package/lib/directors/QuotationAdapter.js.map +1 -0
  137. package/lib/directors/QuotationDirector.d.ts +7 -0
  138. package/lib/directors/QuotationDirector.d.ts.map +1 -0
  139. package/lib/directors/QuotationDirector.js +84 -0
  140. package/lib/directors/QuotationDirector.js.map +1 -0
  141. package/lib/directors/WarehousingAdapter.d.ts +40 -0
  142. package/lib/directors/WarehousingAdapter.d.ts.map +1 -0
  143. package/lib/directors/WarehousingAdapter.js +32 -0
  144. package/lib/directors/WarehousingAdapter.js.map +1 -0
  145. package/lib/directors/WarehousingDirector.d.ts +41 -0
  146. package/lib/directors/WarehousingDirector.d.ts.map +1 -0
  147. package/lib/directors/WarehousingDirector.js +169 -0
  148. package/lib/directors/WarehousingDirector.js.map +1 -0
  149. package/lib/directors/WorkerAdapter.d.ts +17 -0
  150. package/lib/directors/WorkerAdapter.d.ts.map +1 -0
  151. package/lib/directors/WorkerAdapter.js +11 -0
  152. package/lib/directors/WorkerAdapter.js.map +1 -0
  153. package/lib/directors/WorkerDirector.d.ts +26 -0
  154. package/lib/directors/WorkerDirector.d.ts.map +1 -0
  155. package/lib/directors/WorkerDirector.js +102 -0
  156. package/lib/directors/WorkerDirector.js.map +1 -0
  157. package/lib/directors/index.d.ts +39 -0
  158. package/lib/directors/index.d.ts.map +1 -0
  159. package/lib/directors/index.js +39 -0
  160. package/lib/directors/index.js.map +1 -0
  161. package/lib/modules.d.ts +59 -0
  162. package/lib/modules.d.ts.map +1 -0
  163. package/lib/modules.js +126 -0
  164. package/lib/modules.js.map +1 -0
  165. package/lib/services/activateEnrollment.d.ts +4 -0
  166. package/lib/services/activateEnrollment.d.ts.map +1 -0
  167. package/lib/services/activateEnrollment.js +25 -0
  168. package/lib/services/activateEnrollment.js.map +1 -0
  169. package/lib/services/calculateDiscountTotal.d.ts +7 -0
  170. package/lib/services/calculateDiscountTotal.d.ts.map +1 -0
  171. package/lib/services/calculateDiscountTotal.js +49 -0
  172. package/lib/services/calculateDiscountTotal.js.map +1 -0
  173. package/lib/services/checkoutOrder.d.ts +9 -0
  174. package/lib/services/checkoutOrder.d.ts.map +1 -0
  175. package/lib/services/checkoutOrder.js +28 -0
  176. package/lib/services/checkoutOrder.js.map +1 -0
  177. package/lib/services/confirmOrder.d.ts +9 -0
  178. package/lib/services/confirmOrder.d.ts.map +1 -0
  179. package/lib/services/confirmOrder.js +17 -0
  180. package/lib/services/confirmOrder.js.map +1 -0
  181. package/lib/services/createDownloadStream.d.ts +5 -0
  182. package/lib/services/createDownloadStream.d.ts.map +1 -0
  183. package/lib/services/createDownloadStream.js +8 -0
  184. package/lib/services/createDownloadStream.js.map +1 -0
  185. package/lib/services/createEnrollmentFromCheckout.d.ts +15 -0
  186. package/lib/services/createEnrollmentFromCheckout.d.ts.map +1 -0
  187. package/lib/services/createEnrollmentFromCheckout.js +40 -0
  188. package/lib/services/createEnrollmentFromCheckout.js.map +1 -0
  189. package/lib/services/createManualOrderDiscount.d.ts +7 -0
  190. package/lib/services/createManualOrderDiscount.d.ts.map +1 -0
  191. package/lib/services/createManualOrderDiscount.js +47 -0
  192. package/lib/services/createManualOrderDiscount.js.map +1 -0
  193. package/lib/services/createSignedURL.d.ts +8 -0
  194. package/lib/services/createSignedURL.d.ts.map +1 -0
  195. package/lib/services/createSignedURL.js +15 -0
  196. package/lib/services/createSignedURL.js.map +1 -0
  197. package/lib/services/deleteUser.d.ts +5 -0
  198. package/lib/services/deleteUser.d.ts.map +1 -0
  199. package/lib/services/deleteUser.js +26 -0
  200. package/lib/services/deleteUser.js.map +1 -0
  201. package/lib/services/discountedEntities.d.ts +5 -0
  202. package/lib/services/discountedEntities.d.ts.map +1 -0
  203. package/lib/services/discountedEntities.js +61 -0
  204. package/lib/services/discountedEntities.js.map +1 -0
  205. package/lib/services/ercMetadata.d.ts +7 -0
  206. package/lib/services/ercMetadata.d.ts.map +1 -0
  207. package/lib/services/ercMetadata.js +22 -0
  208. package/lib/services/ercMetadata.js.map +1 -0
  209. package/lib/services/findOrInitCart.d.ts +9 -0
  210. package/lib/services/findOrInitCart.d.ts.map +1 -0
  211. package/lib/services/findOrInitCart.js +15 -0
  212. package/lib/services/findOrInitCart.js.map +1 -0
  213. package/lib/services/fullfillQuotation.d.ts +4 -0
  214. package/lib/services/fullfillQuotation.d.ts.map +1 -0
  215. package/lib/services/fullfillQuotation.js +12 -0
  216. package/lib/services/fullfillQuotation.js.map +1 -0
  217. package/lib/services/index.d.ts +118 -0
  218. package/lib/services/index.d.ts.map +1 -0
  219. package/lib/services/index.js +132 -0
  220. package/lib/services/index.js.map +1 -0
  221. package/lib/services/initCartProviders.d.ts +4 -0
  222. package/lib/services/initCartProviders.d.ts.map +1 -0
  223. package/lib/services/initCartProviders.js +55 -0
  224. package/lib/services/initCartProviders.js.map +1 -0
  225. package/lib/services/initializeEnrollment.d.ts +7 -0
  226. package/lib/services/initializeEnrollment.d.ts.map +1 -0
  227. package/lib/services/initializeEnrollment.js +28 -0
  228. package/lib/services/initializeEnrollment.js.map +1 -0
  229. package/lib/services/invalidateFilterCache.d.ts +3 -0
  230. package/lib/services/invalidateFilterCache.d.ts.map +1 -0
  231. package/lib/services/invalidateFilterCache.js +12 -0
  232. package/lib/services/invalidateFilterCache.js.map +1 -0
  233. package/lib/services/linkFileService.d.ts +7 -0
  234. package/lib/services/linkFileService.d.ts.map +1 -0
  235. package/lib/services/linkFileService.js +18 -0
  236. package/lib/services/linkFileService.js.map +1 -0
  237. package/lib/services/loadFilterOptions.d.ts +14 -0
  238. package/lib/services/loadFilterOptions.d.ts.map +1 -0
  239. package/lib/services/loadFilterOptions.js +29 -0
  240. package/lib/services/loadFilterOptions.js.map +1 -0
  241. package/lib/services/loadFilters.d.ts +14 -0
  242. package/lib/services/loadFilters.d.ts.map +1 -0
  243. package/lib/services/loadFilters.js +36 -0
  244. package/lib/services/loadFilters.js.map +1 -0
  245. package/lib/services/migrateBookmarks.d.ts +8 -0
  246. package/lib/services/migrateBookmarks.d.ts.map +1 -0
  247. package/lib/services/migrateBookmarks.js +26 -0
  248. package/lib/services/migrateBookmarks.js.map +1 -0
  249. package/lib/services/migrateOrderCart.d.ts +8 -0
  250. package/lib/services/migrateOrderCart.d.ts.map +1 -0
  251. package/lib/services/migrateOrderCart.js +32 -0
  252. package/lib/services/migrateOrderCart.js.map +1 -0
  253. package/lib/services/migrateUserData.d.ts +2 -0
  254. package/lib/services/migrateUserData.d.ts.map +1 -0
  255. package/lib/services/migrateUserData.js +20 -0
  256. package/lib/services/migrateUserData.js.map +1 -0
  257. package/lib/services/nextUserCart.d.ts +9 -0
  258. package/lib/services/nextUserCart.d.ts.map +1 -0
  259. package/lib/services/nextUserCart.js +34 -0
  260. package/lib/services/nextUserCart.js.map +1 -0
  261. package/lib/services/processEnrollment.d.ts +4 -0
  262. package/lib/services/processEnrollment.d.ts.map +1 -0
  263. package/lib/services/processEnrollment.js +33 -0
  264. package/lib/services/processEnrollment.js.map +1 -0
  265. package/lib/services/processOrder.d.ts +9 -0
  266. package/lib/services/processOrder.d.ts.map +1 -0
  267. package/lib/services/processOrder.js +161 -0
  268. package/lib/services/processOrder.js.map +1 -0
  269. package/lib/services/processQuotation.d.ts +6 -0
  270. package/lib/services/processQuotation.d.ts.map +1 -0
  271. package/lib/services/processQuotation.js +60 -0
  272. package/lib/services/processQuotation.js.map +1 -0
  273. package/lib/services/proposeQuotation.d.ts +6 -0
  274. package/lib/services/proposeQuotation.d.ts.map +1 -0
  275. package/lib/services/proposeQuotation.js +12 -0
  276. package/lib/services/proposeQuotation.js.map +1 -0
  277. package/lib/services/registerPaymentCredentials.d.ts +5 -0
  278. package/lib/services/registerPaymentCredentials.d.ts.map +1 -0
  279. package/lib/services/registerPaymentCredentials.js +21 -0
  280. package/lib/services/registerPaymentCredentials.js.map +1 -0
  281. package/lib/services/rejectOrder.d.ts +9 -0
  282. package/lib/services/rejectOrder.d.ts.map +1 -0
  283. package/lib/services/rejectOrder.js +17 -0
  284. package/lib/services/rejectOrder.js.map +1 -0
  285. package/lib/services/rejectQuotation.d.ts +6 -0
  286. package/lib/services/rejectQuotation.d.ts.map +1 -0
  287. package/lib/services/rejectQuotation.js +12 -0
  288. package/lib/services/rejectQuotation.js.map +1 -0
  289. package/lib/services/removeFiles.d.ts +5 -0
  290. package/lib/services/removeFiles.d.ts.map +1 -0
  291. package/lib/services/removeFiles.js +19 -0
  292. package/lib/services/removeFiles.js.map +1 -0
  293. package/lib/services/removeProduct.d.ts +5 -0
  294. package/lib/services/removeProduct.d.ts.map +1 -0
  295. package/lib/services/removeProduct.js +26 -0
  296. package/lib/services/removeProduct.js.map +1 -0
  297. package/lib/services/searchAssortments.d.ts +19 -0
  298. package/lib/services/searchAssortments.d.ts.map +1 -0
  299. package/lib/services/searchAssortments.js +33 -0
  300. package/lib/services/searchAssortments.js.map +1 -0
  301. package/lib/services/searchProducts.d.ts +16 -0
  302. package/lib/services/searchProducts.d.ts.map +1 -0
  303. package/lib/services/searchProducts.js +41 -0
  304. package/lib/services/searchProducts.js.map +1 -0
  305. package/lib/services/simulateProductDispatching.d.ts +15 -0
  306. package/lib/services/simulateProductDispatching.d.ts.map +1 -0
  307. package/lib/services/simulateProductDispatching.js +30 -0
  308. package/lib/services/simulateProductDispatching.js.map +1 -0
  309. package/lib/services/simulateProductInventory.d.ts +15 -0
  310. package/lib/services/simulateProductInventory.d.ts.map +1 -0
  311. package/lib/services/simulateProductInventory.js +29 -0
  312. package/lib/services/simulateProductInventory.js.map +1 -0
  313. package/lib/services/simulateProductPricing.d.ts +12 -0
  314. package/lib/services/simulateProductPricing.d.ts.map +1 -0
  315. package/lib/services/simulateProductPricing.js +8 -0
  316. package/lib/services/simulateProductPricing.js.map +1 -0
  317. package/lib/services/supportedDeliveryProviders.d.ts +5 -0
  318. package/lib/services/supportedDeliveryProviders.d.ts.map +1 -0
  319. package/lib/services/supportedDeliveryProviders.js +14 -0
  320. package/lib/services/supportedDeliveryProviders.js.map +1 -0
  321. package/lib/services/supportedPaymentProviders.d.ts +5 -0
  322. package/lib/services/supportedPaymentProviders.d.ts.map +1 -0
  323. package/lib/services/supportedPaymentProviders.js +14 -0
  324. package/lib/services/supportedPaymentProviders.js.map +1 -0
  325. package/lib/services/supportedWarehousingProviders.d.ts +5 -0
  326. package/lib/services/supportedWarehousingProviders.d.ts.map +1 -0
  327. package/lib/services/supportedWarehousingProviders.js +10 -0
  328. package/lib/services/supportedWarehousingProviders.js.map +1 -0
  329. package/lib/services/terminateEnrollment.d.ts +3 -0
  330. package/lib/services/terminateEnrollment.d.ts.map +1 -0
  331. package/lib/services/terminateEnrollment.js +25 -0
  332. package/lib/services/terminateEnrollment.js.map +1 -0
  333. package/lib/services/updateCalculation.d.ts +3 -0
  334. package/lib/services/updateCalculation.d.ts.map +1 -0
  335. package/lib/services/updateCalculation.js +101 -0
  336. package/lib/services/updateCalculation.js.map +1 -0
  337. package/lib/services/updateScheduling.d.ts +8 -0
  338. package/lib/services/updateScheduling.d.ts.map +1 -0
  339. package/lib/services/updateScheduling.js +42 -0
  340. package/lib/services/updateScheduling.js.map +1 -0
  341. package/lib/services/updateUserAvatarAfterUpload.d.ts +6 -0
  342. package/lib/services/updateUserAvatarAfterUpload.d.ts.map +1 -0
  343. package/lib/services/updateUserAvatarAfterUpload.js +25 -0
  344. package/lib/services/updateUserAvatarAfterUpload.js.map +1 -0
  345. package/lib/services/uploadFileFromStream.d.ts +8 -0
  346. package/lib/services/uploadFileFromStream.d.ts.map +1 -0
  347. package/lib/services/uploadFileFromStream.js +11 -0
  348. package/lib/services/uploadFileFromStream.js.map +1 -0
  349. package/lib/services/uploadFileFromURL.d.ts +13 -0
  350. package/lib/services/uploadFileFromURL.d.ts.map +1 -0
  351. package/lib/services/uploadFileFromURL.js +11 -0
  352. package/lib/services/uploadFileFromURL.js.map +1 -0
  353. package/lib/services/validateOrder.d.ts +4 -0
  354. package/lib/services/validateOrder.d.ts.map +1 -0
  355. package/lib/services/validateOrder.js +45 -0
  356. package/lib/services/validateOrder.js.map +1 -0
  357. package/lib/services/verifyQuotation.d.ts +6 -0
  358. package/lib/services/verifyQuotation.d.ts.map +1 -0
  359. package/lib/services/verifyQuotation.js +12 -0
  360. package/lib/services/verifyQuotation.js.map +1 -0
  361. package/package.json +30 -29
  362. package/src/core-index.ts +14 -241
  363. package/src/directors/BaseDiscountAdapter.test.ts +49 -0
  364. package/src/directors/BaseDiscountAdapter.ts +90 -0
  365. package/src/directors/BaseDiscountDirector.ts +73 -0
  366. package/src/directors/BasePricingAdapter.ts +80 -0
  367. package/src/directors/BasePricingDirector.ts +137 -0
  368. package/src/directors/BasePricingSheet.test.ts +43 -0
  369. package/src/directors/BasePricingSheet.ts +140 -0
  370. package/src/directors/DeliveryAdapter.ts +110 -0
  371. package/src/directors/DeliveryDirector.ts +135 -0
  372. package/src/directors/DeliveryPricingAdapter.ts +87 -0
  373. package/src/directors/DeliveryPricingDirector.ts +92 -0
  374. package/src/directors/DeliveryPricingSheet.ts +86 -0
  375. package/src/directors/EnrollmentAdapter.ts +113 -0
  376. package/src/directors/EnrollmentDirector.ts +70 -0
  377. package/src/directors/FilterAdapter.ts +103 -0
  378. package/src/directors/FilterDirector.ts +313 -0
  379. package/src/directors/MessagingDirector.test.ts +5 -0
  380. package/src/directors/MessagingDirector.ts +59 -0
  381. package/src/directors/OrderDiscountAdapter.ts +10 -0
  382. package/src/directors/OrderDiscountConfiguration.ts +5 -0
  383. package/src/directors/OrderDiscountDirector.ts +5 -0
  384. package/src/directors/OrderPricingAdapter.ts +63 -0
  385. package/src/directors/OrderPricingDirector.ts +74 -0
  386. package/src/directors/OrderPricingSheet.ts +147 -0
  387. package/src/directors/PaymentAdapter.ts +118 -0
  388. package/src/directors/PaymentDirector.ts +275 -0
  389. package/src/directors/PaymentPricingAdapter.ts +86 -0
  390. package/src/directors/PaymentPricingDirector.ts +94 -0
  391. package/src/directors/PaymentPricingSheet.ts +91 -0
  392. package/src/directors/ProductDiscountAdapter.ts +10 -0
  393. package/src/directors/ProductDiscountConfiguration.ts +18 -0
  394. package/src/directors/ProductDiscountDirector.ts +4 -0
  395. package/src/directors/ProductPricingAdapter.ts +58 -0
  396. package/src/directors/ProductPricingDirector.ts +100 -0
  397. package/src/directors/ProductPricingSheet.test.ts +129 -0
  398. package/src/directors/ProductPricingSheet.ts +124 -0
  399. package/src/directors/QuotationAdapter.ts +86 -0
  400. package/src/directors/QuotationDirector.ts +105 -0
  401. package/src/directors/WarehousingAdapter.ts +83 -0
  402. package/src/directors/WarehousingDirector.ts +236 -0
  403. package/src/directors/WorkerAdapter.ts +30 -0
  404. package/src/directors/WorkerDirector.ts +154 -0
  405. package/src/directors/index.ts +49 -0
  406. package/src/directors/periodForReferenceDate.test.ts +23 -0
  407. package/src/modules.ts +208 -0
  408. package/src/services/activateEnrollment.ts +30 -0
  409. package/src/services/calculateDiscountTotal.ts +71 -0
  410. package/src/services/checkoutOrder.ts +43 -0
  411. package/src/services/confirmOrder.ts +26 -0
  412. package/src/services/createDownloadStream.ts +16 -0
  413. package/src/services/createEnrollmentFromCheckout.ts +66 -0
  414. package/src/services/createManualOrderDiscount.ts +56 -0
  415. package/src/services/createSignedURL.ts +20 -0
  416. package/src/services/deleteUser.ts +33 -0
  417. package/src/services/discountedEntities.ts +81 -0
  418. package/src/services/ercMetadata.ts +33 -0
  419. package/src/services/findOrInitCart.ts +29 -0
  420. package/src/services/fullfillQuotation.ts +14 -0
  421. package/src/services/index.ts +168 -0
  422. package/src/services/initCartProviders.ts +86 -0
  423. package/src/services/initializeEnrollment.ts +38 -0
  424. package/src/services/invalidateFilterCache.ts +16 -0
  425. package/src/services/linkFileService.ts +22 -0
  426. package/src/services/loadFilterOptions.ts +49 -0
  427. package/src/services/loadFilters.ts +52 -0
  428. package/src/services/migrateBookmarks.ts +39 -0
  429. package/src/services/migrateOrderCart.ts +52 -0
  430. package/src/services/migrateUserData.ts +22 -0
  431. package/src/services/nextUserCart.ts +52 -0
  432. package/src/services/processEnrollment.ts +37 -0
  433. package/src/services/processOrder.ts +241 -0
  434. package/src/services/processQuotation.ts +75 -0
  435. package/src/services/proposeQuotation.ts +18 -0
  436. package/src/services/registerPaymentCredentials.ts +30 -0
  437. package/src/services/rejectOrder.ts +26 -0
  438. package/src/services/rejectQuotation.ts +18 -0
  439. package/src/services/removeFiles.ts +25 -0
  440. package/src/services/removeProduct.ts +34 -0
  441. package/src/services/searchAssortments.ts +58 -0
  442. package/src/services/searchProducts.ts +73 -0
  443. package/src/services/simulateProductDispatching.ts +59 -0
  444. package/src/services/simulateProductInventory.ts +56 -0
  445. package/src/services/simulateProductPricing.ts +20 -0
  446. package/src/services/supportedDeliveryProviders.ts +24 -0
  447. package/src/services/supportedPaymentProviders.ts +25 -0
  448. package/src/services/supportedWarehousingProviders.ts +18 -0
  449. package/src/services/terminateEnrollment.ts +29 -0
  450. package/src/services/updateCalculation.ts +143 -0
  451. package/src/services/updateScheduling.ts +64 -0
  452. package/src/services/updateUserAvatarAfterUpload.ts +30 -0
  453. package/src/services/uploadFileFromStream.ts +15 -0
  454. package/src/services/uploadFileFromURL.ts +29 -0
  455. package/src/services/validateOrder.ts +53 -0
  456. package/src/services/verifyQuotation.ts +18 -0
  457. package/tsconfig.json +5 -7
  458. package/lib/types.d.ts +0 -4
  459. package/lib/types.d.ts.map +0 -1
  460. package/lib/types.js +0 -5
  461. package/lib/types.js.map +0 -1
  462. 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: locale.baseName,
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
+ await Array.fromAsync(carts, async (userCart) => {
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,29 @@
1
+ import { User } from '@unchainedshop/core-users';
2
+ import { Order } from '@unchainedshop/core-orders';
3
+ import { Modules } from '../modules.js';
4
+ import { nextUserCartService } from './nextUserCart.js';
5
+
6
+ export async function findOrInitCartService(
7
+ this: Modules,
8
+ {
9
+ user,
10
+ countryCode,
11
+ orderId,
12
+ }: {
13
+ user: User;
14
+ countryCode: string;
15
+ orderId?: string;
16
+ },
17
+ ) {
18
+ if (orderId) {
19
+ const order = await this.orders.findOrder({ orderId });
20
+ if (!order) return null;
21
+ return order;
22
+ }
23
+
24
+ return nextUserCartService.bind(this)({
25
+ user,
26
+ countryCode,
27
+ forceCartCreation: true,
28
+ }) as Order;
29
+ }
@@ -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
+ }