@teleporthq/teleport-plugin-next-workflows 0.43.67 → 0.43.69
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/__tests__/_helpers/bind-workflow-utils.ts +16 -1
- package/__tests__/_helpers/fake-fetch.ts +96 -0
- package/__tests__/_helpers/fake-stripe.ts +52 -0
- package/__tests__/_helpers/load-handler.ts +22 -3
- package/__tests__/_helpers/load-invoice-route.ts +75 -0
- package/__tests__/_helpers/load-payment-drivers.ts +69 -0
- package/__tests__/_helpers/load-server-runtime.ts +33 -0
- package/__tests__/_helpers/run-generated-middleware.ts +50 -9
- package/__tests__/admin-form-hydration-target.test.ts +39 -0
- package/__tests__/admin-form-row-hydration.test.ts +58 -0
- package/__tests__/ai-select-database-data-handler.test.ts +14 -3
- package/__tests__/api-route-file-name-segments.test.ts +33 -0
- package/__tests__/app-secret-env.test.ts +55 -0
- package/__tests__/auth-env-secret-preservation.test.ts +22 -3
- package/__tests__/auth-nextauth-url.test.ts +134 -50
- package/__tests__/cart-add-item-kinds.test.ts +259 -0
- package/__tests__/cart-add-item-line-fields.test.ts +328 -0
- package/__tests__/cart-availability-add-to-cart.test.ts +108 -0
- package/__tests__/cart-get-total-discounts.test.ts +499 -0
- package/__tests__/cart-get-total-product-options.test.ts +195 -0
- package/__tests__/cart-get-total-subscriptions.test.ts +221 -0
- package/__tests__/cart-price-order.test.ts +283 -0
- package/__tests__/cart-update-item-quantity-recurring.test.ts +75 -0
- package/__tests__/client-loop-current-item.test.ts +164 -0
- package/__tests__/cron-route-loop-custom-node.test.ts +123 -0
- package/__tests__/cron-route-loop-templateparams.test.ts +7 -0
- package/__tests__/cron-route-verification.test.ts +252 -0
- package/__tests__/custom-js-runtime-base-url.test.ts +64 -0
- package/__tests__/custom-nodes-admin-module.test.ts +310 -0
- package/__tests__/data-api-browser-reads.test.ts +341 -0
- package/__tests__/data-api-low-stock-autofire.test.ts +67 -17
- package/__tests__/data-api-optional-feature-columns.test.ts +240 -0
- package/__tests__/data-api-protected-tables.test.ts +948 -0
- package/__tests__/data-node-not-awaited.test.ts +7 -3
- package/__tests__/data-write-missing-filter.test.ts +119 -0
- package/__tests__/ecommerce-rewriter-product-options.test.ts +143 -0
- package/__tests__/email-locale-senders.test.ts +1 -1
- package/__tests__/file-storage-upload-picked-files.test.ts +20 -0
- package/__tests__/input-debounce-per-field.test.ts +141 -0
- package/__tests__/internal-request-headers.test.ts +7 -3
- package/__tests__/invoice-data-access-replace.test.ts +340 -0
- package/__tests__/invoice-delivery-fee.test.ts +3 -2
- package/__tests__/invoice-generate-hydration.test.ts +20 -12
- package/__tests__/invoice-order-items-settle.test.ts +51 -46
- package/__tests__/invoice-product-options.test.ts +177 -0
- package/__tests__/invoice-regenerate-route.test.ts +488 -0
- package/__tests__/invoice-regional-tax.test.ts +3 -2
- package/__tests__/invoice-reservation.test.ts +195 -0
- package/__tests__/invoice-route-access.test.ts +275 -0
- package/__tests__/invoice-self-call-origin.test.ts +117 -0
- package/__tests__/invoice-tender.test.ts +550 -0
- package/__tests__/legacy-webhook-self-calls.test.ts +187 -0
- package/__tests__/locale-aware-redirects.test.ts +55 -26
- package/__tests__/loop-collection-unwrap.test.ts +6 -1
- package/__tests__/middleware-subscriber-access.test.ts +269 -0
- package/__tests__/payment-charge-user-earlier-attempt.test.ts +267 -0
- package/__tests__/payment-charge-user-handler-serialization.test.ts +47 -82
- package/__tests__/payment-charge-user-line-descriptions.test.ts +124 -0
- package/__tests__/payment-charge-user-report-refusal.test.ts +105 -0
- package/__tests__/payment-close-checkout-node.test.ts +127 -0
- package/__tests__/payment-driver-close-checkout.test.ts +1163 -0
- package/__tests__/payment-driver-coingate.test.ts +470 -0
- package/__tests__/payment-driver-inspect-checkout.test.ts +648 -0
- package/__tests__/payment-driver-mollie.test.ts +864 -0
- package/__tests__/payment-driver-paddle.test.ts +870 -0
- package/__tests__/payment-driver-paypal-capture.test.ts +158 -0
- package/__tests__/payment-driver-paypal-webhook.test.ts +367 -0
- package/__tests__/payment-driver-razorpay.test.ts +895 -0
- package/__tests__/payment-driver-square.test.ts +977 -0
- package/__tests__/payment-driver-stripe.test.ts +267 -0
- package/__tests__/payment-drivers-module.test.ts +429 -0
- package/__tests__/payment-legacy-webhook-routes.test.ts +588 -0
- package/__tests__/payment-redirect-and-order-notification.test.ts +98 -39
- package/__tests__/payment-refund.test.ts +523 -22
- package/__tests__/payment-subscription-nodes.test.ts +1360 -0
- package/__tests__/payment-webhook-route.test.ts +523 -0
- package/__tests__/paypal-webhook-signature-verification.test.ts +205 -0
- package/__tests__/prune-context-oversized-leaf.test.ts +1 -0
- package/__tests__/prune-context-state-keys.test.ts +89 -0
- package/__tests__/push-node-handlers.test.ts +291 -0
- package/__tests__/route-changed-trigger.test.ts +40 -0
- package/__tests__/runtime-storage-upload-access.test.ts +255 -0
- package/__tests__/security-runtime-shadow.test.ts +103 -1
- package/__tests__/segment-reply-changed-keys.test.ts +146 -0
- package/__tests__/segment-state-keys-emission.test.ts +185 -0
- package/__tests__/segment-state-needs.test.ts +102 -0
- package/__tests__/server-segment-context-integrity.test.ts +210 -0
- package/__tests__/server-step-signing.test.ts +371 -0
- package/__tests__/session-cookie-resolver.test.ts +59 -0
- package/__tests__/stock-decrement-audit.test.ts +17 -0
- package/__tests__/subscriber-access-route.test.ts +406 -0
- package/__tests__/webhook-delivery-lease.test.ts +316 -0
- package/__tests__/workflow-auth-guard.test.ts +253 -2
- package/dist/cjs/admin-form-hydration.d.ts +10 -0
- package/dist/cjs/admin-form-hydration.d.ts.map +1 -0
- package/dist/cjs/admin-form-hydration.js +25 -0
- package/dist/cjs/admin-form-hydration.js.map +1 -0
- package/dist/cjs/api-route-generator.d.ts +19 -3
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +190 -70
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/auth-generator.d.ts +4 -1
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +241 -62
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/auth-return/signed-in-destination-code.d.ts +17 -0
- package/dist/cjs/auth-return/signed-in-destination-code.d.ts.map +1 -0
- package/dist/cjs/auth-return/signed-in-destination-code.js +37 -0
- package/dist/cjs/auth-return/signed-in-destination-code.js.map +1 -0
- package/dist/cjs/cart-pricing-preamble.d.ts +12 -0
- package/dist/cjs/cart-pricing-preamble.d.ts.map +1 -0
- package/dist/cjs/cart-pricing-preamble.js +23 -0
- package/dist/cjs/cart-pricing-preamble.js.map +1 -0
- package/dist/cjs/cron-request-verification.d.ts +24 -0
- package/dist/cjs/cron-request-verification.d.ts.map +1 -0
- package/dist/cjs/cron-request-verification.js +84 -0
- package/dist/cjs/cron-request-verification.js.map +1 -0
- package/dist/cjs/custom-node-modules.d.ts +30 -0
- package/dist/cjs/custom-node-modules.d.ts.map +1 -0
- package/dist/cjs/custom-node-modules.js +90 -0
- package/dist/cjs/custom-node-modules.js.map +1 -0
- package/dist/cjs/data-api-route-generator.d.ts +27 -0
- package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
- package/dist/cjs/data-api-route-generator.js +366 -29
- package/dist/cjs/data-api-route-generator.js.map +1 -1
- package/dist/cjs/ecommerce/cart-availability.d.ts.map +1 -1
- package/dist/cjs/ecommerce/cart-availability.js +22 -13
- package/dist/cjs/ecommerce/cart-availability.js.map +1 -1
- package/dist/cjs/ecommerce/stock-decrement.d.ts +2 -1
- package/dist/cjs/ecommerce/stock-decrement.d.ts.map +1 -1
- package/dist/cjs/ecommerce/stock-decrement.js +6 -0
- package/dist/cjs/ecommerce/stock-decrement.js.map +1 -1
- package/dist/cjs/executor-generator.d.ts +0 -1
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +213 -20
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/index.d.ts +12 -4
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +25 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/invoice/api-routes-code.d.ts +26 -0
- package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/cjs/invoice/api-routes-code.js +423 -391
- package/dist/cjs/invoice/api-routes-code.js.map +1 -1
- package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
- package/dist/cjs/invoice/data-access-code.js +420 -107
- package/dist/cjs/invoice/data-access-code.js.map +1 -1
- package/dist/cjs/invoice/index.d.ts.map +1 -1
- package/dist/cjs/invoice/index.js +24 -0
- package/dist/cjs/invoice/index.js.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.d.ts +12 -0
- package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -0
- package/dist/cjs/invoice/invoice-assembly-code.js +517 -0
- package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -0
- package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.js +111 -9
- package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
- package/dist/cjs/invoice/pdf-service-client-code.d.ts.map +1 -1
- package/dist/cjs/invoice/pdf-service-client-code.js +3 -4
- package/dist/cjs/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-login.js +4 -3
- package/dist/cjs/nodes/account/account-login.js.map +1 -1
- package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-signup.js +7 -4
- package/dist/cjs/nodes/account/account-signup.js.map +1 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.d.ts.map +1 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.js +6 -1
- package/dist/cjs/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts +9 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.js +25 -0
- package/dist/cjs/nodes/browser/browser-get-push-subscription.js.map +1 -0
- package/dist/cjs/nodes/browser/browser-show-notification.d.ts +10 -0
- package/dist/cjs/nodes/browser/browser-show-notification.d.ts.map +1 -1
- package/dist/cjs/nodes/browser/browser-show-notification.js +65 -40
- package/dist/cjs/nodes/browser/browser-show-notification.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.js +21 -31
- package/dist/cjs/nodes/browser/browser-subscribe-to-push.js.map +1 -1
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js +24 -0
- package/dist/cjs/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
- package/dist/cjs/nodes/browser/push-api-access.d.ts +12 -0
- package/dist/cjs/nodes/browser/push-api-access.d.ts.map +1 -0
- package/dist/cjs/nodes/browser/push-api-access.js +19 -0
- package/dist/cjs/nodes/browser/push-api-access.js.map +1 -0
- package/dist/cjs/nodes/cart/cart-add-item.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-add-item.js +174 -10
- package/dist/cjs/nodes/cart/cart-add-item.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.js +11 -0
- package/dist/cjs/nodes/cart/cart-clear.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-get-total.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-get-total.js +260 -3
- package/dist/cjs/nodes/cart/cart-get-total.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-price-order.d.ts +3 -0
- package/dist/cjs/nodes/cart/cart-price-order.d.ts.map +1 -0
- package/dist/cjs/nodes/cart/cart-price-order.js +281 -0
- package/dist/cjs/nodes/cart/cart-price-order.js.map +1 -0
- package/dist/cjs/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-update-item-quantity.js +7 -0
- package/dist/cjs/nodes/cart/cart-update-item-quantity.js.map +1 -1
- package/dist/cjs/nodes/data/data-count.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-count.js +6 -1
- package/dist/cjs/nodes/data/data-count.js.map +1 -1
- package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-create-item.js +11 -1
- package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
- package/dist/cjs/nodes/data/data-delete-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-delete-item.js +29 -0
- package/dist/cjs/nodes/data/data-delete-item.js.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.js +6 -1
- package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
- package/dist/cjs/nodes/data/data-select.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-select.js +6 -1
- package/dist/cjs/nodes/data/data-select.js.map +1 -1
- package/dist/cjs/nodes/data/data-update-item.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-update-item.js +29 -0
- package/dist/cjs/nodes/data/data-update-item.js.map +1 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/cjs/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
- package/dist/cjs/nodes/file-storage/file-storage-upload.js +7 -0
- package/dist/cjs/nodes/file-storage/file-storage-upload.js.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.js +21 -5
- package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
- package/dist/cjs/nodes/index.d.ts.map +1 -1
- package/dist/cjs/nodes/index.js +9 -4
- package/dist/cjs/nodes/index.js.map +1 -1
- package/dist/cjs/nodes/payment/payment-billing-portal.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.js +52 -0
- package/dist/cjs/nodes/payment/payment-billing-portal.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/cjs/nodes/payment/payment-charge-user.js +227 -360
- package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/cjs/nodes/payment/payment-close-checkout.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.js +141 -0
- package/dist/cjs/nodes/payment/payment-close-checkout.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js +67 -0
- package/dist/cjs/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts +3 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.js +89 -0
- package/dist/cjs/nodes/payment/payment-manage-subscription.js.map +1 -0
- package/dist/cjs/nodes/payment/payment-refund.d.ts.map +1 -1
- package/dist/cjs/nodes/payment/payment-refund.js +50 -404
- package/dist/cjs/nodes/payment/payment-refund.js.map +1 -1
- package/dist/cjs/nodes/push/push-send-notification.d.ts +14 -0
- package/dist/cjs/nodes/push/push-send-notification.d.ts.map +1 -0
- package/dist/cjs/nodes/push/push-send-notification.js +83 -0
- package/dist/cjs/nodes/push/push-send-notification.js.map +1 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.d.ts +16 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.js +471 -0
- package/dist/cjs/payments/drivers/coingate-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.d.ts +16 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.js +623 -0
- package/dist/cjs/payments/drivers/mollie-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.js +683 -0
- package/dist/cjs/payments/drivers/paddle-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.js +1261 -0
- package/dist/cjs/payments/drivers/paypal-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.js +732 -0
- package/dist/cjs/payments/drivers/razorpay-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/square-driver-code.d.ts +14 -0
- package/dist/cjs/payments/drivers/square-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/square-driver-code.js +931 -0
- package/dist/cjs/payments/drivers/square-driver-code.js.map +1 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.d.ts +12 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.d.ts.map +1 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.js +778 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.js.map +1 -0
- package/dist/cjs/payments/index.d.ts +66 -0
- package/dist/cjs/payments/index.d.ts.map +1 -0
- package/dist/cjs/payments/index.js +175 -0
- package/dist/cjs/payments/index.js.map +1 -0
- package/dist/cjs/payments/payment-core-code.d.ts +19 -0
- package/dist/cjs/payments/payment-core-code.d.ts.map +1 -0
- package/dist/cjs/payments/payment-core-code.js +422 -0
- package/dist/cjs/payments/payment-core-code.js.map +1 -0
- package/dist/cjs/payments/payment-driver-code-map.d.ts +4 -0
- package/dist/cjs/payments/payment-driver-code-map.d.ts.map +1 -0
- package/dist/cjs/payments/payment-driver-code-map.js +21 -0
- package/dist/cjs/payments/payment-driver-code-map.js.map +1 -0
- package/dist/cjs/payments/payment-drivers-scope.d.ts +35 -0
- package/dist/cjs/payments/payment-drivers-scope.d.ts.map +1 -0
- package/dist/cjs/payments/payment-drivers-scope.js +56 -0
- package/dist/cjs/payments/payment-drivers-scope.js.map +1 -0
- package/dist/cjs/payments/payment-registry-code.d.ts +8 -0
- package/dist/cjs/payments/payment-registry-code.d.ts.map +1 -0
- package/dist/cjs/payments/payment-registry-code.js +41 -0
- package/dist/cjs/payments/payment-registry-code.js.map +1 -0
- package/dist/cjs/pg-client-code.d.ts +10 -0
- package/dist/cjs/pg-client-code.d.ts.map +1 -1
- package/dist/cjs/pg-client-code.js +27 -1
- package/dist/cjs/pg-client-code.js.map +1 -1
- package/dist/cjs/runtime-storage-generator.d.ts +28 -0
- package/dist/cjs/runtime-storage-generator.d.ts.map +1 -1
- package/dist/cjs/runtime-storage-generator.js +240 -5
- package/dist/cjs/runtime-storage-generator.js.map +1 -1
- package/dist/cjs/secret-collector.d.ts.map +1 -1
- package/dist/cjs/secret-collector.js +8 -3
- package/dist/cjs/secret-collector.js.map +1 -1
- package/dist/cjs/security-scanner.d.ts +10 -1
- package/dist/cjs/security-scanner.d.ts.map +1 -1
- package/dist/cjs/security-scanner.js +19 -1
- package/dist/cjs/security-scanner.js.map +1 -1
- package/dist/cjs/segment-context-needs.d.ts +38 -0
- package/dist/cjs/segment-context-needs.d.ts.map +1 -0
- package/dist/cjs/segment-context-needs.js +129 -0
- package/dist/cjs/segment-context-needs.js.map +1 -0
- package/dist/cjs/segment-splitter.d.ts.map +1 -1
- package/dist/cjs/segment-splitter.js +6 -1
- package/dist/cjs/segment-splitter.js.map +1 -1
- package/dist/cjs/segment-trust.d.ts +50 -0
- package/dist/cjs/segment-trust.d.ts.map +1 -0
- package/dist/cjs/segment-trust.js +115 -0
- package/dist/cjs/segment-trust.js.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +19 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/cjs/sent-email-log/sent-email-log-code.js +1 -24
- package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/cjs/server-runtime-code.d.ts +34 -0
- package/dist/cjs/server-runtime-code.d.ts.map +1 -0
- package/dist/cjs/server-runtime-code.js +303 -0
- package/dist/cjs/server-runtime-code.js.map +1 -0
- package/dist/cjs/session-cookie-resolver.d.ts +3 -78
- package/dist/cjs/session-cookie-resolver.d.ts.map +1 -1
- package/dist/cjs/session-cookie-resolver.js +7 -276
- package/dist/cjs/session-cookie-resolver.js.map +1 -1
- package/dist/cjs/subscriber-access-route-generator.d.ts +71 -0
- package/dist/cjs/subscriber-access-route-generator.d.ts.map +1 -0
- package/dist/cjs/subscriber-access-route-generator.js +301 -0
- package/dist/cjs/subscriber-access-route-generator.js.map +1 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/types.d.ts +6 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/webhook-delivery-lease/index.d.ts +8 -0
- package/dist/cjs/webhook-delivery-lease/index.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/index.js +41 -0
- package/dist/cjs/webhook-delivery-lease/index.js.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js +151 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js +19 -0
- package/dist/cjs/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
- package/dist/cjs/webhook-generator.d.ts +1 -1
- package/dist/cjs/webhook-generator.d.ts.map +1 -1
- package/dist/cjs/webhook-generator.js +342 -254
- package/dist/cjs/webhook-generator.js.map +1 -1
- package/dist/cjs/webhook-signature-verification.d.ts +17 -1
- package/dist/cjs/webhook-signature-verification.d.ts.map +1 -1
- package/dist/cjs/webhook-signature-verification.js +182 -27
- package/dist/cjs/webhook-signature-verification.js.map +1 -1
- package/dist/cjs/workflow-auth-generator.d.ts +9 -6
- package/dist/cjs/workflow-auth-generator.d.ts.map +1 -1
- package/dist/cjs/workflow-auth-generator.js +133 -29
- package/dist/cjs/workflow-auth-generator.js.map +1 -1
- package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-component-plugin.js +65 -28
- package/dist/cjs/workflow-component-plugin.js.map +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts +13 -0
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +215 -65
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/esm/admin-form-hydration.d.ts +10 -0
- package/dist/esm/admin-form-hydration.d.ts.map +1 -0
- package/dist/esm/admin-form-hydration.js +21 -0
- package/dist/esm/admin-form-hydration.js.map +1 -0
- package/dist/esm/api-route-generator.d.ts +19 -3
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +189 -70
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/auth-generator.d.ts +4 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +241 -62
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/auth-return/signed-in-destination-code.d.ts +17 -0
- package/dist/esm/auth-return/signed-in-destination-code.d.ts.map +1 -0
- package/dist/esm/auth-return/signed-in-destination-code.js +33 -0
- package/dist/esm/auth-return/signed-in-destination-code.js.map +1 -0
- package/dist/esm/cart-pricing-preamble.d.ts +12 -0
- package/dist/esm/cart-pricing-preamble.d.ts.map +1 -0
- package/dist/esm/cart-pricing-preamble.js +19 -0
- package/dist/esm/cart-pricing-preamble.js.map +1 -0
- package/dist/esm/cron-request-verification.d.ts +24 -0
- package/dist/esm/cron-request-verification.d.ts.map +1 -0
- package/dist/esm/cron-request-verification.js +80 -0
- package/dist/esm/cron-request-verification.js.map +1 -0
- package/dist/esm/custom-node-modules.d.ts +30 -0
- package/dist/esm/custom-node-modules.d.ts.map +1 -0
- package/dist/esm/custom-node-modules.js +84 -0
- package/dist/esm/custom-node-modules.js.map +1 -0
- package/dist/esm/data-api-route-generator.d.ts +27 -0
- package/dist/esm/data-api-route-generator.d.ts.map +1 -1
- package/dist/esm/data-api-route-generator.js +365 -28
- package/dist/esm/data-api-route-generator.js.map +1 -1
- package/dist/esm/ecommerce/cart-availability.d.ts.map +1 -1
- package/dist/esm/ecommerce/cart-availability.js +22 -13
- package/dist/esm/ecommerce/cart-availability.js.map +1 -1
- package/dist/esm/ecommerce/stock-decrement.d.ts +2 -1
- package/dist/esm/ecommerce/stock-decrement.d.ts.map +1 -1
- package/dist/esm/ecommerce/stock-decrement.js +6 -0
- package/dist/esm/ecommerce/stock-decrement.js.map +1 -1
- package/dist/esm/executor-generator.d.ts +0 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +212 -18
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/index.d.ts +12 -4
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/invoice/api-routes-code.d.ts +26 -0
- package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/esm/invoice/api-routes-code.js +421 -390
- package/dist/esm/invoice/api-routes-code.js.map +1 -1
- package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
- package/dist/esm/invoice/data-access-code.js +420 -107
- package/dist/esm/invoice/data-access-code.js.map +1 -1
- package/dist/esm/invoice/index.d.ts.map +1 -1
- package/dist/esm/invoice/index.js +25 -1
- package/dist/esm/invoice/index.js.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.d.ts +12 -0
- package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -0
- package/dist/esm/invoice/invoice-assembly-code.js +513 -0
- package/dist/esm/invoice/invoice-assembly-code.js.map +1 -0
- package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-html-code.js +111 -9
- package/dist/esm/invoice/invoice-html-code.js.map +1 -1
- package/dist/esm/invoice/pdf-service-client-code.d.ts.map +1 -1
- package/dist/esm/invoice/pdf-service-client-code.js +3 -4
- package/dist/esm/invoice/pdf-service-client-code.js.map +1 -1
- package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-login.js +4 -3
- package/dist/esm/nodes/account/account-login.js.map +1 -1
- package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-signup.js +7 -4
- package/dist/esm/nodes/account/account-signup.js.map +1 -1
- package/dist/esm/nodes/ai/ai-select-database-data.d.ts.map +1 -1
- package/dist/esm/nodes/ai/ai-select-database-data.js +6 -1
- package/dist/esm/nodes/ai/ai-select-database-data.js.map +1 -1
- package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts +9 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.d.ts.map +1 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.js +22 -0
- package/dist/esm/nodes/browser/browser-get-push-subscription.js.map +1 -0
- package/dist/esm/nodes/browser/browser-show-notification.d.ts +10 -0
- package/dist/esm/nodes/browser/browser-show-notification.d.ts.map +1 -1
- package/dist/esm/nodes/browser/browser-show-notification.js +65 -40
- package/dist/esm/nodes/browser/browser-show-notification.js.map +1 -1
- package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts +11 -0
- package/dist/esm/nodes/browser/browser-subscribe-to-push.d.ts.map +1 -1
- package/dist/esm/nodes/browser/browser-subscribe-to-push.js +21 -31
- package/dist/esm/nodes/browser/browser-subscribe-to-push.js.map +1 -1
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts +8 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.d.ts.map +1 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js +21 -0
- package/dist/esm/nodes/browser/browser-unsubscribe-from-push.js.map +1 -0
- package/dist/esm/nodes/browser/push-api-access.d.ts +12 -0
- package/dist/esm/nodes/browser/push-api-access.d.ts.map +1 -0
- package/dist/esm/nodes/browser/push-api-access.js +13 -0
- package/dist/esm/nodes/browser/push-api-access.js.map +1 -0
- package/dist/esm/nodes/cart/cart-add-item.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-add-item.js +174 -10
- package/dist/esm/nodes/cart/cart-add-item.js.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.js +11 -0
- package/dist/esm/nodes/cart/cart-clear.js.map +1 -1
- package/dist/esm/nodes/cart/cart-get-total.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-get-total.js +261 -4
- package/dist/esm/nodes/cart/cart-get-total.js.map +1 -1
- package/dist/esm/nodes/cart/cart-price-order.d.ts +3 -0
- package/dist/esm/nodes/cart/cart-price-order.d.ts.map +1 -0
- package/dist/esm/nodes/cart/cart-price-order.js +278 -0
- package/dist/esm/nodes/cart/cart-price-order.js.map +1 -0
- package/dist/esm/nodes/cart/cart-update-item-quantity.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-update-item-quantity.js +7 -0
- package/dist/esm/nodes/cart/cart-update-item-quantity.js.map +1 -1
- package/dist/esm/nodes/data/data-count.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-count.js +6 -1
- package/dist/esm/nodes/data/data-count.js.map +1 -1
- package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-create-item.js +11 -1
- package/dist/esm/nodes/data/data-create-item.js.map +1 -1
- package/dist/esm/nodes/data/data-delete-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-delete-item.js +29 -0
- package/dist/esm/nodes/data/data-delete-item.js.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.js +6 -1
- package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
- package/dist/esm/nodes/data/data-select.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-select.js +6 -1
- package/dist/esm/nodes/data/data-select.js.map +1 -1
- package/dist/esm/nodes/data/data-update-item.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-update-item.js +29 -0
- package/dist/esm/nodes/data/data-update-item.js.map +1 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +7 -1
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/esm/nodes/file-storage/file-storage-upload.d.ts.map +1 -1
- package/dist/esm/nodes/file-storage/file-storage-upload.js +7 -0
- package/dist/esm/nodes/file-storage/file-storage-upload.js.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.js +21 -5
- package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
- package/dist/esm/nodes/index.d.ts.map +1 -1
- package/dist/esm/nodes/index.js +9 -4
- package/dist/esm/nodes/index.js.map +1 -1
- package/dist/esm/nodes/payment/payment-billing-portal.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-billing-portal.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-billing-portal.js +49 -0
- package/dist/esm/nodes/payment/payment-billing-portal.js.map +1 -0
- package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/esm/nodes/payment/payment-charge-user.js +227 -360
- package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/esm/nodes/payment/payment-close-checkout.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-close-checkout.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-close-checkout.js +138 -0
- package/dist/esm/nodes/payment/payment-close-checkout.js.map +1 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js +64 -0
- package/dist/esm/nodes/payment/payment-ensure-subscription-plan.js.map +1 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.d.ts +3 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.d.ts.map +1 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.js +86 -0
- package/dist/esm/nodes/payment/payment-manage-subscription.js.map +1 -0
- package/dist/esm/nodes/payment/payment-refund.d.ts.map +1 -1
- package/dist/esm/nodes/payment/payment-refund.js +50 -404
- package/dist/esm/nodes/payment/payment-refund.js.map +1 -1
- package/dist/esm/nodes/push/push-send-notification.d.ts +14 -0
- package/dist/esm/nodes/push/push-send-notification.d.ts.map +1 -0
- package/dist/esm/nodes/push/push-send-notification.js +80 -0
- package/dist/esm/nodes/push/push-send-notification.js.map +1 -0
- package/dist/esm/payments/drivers/coingate-driver-code.d.ts +16 -0
- package/dist/esm/payments/drivers/coingate-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/coingate-driver-code.js +467 -0
- package/dist/esm/payments/drivers/coingate-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/mollie-driver-code.d.ts +16 -0
- package/dist/esm/payments/drivers/mollie-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/mollie-driver-code.js +619 -0
- package/dist/esm/payments/drivers/mollie-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/paddle-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/paddle-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/paddle-driver-code.js +679 -0
- package/dist/esm/payments/drivers/paddle-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/paypal-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/paypal-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/paypal-driver-code.js +1257 -0
- package/dist/esm/payments/drivers/paypal-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.js +728 -0
- package/dist/esm/payments/drivers/razorpay-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/square-driver-code.d.ts +14 -0
- package/dist/esm/payments/drivers/square-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/square-driver-code.js +927 -0
- package/dist/esm/payments/drivers/square-driver-code.js.map +1 -0
- package/dist/esm/payments/drivers/stripe-driver-code.d.ts +12 -0
- package/dist/esm/payments/drivers/stripe-driver-code.d.ts.map +1 -0
- package/dist/esm/payments/drivers/stripe-driver-code.js +774 -0
- package/dist/esm/payments/drivers/stripe-driver-code.js.map +1 -0
- package/dist/esm/payments/index.d.ts +66 -0
- package/dist/esm/payments/index.d.ts.map +1 -0
- package/dist/esm/payments/index.js +164 -0
- package/dist/esm/payments/index.js.map +1 -0
- package/dist/esm/payments/payment-core-code.d.ts +19 -0
- package/dist/esm/payments/payment-core-code.d.ts.map +1 -0
- package/dist/esm/payments/payment-core-code.js +418 -0
- package/dist/esm/payments/payment-core-code.js.map +1 -0
- package/dist/esm/payments/payment-driver-code-map.d.ts +4 -0
- package/dist/esm/payments/payment-driver-code-map.d.ts.map +1 -0
- package/dist/esm/payments/payment-driver-code-map.js +18 -0
- package/dist/esm/payments/payment-driver-code-map.js.map +1 -0
- package/dist/esm/payments/payment-drivers-scope.d.ts +35 -0
- package/dist/esm/payments/payment-drivers-scope.d.ts.map +1 -0
- package/dist/esm/payments/payment-drivers-scope.js +51 -0
- package/dist/esm/payments/payment-drivers-scope.js.map +1 -0
- package/dist/esm/payments/payment-registry-code.d.ts +8 -0
- package/dist/esm/payments/payment-registry-code.d.ts.map +1 -0
- package/dist/esm/payments/payment-registry-code.js +37 -0
- package/dist/esm/payments/payment-registry-code.js.map +1 -0
- package/dist/esm/pg-client-code.d.ts +10 -0
- package/dist/esm/pg-client-code.d.ts.map +1 -1
- package/dist/esm/pg-client-code.js +25 -0
- package/dist/esm/pg-client-code.js.map +1 -1
- package/dist/esm/runtime-storage-generator.d.ts +28 -0
- package/dist/esm/runtime-storage-generator.d.ts.map +1 -1
- package/dist/esm/runtime-storage-generator.js +239 -4
- package/dist/esm/runtime-storage-generator.js.map +1 -1
- package/dist/esm/secret-collector.d.ts.map +1 -1
- package/dist/esm/secret-collector.js +8 -3
- package/dist/esm/secret-collector.js.map +1 -1
- package/dist/esm/security-scanner.d.ts +10 -1
- package/dist/esm/security-scanner.d.ts.map +1 -1
- package/dist/esm/security-scanner.js +18 -0
- package/dist/esm/security-scanner.js.map +1 -1
- package/dist/esm/segment-context-needs.d.ts +38 -0
- package/dist/esm/segment-context-needs.d.ts.map +1 -0
- package/dist/esm/segment-context-needs.js +125 -0
- package/dist/esm/segment-context-needs.js.map +1 -0
- package/dist/esm/segment-splitter.d.ts.map +1 -1
- package/dist/esm/segment-splitter.js +6 -1
- package/dist/esm/segment-splitter.js.map +1 -1
- package/dist/esm/segment-trust.d.ts +50 -0
- package/dist/esm/segment-trust.d.ts.map +1 -0
- package/dist/esm/segment-trust.js +111 -0
- package/dist/esm/segment-trust.js.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts +19 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -1
- package/dist/esm/sent-email-log/sent-email-log-code.js +2 -25
- package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -1
- package/dist/esm/server-runtime-code.d.ts +34 -0
- package/dist/esm/server-runtime-code.d.ts.map +1 -0
- package/dist/esm/server-runtime-code.js +299 -0
- package/dist/esm/server-runtime-code.js.map +1 -0
- package/dist/esm/session-cookie-resolver.d.ts +3 -78
- package/dist/esm/session-cookie-resolver.d.ts.map +1 -1
- package/dist/esm/session-cookie-resolver.js +7 -274
- package/dist/esm/session-cookie-resolver.js.map +1 -1
- package/dist/esm/subscriber-access-route-generator.d.ts +71 -0
- package/dist/esm/subscriber-access-route-generator.d.ts.map +1 -0
- package/dist/esm/subscriber-access-route-generator.js +292 -0
- package/dist/esm/subscriber-access-route-generator.js.map +1 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/types.d.ts +6 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/webhook-delivery-lease/index.d.ts +8 -0
- package/dist/esm/webhook-delivery-lease/index.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/index.js +37 -0
- package/dist/esm/webhook-delivery-lease/index.js.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts +26 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js +147 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-code.js.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts +16 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.d.ts.map +1 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js +16 -0
- package/dist/esm/webhook-delivery-lease/webhook-delivery-lease-scope.js.map +1 -0
- package/dist/esm/webhook-generator.d.ts +1 -1
- package/dist/esm/webhook-generator.d.ts.map +1 -1
- package/dist/esm/webhook-generator.js +342 -254
- package/dist/esm/webhook-generator.js.map +1 -1
- package/dist/esm/webhook-signature-verification.d.ts +17 -1
- package/dist/esm/webhook-signature-verification.d.ts.map +1 -1
- package/dist/esm/webhook-signature-verification.js +179 -25
- package/dist/esm/webhook-signature-verification.js.map +1 -1
- package/dist/esm/workflow-auth-generator.d.ts +9 -6
- package/dist/esm/workflow-auth-generator.d.ts.map +1 -1
- package/dist/esm/workflow-auth-generator.js +132 -28
- package/dist/esm/workflow-auth-generator.js.map +1 -1
- package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-component-plugin.js +65 -28
- package/dist/esm/workflow-component-plugin.js.map +1 -1
- package/dist/esm/workflow-project-plugin.d.ts +13 -0
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +212 -63
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/package.json +4 -4
- package/src/admin-form-hydration.ts +28 -0
- package/src/api-route-generator.ts +251 -64
- package/src/auth-generator.ts +273 -53
- package/src/auth-return/signed-in-destination-code.ts +32 -0
- package/src/cart-pricing-preamble.ts +22 -0
- package/src/cron-request-verification.ts +79 -0
- package/src/custom-node-modules.ts +102 -0
- package/src/data-api-route-generator.ts +370 -28
- package/src/ecommerce/cart-availability.ts +22 -13
- package/src/ecommerce/stock-decrement.ts +13 -1
- package/src/executor-generator.ts +212 -19
- package/src/index.ts +28 -7
- package/src/invoice/api-routes-code.ts +424 -391
- package/src/invoice/data-access-code.ts +431 -110
- package/src/invoice/index.ts +31 -1
- package/src/invoice/invoice-assembly-code.ts +514 -0
- package/src/invoice/invoice-html-code.ts +111 -9
- package/src/invoice/pdf-service-client-code.ts +3 -4
- package/src/nodes/account/account-login.ts +4 -3
- package/src/nodes/account/account-signup.ts +7 -4
- package/src/nodes/ai/ai-select-database-data.ts +10 -1
- package/src/nodes/browser/browser-get-push-subscription.ts +23 -0
- package/src/nodes/browser/browser-show-notification.ts +61 -38
- package/src/nodes/browser/browser-subscribe-to-push.ts +26 -36
- package/src/nodes/browser/browser-unsubscribe-from-push.ts +22 -0
- package/src/nodes/browser/push-api-access.ts +20 -0
- package/src/nodes/cart/cart-add-item.ts +200 -9
- package/src/nodes/cart/cart-clear.ts +11 -0
- package/src/nodes/cart/cart-get-total.ts +279 -7
- package/src/nodes/cart/cart-price-order.ts +351 -0
- package/src/nodes/cart/cart-update-item-quantity.ts +7 -0
- package/src/nodes/data/data-count.ts +9 -1
- package/src/nodes/data/data-create-item.ts +15 -1
- package/src/nodes/data/data-delete-item.ts +32 -0
- package/src/nodes/data/data-raw-query.ts +9 -1
- package/src/nodes/data/data-select.ts +9 -1
- package/src/nodes/data/data-update-item.ts +32 -0
- package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +11 -1
- package/src/nodes/file-storage/file-storage-upload.ts +8 -0
- package/src/nodes/general/general-custom-js.ts +21 -5
- package/src/nodes/index.ts +16 -6
- package/src/nodes/payment/payment-billing-portal.ts +51 -0
- package/src/nodes/payment/payment-charge-user.ts +236 -442
- package/src/nodes/payment/payment-close-checkout.ts +137 -0
- package/src/nodes/payment/payment-ensure-subscription-plan.ts +66 -0
- package/src/nodes/payment/payment-manage-subscription.ts +89 -0
- package/src/nodes/payment/payment-refund.ts +52 -467
- package/src/nodes/payment-drivers-global.d.ts +13 -0
- package/src/nodes/push/push-send-notification.ts +83 -0
- package/src/nodes/workflow-utils-global.d.ts +5 -0
- package/src/payments/drivers/coingate-driver-code.ts +466 -0
- package/src/payments/drivers/mollie-driver-code.ts +618 -0
- package/src/payments/drivers/paddle-driver-code.ts +678 -0
- package/src/payments/drivers/paypal-driver-code.ts +1256 -0
- package/src/payments/drivers/razorpay-driver-code.ts +727 -0
- package/src/payments/drivers/square-driver-code.ts +926 -0
- package/src/payments/drivers/stripe-driver-code.ts +773 -0
- package/src/payments/index.ts +204 -0
- package/src/payments/payment-core-code.ts +421 -0
- package/src/payments/payment-driver-code-map.ts +19 -0
- package/src/payments/payment-drivers-scope.ts +66 -0
- package/src/payments/payment-registry-code.ts +38 -0
- package/src/pg-client-code.ts +30 -0
- package/src/runtime-storage-generator.ts +241 -4
- package/src/secret-collector.ts +8 -3
- package/src/security-scanner.ts +22 -0
- package/src/segment-context-needs.ts +148 -0
- package/src/segment-splitter.ts +6 -1
- package/src/segment-trust.ts +170 -0
- package/src/sent-email-log/sent-email-log-code.ts +2 -32
- package/src/server-runtime-code.ts +298 -0
- package/src/session-cookie-resolver.ts +9 -277
- package/src/subscriber-access-route-generator.ts +351 -0
- package/src/types.ts +6 -0
- package/src/webhook-delivery-lease/index.ts +44 -0
- package/src/webhook-delivery-lease/webhook-delivery-lease-code.ts +151 -0
- package/src/webhook-delivery-lease/webhook-delivery-lease-scope.ts +18 -0
- package/src/webhook-generator.ts +359 -260
- package/src/webhook-signature-verification.ts +180 -25
- package/src/workflow-auth-generator.ts +137 -28
- package/src/workflow-component-plugin.ts +77 -20
- package/src/workflow-project-plugin.ts +247 -44
- package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-cancel-plan.js +0 -33
- package/dist/cjs/nodes/payment/payment-cancel-plan.js.map +0 -1
- package/dist/cjs/nodes/payment/payment-create-subscription.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-create-subscription.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-create-subscription.js +0 -41
- package/dist/cjs/nodes/payment/payment-create-subscription.js.map +0 -1
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js +0 -45
- package/dist/cjs/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
- package/dist/esm/nodes/payment/payment-cancel-plan.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-cancel-plan.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-cancel-plan.js +0 -30
- package/dist/esm/nodes/payment/payment-cancel-plan.js.map +0 -1
- package/dist/esm/nodes/payment/payment-create-subscription.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-create-subscription.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-create-subscription.js +0 -38
- package/dist/esm/nodes/payment/payment-create-subscription.js.map +0 -1
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts +0 -3
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.d.ts.map +0 -1
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.js +0 -42
- package/dist/esm/nodes/payment/payment-subscribe-to-plan.js.map +0 -1
- package/src/nodes/payment/payment-cancel-plan.ts +0 -33
- package/src/nodes/payment/payment-create-subscription.ts +0 -42
- package/src/nodes/payment/payment-subscribe-to-plan.ts +0 -46
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits `utils/payments/drivers/coingate.js`: crypto invoices through the
|
|
3
|
+
* CoinGate Orders API (form-encoded, hosted invoice page, one callback URL per
|
|
4
|
+
* order).
|
|
5
|
+
*
|
|
6
|
+
* A CoinGate callback is unsigned. Each order carries a token only this store
|
|
7
|
+
* can compute, the callback must echo it, and the order is then read back with
|
|
8
|
+
* the store's API token — that copy is what the store acts on.
|
|
9
|
+
*
|
|
10
|
+
* Crypto wallets cannot be debited, so CoinGate never bills a subscription:
|
|
11
|
+
* the store bills each cycle itself as an ordinary order (see the store billing
|
|
12
|
+
* engine). Refunds need the buyer's wallet address and email confirmation, so
|
|
13
|
+
* they are issued from CoinGate's dashboard and reach the store as a callback.
|
|
14
|
+
*/
|
|
15
|
+
export const generateCoingateDriverCode = () => `'use strict';
|
|
16
|
+
/**
|
|
17
|
+
* CoinGate driver. Generated by TeleportHQ — changes are overwritten on the next export.
|
|
18
|
+
*/
|
|
19
|
+
module.exports = function createCoingateDriver(core) {
|
|
20
|
+
var LIVE = 'https://api.coingate.com/v2';
|
|
21
|
+
var SANDBOX = 'https://api-sandbox.coingate.com/v2';
|
|
22
|
+
var MISSING_TOKEN = 'COINGATE_API_TOKEN is not configured';
|
|
23
|
+
// A \`new\` invoice (no currency chosen yet) expires two hours after it was
|
|
24
|
+
// created, and CoinGate states no expiry for it.
|
|
25
|
+
var NEW_INVOICE_LIFETIME_MS = 2 * 60 * 60 * 1000;
|
|
26
|
+
var DAY_MS = 24 * 60 * 60 * 1000;
|
|
27
|
+
|
|
28
|
+
function apiToken() {
|
|
29
|
+
return core.credential('coingate', 'apiToken');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// The order's callback token: an HMAC only this store can compute, so a
|
|
33
|
+
// forged callback cannot even make the store ask CoinGate about an order.
|
|
34
|
+
// It is keyed on NEXTAUTH_SECRET (else the API token), so rotating that
|
|
35
|
+
// secret would end the callbacks of every invoice still open: a callback
|
|
36
|
+
// is also accepted with the token keyed on the API token, which is just as
|
|
37
|
+
// secret and outlives it.
|
|
38
|
+
function callbackTokens(orderId) {
|
|
39
|
+
var payload = 'coingate-callback:' + String(orderId);
|
|
40
|
+
var tokens = [];
|
|
41
|
+
[process.env.NEXTAUTH_SECRET, apiToken()].forEach(function (key) {
|
|
42
|
+
var token = key ? core.hmac('sha256', key, payload, 'hex').slice(0, 40) : '';
|
|
43
|
+
if (token && tokens.indexOf(token) === -1) {
|
|
44
|
+
tokens.push(token);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return tokens;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function callbackToken(orderId) {
|
|
51
|
+
return callbackTokens(orderId)[0] || '';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function problem(data, fallback) {
|
|
55
|
+
if (data && Array.isArray(data.errors) && data.errors.length > 0) {
|
|
56
|
+
return String(data.message || fallback) + ': ' + data.errors.join(', ');
|
|
57
|
+
}
|
|
58
|
+
return (data && data.message) || fallback;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// A token is valid only in the environment that issued it and says nothing
|
|
62
|
+
// about which: the one that accepts it is remembered for this process.
|
|
63
|
+
async function baseUrl() {
|
|
64
|
+
var cached = globalThis.__coingateBaseUrlCache;
|
|
65
|
+
if (cached === LIVE || cached === SANDBOX) {
|
|
66
|
+
return { url: cached };
|
|
67
|
+
}
|
|
68
|
+
var candidates = [LIVE, SANDBOX];
|
|
69
|
+
for (var i = 0; i < candidates.length; i++) {
|
|
70
|
+
var answer = await core.request(candidates[i] + '/auth/test', {
|
|
71
|
+
headers: { Authorization: 'Token ' + apiToken() },
|
|
72
|
+
});
|
|
73
|
+
if (answer.ok) {
|
|
74
|
+
globalThis.__coingateBaseUrlCache = candidates[i];
|
|
75
|
+
return { url: candidates[i] };
|
|
76
|
+
}
|
|
77
|
+
if (answer.status !== 401) {
|
|
78
|
+
return { error: problem(answer.data, 'CoinGate could not be reached (HTTP ' + answer.status + ')') };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { error: 'CoinGate does not accept the API token in either the live or the sandbox environment.' };
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async function call(method, path, form) {
|
|
85
|
+
var base = await baseUrl();
|
|
86
|
+
if (base.error) {
|
|
87
|
+
return { ok: false, status: 0, data: { message: base.error } };
|
|
88
|
+
}
|
|
89
|
+
var headers = { Authorization: 'Token ' + apiToken(), Accept: 'application/json' };
|
|
90
|
+
if (form) {
|
|
91
|
+
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
|
|
92
|
+
}
|
|
93
|
+
return core.request(base.url + path, { method: method, headers: headers, body: form ? core.formEncode(form) : undefined });
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// CoinGate cannot deliver a callback to a private address.
|
|
97
|
+
function reachableCallbackUrl(baseUrlValue) {
|
|
98
|
+
var url = core.webhookUrl(baseUrlValue, 'coingate');
|
|
99
|
+
return /^https?:\\/\\/(localhost|127\\.|0\\.0\\.0\\.0|\\[::1\\])/i.test(url) ? undefined : url || undefined;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// CoinGate needs a title and description of 3+ characters each.
|
|
103
|
+
function text(value, fallback, max) {
|
|
104
|
+
var result = String(value || '').trim();
|
|
105
|
+
return (result.length >= 3 ? result : fallback).slice(0, max);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
function describeLines(lineItems, fallback) {
|
|
109
|
+
if (!Array.isArray(lineItems) || lineItems.length === 0) {
|
|
110
|
+
return fallback;
|
|
111
|
+
}
|
|
112
|
+
return lineItems
|
|
113
|
+
.map(function (item) {
|
|
114
|
+
return (Number(item.quantity) || 1) + ' x ' + String(item.name || 'Item');
|
|
115
|
+
})
|
|
116
|
+
.join(', ');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
async function createCheckout(input) {
|
|
120
|
+
if (!apiToken()) {
|
|
121
|
+
return { checkoutUrl: '', sessionId: '', error: MISSING_TOKEN };
|
|
122
|
+
}
|
|
123
|
+
var metadata = input.metadata || {};
|
|
124
|
+
if (!metadata.orderId) {
|
|
125
|
+
return { checkoutUrl: '', sessionId: '', error: 'A CoinGate invoice needs the store order it pays.' };
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
var form = {
|
|
129
|
+
order_id: String(metadata.orderId),
|
|
130
|
+
price_amount: core.decimalString(input.amount, input.currency),
|
|
131
|
+
price_currency: String(input.currency || '').toUpperCase(),
|
|
132
|
+
title: text(metadata.orderNumber ? 'Order ' + metadata.orderNumber : input.description, 'Order', 150),
|
|
133
|
+
description: text(describeLines(input.lineItems, input.description), 'Order', 500),
|
|
134
|
+
callback_url: reachableCallbackUrl(input.baseUrl),
|
|
135
|
+
success_url: input.successUrl || undefined,
|
|
136
|
+
cancel_url: input.cancelUrl || undefined,
|
|
137
|
+
token: callbackToken(metadata.orderId),
|
|
138
|
+
};
|
|
139
|
+
var receiveCurrency = core.credential('coingate', 'receiveCurrency');
|
|
140
|
+
if (receiveCurrency) {
|
|
141
|
+
form.receive_currency = receiveCurrency.toUpperCase();
|
|
142
|
+
}
|
|
143
|
+
if (input.customerEmail) {
|
|
144
|
+
form.shopper = { type: 'personal', email: String(input.customerEmail) };
|
|
145
|
+
}
|
|
146
|
+
var answer = await call('POST', '/orders', form);
|
|
147
|
+
if (!answer.ok || !answer.data || !answer.data.payment_url) {
|
|
148
|
+
return { checkoutUrl: '', sessionId: '', error: problem(answer.data, 'CoinGate refused the invoice (HTTP ' + answer.status + ')') };
|
|
149
|
+
}
|
|
150
|
+
return { checkoutUrl: String(answer.data.payment_url), sessionId: String(answer.data.id || '') };
|
|
151
|
+
} catch (err) {
|
|
152
|
+
return { checkoutUrl: '', sessionId: '', error: core.describeError(err) };
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// The first cycle of a store-billed subscription is an ordinary invoice for
|
|
157
|
+
// what is due now; the store's billing engine issues every later one.
|
|
158
|
+
async function createSubscriptionCheckout(input) {
|
|
159
|
+
if (Math.max(0, Math.floor(Number(input.trialDays) || 0)) > 0) {
|
|
160
|
+
return { checkoutUrl: '', sessionId: '', error: 'A crypto subscription cannot start with a free trial: nothing can be collected until the first invoice is paid.' };
|
|
161
|
+
}
|
|
162
|
+
var regular = Number(input.amount);
|
|
163
|
+
var due = Number(input.amountDue);
|
|
164
|
+
var firstCharge = isFinite(due) && due < regular ? due : regular;
|
|
165
|
+
if (!(firstCharge > 0)) {
|
|
166
|
+
return { checkoutUrl: '', sessionId: '', error: 'A gift card cannot cover the whole first payment of a subscription' };
|
|
167
|
+
}
|
|
168
|
+
var result = await createCheckout(Object.assign({}, input, { amount: firstCharge, lineItems: undefined }));
|
|
169
|
+
return result.error ? result : { checkoutUrl: result.checkoutUrl, sessionId: result.sessionId, providerSubscriptionId: '' };
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// What became of an invoice the store opened earlier. A new or pending one
|
|
173
|
+
// is paid on its own invoice page (a pending one already shows the buyer
|
|
174
|
+
// where to send the coins); a confirming one waits on the network; a paid or
|
|
175
|
+
// refunded one took the money. An invalid, expired or canceled invoice
|
|
176
|
+
// takes no more through the store (a coin sent to it late is recorded when
|
|
177
|
+
// CoinGate reports it), nor does one CoinGate does not know.
|
|
178
|
+
async function inspectCheckout(input) {
|
|
179
|
+
var reference = String((input && input.reference) || '').trim();
|
|
180
|
+
if (!/^[0-9]+$/.test(reference)) {
|
|
181
|
+
return { state: 'closed', checkoutUrl: '' };
|
|
182
|
+
}
|
|
183
|
+
if (!apiToken()) {
|
|
184
|
+
return { state: '', checkoutUrl: '', error: MISSING_TOKEN };
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
var answer = await call('GET', '/orders/' + encodeURIComponent(reference));
|
|
188
|
+
if (answer.status === 404) {
|
|
189
|
+
return { state: 'closed', checkoutUrl: '' };
|
|
190
|
+
}
|
|
191
|
+
if (!answer.ok || !answer.data) {
|
|
192
|
+
return { state: '', checkoutUrl: '', error: problem(answer.data, 'CoinGate could not be asked about order ' + reference) };
|
|
193
|
+
}
|
|
194
|
+
var state = invoiceState(answer.data);
|
|
195
|
+
if (state === 'open') {
|
|
196
|
+
return answer.data.payment_url
|
|
197
|
+
? { state: 'open', checkoutUrl: String(answer.data.payment_url) }
|
|
198
|
+
: { state: 'confirming', checkoutUrl: '' };
|
|
199
|
+
}
|
|
200
|
+
return { state: state, checkoutUrl: '' };
|
|
201
|
+
} catch (err) {
|
|
202
|
+
return { state: '', checkoutUrl: '', error: core.describeError(err) };
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
function invoiceState(order) {
|
|
207
|
+
var status = String((order && order.status) || '');
|
|
208
|
+
if (status === 'new' || status === 'pending') {
|
|
209
|
+
return 'open';
|
|
210
|
+
}
|
|
211
|
+
if (status === 'confirming') {
|
|
212
|
+
return 'confirming';
|
|
213
|
+
}
|
|
214
|
+
return status === 'paid' || status === 'refunded' || status === 'partially_refunded' ? 'paid' : 'closed';
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
// CoinGate cannot cancel an invoice: one still waiting for coins stays
|
|
218
|
+
// payable until it expires, and says when. Any other is answered as it is.
|
|
219
|
+
async function closeCheckout(input) {
|
|
220
|
+
var reference = String((input && input.reference) || '').trim();
|
|
221
|
+
if (!/^[0-9]+$/.test(reference)) {
|
|
222
|
+
return { state: 'closed', checkoutUrl: '', openUntil: '' };
|
|
223
|
+
}
|
|
224
|
+
if (!apiToken()) {
|
|
225
|
+
return { state: '', error: MISSING_TOKEN };
|
|
226
|
+
}
|
|
227
|
+
try {
|
|
228
|
+
var answer = await call('GET', '/orders/' + encodeURIComponent(reference));
|
|
229
|
+
if (answer.status === 404) {
|
|
230
|
+
return { state: 'closed', checkoutUrl: '', openUntil: '' };
|
|
231
|
+
}
|
|
232
|
+
if (!answer.ok || !answer.data) {
|
|
233
|
+
return { state: '', error: problem(answer.data, 'CoinGate could not be asked about order ' + reference) };
|
|
234
|
+
}
|
|
235
|
+
var state = invoiceState(answer.data);
|
|
236
|
+
return state === 'open'
|
|
237
|
+
? { state: 'open', checkoutUrl: String(answer.data.payment_url || ''), openUntil: openUntil(answer.data) }
|
|
238
|
+
: { state: state, checkoutUrl: '', openUntil: '' };
|
|
239
|
+
} catch (err) {
|
|
240
|
+
return { state: '', error: core.describeError(err) };
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// When an open invoice runs out: CoinGate's own expiry, else — for a \`new\`
|
|
245
|
+
// one, which carries none — two hours after it was created; '' when unknown.
|
|
246
|
+
function openUntil(order) {
|
|
247
|
+
if (order.expire_at) {
|
|
248
|
+
return String(order.expire_at);
|
|
249
|
+
}
|
|
250
|
+
var created = Date.parse(String(order.created_at || ''));
|
|
251
|
+
return order.status === 'new' && isFinite(created) ? core.isoTime(created + NEW_INVOICE_LIFETIME_MS) : '';
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// A day as CoinGate's order list filters on it: \`YYYY-MM-DD\` in UTC.
|
|
255
|
+
function isoDay(ms) {
|
|
256
|
+
return core.isoTime(ms).slice(0, 10);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
// The invoices opened for an order around the moment it was placed (they
|
|
260
|
+
// carry the order as their \`order_id\`). CoinGate filters the list by whole
|
|
261
|
+
// days, so a day either side is asked for (whatever day CoinGate's clock
|
|
262
|
+
// is on) and the exact time is checked here.
|
|
263
|
+
async function findCheckouts(input) {
|
|
264
|
+
var orderId = String((input && input.orderId) || '').trim();
|
|
265
|
+
var span = core.searchWindow(input && input.placedAt);
|
|
266
|
+
if (!orderId || !span) {
|
|
267
|
+
return { error: 'The order to look up names no id or no time it was placed.' };
|
|
268
|
+
}
|
|
269
|
+
if (!apiToken()) {
|
|
270
|
+
return { error: MISSING_TOKEN };
|
|
271
|
+
}
|
|
272
|
+
try {
|
|
273
|
+
var references = [];
|
|
274
|
+
for (var page = 1; page <= core.SEARCH_PAGE_LIMIT; page++) {
|
|
275
|
+
var answer = await call(
|
|
276
|
+
'GET',
|
|
277
|
+
'/orders?per_page=100&page=' +
|
|
278
|
+
page +
|
|
279
|
+
'&created_at[from]=' +
|
|
280
|
+
isoDay(span.from - DAY_MS) +
|
|
281
|
+
'&created_at[to]=' +
|
|
282
|
+
isoDay(span.to + DAY_MS)
|
|
283
|
+
);
|
|
284
|
+
if (!answer.ok || !answer.data) {
|
|
285
|
+
return { error: problem(answer.data, 'CoinGate could not list its orders') };
|
|
286
|
+
}
|
|
287
|
+
var orders = Array.isArray(answer.data.orders) ? answer.data.orders : [];
|
|
288
|
+
orders.forEach(function (order) {
|
|
289
|
+
var created = Date.parse(String((order && order.created_at) || ''));
|
|
290
|
+
var inSpan = !isFinite(created) || (created >= span.from && created <= span.to);
|
|
291
|
+
if (order && order.id && String(order.order_id || '') === orderId && inSpan) {
|
|
292
|
+
references.push(String(order.id));
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
if (orders.length === 0 || page >= Number(answer.data.total_pages || 1)) {
|
|
296
|
+
return { references: references };
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
return { error: 'CoinGate has more orders around the time this order was placed than the store can search.' };
|
|
300
|
+
} catch (err) {
|
|
301
|
+
return { error: core.describeError(err) };
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
async function ensurePlan() {
|
|
306
|
+
return { ok: 'true', planId: '', providerProductId: '', created: 'false' };
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
async function manageSubscription() {
|
|
310
|
+
return {
|
|
311
|
+
ok: 'false',
|
|
312
|
+
status: '',
|
|
313
|
+
cancelAtPeriodEnd: 'false',
|
|
314
|
+
currentPeriodStart: '',
|
|
315
|
+
currentPeriodEnd: '',
|
|
316
|
+
error: 'CoinGate subscriptions are billed by the store, not by CoinGate.',
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
async function billingPortal() {
|
|
321
|
+
return { ok: 'false', url: '', error: 'CoinGate has no billing page for subscribers.' };
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
async function refund(input) {
|
|
325
|
+
return {
|
|
326
|
+
success: false,
|
|
327
|
+
refundId: '',
|
|
328
|
+
amount: 0,
|
|
329
|
+
currency: String(input.currency || '').toUpperCase(),
|
|
330
|
+
status: '',
|
|
331
|
+
error: "CoinGate refunds go to the buyer's wallet: issue this one from the CoinGate dashboard, and the store records it when CoinGate reports it.",
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// A refund callback — CoinGate posts one when a refund is created and each
|
|
336
|
+
// time it moves on — carries no token: its \`id\` is the refund's, its
|
|
337
|
+
// \`order_id\` CoinGate's own order id. An order callback always carries the
|
|
338
|
+
// token the store set.
|
|
339
|
+
function isRefundCallback(body) {
|
|
340
|
+
return !body.token && body.request_amount !== undefined && /^[0-9]+$/.test(String(body.order_id || '').trim());
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// A refund callback is verified by reading the order and its refunds back
|
|
344
|
+
// with the store's key: the refund must be one of them. The order read back
|
|
345
|
+
// (with those refunds) is the event, marked as a refund callback so it
|
|
346
|
+
// never settles the order's payment again.
|
|
347
|
+
async function verifyRefundCallback(body) {
|
|
348
|
+
var refundId = String(body.id || '').trim();
|
|
349
|
+
var coingateId = String(body.order_id || '').trim();
|
|
350
|
+
if (!/^[0-9]+$/.test(refundId)) {
|
|
351
|
+
return { ok: false, reason: 'The CoinGate refund callback names no refund.' };
|
|
352
|
+
}
|
|
353
|
+
if (!apiToken()) {
|
|
354
|
+
return { ok: false, retry: true, reason: MISSING_TOKEN };
|
|
355
|
+
}
|
|
356
|
+
try {
|
|
357
|
+
var path = '/orders/' + encodeURIComponent(coingateId);
|
|
358
|
+
var order = await call('GET', path);
|
|
359
|
+
if (!order.ok || !order.data) {
|
|
360
|
+
return { ok: false, retry: order.status !== 404, reason: problem(order.data, 'CoinGate could not be asked about order ' + coingateId + '.') };
|
|
361
|
+
}
|
|
362
|
+
var refunds = await call('GET', path + '/refunds?per_page=100');
|
|
363
|
+
if (!refunds.ok || !refunds.data) {
|
|
364
|
+
return { ok: false, retry: refunds.status !== 404, reason: problem(refunds.data, 'CoinGate could not list the refunds of order ' + coingateId + '.') };
|
|
365
|
+
}
|
|
366
|
+
var list = Array.isArray(refunds.data.refunds) ? refunds.data.refunds : [];
|
|
367
|
+
var known = list.some(function (refund) {
|
|
368
|
+
return refund && String(refund.id) === refundId;
|
|
369
|
+
});
|
|
370
|
+
if (!known) {
|
|
371
|
+
return { ok: false, reason: 'CoinGate lists no refund ' + refundId + ' on order ' + coingateId + '.' };
|
|
372
|
+
}
|
|
373
|
+
var event = Object.assign({}, order.data, { teleportCallback: 'refund' });
|
|
374
|
+
if (!Array.isArray(event.refunds)) {
|
|
375
|
+
event.refunds = list;
|
|
376
|
+
}
|
|
377
|
+
return { ok: true, body: event };
|
|
378
|
+
} catch (err) {
|
|
379
|
+
return { ok: false, retry: true, reason: core.describeError(err) };
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
// The callback (JSON or form, per the merchant's CoinGate app) must echo the
|
|
384
|
+
// order's token; the order read back by its CoinGate id must be the same
|
|
385
|
+
// store order. A token mismatch is refused outright (never retried); an
|
|
386
|
+
// outage asks CoinGate to call again. A refund callback is verified above.
|
|
387
|
+
async function verifyWebhook(input) {
|
|
388
|
+
var body = input.body || {};
|
|
389
|
+
if (isRefundCallback(body)) {
|
|
390
|
+
return verifyRefundCallback(body);
|
|
391
|
+
}
|
|
392
|
+
var coingateId = String(body.id || '').trim();
|
|
393
|
+
var orderId = String(body.order_id || '').trim();
|
|
394
|
+
var echoed = String(body.token || '');
|
|
395
|
+
var tokenMatches =
|
|
396
|
+
!!orderId &&
|
|
397
|
+
callbackTokens(orderId).some(function (token) {
|
|
398
|
+
return core.safeEqual(echoed, token);
|
|
399
|
+
});
|
|
400
|
+
if (!coingateId || !tokenMatches) {
|
|
401
|
+
return { ok: false, reason: 'The CoinGate callback does not carry this order’s token.' };
|
|
402
|
+
}
|
|
403
|
+
var read = await readOrder(coingateId);
|
|
404
|
+
if (read.ok && String(read.body.order_id || '') !== orderId) {
|
|
405
|
+
return { ok: false, reason: 'The CoinGate order ' + coingateId + ' belongs to another store order.' };
|
|
406
|
+
}
|
|
407
|
+
return read;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// The order read back with the store's token, as the event a callback
|
|
411
|
+
// hands the store. An outage asks for another try; an order CoinGate does
|
|
412
|
+
// not know does not.
|
|
413
|
+
async function readOrder(coingateId) {
|
|
414
|
+
if (!apiToken()) {
|
|
415
|
+
return { ok: false, retry: true, reason: MISSING_TOKEN };
|
|
416
|
+
}
|
|
417
|
+
try {
|
|
418
|
+
var answer = await call('GET', '/orders/' + encodeURIComponent(coingateId));
|
|
419
|
+
if (!answer.ok || !answer.data) {
|
|
420
|
+
return { ok: false, retry: answer.status !== 404, reason: problem(answer.data, 'CoinGate could not be asked about order ' + coingateId + '.') };
|
|
421
|
+
}
|
|
422
|
+
return { ok: true, body: answer.data };
|
|
423
|
+
} catch (err) {
|
|
424
|
+
return { ok: false, retry: true, reason: core.describeError(err) };
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
// An invoice whose callback never came (CoinGate cannot call a private
|
|
429
|
+
// address) is settled from CoinGate itself, as the callback would have:
|
|
430
|
+
// nothing but the CoinGate order id comes from the request.
|
|
431
|
+
var ORDER_ID_PATTERN = /^[0-9]{1,20}$/;
|
|
432
|
+
|
|
433
|
+
async function reconcile(request) {
|
|
434
|
+
var kind = String((request && request.kind) || '');
|
|
435
|
+
var id = String((request && request.id) || '').trim();
|
|
436
|
+
if (kind !== 'checkout' || !ORDER_ID_PATTERN.test(id)) {
|
|
437
|
+
return { ok: false, reason: 'The request names no CoinGate order to settle.' };
|
|
438
|
+
}
|
|
439
|
+
var read = await readOrder(id);
|
|
440
|
+
if (read.ok && invoiceState(read.body) === 'open') {
|
|
441
|
+
return { ok: false, reason: 'CoinGate order ' + id + ' is still waiting for its coins.' };
|
|
442
|
+
}
|
|
443
|
+
return read;
|
|
444
|
+
}
|
|
445
|
+
|
|
446
|
+
function reconcileKinds(reference) {
|
|
447
|
+
return ORDER_ID_PATTERN.test(String(reference || '').trim()) ? ['checkout'] : [];
|
|
448
|
+
}
|
|
449
|
+
|
|
450
|
+
return {
|
|
451
|
+
id: 'coingate',
|
|
452
|
+
createCheckout: createCheckout,
|
|
453
|
+
createSubscriptionCheckout: createSubscriptionCheckout,
|
|
454
|
+
inspectCheckout: inspectCheckout,
|
|
455
|
+
closeCheckout: closeCheckout,
|
|
456
|
+
findCheckouts: findCheckouts,
|
|
457
|
+
ensurePlan: ensurePlan,
|
|
458
|
+
refund: refund,
|
|
459
|
+
manageSubscription: manageSubscription,
|
|
460
|
+
billingPortal: billingPortal,
|
|
461
|
+
reconcile: reconcile,
|
|
462
|
+
reconcileKinds: reconcileKinds,
|
|
463
|
+
verifyWebhook: verifyWebhook,
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
`;
|
|
467
|
+
//# sourceMappingURL=coingate-driver-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coingate-driver-code.js","sourceRoot":"","sources":["../../../../src/payments/drivers/coingate-driver-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmcvD,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emits `utils/payments/drivers/mollie.js`: the Payments API (hosted checkout,
|
|
3
|
+
* one webhook URL per payment), refunds, and subscriptions through a FIRST
|
|
4
|
+
* payment that creates the customer's mandate.
|
|
5
|
+
*
|
|
6
|
+
* Mollie posts only `id=tr_…` to a webhook and signs nothing: the payment is
|
|
7
|
+
* always read back with the store's key, and that copy is what the store acts
|
|
8
|
+
* on. A subscription does not exist until its first payment is paid, so the
|
|
9
|
+
* webhook that learns of that payment also creates it (idempotently), with
|
|
10
|
+
* the plan the checkout stored in the payment's metadata.
|
|
11
|
+
*
|
|
12
|
+
* A subscription is addressed through its customer, so the store keeps its
|
|
13
|
+
* provider id as `<customer id>:<subscription id>`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const generateMollieDriverCode: () => string;
|
|
16
|
+
//# sourceMappingURL=mollie-driver-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mollie-driver-code.d.ts","sourceRoot":"","sources":["../../../../src/payments/drivers/mollie-driver-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,wBAAwB,QAAO,MA2lB3C,CAAA"}
|