@unchainedshop/plugins 4.0.0-rc.16 → 4.0.0-rc.18
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.
- package/lib/accounts/google-oauth.d.ts +4 -0
- package/lib/accounts/google-oauth.d.ts.map +1 -0
- package/lib/accounts/google-oauth.js +145 -0
- package/lib/accounts/google-oauth.js.map +1 -0
- package/lib/accounts/linkedin-oauth.d.ts +4 -0
- package/lib/accounts/linkedin-oauth.d.ts.map +1 -0
- package/lib/accounts/linkedin-oauth.js +82 -0
- package/lib/accounts/linkedin-oauth.js.map +1 -0
- package/lib/delivery/send-message.js.map +1 -1
- package/lib/enrollments/licensed.js +15 -2
- package/lib/enrollments/licensed.js.map +1 -1
- package/lib/files/gridfs/adapter.js +1 -1
- package/lib/files/gridfs/adapter.js.map +1 -1
- package/lib/files/gridfs/gridfs-adapter.d.ts +3 -0
- package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -0
- package/lib/files/gridfs/gridfs-adapter.js +97 -0
- package/lib/files/gridfs/gridfs-adapter.js.map +1 -0
- package/lib/files/gridfs/gridfs-webhook.d.ts +11 -0
- package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -0
- package/lib/files/gridfs/gridfs-webhook.js +84 -0
- package/lib/files/gridfs/gridfs-webhook.js.map +1 -0
- package/lib/files/gridfs/handler-express.d.ts.map +1 -1
- package/lib/files/gridfs/handler-express.js +6 -2
- package/lib/files/gridfs/handler-express.js.map +1 -1
- package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
- package/lib/files/gridfs/handler-fastify.js +11 -2
- package/lib/files/gridfs/handler-fastify.js.map +1 -1
- package/lib/files/gridfs/module.d.ts +2 -2
- package/lib/files/minio/handler-express.js +1 -1
- package/lib/files/minio/handler-express.js.map +1 -1
- package/lib/files/minio/handler-fastify.js +1 -1
- package/lib/files/minio/handler-fastify.js.map +1 -1
- package/lib/files/minio/index.d.ts +1 -1
- package/lib/files/minio/index.d.ts.map +1 -1
- package/lib/files/minio/index.js +3 -3
- package/lib/files/minio/index.js.map +1 -1
- package/lib/files/minio/minio-adapter.d.ts +6 -0
- package/lib/files/minio/minio-adapter.d.ts.map +1 -0
- package/lib/files/minio/minio-adapter.js +181 -0
- package/lib/files/minio/minio-adapter.js.map +1 -0
- package/lib/files/minio/minio-webhook.d.ts +2 -0
- package/lib/files/minio/minio-webhook.d.ts.map +1 -0
- package/lib/files/minio/minio-webhook.js +33 -0
- package/lib/files/minio/minio-webhook.js.map +1 -0
- package/lib/filters/local-search.js +1 -1
- package/lib/filters/local-search.js.map +1 -1
- package/lib/payment/apple-iap/adapter.js +12 -10
- package/lib/payment/apple-iap/adapter.js.map +1 -1
- package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -1
- package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-express.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-express.js +11 -4
- package/lib/payment/apple-iap/handler-express.js.map +1 -1
- package/lib/payment/apple-iap/handler-fastify.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-fastify.js +13 -6
- package/lib/payment/apple-iap/handler-fastify.js.map +1 -1
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +9 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js +17 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +1 -0
- package/lib/payment/apple-iap/module.d.ts +4 -4
- package/lib/payment/apple-iap/module.d.ts.map +1 -1
- package/lib/payment/apple-iap/module.js +4 -2
- package/lib/payment/apple-iap/module.js.map +1 -1
- package/lib/payment/braintree.js +3 -1
- package/lib/payment/braintree.js.map +1 -1
- package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -1
- package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-btc-address.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-btc-address.js +2 -3
- package/lib/payment/cryptopay/derive-btc-address.js.map +1 -1
- package/lib/payment/cryptopay/derive-eth-address.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-eth-address.js +2 -0
- package/lib/payment/cryptopay/derive-eth-address.js.map +1 -1
- package/lib/payment/cryptopay/handle-webhook.js +2 -2
- package/lib/payment/cryptopay/handle-webhook.js.map +1 -1
- package/lib/payment/cryptopay/handler-express.js +1 -1
- package/lib/payment/cryptopay/handler-express.js.map +1 -1
- package/lib/payment/cryptopay/handler-fastify.js +1 -1
- package/lib/payment/cryptopay/handler-fastify.js.map +1 -1
- package/lib/payment/cryptopay/middleware.d.ts +2 -0
- package/lib/payment/cryptopay/middleware.d.ts.map +1 -0
- package/lib/payment/cryptopay/middleware.js +75 -0
- package/lib/payment/cryptopay/middleware.js.map +1 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +25 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +1 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.js +75 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +1 -0
- package/lib/payment/cryptopay/module.d.ts +2 -2
- package/lib/payment/cryptopay/module.d.ts.map +1 -1
- package/lib/payment/cryptopay/module.js +4 -4
- package/lib/payment/cryptopay/module.js.map +1 -1
- package/lib/payment/cryptopay/plugin.d.ts.map +1 -1
- package/lib/payment/cryptopay/plugin.js +18 -4
- package/lib/payment/cryptopay/plugin.js.map +1 -1
- package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -1
- package/lib/payment/datatrans-v2/handler-express.js +8 -1
- package/lib/payment/datatrans-v2/handler-express.js.map +1 -1
- package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +1 -1
- package/lib/payment/datatrans-v2/handler-fastify.js +7 -1
- package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -1
- package/lib/payment/datatrans-v2/index.js +63 -37
- package/lib/payment/datatrans-v2/index.js.map +1 -1
- package/lib/payment/datatrans-v2/middleware.d.ts +2 -0
- package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -0
- package/lib/payment/datatrans-v2/middleware.js +68 -0
- package/lib/payment/datatrans-v2/middleware.js.map +1 -0
- package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +1 -1
- package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +1 -1
- package/lib/payment/paypal-checkout.js +4 -2
- package/lib/payment/paypal-checkout.js.map +1 -1
- package/lib/payment/payrexx/api/index.d.ts +1 -1
- package/lib/payment/payrexx/api/index.d.ts.map +1 -1
- package/lib/payment/payrexx/api/makeFetcher.d.ts +1 -1
- package/lib/payment/payrexx/api/makeFetcher.d.ts.map +1 -1
- package/lib/payment/payrexx/api/makeFetcher.js +1 -1
- package/lib/payment/payrexx/api/makeFetcher.js.map +1 -1
- package/lib/payment/payrexx/handler-express.d.ts.map +1 -1
- package/lib/payment/payrexx/handler-express.js +3 -1
- package/lib/payment/payrexx/handler-express.js.map +1 -1
- package/lib/payment/payrexx/handler-fastify.d.ts.map +1 -1
- package/lib/payment/payrexx/handler-fastify.js +3 -1
- package/lib/payment/payrexx/handler-fastify.js.map +1 -1
- package/lib/payment/payrexx/index.js +21 -15
- package/lib/payment/payrexx/index.js.map +1 -1
- package/lib/payment/payrexx/middleware.d.ts +2 -0
- package/lib/payment/payrexx/middleware.d.ts.map +1 -0
- package/lib/payment/payrexx/middleware.js +86 -0
- package/lib/payment/payrexx/middleware.js.map +1 -0
- package/lib/payment/postfinance-checkout/handler-express.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/handler-express.js +4 -2
- package/lib/payment/postfinance-checkout/handler-express.js.map +1 -1
- package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/handler-fastify.js +4 -2
- package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -1
- package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/index.js +20 -7
- package/lib/payment/postfinance-checkout/index.js.map +1 -1
- package/lib/payment/postfinance-checkout/middleware.d.ts +2 -0
- package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -0
- package/lib/payment/postfinance-checkout/middleware.js +38 -0
- package/lib/payment/postfinance-checkout/middleware.js.map +1 -0
- package/lib/payment/saferpay/adapter.d.ts.map +1 -1
- package/lib/payment/saferpay/adapter.js +9 -0
- package/lib/payment/saferpay/adapter.js.map +1 -1
- package/lib/payment/saferpay/handler-express.d.ts.map +1 -1
- package/lib/payment/saferpay/handler-express.js +3 -1
- package/lib/payment/saferpay/handler-express.js.map +1 -1
- package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -1
- package/lib/payment/saferpay/handler-fastify.js +3 -1
- package/lib/payment/saferpay/handler-fastify.js.map +1 -1
- package/lib/payment/saferpay/middleware.d.ts +2 -0
- package/lib/payment/saferpay/middleware.d.ts.map +1 -0
- package/lib/payment/saferpay/middleware.js +57 -0
- package/lib/payment/saferpay/middleware.js.map +1 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +10 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +1 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js +24 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +1 -0
- package/lib/payment/saferpay/module.d.ts +2 -2
- package/lib/payment/stripe/handler-express.d.ts.map +1 -1
- package/lib/payment/stripe/handler-express.js +9 -1
- package/lib/payment/stripe/handler-express.js.map +1 -1
- package/lib/payment/stripe/handler-fastify.d.ts.map +1 -1
- package/lib/payment/stripe/handler-fastify.js +9 -1
- package/lib/payment/stripe/handler-fastify.js.map +1 -1
- package/lib/payment/stripe/index.js +19 -13
- package/lib/payment/stripe/index.js.map +1 -1
- package/lib/payment/stripe/middleware.d.ts +6 -0
- package/lib/payment/stripe/middleware.d.ts.map +1 -0
- package/lib/payment/stripe/middleware.js +114 -0
- package/lib/payment/stripe/middleware.js.map +1 -0
- package/lib/payment/stripe/stripe.d.ts +2 -2
- package/lib/payment/stripe/stripe.d.ts.map +1 -1
- package/lib/payment/stripe/stripe.js +14 -11
- package/lib/payment/stripe/stripe.js.map +1 -1
- package/lib/plugins-index.d.ts +48 -0
- package/lib/plugins-index.d.ts.map +1 -0
- package/lib/plugins-index.js +107 -0
- package/lib/plugins-index.js.map +1 -0
- package/lib/presets/all.d.ts +5 -5
- package/lib/presets/all.d.ts.map +1 -1
- package/lib/pricing/delivery-swiss-tax.d.ts.map +1 -1
- package/lib/pricing/delivery-swiss-tax.js +13 -11
- package/lib/pricing/delivery-swiss-tax.js.map +1 -1
- package/lib/pricing/order-discount.d.ts.map +1 -1
- package/lib/pricing/order-discount.js +5 -3
- package/lib/pricing/order-discount.js.map +1 -1
- package/lib/pricing/order-round.d.ts.map +1 -1
- package/lib/pricing/order-round.js +4 -3
- package/lib/pricing/order-round.js.map +1 -1
- package/lib/pricing/product-catalog-price.js +4 -4
- package/lib/pricing/product-catalog-price.js.map +1 -1
- package/lib/pricing/product-price-rateconversion.js +3 -3
- package/lib/pricing/product-price-rateconversion.js.map +1 -1
- package/lib/pricing/product-swiss-tax.d.ts +1 -4
- package/lib/pricing/product-swiss-tax.d.ts.map +1 -1
- package/lib/pricing/product-swiss-tax.js +9 -15
- package/lib/pricing/product-swiss-tax.js.map +1 -1
- package/lib/pricing/tax/ch.d.ts +6 -0
- package/lib/pricing/tax/ch.d.ts.map +1 -1
- package/lib/pricing/tax/ch.js +10 -0
- package/lib/pricing/tax/ch.js.map +1 -1
- package/lib/warehousing/eth-minter.js +23 -11
- package/lib/warehousing/eth-minter.js.map +1 -1
- package/lib/worker/BaseWorker.d.ts +30 -0
- package/lib/worker/BaseWorker.d.ts.map +1 -0
- package/lib/worker/BaseWorker.js +79 -0
- package/lib/worker/BaseWorker.js.map +1 -0
- package/lib/worker/EventListenerWorker.d.ts +6 -0
- package/lib/worker/EventListenerWorker.d.ts.map +1 -0
- package/lib/worker/EventListenerWorker.js +46 -0
- package/lib/worker/EventListenerWorker.js.map +1 -0
- package/lib/worker/FailedRescheduler.d.ts +15 -0
- package/lib/worker/FailedRescheduler.d.ts.map +1 -0
- package/lib/worker/FailedRescheduler.js +45 -0
- package/lib/worker/FailedRescheduler.js.map +1 -0
- package/lib/worker/IntervalWorker.d.ts +10 -0
- package/lib/worker/IntervalWorker.d.ts.map +1 -0
- package/lib/worker/IntervalWorker.js +37 -0
- package/lib/worker/IntervalWorker.js.map +1 -0
- package/lib/worker/bulk-import.d.ts +1 -1
- package/lib/worker/bulk-import.d.ts.map +1 -1
- package/lib/worker/bulk-import.js +5 -4
- package/lib/worker/bulk-import.js.map +1 -1
- package/lib/worker/enrollment-order-generator.d.ts.map +1 -1
- package/lib/worker/enrollment-order-generator.js +7 -49
- package/lib/worker/enrollment-order-generator.js.map +1 -1
- package/lib/worker/error-notifications.js +1 -1
- package/lib/worker/error-notifications.js.map +1 -1
- package/lib/worker/export-token.d.ts.map +1 -1
- package/lib/worker/export-token.js +0 -1
- package/lib/worker/export-token.js.map +1 -1
- package/lib/worker/message.d.ts +1 -1
- package/lib/worker/message.d.ts.map +1 -1
- package/lib/worker/message.js +4 -2
- package/lib/worker/message.js.map +1 -1
- package/lib/worker/sms.d.ts +2 -0
- package/lib/worker/sms.d.ts.map +1 -0
- package/lib/worker/sms.js +73 -0
- package/lib/worker/sms.js.map +1 -0
- package/lib/worker/twilio.js +4 -0
- package/lib/worker/twilio.js.map +1 -1
- package/package.json +15 -15
- package/src/delivery/send-message.ts +1 -1
- package/src/enrollments/licensed.ts +15 -2
- package/src/files/gridfs/adapter.ts +1 -1
- package/src/files/gridfs/handler-express.ts +8 -2
- package/src/files/gridfs/handler-fastify.ts +13 -2
- package/src/files/minio/handler-express.ts +1 -1
- package/src/files/minio/handler-fastify.ts +1 -1
- package/src/files/minio/index.ts +12 -12
- package/src/filters/local-search.ts +1 -1
- package/src/payment/apple-iap/adapter.ts +12 -14
- package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +1 -1
- package/src/payment/apple-iap/handler-express.ts +14 -5
- package/src/payment/apple-iap/handler-fastify.ts +17 -7
- package/src/payment/apple-iap/module.ts +9 -4
- package/src/payment/braintree.ts +4 -1
- package/src/payment/cryptopay/db/CryptopayTransactions.ts +1 -1
- package/src/payment/cryptopay/derive-btc-address.ts +1 -3
- package/src/payment/cryptopay/derive-eth-address.ts +2 -0
- package/src/payment/cryptopay/handle-webhook.ts +6 -6
- package/src/payment/cryptopay/handler-express.ts +1 -1
- package/src/payment/cryptopay/handler-fastify.ts +1 -1
- package/src/payment/cryptopay/module.ts +8 -5
- package/src/payment/cryptopay/plugin.ts +21 -4
- package/src/payment/datatrans-v2/handler-express.ts +12 -2
- package/src/payment/datatrans-v2/handler-fastify.ts +11 -2
- package/src/payment/datatrans-v2/index.ts +82 -50
- package/src/payment/paypal-checkout.ts +4 -2
- package/src/payment/payrexx/api/index.ts +1 -1
- package/src/payment/payrexx/api/makeFetcher.ts +2 -2
- package/src/payment/payrexx/handler-express.ts +3 -1
- package/src/payment/payrexx/handler-fastify.ts +5 -4
- package/src/payment/payrexx/index.ts +26 -16
- package/src/payment/postfinance-checkout/handler-express.ts +5 -2
- package/src/payment/postfinance-checkout/handler-fastify.ts +5 -2
- package/src/payment/postfinance-checkout/index.ts +20 -8
- package/src/payment/saferpay/adapter.ts +14 -2
- package/src/payment/saferpay/handler-express.ts +4 -1
- package/src/payment/saferpay/handler-fastify.ts +4 -1
- package/src/payment/stripe/handler-express.ts +9 -1
- package/src/payment/stripe/handler-fastify.ts +9 -1
- package/src/payment/stripe/index.ts +17 -13
- package/src/payment/stripe/stripe.ts +17 -12
- package/src/pricing/delivery-swiss-tax.ts +11 -19
- package/src/pricing/order-discount.ts +6 -4
- package/src/pricing/order-round.ts +5 -4
- package/src/pricing/product-catalog-price.ts +4 -4
- package/src/pricing/product-price-rateconversion.ts +3 -3
- package/src/pricing/product-swiss-tax.test.ts +1 -86
- package/src/pricing/product-swiss-tax.ts +11 -24
- package/src/pricing/tax/ch.test.ts +86 -1
- package/src/pricing/tax/ch.ts +23 -0
- package/src/warehousing/eth-minter.ts +30 -11
- package/src/worker/budgetsms.ts +1 -1
- package/src/worker/bulk-import.ts +6 -7
- package/src/worker/enrollment-order-generator.ts +14 -72
- package/src/worker/error-notifications.ts +2 -2
- package/src/worker/export-token.ts +0 -1
- package/src/worker/message.ts +5 -3
- package/src/worker/twilio.ts +10 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-swiss-tax.js","sourceRoot":"","sources":["../../src/pricing/delivery-swiss-tax.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery-swiss-tax.js","sourceRoot":"","sources":["../../src/pricing/delivery-swiss-tax.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjF,MAAM,UAAU,GAAG,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAkD,EAAE,EAAE;IACzF,MAAM,uBAAuB,GAAG,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QACxE,IAAI,GAAG,KAAK,oBAAoB;YAAE,OAAO,IAAI,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,EAAE,KAAK,CAAC;IAEV,MAAM,WAAW,GAAG,uBAAuB;QACzC,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,IAAI,kBAAkB,CAAC,OAAO;QAC3E,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC;IAC/B,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA4B;IACvD,GAAG,sBAAsB;IAEzB,GAAG,EAAE,2CAA2C;IAChD,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kCAAkC;IACzC,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;QAC1B,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QACzC,OAAO,8BAA8B,CAAC;YACpC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAE3B,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBACpC,sBAAsB,CAAC,GAAG,CAAC,0CAA0C,OAAO,EAAE,CAAC,CAAC;gBAChF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;oBACvF,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;wBAC1D,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;4BAC5C,GAAG,GAAG;4BACN,MAAM,EAAE,CAAC,SAAS;4BAClB,SAAS,EAAE,KAAK;4BAChB,UAAU,EAAE,KAAK;4BACjB,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE;yBACxC,CAAC,CAAC;wBACH,cAAc,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;4BAClC,MAAM,EAAE,SAAS;4BACjB,IAAI,EAAE,OAAO;4BACb,YAAY,EAAE,0BAA0B,CAAC,QAAQ;4BACjD,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE;yBACxC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC;wBACvC,cAAc,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;4BAClC,MAAM,EAAE,SAAS;4BACjB,IAAI,EAAE,OAAO;4BACb,YAAY,EAAE,0BAA0B,CAAC,QAAQ;4BACjD,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE;yBACxC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,uBAAuB,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-discount.d.ts","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAIpB,0BAA0B,EAK3B,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,aAAa,EAAE,oBAAoB,CAAC,0BAA0B,
|
|
1
|
+
{"version":3,"file":"order-discount.d.ts","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAIpB,0BAA0B,EAK3B,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,aAAa,EAAE,oBAAoB,CAAC,0BAA0B,CA2G1E,CAAC"}
|
|
@@ -15,6 +15,8 @@ export const OrderDiscount = {
|
|
|
15
15
|
return {
|
|
16
16
|
...pricingAdapter,
|
|
17
17
|
calculate: async () => {
|
|
18
|
+
if (!order)
|
|
19
|
+
return pricingAdapter.calculate();
|
|
18
20
|
const totalAmountOfItems = params.calculationSheet.total({
|
|
19
21
|
category: OrderPricingRowCategory.Items,
|
|
20
22
|
useNetPrice: false,
|
|
@@ -33,11 +35,11 @@ export const OrderDiscount = {
|
|
|
33
35
|
quantity: orderPosition.quantity,
|
|
34
36
|
}), totalAmountOfItems));
|
|
35
37
|
const deliveryShare = resolveRatioAndTaxDivisorForPricingSheet(DeliveryPricingSheet({
|
|
36
|
-
calculation: orderDelivery
|
|
38
|
+
calculation: orderDelivery?.calculation || [],
|
|
37
39
|
currencyCode: order.currencyCode,
|
|
38
40
|
}), totalAmountOfPaymentAndDelivery);
|
|
39
41
|
const paymentShare = resolveRatioAndTaxDivisorForPricingSheet(PaymentPricingSheet({
|
|
40
|
-
calculation: orderPayment
|
|
42
|
+
calculation: orderPayment?.calculation || [],
|
|
41
43
|
currencyCode: order.currencyCode,
|
|
42
44
|
}), totalAmountOfPaymentAndDelivery);
|
|
43
45
|
let amountLeft = totalAmountOfPaymentAndDelivery + totalAmountOfItems;
|
|
@@ -48,7 +50,7 @@ export const OrderDiscount = {
|
|
|
48
50
|
amountLeft -= itemsDiscountAmount;
|
|
49
51
|
// If it's a fixed rate we need to deduct the already deducted amount from the fixed rate
|
|
50
52
|
// before we hand it over to the split calculation
|
|
51
|
-
const fixedRate = configuration.fixedRate > 0
|
|
53
|
+
const fixedRate = Number(configuration.fixedRate) > 0
|
|
52
54
|
? Math.max(0, configuration.fixedRate - itemsDiscountAmount)
|
|
53
55
|
: undefined;
|
|
54
56
|
const leftInFeesToSplit = calcUtils.calculateAmountToSplit({ ...configuration, fixedRate }, Math.min(totalAmountOfPaymentAndDelivery, amountLeft));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-discount.js","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EAEnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,wCAAwC,GACzC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAqD;IAC7E,GAAG,mBAAmB;IAEtB,GAAG,EAAE,uCAAuC;IAC5C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,sCAAsC;IAC7C,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QAE9E,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBACvD,QAAQ,EAAE,uBAAuB,CAAC,KAAK;oBACvC,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,MAAM,CAAC;gBACV,MAAM,+BAA+B,GACnC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAC5B,QAAQ,EAAE,uBAAuB,CAAC,OAAO;oBACzC,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC,MAAM;oBACT,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBAC5B,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;wBAC1C,WAAW,EAAE,KAAK;qBACnB,CAAC,CAAC,MAAM,CAAC;gBACZ,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACtD,wCAAwC,CACtC,mBAAmB,CAAC;oBAClB,WAAW,EAAE,aAAa,CAAC,WAAW;oBACtC,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ;iBACjC,CAAC,EACF,kBAAkB,CACnB,CACF,CAAC;gBAEF,MAAM,aAAa,GAAG,wCAAwC,CAC5D,oBAAoB,CAAC;oBACnB,WAAW,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"order-discount.js","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-round.d.ts","sourceRoot":"","sources":["../../src/pricing/order-round.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,EAErB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,kBAAkB;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7E;AAED,eAAO,MAAM,eAAe,EAAE,oBAAoB,GAAG;IACnD,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"order-round.d.ts","sourceRoot":"","sources":["../../src/pricing/order-round.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,oBAAoB,EAErB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,kBAAkB;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7E;AAED,eAAO,MAAM,eAAe,EAAE,oBAAoB,GAAG;IACnD,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,kBAAkB,CAAC;CA+H9B,CAAC"}
|
|
@@ -28,6 +28,8 @@ export const OrderPriceRound = {
|
|
|
28
28
|
...pricingAdapter,
|
|
29
29
|
calculate: async () => {
|
|
30
30
|
const { currencyCode } = params.context;
|
|
31
|
+
if (!currencyCode)
|
|
32
|
+
return pricingAdapter.calculate();
|
|
31
33
|
const { amount: deliveryAmount } = params.calculationSheet.total({
|
|
32
34
|
category: OrderPricingRowCategory.Delivery,
|
|
33
35
|
useNetPrice: true,
|
|
@@ -46,13 +48,12 @@ export const OrderPriceRound = {
|
|
|
46
48
|
useNetPrice: true,
|
|
47
49
|
});
|
|
48
50
|
if (discountAmount) {
|
|
49
|
-
pricingAdapter.resultSheet().
|
|
51
|
+
pricingAdapter.resultSheet().calculation.push({
|
|
52
|
+
category: OrderPricingRowCategory.Discounts,
|
|
50
53
|
amount: calculateDifference(discountAmount, currencyCode),
|
|
51
|
-
taxAmount: 0,
|
|
52
54
|
meta: {
|
|
53
55
|
adapter: OrderPriceRound.key,
|
|
54
56
|
},
|
|
55
|
-
discountId: null,
|
|
56
57
|
});
|
|
57
58
|
}
|
|
58
59
|
const { amount: itemsAmount } = params.calculationSheet.total({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order-round.js","sourceRoot":"","sources":["../../src/pricing/order-round.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EAEpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAO7B,MAAM,CAAC,MAAM,eAAe,GAGxB;IACF,GAAG,mBAAmB;IAEtB,GAAG,EAAE,oCAAoC;IACzC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,gDAAgD;IACvD,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,EAAE;QACR,gBAAgB,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC,KAAa,EAAE,SAAiB,EAAE,EAAE,CAC5C,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK;KACtE;IAED,SAAS,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE;QACrC,IAAI,gBAAgB;YAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACxE,IAAI,OAAO;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;IAC/C,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3D,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,YAAoB,EAAE,EAAE;YACnE,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,OAAO,CACpD,MAAM,EACN,eAAe,CAAC,QAAQ,CAAC,gBAAgB,EACzC,YAAY,CACb,CAAC;YACF,OAAO,aAAa,GAAG,MAAM,CAAC;QAChC,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAExC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAC/D,QAAQ,EAAE,uBAAuB,CAAC,QAAQ;oBAC1C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;wBACvC,MAAM,EAAE,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC;wBACzD,SAAS,EAAE,CAAC;wBACZ,IAAI,EAAE;4BACJ,OAAO,EAAE,eAAe,CAAC,GAAG;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAC/D,QAAQ,EAAE,uBAAuB,CAAC,SAAS;oBAC3C,WAAW,EAAE,IAAI;iBAClB,CAAC,CAAC;gBACH,IAAI,cAAc,EAAE,CAAC;oBACnB,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"order-round.js","sourceRoot":"","sources":["../../src/pricing/order-round.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,8 +24,8 @@ export const ProductPrice = {
|
|
|
24
24
|
const itemTotal = price.amount * quantity;
|
|
25
25
|
pricingAdapter.resultSheet().addItem({
|
|
26
26
|
amount: itemTotal,
|
|
27
|
-
isTaxable: price.isTaxable,
|
|
28
|
-
isNetPrice: price.isNetPrice,
|
|
27
|
+
isTaxable: Boolean(price.isTaxable),
|
|
28
|
+
isNetPrice: Boolean(price.isNetPrice),
|
|
29
29
|
meta: { adapter: ProductPrice.key },
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -44,8 +44,8 @@ export const ProductPrice = {
|
|
|
44
44
|
const bundleItemTotal = bundleItemPrice.amount * bundleItem.quantity * quantity;
|
|
45
45
|
pricingAdapter.resultSheet().addItem({
|
|
46
46
|
amount: bundleItemTotal,
|
|
47
|
-
isTaxable: bundleItemPrice.isTaxable,
|
|
48
|
-
isNetPrice: bundleItemPrice.isNetPrice,
|
|
47
|
+
isTaxable: Boolean(bundleItemPrice.isTaxable),
|
|
48
|
+
isNetPrice: Boolean(bundleItemPrice.isNetPrice),
|
|
49
49
|
meta: { adapter: ProductPrice.key },
|
|
50
50
|
});
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-catalog-price.js","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,GAAG,qBAAqB;IAExB,GAAG,EAAE,sCAAsC;IAC3C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzD,WAAW;oBACX,YAAY;oBACZ,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1C,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,KAAK,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"product-catalog-price.js","sourceRoot":"","sources":["../../src/pricing/product-catalog-price.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,GAAG,qBAAqB;IAExB,GAAG,EAAE,sCAAsC;IAC3C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBACjF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBACzD,WAAW;oBACX,YAAY;oBACZ,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;oBAC1C,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;wBACnC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;wBACrC,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;oBACvD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;wBACnD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACxD,SAAS,EAAE,UAAU,CAAC,SAAS;yBAChC,CAAC,CAAC;wBACH,IAAI,cAAc,EAAE,CAAC;4BACnB,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE;gCAC1E,WAAW;gCACX,YAAY;gCACZ,QAAQ,EAAE,UAAU,CAAC,QAAQ,GAAG,QAAQ;6BACzC,CAAC,CAAC;4BACH,IAAI,eAAe,EAAE,CAAC;gCACpB,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAC;gCAChF,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;oCACnC,MAAM,EAAE,eAAe;oCACvB,SAAS,EAAE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC;oCAC7C,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC;oCAC/C,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE;iCACpC,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -38,13 +38,13 @@ export const ProductPriceRateConversion = {
|
|
|
38
38
|
if (!targetCurrencyObj?.isActive || !fromCurrencyObj?.isActive)
|
|
39
39
|
return pricingAdapter.calculate();
|
|
40
40
|
const rateData = await modules.products.prices.rates.getRate(fromCurrencyObj, targetCurrencyObj);
|
|
41
|
-
if (rateData
|
|
41
|
+
if (rateData && rateData.rate > 0) {
|
|
42
42
|
const convertedAmount = Math.round(productPrice.amount * rateData.rate);
|
|
43
43
|
pricingAdapter.resultSheet().resetCalculation(params.calculationSheet);
|
|
44
44
|
pricingAdapter.resultSheet().addItem({
|
|
45
45
|
amount: convertedAmount * quantity,
|
|
46
|
-
isTaxable: productPrice?.isTaxable,
|
|
47
|
-
isNetPrice: productPrice?.isNetPrice,
|
|
46
|
+
isTaxable: Boolean(productPrice?.isTaxable),
|
|
47
|
+
isNetPrice: Boolean(productPrice?.isNetPrice),
|
|
48
48
|
meta: { adapter: ProductPriceRateConversion.key, rate: rateData.rate },
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-price-rateconversion.js","sourceRoot":"","sources":["../../src/pricing/product-price-rateconversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,GAAG,qBAAqB;IAExB,GAAG,EAAE,wCAAwC;IAC7C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,mFAAmF;IAC1F,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QACnC,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAExF,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACrD,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;oBACxB,8CAA8C;oBAC9C,uDAAuD;oBACvD,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBAChE,WAAW;oBACX,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,0DAA0D;oBAC1D,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC5D,OAAO,EAAE,YAAY,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC9D,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC,eAAe,EAAE,QAAQ;oBAC5D,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBAEpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;gBAEjG,IAAI,QAAQ,
|
|
1
|
+
{"version":3,"file":"product-price-rateconversion.js","sourceRoot":"","sources":["../../src/pricing/product-price-rateconversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,0BAA0B,GAA2B;IAChE,GAAG,qBAAqB;IAExB,GAAG,EAAE,wCAAwC;IAC7C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,mFAAmF;IAC1F,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QACnC,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAExF,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACrD,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;oBACxB,8CAA8C;oBAC9C,uDAAuD;oBACvD,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;oBAChE,WAAW;oBACX,QAAQ;iBACT,CAAC,CAAC;gBAEH,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,0DAA0D;oBAC1D,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBACpC,CAAC;gBAED,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC5D,OAAO,EAAE,YAAY,CAAC,YAAY;iBACnC,CAAC,CAAC;gBACH,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC9D,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBAEH,IAAI,CAAC,iBAAiB,EAAE,QAAQ,IAAI,CAAC,eAAe,EAAE,QAAQ;oBAC5D,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBAEpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;gBAEjG,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACxE,cAAc,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACvE,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,eAAe,GAAG,QAAQ;wBAClC,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC;wBAC3C,UAAU,EAAE,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC;wBAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,0BAA0B,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE;qBACvE,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import { ProductPricingAdapterContext, IProductPricingAdapter
|
|
1
|
+
import { ProductPricingAdapterContext, IProductPricingAdapter } from '@unchainedshop/core';
|
|
2
2
|
export declare const getTaxRate: (context: ProductPricingAdapterContext) => number;
|
|
3
|
-
export declare const isDeliveryAddressInSwitzerland: ({ order, countryCode: forceCountryCode, modules, }: ProductPricingAdapterContext & {
|
|
4
|
-
modules: UnchainedCore["modules"];
|
|
5
|
-
}) => Promise<boolean>;
|
|
6
3
|
export declare const ProductSwissTax: IProductPricingAdapter;
|
|
7
4
|
//# sourceMappingURL=product-swiss-tax.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-swiss-tax.d.ts","sourceRoot":"","sources":["../../src/pricing/product-swiss-tax.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,sBAAsB,
|
|
1
|
+
{"version":3,"file":"product-swiss-tax.d.ts","sourceRoot":"","sources":["../../src/pricing/product-swiss-tax.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,4BAA4B,EAC5B,sBAAsB,EAEvB,MAAM,qBAAqB,CAAC;AAG7B,eAAO,MAAM,UAAU,GAAI,SAAS,4BAA4B,WAY/D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,sBAgE7B,CAAC"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
1
|
import { ProductPricingDirector, ProductPricingAdapter, ProductPricingRowCategory, } from '@unchainedshop/core';
|
|
2
|
-
import { SwissTaxCategories } from './tax/ch.js';
|
|
2
|
+
import { isDeliveryAddressInSwitzerland, SwissTaxCategories } from './tax/ch.js';
|
|
3
3
|
export const getTaxRate = (context) => {
|
|
4
4
|
const { product, order } = context;
|
|
5
5
|
const productSpecialTaxTag = product.tags?.find((tag) => tag?.trim().toLowerCase().startsWith('swiss-tax-category:'));
|
|
6
6
|
const taxCategory = Object.values(SwissTaxCategories).find((t) => `swiss-tax-category:${t.value}` === productSpecialTaxTag?.trim().toLowerCase()) || SwissTaxCategories.DEFAULT;
|
|
7
7
|
return taxCategory.rate(order?.ordered);
|
|
8
8
|
};
|
|
9
|
-
export const isDeliveryAddressInSwitzerland = async ({ order, countryCode: forceCountryCode, modules, }) => {
|
|
10
|
-
let countryCode = forceCountryCode?.toUpperCase().trim() || order.countryCode;
|
|
11
|
-
if (order) {
|
|
12
|
-
const orderDelivery = await modules.orders.deliveries.findDelivery({
|
|
13
|
-
orderDeliveryId: order.deliveryId,
|
|
14
|
-
});
|
|
15
|
-
const address = orderDelivery?.context?.address || order.billingAddress;
|
|
16
|
-
if (address?.countryCode > '') {
|
|
17
|
-
countryCode = address.countryCode?.toUpperCase().trim();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return countryCode === 'CH' || countryCode === 'LI';
|
|
21
|
-
};
|
|
22
9
|
export const ProductSwissTax = {
|
|
23
10
|
...ProductPricingAdapter,
|
|
24
11
|
key: 'shop.unchained.pricing.product-swiss-tax',
|
|
@@ -34,7 +21,14 @@ export const ProductSwissTax = {
|
|
|
34
21
|
return {
|
|
35
22
|
...pricingAdapter,
|
|
36
23
|
calculate: async () => {
|
|
37
|
-
if (!
|
|
24
|
+
if (!isDeliveryAddressInSwitzerland({
|
|
25
|
+
...context,
|
|
26
|
+
orderDelivery: context.order?.deliveryId
|
|
27
|
+
? await context.modules.orders.deliveries.findDelivery({
|
|
28
|
+
orderDeliveryId: context.order?.deliveryId,
|
|
29
|
+
})
|
|
30
|
+
: null,
|
|
31
|
+
})) {
|
|
38
32
|
return pricingAdapter.calculate();
|
|
39
33
|
}
|
|
40
34
|
const taxRate = getTaxRate(context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product-swiss-tax.js","sourceRoot":"","sources":["../../src/pricing/product-swiss-tax.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EAGrB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"product-swiss-tax.js","sourceRoot":"","sources":["../../src/pricing/product-swiss-tax.ts"],"names":[],"mappings":"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"}
|
package/lib/pricing/tax/ch.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
|
+
import { Order, OrderDelivery } from '@unchainedshop/core-orders';
|
|
1
2
|
export declare const SwissTaxCategories: Record<string, {
|
|
2
3
|
value: string;
|
|
3
4
|
rate: (referenceDate?: Date) => number;
|
|
4
5
|
}>;
|
|
6
|
+
export declare const isDeliveryAddressInSwitzerland: ({ orderDelivery, order, countryCode: forceCountryCode, }: {
|
|
7
|
+
orderDelivery?: OrderDelivery | null;
|
|
8
|
+
order?: Order | null;
|
|
9
|
+
countryCode?: string | null;
|
|
10
|
+
}) => boolean;
|
|
5
11
|
//# sourceMappingURL=ch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ch.d.ts","sourceRoot":"","sources":["../../../src/pricing/tax/ch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ch.d.ts","sourceRoot":"","sources":["../../../src/pricing/tax/ch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAMlE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CACrC,MAAM,EACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC;CACxC,CA6BF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,0DAI5C;IACD,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,YAWA,CAAC"}
|
package/lib/pricing/tax/ch.js
CHANGED
|
@@ -29,4 +29,14 @@ export const SwissTaxCategories = {
|
|
|
29
29
|
},
|
|
30
30
|
},
|
|
31
31
|
};
|
|
32
|
+
export const isDeliveryAddressInSwitzerland = ({ orderDelivery, order, countryCode: forceCountryCode = null, }) => {
|
|
33
|
+
let countryCode = forceCountryCode?.toUpperCase().trim() || order?.countryCode;
|
|
34
|
+
if (orderDelivery || order) {
|
|
35
|
+
const address = orderDelivery?.context?.address || order?.billingAddress;
|
|
36
|
+
if (address?.countryCode > '') {
|
|
37
|
+
countryCode = address.countryCode?.toUpperCase().trim();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return countryCode === 'CH' || countryCode === 'LI';
|
|
41
|
+
};
|
|
32
42
|
//# sourceMappingURL=ch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ch.js","sourceRoot":"","sources":["../../../src/pricing/tax/ch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ch.js","sourceRoot":"","sources":["../../../src/pricing/tax/ch.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,8BAA8B,CAAC,CAAC;AAE7D,oFAAoF;AAEpF,MAAM,CAAC,MAAM,kBAAkB,GAM3B;IACF,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE;YACnC,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE;YACnC,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE;YACnC,IAAI,aAAa,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;gBACpD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,EAC7C,aAAa,EACb,KAAK,EACL,WAAW,EAAE,gBAAgB,GAAG,IAAI,GAKrC,EAAE,EAAE;IACH,IAAI,WAAW,GAAG,gBAAgB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,WAAW,CAAC;IAE/E,IAAI,aAAa,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,aAAa,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,cAAc,CAAC;QACzE,IAAI,OAAO,EAAE,WAAW,GAAG,EAAE,EAAE,CAAC;YAC9B,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,OAAO,WAAW,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { WarehousingDirector, WarehousingAdapter, } from '@unchainedshop/core';
|
|
1
|
+
import { WarehousingError, WarehousingDirector, WarehousingAdapter, } from '@unchainedshop/core';
|
|
2
2
|
import { WarehousingProviderType } from '@unchainedshop/core-warehousing';
|
|
3
3
|
import { ProductContractStandard, ProductTypes } from '@unchainedshop/core-products';
|
|
4
4
|
import { systemLocale } from '@unchainedshop/utils';
|
|
5
5
|
import { generateDbObjectId } from '@unchainedshop/mongodb';
|
|
6
6
|
import { getFileAdapter } from '@unchainedshop/core-files';
|
|
7
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
7
8
|
const { MINTER_TOKEN_OFFSET = '0', ROOT_URL = 'http://localhost:4010' } = process.env;
|
|
9
|
+
const logger = createLogger('unchained:eth-minter');
|
|
8
10
|
const ETHMinter = {
|
|
9
11
|
...WarehousingAdapter,
|
|
10
12
|
key: 'shop.unchained.warehousing.infinite-minter',
|
|
@@ -23,7 +25,7 @@ const ETHMinter = {
|
|
|
23
25
|
? { contractAddress: contractStandard }
|
|
24
26
|
: {
|
|
25
27
|
contractAddress: contractStandard,
|
|
26
|
-
|
|
28
|
+
tokenSerialNumber: tokenId,
|
|
27
29
|
});
|
|
28
30
|
const tokensCreated = existingTokens.reduce((acc, curToken) => {
|
|
29
31
|
return acc + curToken.quantity;
|
|
@@ -36,6 +38,10 @@ const ETHMinter = {
|
|
|
36
38
|
return product?.type === ProductTypes.TokenizedProduct;
|
|
37
39
|
},
|
|
38
40
|
configurationError() {
|
|
41
|
+
if (contractStandard === 'ERC1155' && !tokenId) {
|
|
42
|
+
logger.error(`Token ID is required for ERC1155 contract standard (productId: ${product._id})`);
|
|
43
|
+
return WarehousingError.INCOMPLETE_CONFIGURATION;
|
|
44
|
+
}
|
|
39
45
|
return null;
|
|
40
46
|
},
|
|
41
47
|
stock: async () => {
|
|
@@ -49,11 +55,14 @@ const ETHMinter = {
|
|
|
49
55
|
const chainId = configuration.find(({ key }) => key === 'chainId')?.value || undefined;
|
|
50
56
|
const meta = { contractStandard };
|
|
51
57
|
const tokensCreated = await getTokensCreated();
|
|
58
|
+
if (!orderPosition) {
|
|
59
|
+
throw new Error('Order position not found in context');
|
|
60
|
+
}
|
|
52
61
|
if (contractStandard === 'ERC721') {
|
|
53
|
-
// ERC721 is non-fungible, thus every
|
|
54
|
-
const items = new Array(orderPosition
|
|
62
|
+
// ERC721 is non-fungible, thus every tokenSerialNumber unique!
|
|
63
|
+
const items = new Array(orderPosition.quantity).fill(null).map((_, i) => ({
|
|
55
64
|
_id: generateDbObjectId(),
|
|
56
|
-
|
|
65
|
+
tokenSerialNumber: Number(parseInt(MINTER_TOKEN_OFFSET, 10) + tokensCreated + (i + 1)).toString(),
|
|
57
66
|
contractAddress,
|
|
58
67
|
quantity: 1,
|
|
59
68
|
chainId,
|
|
@@ -65,18 +74,21 @@ const ETHMinter = {
|
|
|
65
74
|
return [
|
|
66
75
|
{
|
|
67
76
|
_id: generateDbObjectId(),
|
|
68
|
-
|
|
77
|
+
tokenSerialNumber: tokenId,
|
|
69
78
|
contractAddress,
|
|
70
|
-
quantity: orderPosition
|
|
79
|
+
quantity: orderPosition.quantity,
|
|
71
80
|
chainId,
|
|
72
81
|
meta,
|
|
73
82
|
},
|
|
74
83
|
];
|
|
75
84
|
},
|
|
76
|
-
tokenMetadata: async (
|
|
85
|
+
tokenMetadata: async (tokenSerialNumber) => {
|
|
77
86
|
// Metadata standards supported
|
|
78
87
|
// https://eips.ethereum.org/EIPS/eip-1155 (backward compatible with 721)
|
|
79
88
|
// https://eips.ethereum.org/EIPS/eip-721
|
|
89
|
+
if (!product) {
|
|
90
|
+
throw new Error('Product not found in context');
|
|
91
|
+
}
|
|
80
92
|
const allLanguages = await modules.languages.findLanguages({
|
|
81
93
|
includeInactive: false,
|
|
82
94
|
});
|
|
@@ -85,14 +97,14 @@ const ETHMinter = {
|
|
|
85
97
|
limit: 1,
|
|
86
98
|
});
|
|
87
99
|
const file = firstMedia && (await modules.files.findFile({ fileId: firstMedia.mediaId }));
|
|
88
|
-
const
|
|
89
|
-
const signedUrl = await
|
|
100
|
+
const fileAdapter = file && getFileAdapter();
|
|
101
|
+
const signedUrl = await fileAdapter?.createDownloadURL(file);
|
|
90
102
|
const url = signedUrl && (await modules.files.normalizeUrl(signedUrl, {}));
|
|
91
103
|
const text = await modules.products.texts.findLocalizedText({
|
|
92
104
|
productId: product._id,
|
|
93
105
|
locale: locale || systemLocale,
|
|
94
106
|
});
|
|
95
|
-
const name = `${text.title} #${
|
|
107
|
+
const name = `${text.title} #${tokenSerialNumber}`;
|
|
96
108
|
const isDefaultLanguageActive = locale ? locale.language === systemLocale.language : true;
|
|
97
109
|
const localization = isDefaultLanguageActive
|
|
98
110
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"eth-minter.js","sourceRoot":"","sources":["../../src/warehousing/eth-minter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Work } from '@unchainedshop/core-worker';
|
|
2
|
+
export type IWorker<P extends {
|
|
3
|
+
workerId?: string;
|
|
4
|
+
}> = {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
version: string;
|
|
8
|
+
type: string;
|
|
9
|
+
external: boolean;
|
|
10
|
+
getFloorDate: (date?: Date) => Date;
|
|
11
|
+
actions: (params: P, unchainedAPI: any) => {
|
|
12
|
+
autorescheduleTypes: (options: {
|
|
13
|
+
referenceDate: Date;
|
|
14
|
+
}) => Promise<Array<Work | null>>;
|
|
15
|
+
process: (options: {
|
|
16
|
+
maxWorkItemCount?: number;
|
|
17
|
+
referenceDate?: Date;
|
|
18
|
+
}) => Promise<void>;
|
|
19
|
+
reset: () => Promise<void>;
|
|
20
|
+
start: () => void;
|
|
21
|
+
stop: () => void;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
interface WorkerParams {
|
|
25
|
+
workerId?: string;
|
|
26
|
+
worker: IWorker<any>;
|
|
27
|
+
}
|
|
28
|
+
export declare const BaseWorker: IWorker<WorkerParams>;
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=BaseWorker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseWorker.d.ts","sourceRoot":"","sources":["../../src/worker/BaseWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,4BAA4B,CAAC;AAG5D,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,IAAI;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAEpC,OAAO,EAAE,CACP,MAAM,EAAE,CAAC,EACT,YAAY,KAAA,KACT;QACH,mBAAmB,EAAE,CAAC,OAAO,EAAE;YAAE,aAAa,EAAE,IAAI,CAAA;SAAE,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,CAAC,OAAO,EAAE;YAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,IAAI,CAAA;SAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACzF,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;QAClB,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,OAAO,CAAC,YAAY,CAqF5C,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import later from '@breejs/later';
|
|
2
|
+
import { WorkerDirector } from '@unchainedshop/core';
|
|
3
|
+
export const BaseWorker = {
|
|
4
|
+
key: 'shop.unchained.worker.base',
|
|
5
|
+
label: 'Base worker. Do not use this directly.',
|
|
6
|
+
version: '1.0.0',
|
|
7
|
+
type: 'BASE',
|
|
8
|
+
external: false,
|
|
9
|
+
getFloorDate: (date = new Date()) => {
|
|
10
|
+
const floored = new Date(Math.floor(date.getTime() / 1000) * 1000);
|
|
11
|
+
return floored;
|
|
12
|
+
},
|
|
13
|
+
actions: ({ workerId }, unchainedAPI) => {
|
|
14
|
+
const workerActions = {
|
|
15
|
+
start() {
|
|
16
|
+
throw new Error(`Not implemented on ${this.constructor.key}`);
|
|
17
|
+
},
|
|
18
|
+
stop() {
|
|
19
|
+
throw new Error(`Not implemented on ${this.constructor.key}`);
|
|
20
|
+
},
|
|
21
|
+
reset: async (referenceDate = new Date()) => {
|
|
22
|
+
await unchainedAPI.modules.worker.markOldWorkAsFailed({
|
|
23
|
+
types: WorkerDirector.getActivePluginTypes({ external: false }),
|
|
24
|
+
worker: workerId,
|
|
25
|
+
referenceDate,
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
autorescheduleTypes: async ({ referenceDate }) => {
|
|
29
|
+
return Promise.all(WorkerDirector.getAutoSchedules().map(async ([scheduleId, workConfig]) => {
|
|
30
|
+
if (!workConfig.schedule) {
|
|
31
|
+
await unchainedAPI.modules.worker.ensureNoWork({
|
|
32
|
+
type: workConfig.type,
|
|
33
|
+
priority: workConfig.priority || 0,
|
|
34
|
+
scheduleId,
|
|
35
|
+
});
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const fixedSchedule = { ...workConfig.schedule };
|
|
39
|
+
fixedSchedule.schedules[0].s = [0]; // ignore seconds, always run on second 0
|
|
40
|
+
const nextDate = later.schedule(fixedSchedule).next(1, referenceDate);
|
|
41
|
+
nextDate.setMilliseconds(0);
|
|
42
|
+
const workData = {
|
|
43
|
+
type: workConfig.type,
|
|
44
|
+
scheduleId,
|
|
45
|
+
scheduled: nextDate,
|
|
46
|
+
timeout: workConfig.timeout,
|
|
47
|
+
priority: workConfig.priority || 0,
|
|
48
|
+
retries: workConfig.retries || 0,
|
|
49
|
+
};
|
|
50
|
+
if (workConfig.input) {
|
|
51
|
+
workData.input = await workConfig.input(workData);
|
|
52
|
+
// A work input fn can skip auto scheduling a new record
|
|
53
|
+
// when it explicitly returns a falsish input instead of a dictionary
|
|
54
|
+
if (!workData.input)
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
return unchainedAPI.modules.worker.ensureOneWork(workData);
|
|
58
|
+
}));
|
|
59
|
+
},
|
|
60
|
+
process: async ({ maxWorkItemCount, referenceDate }) => {
|
|
61
|
+
await workerActions.autorescheduleTypes({
|
|
62
|
+
referenceDate,
|
|
63
|
+
});
|
|
64
|
+
const processRecursively = async (recursionCounter = 0) => {
|
|
65
|
+
if (maxWorkItemCount && maxWorkItemCount < recursionCounter)
|
|
66
|
+
return null;
|
|
67
|
+
const doneWork = await WorkerDirector.processNextWork(unchainedAPI, workerId);
|
|
68
|
+
if (doneWork)
|
|
69
|
+
return processRecursively(recursionCounter + 1);
|
|
70
|
+
return null;
|
|
71
|
+
};
|
|
72
|
+
await processRecursively();
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
workerActions.reset();
|
|
76
|
+
return workerActions;
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=BaseWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseWorker.js","sourceRoot":"","sources":["../../src/worker/BaseWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListenerWorker.d.ts","sourceRoot":"","sources":["../../src/worker/EventListenerWorker.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,OAAO,EAAE,MAAM,iBAAiB,CAAC;AActD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,yBAAyB,CAyClE,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { subscribe } from '@unchainedshop/events';
|
|
2
|
+
import { BaseWorker } from './BaseWorker.js';
|
|
3
|
+
import { WorkerEventTypes } from '@unchainedshop/core-worker';
|
|
4
|
+
function debounce(func, wait) {
|
|
5
|
+
let timeout;
|
|
6
|
+
return (...args) => {
|
|
7
|
+
clearTimeout(timeout);
|
|
8
|
+
timeout = setTimeout(() => {
|
|
9
|
+
timeout = null;
|
|
10
|
+
func(...args);
|
|
11
|
+
}, wait);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export const EventListenerWorker = {
|
|
15
|
+
...BaseWorker,
|
|
16
|
+
key: 'shop.unchained.worker.event-listener',
|
|
17
|
+
label: 'Allocates work on events. This worker does not make sense on multiple containers.',
|
|
18
|
+
version: '1.0.0',
|
|
19
|
+
type: 'EVENT_LISTENER',
|
|
20
|
+
actions: ({ workerId }, unchainedAPI) => {
|
|
21
|
+
const baseWorkerActions = BaseWorker.actions({ workerId, worker: EventListenerWorker }, unchainedAPI);
|
|
22
|
+
// Debounce in the event of many work queue events conflicting with each other
|
|
23
|
+
const processWorkQueue = debounce(async () => {
|
|
24
|
+
await baseWorkerActions.process({
|
|
25
|
+
maxWorkItemCount: 1, // only one work item at a time, else we could end up in a loop
|
|
26
|
+
referenceDate: EventListenerWorker.getFloorDate(),
|
|
27
|
+
});
|
|
28
|
+
}, 300);
|
|
29
|
+
return {
|
|
30
|
+
...baseWorkerActions,
|
|
31
|
+
start() {
|
|
32
|
+
subscribe(WorkerEventTypes.ADDED, processWorkQueue);
|
|
33
|
+
subscribe(WorkerEventTypes.FINISHED, processWorkQueue);
|
|
34
|
+
setTimeout(async () => {
|
|
35
|
+
await baseWorkerActions.autorescheduleTypes({
|
|
36
|
+
referenceDate: EventListenerWorker.getFloorDate(),
|
|
37
|
+
});
|
|
38
|
+
}, 300);
|
|
39
|
+
},
|
|
40
|
+
stop() {
|
|
41
|
+
/* */
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=EventListenerWorker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventListenerWorker.js","sourceRoot":"","sources":["../../src/worker/EventListenerWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAW,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,SAAS,QAAQ,CAAkC,IAAO,EAAE,IAAI;IAC9D,IAAI,OAAO,CAAC;IACZ,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE;QACjB,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAChB,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAMD,MAAM,CAAC,MAAM,mBAAmB,GAAuC;IACrE,GAAG,UAAU;IAEb,GAAG,EAAE,sCAAsC;IAC3C,KAAK,EAAE,mFAAmF;IAC1F,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,gBAAgB;IAEtB,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,EAAE;QACtC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAC1C,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,EACzC,YAAY,CACb,CAAC;QAEF,8EAA8E;QAC9E,MAAM,gBAAgB,GAAG,QAAQ,CAAsB,KAAK,IAAI,EAAE;YAChE,MAAM,iBAAiB,CAAC,OAAO,CAAC;gBAC9B,gBAAgB,EAAE,CAAC,EAAE,+DAA+D;gBACpF,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;aAClD,CAAC,CAAC;QACL,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO;YACL,GAAG,iBAAiB;YAEpB,KAAK;gBACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;gBACpD,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBAEvD,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;wBAC1C,aAAa,EAAE,mBAAmB,CAAC,YAAY,EAAE;qBAClD,CAAC,CAAC;gBACL,CAAC,EAAE,GAAG,CAAC,CAAC;YACV,CAAC;YAED,IAAI;gBACF,KAAK;YACP,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
|