@unchainedshop/core 3.0.0-alpha7 → 3.0.0-rc10

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 +173 -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 +309 -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,56 @@
1
+ import { DeliveryProvider } from '@unchainedshop/core-delivery';
2
+ import { Modules } from '../modules.js';
3
+ import { supportedWarehousingProvidersService } from './supportedWarehousingProviders.js';
4
+ import { Product } from '@unchainedshop/core-products';
5
+ import { EstimatedStock, WarehousingDirector } from '../directors/WarehousingDirector.js';
6
+ import { WarehousingContext } from '../directors/WarehousingAdapter.js';
7
+ import { WarehousingProvider } from '@unchainedshop/core-warehousing';
8
+
9
+ export async function simulateProductInventoryService(
10
+ this: Modules,
11
+ {
12
+ deliveryProviders,
13
+ product,
14
+ referenceDate,
15
+ }: {
16
+ product: Product;
17
+ deliveryProviders: DeliveryProvider[];
18
+ referenceDate?: Date;
19
+ },
20
+ ) {
21
+ return deliveryProviders.reduce<
22
+ Promise<Array<WarehousingContext & EstimatedStock & { warehousingProvider: WarehousingProvider }>>
23
+ >(async (oldResult, deliveryProvider) => {
24
+ const result = await oldResult;
25
+
26
+ const warehousingProviders: WarehousingProvider[] = await supportedWarehousingProvidersService.bind(
27
+ this,
28
+ )({
29
+ product,
30
+ deliveryProvider,
31
+ });
32
+
33
+ const mappedWarehousingProviders = await Promise.all(
34
+ warehousingProviders.map(async (warehousingProvider) => {
35
+ const warehousingContext: WarehousingContext = {
36
+ deliveryProvider,
37
+ product,
38
+ referenceDate,
39
+ };
40
+
41
+ const director = await WarehousingDirector.actions(warehousingProvider, warehousingContext, {
42
+ modules: this,
43
+ });
44
+ const stock = await director.estimatedStock();
45
+
46
+ return {
47
+ warehousingProvider,
48
+ ...warehousingContext,
49
+ ...stock,
50
+ };
51
+ }),
52
+ );
53
+
54
+ return result.concat(result, mappedWarehousingProviders);
55
+ }, Promise.resolve([]));
56
+ }
@@ -0,0 +1,20 @@
1
+ import { Product, ProductConfiguration } from '@unchainedshop/core-products';
2
+ import { ProductPricingDirector } from '../core-index.js';
3
+ import { User } from '@unchainedshop/core-users';
4
+ import { Modules } from '../modules.js';
5
+
6
+ export async function simulateProductPricingService(
7
+ this: Modules,
8
+ pricingContext: {
9
+ product: Product;
10
+ user: User;
11
+ country: string;
12
+ currency: string;
13
+ quantity: number;
14
+ configuration?: Array<ProductConfiguration>;
15
+ },
16
+ ) {
17
+ const calculated = await ProductPricingDirector.rebuildCalculation(pricingContext, { modules: this });
18
+ if (!calculated || !calculated.length) return null;
19
+ return ProductPricingDirector.calculationSheet(pricingContext, calculated);
20
+ }
@@ -0,0 +1,24 @@
1
+ import { DeliveryProvider, deliverySettings } from '@unchainedshop/core-delivery';
2
+ import { Modules } from '../modules.js';
3
+ import { DeliveryContext, DeliveryDirector } from '../directors/index.js';
4
+
5
+ export async function supportedDeliveryProvidersService(this: Modules, params: DeliveryContext) {
6
+ const allProviders = await this.delivery.findProviders({});
7
+
8
+ const providers = (
9
+ await Promise.all(
10
+ allProviders.map(async (provider: DeliveryProvider) => {
11
+ const adapter = await DeliveryDirector.actions(provider, params, { modules: this });
12
+ return adapter.isActive() ? [provider] : [];
13
+ }),
14
+ )
15
+ ).flat();
16
+
17
+ return deliverySettings.filterSupportedProviders(
18
+ {
19
+ providers,
20
+ order: params.order,
21
+ },
22
+ { modules: this },
23
+ );
24
+ }
@@ -0,0 +1,25 @@
1
+ import { PaymentProvider, paymentSettings } from '@unchainedshop/core-payment';
2
+ import { PaymentDirector } from '../directors/PaymentDirector.js';
3
+ import { PaymentContext } from '../directors/PaymentAdapter.js';
4
+ import { Modules } from '../modules.js';
5
+
6
+ export async function supportedPaymentProvidersService(this: Modules, params: PaymentContext) {
7
+ const allProviders = await this.payment.paymentProviders.findProviders({});
8
+
9
+ const providers = (
10
+ await Promise.all(
11
+ allProviders.map(async (provider: PaymentProvider) => {
12
+ const adapter = await PaymentDirector.actions(provider, params, { modules: this });
13
+ return adapter.isActive() ? [provider] : [];
14
+ }),
15
+ )
16
+ ).flat();
17
+
18
+ return paymentSettings.filterSupportedProviders(
19
+ {
20
+ providers,
21
+ order: params.order,
22
+ },
23
+ { modules: this },
24
+ );
25
+ }
@@ -0,0 +1,18 @@
1
+ import { WarehousingProvider } from '@unchainedshop/core-warehousing';
2
+ import { WarehousingContext, WarehousingDirector } from '../directors/index.js';
3
+ import { Modules } from '../modules.js';
4
+
5
+ export async function supportedWarehousingProvidersService(this: Modules, params: WarehousingContext) {
6
+ const allProviders = await this.warehousing.findProviders({});
7
+
8
+ const providers = (
9
+ await Promise.all(
10
+ allProviders.map(async (provider: WarehousingProvider) => {
11
+ const adapter = await WarehousingDirector.actions(provider, params, { modules: this });
12
+ return adapter.isActive() ? [provider] : [];
13
+ }),
14
+ )
15
+ ).flat();
16
+
17
+ return providers;
18
+ }
@@ -0,0 +1,29 @@
1
+ import { Enrollment, EnrollmentStatus } from '@unchainedshop/core-enrollments';
2
+ import { processEnrollmentService } from './processEnrollment.js';
3
+
4
+ export async function terminateEnrollmentService(enrollment: Enrollment) {
5
+ if (enrollment.status === EnrollmentStatus.TERMINATED) return enrollment;
6
+
7
+ let updatedEnrollment = await this.enrollments.updateStatus(enrollment._id, {
8
+ status: EnrollmentStatus.TERMINATED,
9
+ info: 'terminated manually',
10
+ });
11
+
12
+ updatedEnrollment = await processEnrollmentService.bind(this)(updatedEnrollment);
13
+
14
+ const user = await this.users.findUserById(enrollment.userId);
15
+ const locale = this.users.userLocale(user);
16
+
17
+ await this.worker.addWork({
18
+ type: 'MESSAGE',
19
+ retries: 0,
20
+ input: {
21
+ reason: 'status_change',
22
+ locale: locale.baseName,
23
+ template: 'ENROLLMENT_STATUS',
24
+ enrollmentId: updatedEnrollment._id,
25
+ },
26
+ });
27
+
28
+ return updatedEnrollment;
29
+ }
@@ -0,0 +1,143 @@
1
+ import { OrderDiscountTrigger } from '@unchainedshop/core-orders';
2
+ import { initCartProvidersService } from './initCartProviders.js';
3
+ import { Modules } from '../modules.js';
4
+ import { updateSchedulingService } from './updateScheduling.js';
5
+ import {
6
+ OrderDiscountDirector,
7
+ OrderPricingDirector,
8
+ DeliveryPricingDirector,
9
+ ProductPricingDirector,
10
+ PaymentPricingDirector,
11
+ } from '../directors/index.js';
12
+
13
+ export async function updateCalculationService(this: Modules, orderId: string) {
14
+ const order = await this.orders.findOrder({ orderId });
15
+
16
+ // Don't recalculate orders, only carts
17
+ if (order.status !== null) return order;
18
+
19
+ // 1. go through existing order-discounts and check if discount still valid,
20
+ // those who are not valid anymore should get removed
21
+ const discounts = await this.orders.discounts.findOrderDiscounts({
22
+ orderId: order._id,
23
+ });
24
+
25
+ await Promise.all(
26
+ discounts.map(async (orderDiscount) => {
27
+ const Adapter = OrderDiscountDirector.getAdapter(orderDiscount.discountKey);
28
+ if (!Adapter) return null;
29
+ const adapter = await Adapter.actions({
30
+ context: { order, orderDiscount, code: orderDiscount.code, modules: this },
31
+ });
32
+
33
+ const isValid =
34
+ orderDiscount.trigger === OrderDiscountTrigger.SYSTEM
35
+ ? await adapter.isValidForSystemTriggering()
36
+ : await adapter.isValidForCodeTriggering({
37
+ code: orderDiscount.code,
38
+ });
39
+
40
+ if (!isValid) {
41
+ if (orderDiscount.trigger === OrderDiscountTrigger.USER) {
42
+ await adapter.release();
43
+ }
44
+ await this.orders.discounts.delete(orderDiscount._id);
45
+ }
46
+ }),
47
+ );
48
+
49
+ // 2. run auto-system discount
50
+ const cleanedDiscounts = await this.orders.discounts.findOrderDiscounts({
51
+ orderId: order._id,
52
+ });
53
+
54
+ const currentDiscountKeys = cleanedDiscounts.map(({ discountKey }) => discountKey);
55
+ const director = await OrderDiscountDirector.actions({ order, code: null }, { modules: this });
56
+ const systemDiscounts = await director.findSystemDiscounts();
57
+ await Promise.all(
58
+ systemDiscounts
59
+ .filter((key) => currentDiscountKeys.indexOf(key) === -1)
60
+ .map(async (discountKey) =>
61
+ this.orders.discounts.create({
62
+ orderId: order._id,
63
+ discountKey,
64
+ trigger: OrderDiscountTrigger.SYSTEM,
65
+ }),
66
+ ),
67
+ );
68
+
69
+ let orderPositions = await this.orders.positions.findOrderPositions({
70
+ orderId,
71
+ });
72
+ orderPositions = await Promise.all(
73
+ orderPositions.map(async (orderPosition) => {
74
+ const positionCalculation = await ProductPricingDirector.rebuildCalculation(
75
+ {
76
+ currency: order.currency,
77
+ quantity: orderPosition.quantity,
78
+ item: orderPosition,
79
+ configuration: orderPosition.configuration,
80
+ },
81
+ { modules: this },
82
+ );
83
+ return this.orders.positions.updateCalculation(orderPosition._id, positionCalculation);
84
+ }),
85
+ );
86
+
87
+ let orderDelivery = await this.orders.deliveries.findDelivery({
88
+ orderDeliveryId: order.deliveryId,
89
+ });
90
+ if (orderDelivery) {
91
+ const deliveryCalculation = await DeliveryPricingDirector.rebuildCalculation(
92
+ {
93
+ currency: order.currency,
94
+ item: orderDelivery,
95
+ },
96
+ { modules: this },
97
+ );
98
+ orderDelivery = await this.orders.deliveries.updateCalculation(
99
+ orderDelivery._id,
100
+ deliveryCalculation,
101
+ );
102
+ }
103
+ let orderPayment = await this.orders.payments.findOrderPayment({
104
+ orderPaymentId: order.paymentId,
105
+ });
106
+ if (orderPayment) {
107
+ const paymentCalculation = await PaymentPricingDirector.rebuildCalculation(
108
+ {
109
+ currency: order.currency,
110
+ item: orderPayment,
111
+ },
112
+ { modules: this },
113
+ );
114
+ orderPayment = await this.orders.payments.updateCalculation(orderPayment._id, paymentCalculation);
115
+ }
116
+
117
+ orderPositions = await updateSchedulingService.bind(this)({
118
+ order,
119
+ orderPositions,
120
+ orderDelivery,
121
+ });
122
+
123
+ const calculation = await OrderPricingDirector.rebuildCalculation(
124
+ { currency: order.currency, order, orderPositions, orderDelivery, orderPayment },
125
+ { modules: this },
126
+ );
127
+
128
+ const updatedOrder = await this.orders.updateCalculationSheet(orderId, calculation);
129
+
130
+ /*
131
+ // We have to do initCartProviders after calculation, only then filterSupportedProviders will work correctly and has access to recent pricing
132
+ // initCartProviders calls updateCalculation anyways recursively when a new payment or delivery provider gets set
133
+ // Thus, if for example a discount change leads to a free delivery and free payment due to free items amount, the following happens in the stack:
134
+ // 1. create discount
135
+ // 2. update calculation -> order pricing updated to items 0
136
+ // 3. initCartProviders with updated order -> filterSupportedProviders -> delivery provider is invalid -> set new delivery provider
137
+ // 4. update calculation -> order pricing updated to items 0 and delivery 0
138
+ // 5. initCartProviders with updated order -> filterSupportedProviders -> payment provider is invalid -> set new payment provider
139
+ // 6. update calculation -> order pricing updated to items 0, delivery 0, payment 0
140
+ // 7. initCartProviders with updated order -> all providers are valid -> return order
141
+ */
142
+ return initCartProvidersService.bind(this)(updatedOrder);
143
+ }
@@ -0,0 +1,64 @@
1
+ import { Order, OrderDelivery, OrderPosition } from '@unchainedshop/core-orders';
2
+ import { WarehousingDirector } from '../directors/index.js';
3
+ import { Modules } from '../modules.js';
4
+ import { supportedWarehousingProvidersService } from './supportedWarehousingProviders.js';
5
+
6
+ export async function updateSchedulingService(
7
+ this: Modules,
8
+ {
9
+ orderPositions,
10
+ order,
11
+ orderDelivery,
12
+ }: { orderPositions: OrderPosition[]; order: Order; orderDelivery: OrderDelivery },
13
+ ) {
14
+ const deliveryProvider =
15
+ orderDelivery &&
16
+ (await this.delivery.findProvider({
17
+ deliveryProviderId: orderDelivery.deliveryProviderId,
18
+ }));
19
+
20
+ return (await Promise.all(
21
+ orderPositions.map(async (orderPosition) => {
22
+ // scheduling (store in db for auditing)
23
+ const product = await this.products.findProduct({
24
+ productId: orderPosition.productId,
25
+ });
26
+
27
+ const { countryCode, userId } = order;
28
+
29
+ const scheduling = await Promise.all(
30
+ (
31
+ await supportedWarehousingProvidersService.bind(this)({
32
+ product,
33
+ deliveryProvider,
34
+ })
35
+ ).map(async (warehousingProvider) => {
36
+ const context = {
37
+ warehousingProvider,
38
+ deliveryProvider,
39
+ product,
40
+ item: orderPosition,
41
+ delivery: deliveryProvider,
42
+ order,
43
+ userId,
44
+ country: countryCode,
45
+ referenceDate: order.ordered,
46
+ quantity: orderPosition.quantity,
47
+ };
48
+
49
+ const director = await WarehousingDirector.actions(warehousingProvider, context, {
50
+ modules: this,
51
+ });
52
+ const dispatch = await director.estimatedDispatch();
53
+
54
+ return {
55
+ warehousingProviderId: warehousingProvider._id,
56
+ ...dispatch,
57
+ };
58
+ }),
59
+ );
60
+
61
+ return this.orders.positions.updateScheduling(orderPosition._id, scheduling);
62
+ }),
63
+ )) as Array<OrderPosition>;
64
+ }
@@ -0,0 +1,30 @@
1
+ import { File } from '@unchainedshop/core-files';
2
+ import { removeFilesService } from './removeFiles.js';
3
+ import { Modules } from '../modules.js';
4
+ import { createLogger } from '@unchainedshop/logger';
5
+
6
+ const logger = createLogger('unchained:core');
7
+
8
+ export async function updateUserAvatarAfterUploadService(this: Modules, { file }: { file: File }) {
9
+ const { userId } = file.meta as { userId: string };
10
+
11
+ const files = await this.files.findFiles({
12
+ _id: { $ne: file._id },
13
+ path: file.path,
14
+ 'meta.userId': userId,
15
+ });
16
+ const fileIds = files.map((f) => f._id);
17
+
18
+ try {
19
+ if (fileIds?.length) {
20
+ await removeFilesService.bind(this)({
21
+ fileIds,
22
+ });
23
+ }
24
+ } catch (e: unknown) {
25
+ // cleanup error, not critical
26
+ logger.warn(`could not clean up all old avatars: ${(e as Error).message}`);
27
+ }
28
+
29
+ await this.users.updateAvatar(userId, file._id);
30
+ }
@@ -0,0 +1,15 @@
1
+ import { getFileFromFileData, getFileAdapter, File } from '@unchainedshop/core-files';
2
+ import { Modules } from '../modules.js';
3
+
4
+ export async function uploadFileFromStreamService(
5
+ this: Modules,
6
+ { directoryName, rawFile, meta }: { directoryName: string; rawFile: any; meta?: any },
7
+ ): Promise<File> {
8
+ const fileUploadAdapter = getFileAdapter();
9
+ const uploadFileData = await fileUploadAdapter.uploadFileFromStream(directoryName, rawFile, {
10
+ modules: this,
11
+ });
12
+ const fileData = getFileFromFileData(uploadFileData, meta);
13
+ const fileId = await this.files.create(fileData);
14
+ return this.files.findFile({ fileId });
15
+ }
@@ -0,0 +1,29 @@
1
+ import { getFileFromFileData, getFileAdapter, File } from '@unchainedshop/core-files';
2
+ import { Modules } from '../modules.js';
3
+
4
+ export async function uploadFileFromURLService(
5
+ this: Modules,
6
+ {
7
+ directoryName,
8
+ fileInput,
9
+ meta,
10
+ }: {
11
+ directoryName: string;
12
+ fileInput: {
13
+ fileLink: string;
14
+ fileName: string;
15
+ fileId?: string;
16
+ headers?: Record<string, unknown>;
17
+ };
18
+ meta?: any;
19
+ },
20
+ ): Promise<File> {
21
+ const fileUploadAdapter = getFileAdapter();
22
+
23
+ const uploadFileData = await fileUploadAdapter.uploadFileFromURL(directoryName, fileInput, {
24
+ modules: this,
25
+ });
26
+ const fileData = getFileFromFileData(uploadFileData, meta);
27
+ const fileId = await this.files.create(fileData);
28
+ return this.files.findFile({ fileId });
29
+ }
@@ -0,0 +1,53 @@
1
+ import { Order, ordersSettings } from '@unchainedshop/core-orders';
2
+ import { Modules } from '../modules.js';
3
+
4
+ export async function validateOrderService(this: Modules, order: Order) {
5
+ const errors = [];
6
+ if (!order.contact) errors.push(new Error('Contact data not provided'));
7
+ if (!order.billingAddress) errors.push(new Error('Billing address not provided'));
8
+ if (!(await this.orders.deliveries.findDelivery({ orderDeliveryId: order.deliveryId })))
9
+ errors.push('No delivery provider selected');
10
+ if (!(await this.orders.payments.findOrderPayment({ orderPaymentId: order.paymentId })))
11
+ errors.push('No payment provider selected');
12
+
13
+ const orderPositions = await this.orders.positions.findOrderPositions({ orderId: order._id });
14
+ if (orderPositions.length === 0) {
15
+ const NoItemsError = new Error('No items to checkout');
16
+ NoItemsError.name = 'NoItemsError';
17
+ return [NoItemsError];
18
+ }
19
+ await Promise.all(
20
+ orderPositions.map(async (orderPosition) => {
21
+ const product = await this.products.findProduct({
22
+ productId: orderPosition.productId,
23
+ });
24
+
25
+ try {
26
+ await ordersSettings.validateOrderPosition(
27
+ {
28
+ order,
29
+ product,
30
+ configuration: orderPosition.configuration,
31
+ quantityDiff: 0,
32
+ },
33
+ { modules: this },
34
+ );
35
+ } catch (e) {
36
+ errors.push(e);
37
+ }
38
+
39
+ const quotation =
40
+ orderPosition.quotationId &&
41
+ (await this.quotations.findQuotation({
42
+ quotationId: orderPosition.quotationId,
43
+ }));
44
+ if (quotation && !this.quotations.isProposalValid(quotation)) {
45
+ errors.push(new Error('Quotation expired or fullfiled, please request a new offer'));
46
+ }
47
+ }),
48
+ );
49
+
50
+ if (errors.length > 0) {
51
+ throw new Error(errors[0]);
52
+ }
53
+ }
@@ -0,0 +1,18 @@
1
+ import { Quotation, QuotationStatus } from '@unchainedshop/core-quotations';
2
+ import { processQuotationService } from './processQuotation.js';
3
+ import { Modules } from '../modules.js';
4
+
5
+ export async function verifyQuotationService(
6
+ this: Modules,
7
+ quotation: Quotation,
8
+ { quotationContext }: { quotationContext?: any },
9
+ ) {
10
+ if (quotation.status !== QuotationStatus.REQUESTED) return quotation;
11
+
12
+ const updatedQuotation = await this.quotations.updateStatus(quotation._id, {
13
+ status: QuotationStatus.PROCESSING,
14
+ info: 'verified elligibility manually',
15
+ });
16
+
17
+ return await processQuotationService.bind(this)(updatedQuotation, { quotationContext });
18
+ }
package/tsconfig.json CHANGED
@@ -1,11 +1,9 @@
1
1
  {
2
2
  "extends": "../shared/base.tsconfig.json",
3
3
  "compilerOptions": {
4
- "rootDir": "src",
5
- "outDir": "lib",
4
+ "declarationDir": "./lib",
5
+ "rootDir": "./src",
6
+ "outDir": "./lib"
6
7
  },
7
- "exclude": ["**/*.test.ts", "**/*.test.js", "tests"],
8
- "include": [
9
- "./src"
10
- ]
11
- }
8
+ "exclude": ["**/*.test.ts", "**/*.test.js", "tests", "lib"]
9
+ }
package/lib/types.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export interface BulkImporter {
2
- createBulkImporter: (options: any) => any;
3
- }
4
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;CAC3C"}
package/lib/types.js DELETED
@@ -1,5 +0,0 @@
1
- export {};
2
- /*
3
- * Module
4
- */
5
- //# sourceMappingURL=types.js.map
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAIA;;GAEG"}
package/src/types.ts DELETED
@@ -1,7 +0,0 @@
1
- export interface BulkImporter {
2
- createBulkImporter: (options: any) => any;
3
- }
4
-
5
- /*
6
- * Module
7
- */