@unchainedshop/plugins 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 (385) hide show
  1. package/lib/delivery/pick-mup.js +1 -2
  2. package/lib/delivery/pick-mup.js.map +1 -1
  3. package/lib/delivery/post.js +2 -1
  4. package/lib/delivery/post.js.map +1 -1
  5. package/lib/delivery/send-message.js +2 -1
  6. package/lib/delivery/send-message.js.map +1 -1
  7. package/lib/delivery/stores.js +2 -1
  8. package/lib/delivery/stores.js.map +1 -1
  9. package/lib/enrollments/licensed.d.ts.map +1 -1
  10. package/lib/enrollments/licensed.js +1 -1
  11. package/lib/enrollments/licensed.js.map +1 -1
  12. package/lib/events/aws-eventbridge.d.ts +2 -0
  13. package/lib/events/aws-eventbridge.d.ts.map +1 -0
  14. package/lib/events/aws-eventbridge.js +36 -0
  15. package/lib/events/aws-eventbridge.js.map +1 -0
  16. package/lib/events/node-event-emitter.js +1 -2
  17. package/lib/events/node-event-emitter.js.map +1 -1
  18. package/lib/events/redis.js +4 -2
  19. package/lib/events/redis.js.map +1 -1
  20. package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -1
  21. package/lib/files/gridfs/gridfs-adapter.js +14 -5
  22. package/lib/files/gridfs/gridfs-adapter.js.map +1 -1
  23. package/lib/files/gridfs/gridfs-webhook.d.ts +1 -1
  24. package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -1
  25. package/lib/files/gridfs/gridfs-webhook.js +25 -6
  26. package/lib/files/gridfs/gridfs-webhook.js.map +1 -1
  27. package/lib/files/gridfs/sign.d.ts +1 -1
  28. package/lib/files/gridfs/sign.d.ts.map +1 -1
  29. package/lib/files/gridfs/sign.js +8 -7
  30. package/lib/files/gridfs/sign.js.map +1 -1
  31. package/lib/files/minio/minio-adapter.d.ts.map +1 -1
  32. package/lib/files/minio/minio-adapter.js +13 -9
  33. package/lib/files/minio/minio-adapter.js.map +1 -1
  34. package/lib/files/minio/minio-webhook.d.ts.map +1 -1
  35. package/lib/files/minio/minio-webhook.js +4 -3
  36. package/lib/files/minio/minio-webhook.js.map +1 -1
  37. package/lib/filters/local-search.d.ts +1 -1
  38. package/lib/filters/local-search.d.ts.map +1 -1
  39. package/lib/filters/local-search.js +1 -1
  40. package/lib/filters/local-search.js.map +1 -1
  41. package/lib/filters/strict-equal.js +1 -1
  42. package/lib/filters/strict-equal.js.map +1 -1
  43. package/lib/payment/apple-iap/adapter.d.ts.map +1 -1
  44. package/lib/payment/apple-iap/adapter.js +15 -20
  45. package/lib/payment/apple-iap/adapter.js.map +1 -1
  46. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -1
  47. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +1 -1
  48. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +1 -1
  49. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -1
  50. package/lib/payment/braintree.js +10 -8
  51. package/lib/payment/braintree.js.map +1 -1
  52. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -1
  53. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +1 -1
  54. package/lib/payment/cryptopay/middleware.d.ts.map +1 -1
  55. package/lib/payment/cryptopay/middleware.js +4 -4
  56. package/lib/payment/cryptopay/middleware.js.map +1 -1
  57. package/lib/payment/cryptopay/plugin.d.ts +1 -1
  58. package/lib/payment/cryptopay/plugin.d.ts.map +1 -1
  59. package/lib/payment/cryptopay/plugin.js +8 -9
  60. package/lib/payment/cryptopay/plugin.js.map +1 -1
  61. package/lib/payment/datatrans-v2/api/authorize.d.ts +1 -1
  62. package/lib/payment/datatrans-v2/api/authorize.d.ts.map +1 -1
  63. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.d.ts +1 -1
  64. package/lib/payment/datatrans-v2/api/authorizeAuthenticated.d.ts.map +1 -1
  65. package/lib/payment/datatrans-v2/api/cancel.d.ts +1 -1
  66. package/lib/payment/datatrans-v2/api/cancel.d.ts.map +1 -1
  67. package/lib/payment/datatrans-v2/api/init.d.ts +1 -1
  68. package/lib/payment/datatrans-v2/api/init.d.ts.map +1 -1
  69. package/lib/payment/datatrans-v2/api/makeFetcher.d.ts.map +1 -1
  70. package/lib/payment/datatrans-v2/api/makeFetcher.js +0 -1
  71. package/lib/payment/datatrans-v2/api/makeFetcher.js.map +1 -1
  72. package/lib/payment/datatrans-v2/api/secureFields.d.ts +1 -1
  73. package/lib/payment/datatrans-v2/api/secureFields.d.ts.map +1 -1
  74. package/lib/payment/datatrans-v2/api/settle.d.ts +1 -1
  75. package/lib/payment/datatrans-v2/api/settle.d.ts.map +1 -1
  76. package/lib/payment/datatrans-v2/api/status.d.ts +1 -1
  77. package/lib/payment/datatrans-v2/api/status.d.ts.map +1 -1
  78. package/lib/payment/datatrans-v2/api/types.d.ts +260 -0
  79. package/lib/payment/datatrans-v2/api/types.d.ts.map +1 -0
  80. package/lib/payment/datatrans-v2/api/types.js +2 -0
  81. package/lib/payment/datatrans-v2/api/types.js.map +1 -0
  82. package/lib/payment/datatrans-v2/api/validate.d.ts +1 -1
  83. package/lib/payment/datatrans-v2/api/validate.d.ts.map +1 -1
  84. package/lib/payment/datatrans-v2/generateSignature copy.d.ts +11 -0
  85. package/lib/payment/datatrans-v2/generateSignature copy.d.ts.map +1 -0
  86. package/lib/payment/datatrans-v2/generateSignature copy.js +19 -0
  87. package/lib/payment/datatrans-v2/generateSignature copy.js.map +1 -0
  88. package/lib/payment/datatrans-v2/generateSignature.d.ts +1 -1
  89. package/lib/payment/datatrans-v2/generateSignature.d.ts.map +1 -1
  90. package/lib/payment/datatrans-v2/generateSignature.js +7 -4
  91. package/lib/payment/datatrans-v2/generateSignature.js.map +1 -1
  92. package/lib/payment/datatrans-v2/index.d.ts.map +1 -1
  93. package/lib/payment/datatrans-v2/index.js +31 -29
  94. package/lib/payment/datatrans-v2/index.js.map +1 -1
  95. package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -1
  96. package/lib/payment/datatrans-v2/middleware.js +7 -5
  97. package/lib/payment/datatrans-v2/middleware.js.map +1 -1
  98. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +4 -4
  99. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +1 -1
  100. package/lib/payment/datatrans-v2/parseRegistrationData.js +5 -3
  101. package/lib/payment/datatrans-v2/parseRegistrationData.js.map +1 -1
  102. package/lib/payment/datatrans-v2/roundedAmountFromOrder.d.ts +1 -2
  103. package/lib/payment/datatrans-v2/roundedAmountFromOrder.d.ts.map +1 -1
  104. package/lib/payment/datatrans-v2/roundedAmountFromOrder.js +6 -2
  105. package/lib/payment/datatrans-v2/roundedAmountFromOrder.js.map +1 -1
  106. package/lib/payment/datatrans-v2/splitProperties.d.ts +0 -1
  107. package/lib/payment/datatrans-v2/splitProperties.d.ts.map +1 -1
  108. package/lib/payment/datatrans-v2/splitProperties.js +0 -3
  109. package/lib/payment/datatrans-v2/splitProperties.js.map +1 -1
  110. package/lib/payment/invoice-prepaid.js +4 -3
  111. package/lib/payment/invoice-prepaid.js.map +1 -1
  112. package/lib/payment/invoice.js +4 -3
  113. package/lib/payment/invoice.js.map +1 -1
  114. package/lib/payment/paypal-checkout.js +10 -6
  115. package/lib/payment/paypal-checkout.js.map +1 -1
  116. package/lib/payment/payrexx/api/makeFetcher.d.ts.map +1 -1
  117. package/lib/payment/payrexx/api/makeFetcher.js +2 -3
  118. package/lib/payment/payrexx/api/makeFetcher.js.map +1 -1
  119. package/lib/payment/payrexx/index.d.ts.map +1 -1
  120. package/lib/payment/payrexx/index.js +20 -14
  121. package/lib/payment/payrexx/index.js.map +1 -1
  122. package/lib/payment/payrexx/middleware.d.ts.map +1 -1
  123. package/lib/payment/payrexx/middleware.js +12 -9
  124. package/lib/payment/payrexx/middleware.js.map +1 -1
  125. package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
  126. package/lib/payment/postfinance-checkout/index.js +18 -13
  127. package/lib/payment/postfinance-checkout/index.js.map +1 -1
  128. package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -1
  129. package/lib/payment/postfinance-checkout/middleware.js +4 -3
  130. package/lib/payment/postfinance-checkout/middleware.js.map +1 -1
  131. package/lib/payment/postfinance-checkout/utils.d.ts +2 -2
  132. package/lib/payment/postfinance-checkout/utils.d.ts.map +1 -1
  133. package/lib/payment/postfinance-checkout/utils.js +6 -2
  134. package/lib/payment/postfinance-checkout/utils.js.map +1 -1
  135. package/lib/payment/saferpay/adapter.d.ts +1 -1
  136. package/lib/payment/saferpay/adapter.d.ts.map +1 -1
  137. package/lib/payment/saferpay/adapter.js +17 -11
  138. package/lib/payment/saferpay/adapter.js.map +1 -1
  139. package/lib/payment/saferpay/api/api/SaferpayConnection.d.ts.map +1 -1
  140. package/lib/payment/saferpay/api/api/SaferpayConnection.js +0 -1
  141. package/lib/payment/saferpay/api/api/SaferpayConnection.js.map +1 -1
  142. package/lib/payment/saferpay/api/models/TransactionCapture.d.ts +1 -1
  143. package/lib/payment/saferpay/api/models/TransactionCapture.d.ts.map +1 -1
  144. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.d.ts +1 -1
  145. package/lib/payment/saferpay/db/SaferpayTransactionsCollection.d.ts.map +1 -1
  146. package/lib/payment/saferpay/middleware.d.ts.map +1 -1
  147. package/lib/payment/saferpay/middleware.js +4 -4
  148. package/lib/payment/saferpay/middleware.js.map +1 -1
  149. package/lib/payment/stripe/index.d.ts.map +1 -1
  150. package/lib/payment/stripe/index.js +17 -11
  151. package/lib/payment/stripe/index.js.map +1 -1
  152. package/lib/payment/stripe/middleware.d.ts.map +1 -1
  153. package/lib/payment/stripe/middleware.js +10 -10
  154. package/lib/payment/stripe/middleware.js.map +1 -1
  155. package/lib/payment/stripe/stripe.d.ts +3 -4
  156. package/lib/payment/stripe/stripe.d.ts.map +1 -1
  157. package/lib/payment/stripe/stripe.js +3 -1
  158. package/lib/payment/stripe/stripe.js.map +1 -1
  159. package/lib/pricing/delivery-swiss-tax.d.ts +1 -1
  160. package/lib/pricing/delivery-swiss-tax.d.ts.map +1 -1
  161. package/lib/pricing/delivery-swiss-tax.js +1 -2
  162. package/lib/pricing/delivery-swiss-tax.js.map +1 -1
  163. package/lib/pricing/discount-100-off.d.ts +2 -3
  164. package/lib/pricing/discount-100-off.d.ts.map +1 -1
  165. package/lib/pricing/discount-100-off.js +1 -1
  166. package/lib/pricing/discount-100-off.js.map +1 -1
  167. package/lib/pricing/discount-half-price-manual.d.ts +2 -3
  168. package/lib/pricing/discount-half-price-manual.d.ts.map +1 -1
  169. package/lib/pricing/discount-half-price-manual.js +1 -1
  170. package/lib/pricing/discount-half-price-manual.js.map +1 -1
  171. package/lib/pricing/discount-half-price.d.ts +2 -3
  172. package/lib/pricing/discount-half-price.d.ts.map +1 -1
  173. package/lib/pricing/discount-half-price.js +1 -1
  174. package/lib/pricing/discount-half-price.js.map +1 -1
  175. package/lib/pricing/free-delivery.d.ts +1 -1
  176. package/lib/pricing/free-delivery.d.ts.map +1 -1
  177. package/lib/pricing/free-delivery.js +1 -1
  178. package/lib/pricing/free-delivery.js.map +1 -1
  179. package/lib/pricing/free-payment.d.ts +1 -1
  180. package/lib/pricing/free-payment.d.ts.map +1 -1
  181. package/lib/pricing/free-payment.js +1 -1
  182. package/lib/pricing/free-payment.js.map +1 -1
  183. package/lib/pricing/order-delivery.d.ts +1 -1
  184. package/lib/pricing/order-delivery.d.ts.map +1 -1
  185. package/lib/pricing/order-delivery.js +6 -3
  186. package/lib/pricing/order-delivery.js.map +1 -1
  187. package/lib/pricing/order-discount.d.ts +1 -2
  188. package/lib/pricing/order-discount.d.ts.map +1 -1
  189. package/lib/pricing/order-discount.js +15 -8
  190. package/lib/pricing/order-discount.js.map +1 -1
  191. package/lib/pricing/order-items-discount.js +7 -4
  192. package/lib/pricing/order-items-discount.js.map +1 -1
  193. package/lib/pricing/order-items.js +7 -3
  194. package/lib/pricing/order-items.js.map +1 -1
  195. package/lib/pricing/order-payment.js +6 -3
  196. package/lib/pricing/order-payment.js.map +1 -1
  197. package/lib/pricing/order-round.d.ts +1 -1
  198. package/lib/pricing/order-round.d.ts.map +1 -1
  199. package/lib/pricing/order-round.js +1 -2
  200. package/lib/pricing/order-round.js.map +1 -1
  201. package/lib/pricing/product-catalog-price.d.ts +2 -2
  202. package/lib/pricing/product-catalog-price.d.ts.map +1 -1
  203. package/lib/pricing/product-catalog-price.js +7 -6
  204. package/lib/pricing/product-catalog-price.js.map +1 -1
  205. package/lib/pricing/product-discount.js +1 -2
  206. package/lib/pricing/product-discount.js.map +1 -1
  207. package/lib/pricing/product-price-rateconversion.d.ts +1 -1
  208. package/lib/pricing/product-price-rateconversion.d.ts.map +1 -1
  209. package/lib/pricing/product-price-rateconversion.js +1 -1
  210. package/lib/pricing/product-price-rateconversion.js.map +1 -1
  211. package/lib/pricing/product-round.d.ts +1 -1
  212. package/lib/pricing/product-round.d.ts.map +1 -1
  213. package/lib/pricing/product-round.js +1 -1
  214. package/lib/pricing/product-round.js.map +1 -1
  215. package/lib/pricing/product-swiss-tax.d.ts +4 -3
  216. package/lib/pricing/product-swiss-tax.d.ts.map +1 -1
  217. package/lib/pricing/product-swiss-tax.js +1 -2
  218. package/lib/pricing/product-swiss-tax.js.map +1 -1
  219. package/lib/quotations/manual.js +1 -1
  220. package/lib/quotations/manual.js.map +1 -1
  221. package/lib/warehousing/eth-minter.js +7 -4
  222. package/lib/warehousing/eth-minter.js.map +1 -1
  223. package/lib/warehousing/store.js +2 -1
  224. package/lib/warehousing/store.js.map +1 -1
  225. package/lib/worker/BaseWorker.d.ts +30 -0
  226. package/lib/worker/BaseWorker.d.ts.map +1 -0
  227. package/lib/worker/BaseWorker.js +81 -0
  228. package/lib/worker/BaseWorker.js.map +1 -0
  229. package/lib/worker/EventListenerWorker.d.ts +6 -0
  230. package/lib/worker/EventListenerWorker.d.ts.map +1 -0
  231. package/lib/worker/EventListenerWorker.js +46 -0
  232. package/lib/worker/EventListenerWorker.js.map +1 -0
  233. package/lib/worker/FailedRescheduler.d.ts +15 -0
  234. package/lib/worker/FailedRescheduler.d.ts.map +1 -0
  235. package/lib/worker/FailedRescheduler.js +45 -0
  236. package/lib/worker/FailedRescheduler.js.map +1 -0
  237. package/lib/worker/IntervalWorker.d.ts +10 -0
  238. package/lib/worker/IntervalWorker.d.ts.map +1 -0
  239. package/lib/worker/IntervalWorker.js +37 -0
  240. package/lib/worker/IntervalWorker.js.map +1 -0
  241. package/lib/worker/bulk-import.d.ts +1 -1
  242. package/lib/worker/bulk-import.d.ts.map +1 -1
  243. package/lib/worker/bulk-import.js +7 -8
  244. package/lib/worker/bulk-import.js.map +1 -1
  245. package/lib/worker/email.d.ts.map +1 -1
  246. package/lib/worker/email.js +1 -5
  247. package/lib/worker/email.js.map +1 -1
  248. package/lib/worker/enrollment-order-generator.d.ts.map +1 -1
  249. package/lib/worker/enrollment-order-generator.js +17 -15
  250. package/lib/worker/enrollment-order-generator.js.map +1 -1
  251. package/lib/worker/error-notifications.d.ts +1 -1
  252. package/lib/worker/error-notifications.d.ts.map +1 -1
  253. package/lib/worker/error-notifications.js +1 -1
  254. package/lib/worker/error-notifications.js.map +1 -1
  255. package/lib/worker/export-token.d.ts +1 -2
  256. package/lib/worker/export-token.d.ts.map +1 -1
  257. package/lib/worker/export-token.js +2 -1
  258. package/lib/worker/export-token.js.map +1 -1
  259. package/lib/worker/external.d.ts +1 -1
  260. package/lib/worker/external.d.ts.map +1 -1
  261. package/lib/worker/external.js +1 -1
  262. package/lib/worker/external.js.map +1 -1
  263. package/lib/worker/heartbeat.js +1 -1
  264. package/lib/worker/heartbeat.js.map +1 -1
  265. package/lib/worker/http-request.d.ts +1 -1
  266. package/lib/worker/http-request.d.ts.map +1 -1
  267. package/lib/worker/http-request.js +1 -5
  268. package/lib/worker/http-request.js.map +1 -1
  269. package/lib/worker/message.d.ts +2 -2
  270. package/lib/worker/message.d.ts.map +1 -1
  271. package/lib/worker/message.js +1 -5
  272. package/lib/worker/message.js.map +1 -1
  273. package/lib/worker/push-notification.js +1 -4
  274. package/lib/worker/push-notification.js.map +1 -1
  275. package/lib/worker/sms.js +1 -4
  276. package/lib/worker/sms.js.map +1 -1
  277. package/lib/worker/update-coinbase-rates.js +1 -1
  278. package/lib/worker/update-coinbase-rates.js.map +1 -1
  279. package/lib/worker/update-ecb-rates.js +1 -1
  280. package/lib/worker/update-ecb-rates.js.map +1 -1
  281. package/lib/worker/update-token-ownership.d.ts +1 -1
  282. package/lib/worker/update-token-ownership.d.ts.map +1 -1
  283. package/lib/worker/update-token-ownership.js +1 -1
  284. package/lib/worker/update-token-ownership.js.map +1 -1
  285. package/lib/worker/zombie-killer.d.ts +8 -2
  286. package/lib/worker/zombie-killer.d.ts.map +1 -1
  287. package/lib/worker/zombie-killer.js +12 -9
  288. package/lib/worker/zombie-killer.js.map +1 -1
  289. package/package.json +37 -82
  290. package/src/delivery/pick-mup.ts +2 -3
  291. package/src/delivery/post.ts +2 -2
  292. package/src/delivery/send-message.ts +2 -2
  293. package/src/delivery/stores.ts +2 -2
  294. package/src/enrollments/licensed.ts +1 -2
  295. package/src/events/aws-eventbridge.ts +43 -0
  296. package/src/events/node-event-emitter.ts +1 -2
  297. package/src/events/redis.ts +4 -2
  298. package/src/files/gridfs/gridfs-adapter.ts +15 -5
  299. package/src/files/gridfs/gridfs-webhook.ts +29 -9
  300. package/src/files/gridfs/sign.ts +20 -8
  301. package/src/files/minio/minio-adapter.ts +14 -11
  302. package/src/files/minio/minio-webhook.ts +5 -3
  303. package/src/filters/local-search.ts +1 -2
  304. package/src/filters/strict-equal.ts +1 -2
  305. package/src/payment/apple-iap/adapter.ts +22 -40
  306. package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +1 -1
  307. package/src/payment/apple-iap/module/configureAppleTransactionsModule.ts +1 -1
  308. package/src/payment/braintree.ts +16 -9
  309. package/src/payment/cryptopay/db/CryptopayTransactions.ts +1 -1
  310. package/src/payment/cryptopay/middleware.ts +11 -8
  311. package/src/payment/cryptopay/plugin.ts +14 -11
  312. package/src/payment/datatrans-v2/api/authorize.ts +1 -1
  313. package/src/payment/datatrans-v2/api/authorizeAuthenticated.ts +1 -1
  314. package/src/payment/datatrans-v2/api/cancel.ts +1 -1
  315. package/src/payment/datatrans-v2/api/init.ts +1 -1
  316. package/src/payment/datatrans-v2/api/makeFetcher.ts +0 -1
  317. package/src/payment/datatrans-v2/api/secureFields.ts +1 -1
  318. package/src/payment/datatrans-v2/api/settle.ts +1 -1
  319. package/src/payment/datatrans-v2/api/status.ts +1 -1
  320. package/src/payment/datatrans-v2/api/validate.ts +1 -1
  321. package/src/payment/datatrans-v2/generateSignature.test.ts +15 -0
  322. package/src/payment/datatrans-v2/generateSignature.ts +18 -6
  323. package/src/payment/datatrans-v2/index.ts +41 -36
  324. package/src/payment/datatrans-v2/middleware.ts +8 -12
  325. package/src/payment/datatrans-v2/parseRegistrationData.ts +7 -5
  326. package/src/payment/datatrans-v2/roundedAmountFromOrder.ts +6 -6
  327. package/src/payment/datatrans-v2/splitProperties.ts +0 -5
  328. package/src/payment/invoice-prepaid.ts +4 -4
  329. package/src/payment/invoice.ts +4 -4
  330. package/src/payment/paypal-checkout.ts +16 -7
  331. package/src/payment/payrexx/api/makeFetcher.ts +2 -3
  332. package/src/payment/payrexx/index.ts +26 -15
  333. package/src/payment/payrexx/middleware.ts +14 -19
  334. package/src/payment/postfinance-checkout/index.ts +26 -17
  335. package/src/payment/postfinance-checkout/middleware.ts +6 -9
  336. package/src/payment/postfinance-checkout/utils.ts +6 -3
  337. package/src/payment/saferpay/adapter.ts +23 -13
  338. package/src/payment/saferpay/api/api/SaferpayConnection.ts +0 -1
  339. package/src/payment/saferpay/api/models/TransactionCapture.ts +1 -1
  340. package/src/payment/saferpay/db/SaferpayTransactionsCollection.ts +1 -1
  341. package/src/payment/saferpay/middleware.ts +6 -10
  342. package/src/payment/stripe/index.ts +23 -12
  343. package/src/payment/stripe/middleware.ts +15 -23
  344. package/src/payment/stripe/stripe.ts +6 -5
  345. package/src/pricing/delivery-swiss-tax.ts +6 -2
  346. package/src/pricing/discount-100-off.ts +4 -3
  347. package/src/pricing/discount-half-price-manual.ts +9 -5
  348. package/src/pricing/discount-half-price.ts +9 -5
  349. package/src/pricing/free-delivery.ts +1 -1
  350. package/src/pricing/free-payment.ts +1 -1
  351. package/src/pricing/order-delivery.ts +11 -8
  352. package/src/pricing/order-discount.ts +26 -11
  353. package/src/pricing/order-items-discount.ts +12 -5
  354. package/src/pricing/order-items.ts +12 -8
  355. package/src/pricing/order-payment.ts +11 -8
  356. package/src/pricing/order-round.ts +6 -2
  357. package/src/pricing/product-catalog-price.ts +12 -7
  358. package/src/pricing/product-discount.ts +5 -4
  359. package/src/pricing/product-price-rateconversion.ts +5 -2
  360. package/src/pricing/product-round.ts +5 -2
  361. package/src/pricing/product-swiss-tax.ts +5 -3
  362. package/src/quotations/manual.ts +1 -2
  363. package/src/warehousing/eth-minter.ts +11 -10
  364. package/src/warehousing/store.ts +2 -6
  365. package/src/worker/BaseWorker.ts +119 -0
  366. package/src/worker/EventListenerWorker.ts +61 -0
  367. package/src/worker/FailedRescheduler.ts +80 -0
  368. package/src/worker/IntervalWorker.ts +54 -0
  369. package/src/worker/bulk-import.ts +12 -13
  370. package/src/worker/email.ts +1 -8
  371. package/src/worker/enrollment-order-generator.ts +25 -34
  372. package/src/worker/error-notifications.ts +2 -2
  373. package/src/worker/export-token.ts +2 -8
  374. package/src/worker/external.ts +1 -2
  375. package/src/worker/heartbeat.ts +1 -2
  376. package/src/worker/http-request.ts +1 -8
  377. package/src/worker/message.ts +2 -6
  378. package/src/worker/push-notification.ts +1 -6
  379. package/src/worker/sms.ts +1 -7
  380. package/src/worker/update-coinbase-rates.ts +1 -3
  381. package/src/worker/update-ecb-rates.ts +1 -3
  382. package/src/worker/update-token-ownership.ts +1 -2
  383. package/src/worker/zombie-killer.ts +23 -23
  384. package/tsconfig.json +4 -5
  385. /package/src/payment/datatrans-v2/api/{types.d.ts → types.ts} +0 -0
