@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/invoice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,mBAAmB,EACnB,cAAc,EACf,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/invoice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,mBAAmB,EACnB,cAAc,EACf,MAAM,4BAA4B,CAAA;AAcnC,eAAO,MAAM,oBAAoB,oBACd,mBAAmB,aACzB,sBAAsB,kBACjB,cAAc,GAAG,IAAI,oBACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAC/C,IAwKF,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -6,6 +6,7 @@ const pdf_generator_code_1 = require("./pdf-generator-code");
|
|
|
6
6
|
const email_sender_code_1 = require("./email-sender-code");
|
|
7
7
|
const data_access_code_1 = require("./data-access-code");
|
|
8
8
|
const api_routes_code_1 = require("./api-routes-code");
|
|
9
|
+
const invoice_assembly_code_1 = require("./invoice-assembly-code");
|
|
9
10
|
const auth_generator_1 = require("../auth-generator");
|
|
10
11
|
const sent_email_log_1 = require("../sent-email-log");
|
|
11
12
|
const email_locale_1 = require("../email-locale");
|
|
@@ -50,6 +51,18 @@ const generateInvoiceFiles = (invoiceSettings, structure, dataSourceType, dataSo
|
|
|
50
51
|
},
|
|
51
52
|
],
|
|
52
53
|
});
|
|
54
|
+
// The order-to-invoice arithmetic, shared by the generate and regenerate
|
|
55
|
+
// routes so a rebuilt invoice is computed exactly like the one issued.
|
|
56
|
+
files.set('invoice-assembly', {
|
|
57
|
+
path: ['utils', 'invoices'],
|
|
58
|
+
files: [
|
|
59
|
+
{
|
|
60
|
+
name: 'invoice-assembly',
|
|
61
|
+
fileType: teleport_types_1.FileType.JS,
|
|
62
|
+
content: (0, invoice_assembly_code_1.generateInvoiceAssemblyCode)(invoiceSettings),
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
});
|
|
53
66
|
if ((_a = invoiceSettings.emailDelivery) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
54
67
|
// The sender records every attempt in the sent-email ledger and picks the
|
|
55
68
|
// buyer's language through the shared locale module.
|
|
@@ -110,6 +123,17 @@ const generateInvoiceFiles = (invoiceSettings, structure, dataSourceType, dataSo
|
|
|
110
123
|
},
|
|
111
124
|
],
|
|
112
125
|
});
|
|
126
|
+
// The admin panel's "Regenerate" action (single row and bulk).
|
|
127
|
+
files.set('invoice-regenerate-route', {
|
|
128
|
+
path: ['pages', 'api', 'invoices', '[id]'],
|
|
129
|
+
files: [
|
|
130
|
+
{
|
|
131
|
+
name: 'regenerate',
|
|
132
|
+
fileType: teleport_types_1.FileType.JS,
|
|
133
|
+
content: (0, api_routes_code_1.generateInvoiceRegenerateRouteCode)(),
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
});
|
|
113
137
|
// The emitted pdf-generator.js delegates rendering to a shared
|
|
114
138
|
// external microservice (see PDF_SERVICE_SPEC.md at the workspace
|
|
115
139
|
// root) instead of launching Chromium in-process. No puppeteer-core
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/invoice/index.ts"],"names":[],"mappings":";;;AAAA,+DAKmC;AACnC,6DAA+D;AAC/D,2DAA2F;AAC3F,yDAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/invoice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UIDLInvoiceSettings } from '@teleporthq/teleport-types';
|
|
2
|
+
/**
|
|
3
|
+
* `utils/invoices/invoice-assembly.js` — turns an order, and whatever a caller
|
|
4
|
+
* states over it, into the invoice the PDF is rendered from.
|
|
5
|
+
*
|
|
6
|
+
* Shared by `/api/invoices/generate` (the invoice issued when an order is paid)
|
|
7
|
+
* and `/api/invoices/[id]/regenerate` (the same invoice rebuilt from the admin
|
|
8
|
+
* panel), so a regenerated invoice is computed by exactly the code that issued
|
|
9
|
+
* the original. Neither route prices, taxes or discounts anything itself.
|
|
10
|
+
*/
|
|
11
|
+
export declare const generateInvoiceAssemblyCode: (settings: UIDLInvoiceSettings) => string;
|
|
12
|
+
//# sourceMappingURL=invoice-assembly-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-assembly-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/invoice-assembly-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAIhE;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B,aAAc,mBAAmB,KAAG,MAof3E,CAAA"}
|
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateInvoiceAssemblyCode = void 0;
|
|
4
|
+
const teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
5
|
+
const regional_invoice_tax_code_1 = require("./regional-invoice-tax-code");
|
|
6
|
+
/**
|
|
7
|
+
* `utils/invoices/invoice-assembly.js` — turns an order, and whatever a caller
|
|
8
|
+
* states over it, into the invoice the PDF is rendered from.
|
|
9
|
+
*
|
|
10
|
+
* Shared by `/api/invoices/generate` (the invoice issued when an order is paid)
|
|
11
|
+
* and `/api/invoices/[id]/regenerate` (the same invoice rebuilt from the admin
|
|
12
|
+
* panel), so a regenerated invoice is computed by exactly the code that issued
|
|
13
|
+
* the original. Neither route prices, taxes or discounts anything itself.
|
|
14
|
+
*/
|
|
15
|
+
const generateInvoiceAssemblyCode = (settings) => {
|
|
16
|
+
var _a;
|
|
17
|
+
const defaultTaxRate = settings.defaultTaxRate || 0;
|
|
18
|
+
const taxIncludedInPrice = settings.taxIncludedInPrice === true;
|
|
19
|
+
const templateDocumentJson = ((_a = settings.template) === null || _a === void 0 ? void 0 : _a.document)
|
|
20
|
+
? JSON.stringify(settings.template.document)
|
|
21
|
+
: 'null';
|
|
22
|
+
return `/**
|
|
23
|
+
* Invoice assembly — the order-to-invoice arithmetic and the PDF storage
|
|
24
|
+
* helpers shared by the generate and regenerate routes.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
var dataAccess = require('./data-access');
|
|
28
|
+
var pdfGenerator = require('./pdf-generator');
|
|
29
|
+
|
|
30
|
+
var DEFAULT_TAX_RATE = ${defaultTaxRate};
|
|
31
|
+
var DEFAULT_CURRENCY = "USD";
|
|
32
|
+
var TAX_INCLUDED_IN_PRICE = ${taxIncludedInPrice};
|
|
33
|
+
var TEMPLATE_DOCUMENT = ${templateDocumentJson};
|
|
34
|
+
${regional_invoice_tax_code_1.REGIONAL_INVOICE_TAX_CODE}
|
|
35
|
+
${teleport_shared_1.ProductOptions.generateProductOptionsHelperCode()}
|
|
36
|
+
|
|
37
|
+
// The product options an order line was bought with: the short one-line label
|
|
38
|
+
// (after the name) and every answer in full, one per line (the description).
|
|
39
|
+
// Same rule as the order emails: a current snapshot names its options, while
|
|
40
|
+
// the compact form older checkouts wrote names none, so its stored label reads
|
|
41
|
+
// better than its keys. Both '' for a line without options.
|
|
42
|
+
function invoiceLineOptions(row) {
|
|
43
|
+
var snapshot = __poParseSnapshot(row.configuration);
|
|
44
|
+
var storedLabel = String(row.configuration_label || '');
|
|
45
|
+
var fromSnapshot =
|
|
46
|
+
snapshot !== null && snapshot.entries.length > 0 && (snapshot.version === 1 || !storedLabel);
|
|
47
|
+
return {
|
|
48
|
+
label: storedLabel || (fromSnapshot ? __poLabel(snapshot.entries) : ''),
|
|
49
|
+
description: fromSnapshot ? __poDetails(snapshot.entries) : storedLabel,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
var CURRENCY_SYMBOLS = {
|
|
54
|
+
'USD': '$', 'EUR': '\\u20AC', 'GBP': '\\u00A3', 'JPY': '\\u00A5',
|
|
55
|
+
'CAD': 'C$', 'AUD': 'A$', 'CHF': 'CHF ', 'CNY': '\\u00A5',
|
|
56
|
+
'INR': '\\u20B9', 'BRL': 'R$', 'KRW': '\\u20A9', 'MXN': 'MX$',
|
|
57
|
+
'SEK': 'kr', 'NOK': 'kr', 'DKK': 'kr', 'PLN': 'z\\u0142',
|
|
58
|
+
'CZK': 'K\\u010D', 'HUF': 'Ft', 'RON': 'lei', 'BGN': 'лв',
|
|
59
|
+
'HRK': 'kn', 'TRY': '\\u20BA', 'ZAR': 'R', 'SGD': 'S$',
|
|
60
|
+
'HKD': 'HK$', 'NZD': 'NZ$', 'THB': '\\u0E3F', 'MYR': 'RM',
|
|
61
|
+
'PHP': '\\u20B1', 'IDR': 'Rp', 'TWD': 'NT$', 'AED': 'AED',
|
|
62
|
+
'SAR': 'SAR', 'ILS': '\\u20AA', 'EGP': 'E\\u00A3', 'NGN': '\\u20A6',
|
|
63
|
+
'KES': 'KSh', 'GHS': 'GH\\u20B5', 'COP': 'COL$', 'ARS': 'AR$',
|
|
64
|
+
'CLP': 'CLP$', 'PEN': 'S/.', 'VND': '\\u20AB', 'UAH': '\\u20B4',
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
function isLoopbackHost(host) {
|
|
68
|
+
var name = String(host || '').replace(/:[0-9]+$/, '').toLowerCase();
|
|
69
|
+
return name === 'localhost' || name === '127.0.0.1' || name === '[::1]';
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// The origin this deployment calls its own routes on. A server-side self-call
|
|
73
|
+
// — the runtime-storage upload below — needs an absolute URL (Node's undici
|
|
74
|
+
// fetch rejects relative ones), and it carries the app secret, so it must
|
|
75
|
+
// never go to a host the request named: outside Vercel the Host header is
|
|
76
|
+
// whatever the caller sent. The rule of the server runtime's
|
|
77
|
+
// \`trustedBaseUrl\` (server-runtime-code.ts), inlined because this module must
|
|
78
|
+
// not depend on it: on Vercel the request's host (the domain Vercel routed to
|
|
79
|
+
// this deployment); elsewhere NEXTAUTH_URL's origin when it is set — except
|
|
80
|
+
// that a local server on another port than a local NEXTAUTH_URL keeps its own
|
|
81
|
+
// loopback address.
|
|
82
|
+
function requestBaseUrl(req) {
|
|
83
|
+
var headers = (req && req.headers) || {};
|
|
84
|
+
var host = headers.host || '';
|
|
85
|
+
var proto = headers['x-forwarded-proto'] || (isLoopbackHost(host) ? 'http' : 'https');
|
|
86
|
+
var requestOrigin = String(proto).split(',')[0].trim() + '://' + host;
|
|
87
|
+
if (process.env.VERCEL) return requestOrigin;
|
|
88
|
+
var configured = String(process.env.NEXTAUTH_URL || '').trim();
|
|
89
|
+
if (!configured) return requestOrigin;
|
|
90
|
+
var origin;
|
|
91
|
+
try { origin = new URL(configured).origin; } catch (e) { return requestOrigin; }
|
|
92
|
+
if (isLoopbackHost(host) && isLoopbackHost(new URL(origin).host)) return requestOrigin;
|
|
93
|
+
return origin;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Runtime storage configuration. When all three are set, the generated PDF
|
|
97
|
+
// is also POSTed to the storage worker so consumers (e.g. the payment
|
|
98
|
+
// webhook) can store a persistent URL on the order record. Missing/invalid
|
|
99
|
+
// config silently skips the upload — the in-DB PDF (served via
|
|
100
|
+
// /api/invoices/[id]/pdf) is always available as a fallback.
|
|
101
|
+
// Uploads the rendered invoice PDF through THIS project's own
|
|
102
|
+
// \`/api/runtime-storage/upload\` route — the exact same path that the
|
|
103
|
+
// admin-panel asset uploader uses (client-side \`file-storage-upload\`
|
|
104
|
+
// workflow node → the same proxy). Centralising on that one route means:
|
|
105
|
+
//
|
|
106
|
+
// 1. The storage service URL + api key + project id live in one place
|
|
107
|
+
// (the proxy), so invoice and admin uploads can never drift.
|
|
108
|
+
// 2. When runtime storage is not configured, the proxy returns
|
|
109
|
+
// HTTP 500 with \`{ error: 'Runtime storage is not configured' }\`.
|
|
110
|
+
// We surface that as the upload failure reason so the
|
|
111
|
+
// \`invoice_pdf_url\` column stays empty instead of silently
|
|
112
|
+
// holding a stale/fake URL.
|
|
113
|
+
//
|
|
114
|
+
// \`baseUrl\` is the live request origin (see \`requestBaseUrl\`). The
|
|
115
|
+
// self-fetch pattern is necessary because the routes run server-side, where
|
|
116
|
+
// Node's undici fetch rejects relative URLs.
|
|
117
|
+
async function uploadInvoicePdfToRuntimeStorage(pdfBuffer, fileName, baseUrl) {
|
|
118
|
+
if (!baseUrl) {
|
|
119
|
+
console.error('[invoice] Runtime storage: cannot compute proxy URL (baseUrl missing). Skipping upload.');
|
|
120
|
+
return { storageUrl: '', error: 'baseUrl missing' };
|
|
121
|
+
}
|
|
122
|
+
if (typeof Blob === 'undefined' || typeof FormData === 'undefined' || typeof fetch === 'undefined') {
|
|
123
|
+
console.error('[invoice] Runtime storage: Node runtime missing Blob/FormData/fetch (requires Node >= 18). Skipping upload.');
|
|
124
|
+
return { storageUrl: '', error: 'node runtime too old' };
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
var proxyUrl = String(baseUrl).replace(/\\/+$/, '') + '/api/runtime-storage/upload';
|
|
128
|
+
console.info('[invoice] Runtime storage: POST ' + proxyUrl + ' (' + pdfBuffer.length + ' bytes, fileName=' + fileName + ', folder=invoices)');
|
|
129
|
+
var blob = new Blob([pdfBuffer], { type: 'application/pdf' });
|
|
130
|
+
var form = new FormData();
|
|
131
|
+
form.append('file', blob, fileName);
|
|
132
|
+
form.append('folder', 'invoices');
|
|
133
|
+
// The upload route serves the store's own server code without the limits
|
|
134
|
+
// it puts on a visitor's upload; only server code can present the secret.
|
|
135
|
+
var res = await fetch(proxyUrl, {
|
|
136
|
+
method: 'POST',
|
|
137
|
+
headers: { 'x-internal-data-secret': process.env.NEXTAUTH_SECRET || '' },
|
|
138
|
+
body: form,
|
|
139
|
+
});
|
|
140
|
+
var data = {};
|
|
141
|
+
try { data = await res.json(); } catch (_parseErr) { data = {}; }
|
|
142
|
+
if (!res.ok) {
|
|
143
|
+
var reason = (data && (data.error || data.message)) || ('HTTP ' + res.status);
|
|
144
|
+
console.error('[invoice] Runtime storage: upload FAILED via proxy — ' + reason +
|
|
145
|
+
' (this is expected in dev when RUNTIME_STORAGE_URL / RUNTIME_STORAGE_API_KEY / RUNTIME_STORAGE_PROJECT_ID are unset in .env)');
|
|
146
|
+
return { storageUrl: '', error: reason };
|
|
147
|
+
}
|
|
148
|
+
var files = Array.isArray(data.files) ? data.files : [];
|
|
149
|
+
var first = files.length > 0 ? files[0] : null;
|
|
150
|
+
var resolvedUrl = first && first.url ? String(first.url) : (data.url ? String(data.url) : '');
|
|
151
|
+
var resolvedId = first && first.id ? String(first.id) : (data.id ? String(data.id) : '');
|
|
152
|
+
if (resolvedUrl) {
|
|
153
|
+
console.info('[invoice] Runtime storage: upload OK — fileId=' + (resolvedId || '(missing)') + ', storageUrl=' + resolvedUrl);
|
|
154
|
+
} else {
|
|
155
|
+
console.error('[invoice] Runtime storage: proxy returned 2xx but no url in payload — ' + JSON.stringify(data).slice(0, 500));
|
|
156
|
+
}
|
|
157
|
+
return { storageUrl: resolvedUrl, fileId: resolvedId };
|
|
158
|
+
} catch (err) {
|
|
159
|
+
console.error('[invoice] Runtime storage: upload threw — ' + (err && err.message));
|
|
160
|
+
return { storageUrl: '', error: (err && err.message) || 'upload threw' };
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Remembers which runtime-storage file holds the invoice's PDF, so a later
|
|
165
|
+
// regeneration can delete the copy it supersedes. A write of its own, after
|
|
166
|
+
// the URL is saved: a table without the column must never cost the invoice
|
|
167
|
+
// its PDF link.
|
|
168
|
+
async function recordStoredInvoicePdfKey(invoiceId, fileId) {
|
|
169
|
+
try {
|
|
170
|
+
await dataAccess.updateInvoice(invoiceId, { pdf_storage_key: fileId || null });
|
|
171
|
+
} catch (err) {
|
|
172
|
+
console.warn('[invoice] Could not record the PDF storage key for invoice ' + invoiceId + ': ' + (err && err.message));
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// Deletes a superseded copy of an invoice PDF from runtime storage, by the file
|
|
177
|
+
// id its upload returned. Best effort: with storage unconfigured, or the file
|
|
178
|
+
// already gone, there is nothing left to do — the invoice no longer points at
|
|
179
|
+
// it either way.
|
|
180
|
+
async function deleteStoredInvoicePdf(fileId) {
|
|
181
|
+
var storageUrl = process.env.RUNTIME_STORAGE_URL;
|
|
182
|
+
var apiKey = process.env.RUNTIME_STORAGE_API_KEY;
|
|
183
|
+
var projectId = process.env.RUNTIME_STORAGE_PROJECT_ID;
|
|
184
|
+
if (!fileId || !storageUrl || !apiKey || !projectId || typeof fetch === 'undefined') {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
try {
|
|
188
|
+
var target = String(storageUrl).replace(/\\/+$/, '') + '/project/' + projectId + '/files/' + encodeURIComponent(String(fileId));
|
|
189
|
+
var res = await fetch(target, { method: 'DELETE', headers: { Authorization: 'Bearer ' + apiKey } });
|
|
190
|
+
if (!res.ok && res.status !== 404) {
|
|
191
|
+
console.warn('[invoice] Runtime storage: could not delete the superseded PDF ' + fileId + ' (HTTP ' + res.status + ')');
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
console.info('[invoice] Runtime storage: deleted the superseded PDF ' + fileId);
|
|
195
|
+
return true;
|
|
196
|
+
} catch (err) {
|
|
197
|
+
console.warn('[invoice] Runtime storage: deleting the superseded PDF ' + fileId + ' threw — ' + (err && err.message));
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
// Everything an invoice is made of: the order it bills, and whatever the
|
|
203
|
+
// caller states over it — any body.* field the caller provides wins, the
|
|
204
|
+
// hydrated order fills the gaps. Returns null when there is not a single line
|
|
205
|
+
// to bill.
|
|
206
|
+
function assembleInvoiceData(body, hydratedOrder, hydratedItems) {
|
|
207
|
+
var callerSuppliedItems = Array.isArray(body.items) && body.items.length > 0;
|
|
208
|
+
|
|
209
|
+
var items = callerSuppliedItems
|
|
210
|
+
? body.items
|
|
211
|
+
: hydratedItems.map(function (row) {
|
|
212
|
+
var options = invoiceLineOptions(row);
|
|
213
|
+
return {
|
|
214
|
+
productId: row.product_id || row.productId || null,
|
|
215
|
+
// Paired with \`productId\` to find the rate a line was charged at
|
|
216
|
+
// on an order priced by region (see resolveRegionalInvoiceTax).
|
|
217
|
+
variantId: row.variant_id || row.variantId || null,
|
|
218
|
+
name: row.product_name || row.name || 'Item',
|
|
219
|
+
variantLabel: row.variant_label || row.variantLabel || null,
|
|
220
|
+
variantSwatches: row.variant_swatches || row.variantSwatches || null,
|
|
221
|
+
configurationLabel: options.label,
|
|
222
|
+
description: options.description,
|
|
223
|
+
quantity: Number(row.quantity) || 1,
|
|
224
|
+
unitPrice: Number(row.unit_price || row.unitPrice || row.price) || 0,
|
|
225
|
+
totalPrice: Number(row.total_price || row.totalPrice) || 0,
|
|
226
|
+
currency: row.currency || null,
|
|
227
|
+
};
|
|
228
|
+
});
|
|
229
|
+
if (items.length === 0) {
|
|
230
|
+
return null;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
var currency = String(
|
|
234
|
+
body.currency || (hydratedOrder && hydratedOrder.currency) || DEFAULT_CURRENCY
|
|
235
|
+
).toUpperCase();
|
|
236
|
+
var currencySymbol = body.currencySymbol || CURRENCY_SYMBOLS[currency] || currency + ' ';
|
|
237
|
+
|
|
238
|
+
var grossLineSum = 0;
|
|
239
|
+
for (var i = 0; i < items.length; i++) {
|
|
240
|
+
var qty = Number(items[i].quantity) || 1;
|
|
241
|
+
var price = Number(items[i].unitPrice || items[i].unit_price || items[i].price) || 0;
|
|
242
|
+
var itemTotal = Number(items[i].totalPrice || items[i].total_price) || (qty * price);
|
|
243
|
+
items[i].totalPrice = itemTotal;
|
|
244
|
+
items[i].unitPrice = price;
|
|
245
|
+
items[i].quantity = qty;
|
|
246
|
+
// An invoice bills in ONE currency, the order's: a stored line's own
|
|
247
|
+
// column is never written by the checkout and holds its USD default.
|
|
248
|
+
items[i].currency = currency;
|
|
249
|
+
grossLineSum += itemTotal;
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
// Hydrated order row (or \`{}\` for a fully body-driven call), read before the
|
|
253
|
+
// totals below need it. \`orderRow\` further down is the same object under a
|
|
254
|
+
// name the customer/payment fallbacks use.
|
|
255
|
+
var orderShippingSource = hydratedOrder || {};
|
|
256
|
+
|
|
257
|
+
// Discounts.
|
|
258
|
+
//
|
|
259
|
+
// A discount STORED ON THE ORDER is money the buyer was not charged, so it
|
|
260
|
+
// is always subtracted and always exposed to the template — hiding it would
|
|
261
|
+
// print a total larger than the card was debited. A caller that assembled
|
|
262
|
+
// the invoice itself (the manual/admin path) states its own figure and wins.
|
|
263
|
+
//
|
|
264
|
+
// The payment webhook calls this route with just an \`orderId\`, so the
|
|
265
|
+
// order row — not the body — is the usual source.
|
|
266
|
+
var discountAmount = 0;
|
|
267
|
+
if (body.discountAmount != null && body.discountAmount !== '') {
|
|
268
|
+
discountAmount = Number(body.discountAmount) || 0;
|
|
269
|
+
} else if (orderShippingSource.discount_amount != null) {
|
|
270
|
+
discountAmount = Number(orderShippingSource.discount_amount) || 0;
|
|
271
|
+
}
|
|
272
|
+
if (!(discountAmount > 0)) { discountAmount = 0; }
|
|
273
|
+
|
|
274
|
+
// How the discount splits: the automatic rules' share is recorded beside
|
|
275
|
+
// it, and the voucher's own share is recorded too since the discount
|
|
276
|
+
// engine started splitting them (\`voucher_discount_amount\`) — derived as
|
|
277
|
+
// the remainder on an order that predates that column.
|
|
278
|
+
var automaticDiscountAmount = Number(
|
|
279
|
+
body.automaticDiscountAmount != null
|
|
280
|
+
? body.automaticDiscountAmount
|
|
281
|
+
: orderShippingSource.automatic_discount_amount
|
|
282
|
+
);
|
|
283
|
+
if (!(automaticDiscountAmount > 0)) { automaticDiscountAmount = 0; }
|
|
284
|
+
if (automaticDiscountAmount > discountAmount) { automaticDiscountAmount = discountAmount; }
|
|
285
|
+
var voucherDiscountSource = body.voucherDiscountAmount != null
|
|
286
|
+
? body.voucherDiscountAmount
|
|
287
|
+
: orderShippingSource.voucher_discount_amount;
|
|
288
|
+
var voucherDiscountAmount = voucherDiscountSource != null && voucherDiscountSource !== ''
|
|
289
|
+
? Number(voucherDiscountSource)
|
|
290
|
+
: discountAmount - automaticDiscountAmount;
|
|
291
|
+
if (!(voucherDiscountAmount > 0)) { voucherDiscountAmount = 0; }
|
|
292
|
+
var voucherCode = String(body.voucherCode || orderShippingSource.voucher_code || '').trim();
|
|
293
|
+
|
|
294
|
+
var taxRate = body.taxRate != null ? Number(body.taxRate) : DEFAULT_TAX_RATE;
|
|
295
|
+
var subtotal;
|
|
296
|
+
var taxAmount = 0;
|
|
297
|
+
var taxableAmount;
|
|
298
|
+
if (taxRate > 0 && TAX_INCLUDED_IN_PRICE) {
|
|
299
|
+
// Prices already include VAT — extract net subtotal and tax out of the gross sum.
|
|
300
|
+
taxableAmount = grossLineSum - discountAmount;
|
|
301
|
+
var netAmount = taxableAmount / (1 + taxRate / 100);
|
|
302
|
+
taxAmount = taxableAmount - netAmount;
|
|
303
|
+
subtotal = netAmount;
|
|
304
|
+
} else {
|
|
305
|
+
subtotal = grossLineSum;
|
|
306
|
+
taxableAmount = subtotal - discountAmount;
|
|
307
|
+
if (taxRate > 0) {
|
|
308
|
+
taxAmount = taxableAmount * (taxRate / 100);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
var goodsTotal = TAX_INCLUDED_IN_PRICE
|
|
312
|
+
? (grossLineSum - discountAmount)
|
|
313
|
+
: (taxableAmount + taxAmount);
|
|
314
|
+
|
|
315
|
+
// Delivery fee the buyer was charged. Read from the order (or handed in by
|
|
316
|
+
// a caller that assembled the invoice itself) rather than re-derived from
|
|
317
|
+
// the merchant's CURRENT delivery settings — the order is a historical
|
|
318
|
+
// record and its settings may have changed since.
|
|
319
|
+
//
|
|
320
|
+
// It is added to the total but NOT into \`subtotal\` / \`taxAmount\`: those two
|
|
321
|
+
// describe the GOODS, which is what \`teleport_invoice_items\` holds and what
|
|
322
|
+
// the VAT breakdown is computed from. The storefront charges the configured
|
|
323
|
+
// delivery price verbatim (\`computeShippingMeta\` never taxes it), so the
|
|
324
|
+
// invoice must not tax it either — otherwise the invoice total stops
|
|
325
|
+
// matching \`teleport_orders.total_amount\`, i.e. the amount actually taken.
|
|
326
|
+
// 0 for pickup orders, free-delivery orders, and orders placed before the
|
|
327
|
+
// column existed.
|
|
328
|
+
var shippingAmount = Number(
|
|
329
|
+
body.shippingAmount != null ? body.shippingAmount : (orderShippingSource.shipping_amount || 0)
|
|
330
|
+
);
|
|
331
|
+
if (!isFinite(shippingAmount) || shippingAmount < 0) {
|
|
332
|
+
shippingAmount = 0;
|
|
333
|
+
}
|
|
334
|
+
var total = goodsTotal + shippingAmount;
|
|
335
|
+
|
|
336
|
+
// An order priced by region records the rate each line was charged at, so
|
|
337
|
+
// its invoice is computed from that record instead of the store default.
|
|
338
|
+
// A caller that states its own \`taxRate\` keeps the single-rate path.
|
|
339
|
+
var taxIncludedInPrice = TAX_INCLUDED_IN_PRICE;
|
|
340
|
+
var regionalTaxBreakdown = body.taxRate == null
|
|
341
|
+
? parseOrderTaxBreakdown(orderShippingSource.tax_breakdown)
|
|
342
|
+
: null;
|
|
343
|
+
if (regionalTaxBreakdown) {
|
|
344
|
+
var regionalTax = resolveRegionalInvoiceTax(regionalTaxBreakdown, items, discountAmount, shippingAmount);
|
|
345
|
+
taxRate = regionalTax.taxRate;
|
|
346
|
+
taxIncludedInPrice = regionalTax.taxIncluded;
|
|
347
|
+
subtotal = regionalTax.subtotal;
|
|
348
|
+
taxAmount = regionalTax.taxAmount;
|
|
349
|
+
shippingAmount = regionalTax.shippingNet;
|
|
350
|
+
total = regionalTax.total;
|
|
351
|
+
for (var ti = 0; ti < items.length; ti++) {
|
|
352
|
+
items[ti].taxRate = regionalTax.itemTax[ti].rate;
|
|
353
|
+
items[ti].taxIncluded = regionalTax.itemTax[ti].included;
|
|
354
|
+
items[ti].taxAmount = regionalTax.itemTax[ti].amount;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
// Cross-check against the amount the order was actually placed for. The
|
|
359
|
+
// invoice is built from line items, the order carries the charged total,
|
|
360
|
+
// and the two must agree — when they don't, the invoice is being written
|
|
361
|
+
// from an incomplete set of lines (exactly what a lost race against
|
|
362
|
+
// checkout's item loop looks like). Log-only: a mismatch must never stop
|
|
363
|
+
// the merchant getting an invoice, but it has to be visible in the
|
|
364
|
+
// function logs instead of silently shipping a short bill.
|
|
365
|
+
var orderTotalAmount = Number(orderShippingSource.total_amount);
|
|
366
|
+
if (isFinite(orderTotalAmount) && orderTotalAmount > 0 && Math.abs(orderTotalAmount - total) > 0.02) {
|
|
367
|
+
console.warn('[invoice] Total mismatch for order ' + (body.orderId || '(none)') +
|
|
368
|
+
' — invoice total ' + (Math.round(total * 100) / 100) +
|
|
369
|
+
' vs teleport_orders.total_amount ' + orderTotalAmount +
|
|
370
|
+
' across ' + items.length + ' line item(s). The invoice may be missing lines.');
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
// The gift-card TENDER: the part of the total the buyer settled from a
|
|
374
|
+
// card, so the provider (or the courier) collected the rest. Never a
|
|
375
|
+
// discount — the total stays what the order was worth; only the amount
|
|
376
|
+
// due moves, and it reaches 0.00 when the card covered everything.
|
|
377
|
+
var giftCardAmount = Number(
|
|
378
|
+
body.giftCardAmount != null ? body.giftCardAmount : (orderShippingSource.gift_card_amount || 0)
|
|
379
|
+
);
|
|
380
|
+
if (!isFinite(giftCardAmount) || giftCardAmount < 0) { giftCardAmount = 0; }
|
|
381
|
+
var giftCardLast4 = String(body.giftCardLast4 || orderShippingSource.gift_card_last4 || '').trim();
|
|
382
|
+
var roundedTotal = Math.round(total * 100) / 100;
|
|
383
|
+
var roundedGiftCardAmount = Math.round(giftCardAmount * 100) / 100;
|
|
384
|
+
var amountDue = Math.max(0, Math.round((roundedTotal - roundedGiftCardAmount) * 100) / 100);
|
|
385
|
+
|
|
386
|
+
var issueDate = body.issueDate || new Date().toISOString().split('T')[0];
|
|
387
|
+
var parsedIssueDate = new Date(issueDate);
|
|
388
|
+
if (isNaN(parsedIssueDate.getTime())) {
|
|
389
|
+
issueDate = new Date().toISOString().split('T')[0];
|
|
390
|
+
parsedIssueDate = new Date(issueDate);
|
|
391
|
+
}
|
|
392
|
+
// \`dueDate\` defaults to issueDate + 30 days (industry-standard
|
|
393
|
+
// Net 30 terms) when the caller doesn't pass one. Without this
|
|
394
|
+
// default, every invoice generated from the order-notification /
|
|
395
|
+
// payment-webhook paths shipped with an empty \`{{dueDate}}\` slot
|
|
396
|
+
// in the buyer email + PDF — the merchant template literally
|
|
397
|
+
// rendered "Due Date: " with no date — because none of those
|
|
398
|
+
// callers know what payment terms the merchant uses.
|
|
399
|
+
//
|
|
400
|
+
// We compute it from \`parsedIssueDate\` (already validated above)
|
|
401
|
+
// so a bad caller-provided \`issueDate\` doesn't propagate into a
|
|
402
|
+
// bad \`dueDate\`. ISO yyyy-mm-dd is the same format the issueDate
|
|
403
|
+
// path produces, so downstream date formatters get a single shape.
|
|
404
|
+
var DEFAULT_DUE_DATE_OFFSET_DAYS = 30;
|
|
405
|
+
var dueDate = body.dueDate || '';
|
|
406
|
+
if (dueDate) {
|
|
407
|
+
var parsedDue = new Date(dueDate);
|
|
408
|
+
if (isNaN(parsedDue.getTime())) dueDate = '';
|
|
409
|
+
}
|
|
410
|
+
if (!dueDate) {
|
|
411
|
+
var __defaultDue = new Date(parsedIssueDate.getTime());
|
|
412
|
+
__defaultDue.setUTCDate(__defaultDue.getUTCDate() + DEFAULT_DUE_DATE_OFFSET_DAYS);
|
|
413
|
+
dueDate = __defaultDue.toISOString().split('T')[0];
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
// Order-derived fallbacks. When the caller didn't pass a customer
|
|
417
|
+
// field but the order has one, use it. Kept permissive on field
|
|
418
|
+
// names (billing_* wins, falls back to shipping_*) because a buyer
|
|
419
|
+
// who checked "bill to a different address" has both on the order.
|
|
420
|
+
var orderRow = orderShippingSource;
|
|
421
|
+
var fallbackCustomerName =
|
|
422
|
+
orderRow.billing_name || orderRow.shipping_name || orderRow.customer_name || '';
|
|
423
|
+
var fallbackCustomerEmail = orderRow.billing_email || orderRow.customer_email || '';
|
|
424
|
+
var fallbackCustomerAddress = orderRow.billing_address || orderRow.shipping_address || '';
|
|
425
|
+
var fallbackCustomerCity = orderRow.shipping_city || '';
|
|
426
|
+
var fallbackCustomerState = orderRow.shipping_state || '';
|
|
427
|
+
var fallbackCustomerZip = orderRow.shipping_zip || '';
|
|
428
|
+
var fallbackCustomerCountry = orderRow.shipping_country || '';
|
|
429
|
+
var fallbackPaymentMethod = orderRow.payment_method || '';
|
|
430
|
+
var fallbackPaymentProvider = orderRow.payment_provider || '';
|
|
431
|
+
var fallbackPaymentIntentId = orderRow.payment_intent_id || '';
|
|
432
|
+
var fallbackNotes = orderRow.notes || '';
|
|
433
|
+
|
|
434
|
+
var invoiceData = {
|
|
435
|
+
id: body.id || require('crypto').randomUUID(),
|
|
436
|
+
// Numbered by the route: an invoice issued at payment takes the next
|
|
437
|
+
// number, a regenerated one keeps its own.
|
|
438
|
+
invoiceNumber: '',
|
|
439
|
+
status: body.status || 'issued',
|
|
440
|
+
issueDate: issueDate,
|
|
441
|
+
dueDate: dueDate,
|
|
442
|
+
paidAt: body.paidAt || null,
|
|
443
|
+
customerName: body.customerName || fallbackCustomerName || '',
|
|
444
|
+
customerEmail: body.customerEmail || fallbackCustomerEmail || '',
|
|
445
|
+
customerAddress: body.customerAddress || fallbackCustomerAddress || '',
|
|
446
|
+
customerCity: body.customerCity || fallbackCustomerCity || '',
|
|
447
|
+
customerState: body.customerState || fallbackCustomerState || '',
|
|
448
|
+
customerZip: body.customerZip || fallbackCustomerZip || '',
|
|
449
|
+
customerCountry: body.customerCountry || fallbackCustomerCountry || '',
|
|
450
|
+
customerVat: body.customerVat || '',
|
|
451
|
+
companyName: pdfGenerator.COMPANY_DETAILS.companyName || '',
|
|
452
|
+
companyAddress: pdfGenerator.COMPANY_DETAILS.companyAddress || '',
|
|
453
|
+
companyCity: pdfGenerator.COMPANY_DETAILS.companyCity || '',
|
|
454
|
+
companyState: pdfGenerator.COMPANY_DETAILS.companyState || '',
|
|
455
|
+
companyZip: pdfGenerator.COMPANY_DETAILS.companyZip || '',
|
|
456
|
+
companyCountry: pdfGenerator.COMPANY_DETAILS.companyCountry || '',
|
|
457
|
+
companyVat: pdfGenerator.COMPANY_DETAILS.companyVat || '',
|
|
458
|
+
companyRegNumber: pdfGenerator.COMPANY_DETAILS.companyRegNumber || '',
|
|
459
|
+
companyEmail: pdfGenerator.COMPANY_DETAILS.companyEmail || '',
|
|
460
|
+
companyPhone: pdfGenerator.COMPANY_DETAILS.companyPhone || '',
|
|
461
|
+
companyLogoUrl: body.companyLogoUrl || '',
|
|
462
|
+
companyWebsite: pdfGenerator.COMPANY_DETAILS.companyWebsite || '',
|
|
463
|
+
subtotal: Math.round(subtotal * 100) / 100,
|
|
464
|
+
taxRate: taxRate,
|
|
465
|
+
taxAmount: Math.round(taxAmount * 100) / 100,
|
|
466
|
+
// Surfacing the inclusion mode so the PDF builder can apply the SAME
|
|
467
|
+
// formulas the GUI uses (invoice-vat-formulas.ts) when it derives
|
|
468
|
+
// per-line unitPriceNet / lineVatAmount / lineTotalGross. Without
|
|
469
|
+
// this flag the builder can't tell whether the stored unitPrice is
|
|
470
|
+
// a net (added on top) or a gross (included in price) value, and
|
|
471
|
+
// the line-item table renders blank cells.
|
|
472
|
+
taxIncludedInPrice: taxIncludedInPrice,
|
|
473
|
+
// The whole discount (vouchers and automatic rules), already subtracted
|
|
474
|
+
// from \`total\`, plus how it splits and the code it came from — so the
|
|
475
|
+
// template can print "Discount (SAVE20)" and gate the row on \`hasDiscount\`.
|
|
476
|
+
discountAmount: Math.round(discountAmount * 100) / 100,
|
|
477
|
+
voucherCode: voucherCode,
|
|
478
|
+
voucherDiscountAmount: Math.round(voucherDiscountAmount * 100) / 100,
|
|
479
|
+
automaticDiscountAmount: Math.round(automaticDiscountAmount * 100) / 100,
|
|
480
|
+
hasDiscount: discountAmount > 0,
|
|
481
|
+
// Delivery fee, surfaced so the PDF/HTML renderer can print its own line
|
|
482
|
+
// and the merchant's template can bind \`invoice.shippingAmount\`.
|
|
483
|
+
shippingAmount: Math.round(shippingAmount * 100) / 100,
|
|
484
|
+
total: roundedTotal,
|
|
485
|
+
// The gift-card tender and what is left to pay after it.
|
|
486
|
+
giftCardAmount: roundedGiftCardAmount,
|
|
487
|
+
giftCardLast4: giftCardLast4,
|
|
488
|
+
hasGiftCard: roundedGiftCardAmount > 0,
|
|
489
|
+
amountDue: amountDue,
|
|
490
|
+
currency: currency,
|
|
491
|
+
currencySymbol: currencySymbol,
|
|
492
|
+
paymentMethod: body.paymentMethod || fallbackPaymentMethod || '',
|
|
493
|
+
paymentProvider: body.paymentProvider || fallbackPaymentProvider || '',
|
|
494
|
+
paymentIntentId: body.paymentIntentId || fallbackPaymentIntentId || '',
|
|
495
|
+
orderId: body.orderId || '',
|
|
496
|
+
// The subscription this order belongs to, for templates that say so.
|
|
497
|
+
subscriptionId: body.subscriptionId || orderShippingSource.subscription_id || '',
|
|
498
|
+
billingReason: body.billingReason || orderShippingSource.billing_reason || '',
|
|
499
|
+
notes: body.notes || fallbackNotes || '',
|
|
500
|
+
items: items,
|
|
501
|
+
templateSnapshot: TEMPLATE_DOCUMENT ? JSON.stringify(TEMPLATE_DOCUMENT) : null,
|
|
502
|
+
};
|
|
503
|
+
|
|
504
|
+
return invoiceData;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
module.exports = {
|
|
508
|
+
requestBaseUrl: requestBaseUrl,
|
|
509
|
+
uploadInvoicePdfToRuntimeStorage: uploadInvoicePdfToRuntimeStorage,
|
|
510
|
+
recordStoredInvoicePdfKey: recordStoredInvoicePdfKey,
|
|
511
|
+
deleteStoredInvoicePdf: deleteStoredInvoicePdf,
|
|
512
|
+
assembleInvoiceData: assembleInvoiceData,
|
|
513
|
+
};
|
|
514
|
+
`;
|
|
515
|
+
};
|
|
516
|
+
exports.generateInvoiceAssemblyCode = generateInvoiceAssemblyCode;
|
|
517
|
+
//# sourceMappingURL=invoice-assembly-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-assembly-code.js","sourceRoot":"","sources":["../../../src/invoice/invoice-assembly-code.ts"],"names":[],"mappings":";;;AACA,iEAA4D;AAC5D,2EAAuE;AAEvE;;;;;;;;GAQG;AACI,MAAM,2BAA2B,GAAG,CAAC,QAA6B,EAAU,EAAE;;IACnF,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAA;IACnD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAA;IAC/D,MAAM,oBAAoB,GAAG,CAAA,MAAA,QAAQ,CAAC,QAAQ,0CAAE,QAAQ;QACtD,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,MAAM,CAAA;IAEV,OAAO;;;;;;;;yBAQgB,cAAc;;8BAET,kBAAkB;0BACtB,oBAAoB;EAC5C,qDAAyB;EACzB,gCAAc,CAAC,gCAAgC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+dlD,CAAA;AACD,CAAC,CAAA;AApfY,QAAA,2BAA2B,+BAofvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoice-html-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/invoice-html-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AA4HhE,eAAO,MAAM,uBAAuB,aACxB,mBAAmB,uBACR,OAAO,iBACb,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,KACxD,
|
|
1
|
+
{"version":3,"file":"invoice-html-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/invoice-html-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AA4HhE,eAAO,MAAM,uBAAuB,aACxB,mBAAmB,uBACR,OAAO,iBACb,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,KACxD,MAmgCF,CAAA"}
|