@@ -1,19 +1,19 @@
1
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
2
- import { createLogger, LogLevel } from '@unchainedshop/logger';
1
+ import { WorkerDirector, WorkerAdapter, IWorkerAdapter } from '@unchainedshop/core';
2
+ import { createLogger } from '@unchainedshop/logger';
3
3
  import JSONStream from 'JSONStream';
4
4
  import { EventIterator } from 'event-iterator';
5
5
  import { UnchainedCore } from '@unchainedshop/core';
6
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
7
6
 
8
- const logger = createLogger('unchained:platform:bulk-import');
7
+ const logger = createLogger('unchained:worker:bulk-import');
9
8
 
10
- const streamPayloadToBulkImporter = async (bulkImporter, payloadId, unchainedAPI: UnchainedCore) => {
11
- logger.profile(`parseAsync`, { level: LogLevel.Verbose, message: 'parseAsync' });
9
+ const streamPayloadToBulkImporter = async (
10
+ bulkImporter,
11
+ payloadId,
12
+ unchainedAPI: Pick<UnchainedCore, 'bulkImporter' | 'modules' | 'services'>,
13
+ ) => {
14
+ logger.trace(`parseAsync start`);
12
15
 
13
- const readStream = await unchainedAPI.services.files.createDownloadStream(
14
- { fileId: payloadId },
15
- unchainedAPI,
16
- );
16
+ const readStream = await unchainedAPI.services.files.createDownloadStream({ fileId: payloadId });
17
17
 
18
18
  if (!readStream) {
19
19
  throw new Error(
@@ -48,7 +48,7 @@ const streamPayloadToBulkImporter = async (bulkImporter, payloadId, unchainedAPI
48
48
  await bulkImporter.prepare(event, unchainedAPI);
49
49
  }
50
50
 
51
- logger.profile(`parseAsync`, { level: LogLevel.Verbose, message: 'parseAsync' });
51
+ logger.trace(`parseAsync done`);
52
52
  };
53
53
 
54
54
  export const BulkImportWorker: IWorkerAdapter<any, Record<string, unknown>> = {
@@ -69,7 +69,6 @@ export const BulkImportWorker: IWorkerAdapter<any, Record<string, unknown>> = {
69
69
  } = rawPayload;
70
70
 
71
71
  const bulkImporter = unchainedAPI.bulkImporter.createBulkImporter({
72
- logger,
73
72
  createShouldUpsertIfIDExists,
74
73
  updateShouldUpsertIfIDNotExists,
75
74
  skipCacheInvalidation,
@@ -103,7 +102,7 @@ export const BulkImportWorker: IWorkerAdapter<any, Record<string, unknown>> = {
103
102
  result,
104
103
  };
105
104
  } catch (err) {
106
- logger.error(err.message, err);
105
+ logger.error(err);
107
106
  return {
108
107
  success: false,
109
108
  error: {
@@ -1,14 +1,10 @@
1
1
  import { mkdtemp, writeFile } from 'fs/promises';
2
2
  import { join, isAbsolute } from 'path';
3
3
  import { tmpdir } from 'os';
4
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
5
- import { createLogger } from '@unchainedshop/logger';
6
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
4
+ import { WorkerDirector, WorkerAdapter, IWorkerAdapter } from '@unchainedshop/core';
7
5
  import open from 'open';
8
6
  import nodemailer from 'nodemailer';
9
7
 
10
- const logger = createLogger('unchained:plugins:worker:email');
11
-
12
8
  export const checkEmailInterceptionEnabled = () => {
13
9
  return process.env.NODE_ENV !== 'production' && !process.env.UNCHAINED_DISABLE_EMAIL_INTERCEPTION;
14
10
  };
@@ -73,8 +69,6 @@ const EmailWorkerPlugin: IWorkerAdapter<
73
69
  type: 'EMAIL',
74
70
 
75
71
  doWork: async ({ from, to, subject, ...rest }) => {
76
- logger.debug(`${EmailWorkerPlugin.key} -> doWork: ${from} -> ${to} (${subject})`);
77
-
78
72
  if (!to) {
79
73
  return {
80
74
  success: false,
@@ -93,7 +87,6 @@ const EmailWorkerPlugin: IWorkerAdapter<
93
87
  ...rest,
94
88
  };
95
89
  if (checkEmailInterceptionEnabled()) {
96
- logger.verbose('unchained:platform -> Mailman detected an outgoing email');
97
90
  await openInBrowser(sendMailOptions);
98
91
  return { success: true, result: { intercepted: true } };
99
92
  }
@@ -1,26 +1,25 @@
1
1
  import { Enrollment } from '@unchainedshop/core-enrollments';
2
2
  import { OrderPosition } from '@unchainedshop/core-orders';
3
- import { Product } from '@unchainedshop/core-products';
4
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
3
+ import { enrollmentsSettings, EnrollmentStatus } from '@unchainedshop/core-enrollments';
5
4
  import {
6
5
  EnrollmentDirector,
7
- enrollmentsSettings,
8
- EnrollmentStatus,
9
- } from '@unchainedshop/core-enrollments';
10
- import { WorkerAdapter, WorkerDirector } from '@unchainedshop/core-worker';
11
- import { UnchainedCore } from '@unchainedshop/core';
6
+ UnchainedCore,
7
+ WorkerDirector,
8
+ WorkerAdapter,
9
+ IWorkerAdapter,
10
+ } from '@unchainedshop/core';
12
11
 
13
12
  const generateOrder = async (
14
13
  enrollment: Enrollment,
15
14
  params: {
16
- orderProducts: Array<{ orderPosition: OrderPosition; product: Product }>;
15
+ orderPositions: Array<OrderPosition>;
17
16
  } & { [x: string]: any },
18
- unchainedAPI: UnchainedCore,
17
+ unchainedAPI: Pick<UnchainedCore, 'modules' | 'services'>,
19
18
  ) => {
20
19
  if (!enrollment.payment || !enrollment.delivery) return null;
21
20
 
22
- const { modules } = unchainedAPI;
23
- const { orderProducts, ...configuration } = params;
21
+ const { modules, services } = unchainedAPI;
22
+ const { orderPositions, ...configuration } = params;
24
23
  let order = await modules.orders.create({
25
24
  userId: enrollment.userId,
26
25
  currency: enrollment.currencyCode,
@@ -32,46 +31,38 @@ const generateOrder = async (
32
31
  });
33
32
  const orderId = order._id;
34
33
 
35
- if (orderProducts) {
34
+ if (orderPositions) {
36
35
  await Promise.all(
37
- orderProducts.map(({ orderPosition, product }) =>
38
- modules.orders.positions.addProductItem(orderPosition, { order, product }, unchainedAPI),
39
- ),
36
+ orderPositions.map((orderPosition) => modules.orders.positions.addProductItem(orderPosition)),
40
37
  );
41
38
  } else {
42
39
  const product = await modules.products.findProduct({
43
40
  productId: enrollment.productId,
44
41
  });
45
- await modules.orders.positions.addProductItem(
46
- { quantity: 1 },
47
- {
48
- order,
49
- product,
50
- },
51
- unchainedAPI,
52
- );
42
+ await modules.orders.positions.addProductItem({
43
+ quantity: 1,
44
+ productId: product._id,
45
+ originalProductId: product._id,
46
+ orderId: order._id,
47
+ });
53
48
  }
54
49
 
55
50
  const { paymentProviderId, context: paymentContext } = enrollment.payment;
56
51
  if (paymentProviderId) {
57
- await modules.orders.setPaymentProvider(orderId, paymentProviderId, unchainedAPI);
52
+ await modules.orders.setPaymentProvider(orderId, paymentProviderId);
58
53
  }
59
54
 
60
55
  const { deliveryProviderId, context: deliveryContext } = enrollment.delivery;
61
56
  if (deliveryProviderId) {
62
- await modules.orders.setDeliveryProvider(orderId, deliveryProviderId, unchainedAPI);
57
+ await modules.orders.setDeliveryProvider(orderId, deliveryProviderId);
63
58
  }
64
59
 
65
- await modules.orders.updateCalculation(orderId, unchainedAPI);
60
+ await services.orders.updateCalculation(orderId);
66
61
 
67
- order = await modules.orders.checkout(
68
- order._id,
69
- {
70
- paymentContext,
71
- deliveryContext,
72
- },
73
- unchainedAPI,
74
- );
62
+ order = await services.orders.checkoutOrder(order._id, {
63
+ paymentContext,
64
+ deliveryContext,
65
+ });
75
66
 
76
67
  return order;
77
68
  };
@@ -1,5 +1,5 @@
1
- import { IWorkerAdapter, WorkStatus } from '@unchainedshop/core-worker';
2
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { WorkStatus } from '@unchainedshop/core-worker';
2
+ import { IWorkerAdapter, WorkerDirector, WorkerAdapter } from '@unchainedshop/core';
3
3
  import later from '@breejs/later';
4
4
 
5
5
  type Arg = {
@@ -1,11 +1,5 @@
1
- import {
2
- WorkerDirector,
3
- WorkerAdapter,
4
- WorkerEventTypes,
5
- Work,
6
- IWorkerAdapter,
7
- } from '@unchainedshop/core-worker';
8
- import { UnchainedCore } from '@unchainedshop/core';
1
+ import { WorkerEventTypes, Work } from '@unchainedshop/core-worker';
2
+ import { IWorkerAdapter, UnchainedCore, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
9
3
  import { subscribe } from '@unchainedshop/events';
10
4
 
11
5
  export const ExportTokenWorker: IWorkerAdapter<void, void> = {
@@ -1,5 +1,4 @@
1
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
2
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
3
2
 
4
3
  export const ExternalWorkerPlugin: IWorkerAdapter<void, void> = {
5
4
  ...WorkerAdapter,
@@ -1,5 +1,4 @@
1
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
2
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
3
2
 
4
3
  const wait = async (time: number) => {
5
4
  return new Promise((resolve) => {
@@ -1,7 +1,4 @@
1
- /// <reference lib="dom" />
2
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
3
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
4
- import { log, LogLevel } from '@unchainedshop/logger';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
5
2
 
6
3
  const postFetch = async (url, { data, headers }) => {
7
4
  return fetch(url, {
@@ -33,10 +30,6 @@ const HttpRequestWorkerPlugin: IWorkerAdapter<
33
30
  type: 'HTTP_REQUEST',
34
31
 
35
32
  async doWork({ url, data = {}, headers, method = 'POST' } = { method: 'POST' }) {
36
- log(`${this.key} -> doWork: ${method} ${url} ${data}`, {
37
- level: LogLevel.Debug,
38
- });
39
-
40
33
  if (!url) {
41
34
  return {
42
35
  success: false,
@@ -1,8 +1,5 @@
1
- import { MessagingDirector } from '@unchainedshop/core-messaging';
2
- import { WorkerAdapter, WorkerDirector, IWorkerAdapter, Work } from '@unchainedshop/core-worker';
3
- import { createLogger } from '@unchainedshop/logger';
4
-
5
- export const messagingLogger = createLogger('unchained:core-messaging');
1
+ import { MessagingDirector, IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
2
+ import { Work } from '@unchainedshop/core-worker';
6
3
 
7
4
  export const MessageWorker: IWorkerAdapter<
8
5
  { template: string; _id?: string; [x: string]: any },
@@ -42,7 +39,6 @@ export const MessageWorker: IWorkerAdapter<
42
39
  }
43
40
  return { success: true, result: { info: 'Skipped Message' } };
44
41
  } catch (err) {
45
- messagingLogger.warn(err.stack);
46
42
  return {
47
43
  success: false,
48
44
  error: {
@@ -1,12 +1,8 @@
1
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
2
- import { createLogger } from '@unchainedshop/logger';
3
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
4
2
  import webPush from 'web-push';
5
3
 
6
4
  const { PUSH_NOTIFICATION_PUBLIC_KEY, PUSH_NOTIFICATION_PRIVATE_KEY } = process.env;
7
5
 
8
- const logger = createLogger('unchained:plugins:worker:push-notification');
9
-
10
6
  type NotificationOptions = {
11
7
  vapidDetails: {
12
8
  subject: string;
@@ -38,7 +34,6 @@ const PushNotificationWorkerPlugin: IWorkerAdapter<
38
34
  type: 'PUSH',
39
35
 
40
36
  doWork: async ({ subscription, subject, payload, urgency = null, topic = null }) => {
41
- logger.debug(`${PushNotificationWorkerPlugin.key} -> doWork: Push -> ${subject}`);
42
37
  if (!PUSH_NOTIFICATION_PUBLIC_KEY)
43
38
  return {
44
39
  success: false,
package/src/worker/sms.ts CHANGED
@@ -1,12 +1,8 @@
1
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
2
- import { createLogger } from '@unchainedshop/logger';
3
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
4
2
  import Twilio from 'twilio';
5
3
 
6
4
  const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_SMS_FROM } = process.env;
7
5
 
8
- const logger = createLogger('unchained:plugins:worker:sms');
9
-
10
6
  /* Potential: no need for twilio npm
11
7
  curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json" \
12
8
  --data-urlencode "From=+15017122661" \
@@ -32,8 +28,6 @@ const SmsWorkerPlugin: IWorkerAdapter<
32
28
  type: 'SMS',
33
29
 
34
30
  doWork: async ({ from, to, text }) => {
35
- logger.debug(`${SmsWorkerPlugin.key} -> doWork: ${from} -> ${to}`);
36
-
37
31
  if (!TWILIO_SMS_FROM && !from) {
38
32
  return {
39
33
  success: false,
@@ -1,6 +1,4 @@
1
- /// <reference lib="dom" />
2
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
3
- import { WorkerAdapter, WorkerDirector } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
4
2
  import later from '@breejs/later';
5
3
  import { ProductPriceRate } from '@unchainedshop/core-products';
6
4
  import { resolveBestCurrency } from '@unchainedshop/utils';
@@ -1,6 +1,4 @@
1
- /// <reference lib="dom" />
2
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
3
- import { WorkerAdapter, WorkerDirector } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
4
2
  import later from '@breejs/later';
5
3
  import { xml2json } from 'xml-js';
6
4
  import { ProductPriceRate } from '@unchainedshop/core-products';
@@ -1,5 +1,4 @@
1
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
2
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
3
2
  import later from '@breejs/later';
4
3
 
5
4
  const everyMinute = later.parse.cron('* * * * *');
@@ -1,15 +1,15 @@
1
- import { IWorkerAdapter } from '@unchainedshop/core-worker';
2
- import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
3
- import { createLogger } from '@unchainedshop/logger';
4
-
5
- const logger = createLogger('unchained:platform:zombie-killer');
1
+ import { IWorkerAdapter, WorkerAdapter, WorkerDirector } from '@unchainedshop/core';
6
2
 
7
3
  export const ZombieKillerWorker: IWorkerAdapter<
8
- never,
4
+ { bulkImportMaxAgeInDays: number },
9
5
  {
10
6
  deletedProductMediaCount: number;
11
7
  deletedAssortmentMediaCount: number;
12
8
  deletedFilesCount: number;
9
+ deletedFilterTextsCount: number;
10
+ deletedProductTextsCount: number;
11
+ deletedProductVariationsCount: number;
12
+ deletedAssortmentTextsCount: number;
13
13
  }
14
14
  > = {
15
15
  ...WorkerAdapter,
@@ -19,7 +19,7 @@ export const ZombieKillerWorker: IWorkerAdapter<
19
19
  version: '1.0.0',
20
20
  type: 'ZOMBIE_KILLER',
21
21
 
22
- doWork: async (_, unchainedAPI) => {
22
+ doWork: async ({ bulkImportMaxAgeInDays } = { bulkImportMaxAgeInDays: 5 }, unchainedAPI) => {
23
23
  const { modules, services } = unchainedAPI;
24
24
 
25
25
  try {
@@ -49,11 +49,7 @@ export const ZombieKillerWorker: IWorkerAdapter<
49
49
  });
50
50
 
51
51
  // Remove unreferenced product entities
52
- const products = await modules.products.findProducts(
53
- { includeDrafts: true },
54
- { projection: { _id: 1 } },
55
- );
56
- const productIds = products.map((a) => a._id);
52
+ const productIds = await modules.products.findProductIds({ includeDrafts: true });
57
53
  const deletedProductTextsCount = await modules.products.texts.deleteMany({
58
54
  excludedProductIds: productIds,
59
55
  });
@@ -82,20 +78,25 @@ export const ZombieKillerWorker: IWorkerAdapter<
82
78
  )
83
79
  ).map((a) => a._id);
84
80
 
85
- const fileIdsToRemove = allFileIdsRelevant.filter((fileId) => {
86
- return !allFileIdsLinked.includes(fileId);
87
- });
81
+ const fileIdsToRemove =
82
+ allFileIdsRelevant.filter((fileId) => {
83
+ return !allFileIdsLinked.includes(fileId);
84
+ }) || [];
88
85
 
89
- logger.verbose(`File Id's to remove: ${fileIdsToRemove.join(', ')}`);
86
+ // Remove bulk import streams older than X days
87
+ const bulkImportMedia = await await modules.files.findFiles({
88
+ path: 'bulk-import-streams',
89
+ created: { $lt: new Date(Date.now() - 1000 * 60 * 60 * 24 * bulkImportMaxAgeInDays) },
90
+ });
91
+ bulkImportMedia.forEach(async (media) => {
92
+ fileIdsToRemove.push(media._id);
93
+ });
90
94
 
91
95
  const deletedFilesCount =
92
96
  fileIdsToRemove.length > 0
93
- ? await services.files.removeFiles(
94
- {
95
- fileIds: fileIdsToRemove,
96
- },
97
- unchainedAPI,
98
- )
97
+ ? await services.files.removeFiles({
98
+ fileIds: fileIdsToRemove,
99
+ })
99
100
  : 0;
100
101
 
101
102
  // Return delete count
@@ -121,7 +122,6 @@ export const ZombieKillerWorker: IWorkerAdapter<
121
122
  result,
122
123
  };
123
124
  } catch (err) {
124
- logger.error(err.message, err);
125
125
  return {
126
126
  success: false,
127
127
  error: {
package/tsconfig.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "extends": "../shared/base.tsconfig.json",
3
3
  "compilerOptions": {
4
- "skipLibCheck": true,
5
- "rootDir": "src",
6
- "outDir": "lib"
4
+ "declarationDir": "./lib",
5
+ "rootDir": "./src",
6
+ "outDir": "./lib"
7
7
  },
8
- "exclude": ["**/*.test.ts", "**/*.test.js", "tests"],
9
- "include": ["./src"]
8
+ "exclude": ["**/*.test.ts", "**/*.test.js", "tests", "lib"]
10
9
  }