@teleporthq/teleport-plugin-next-workflows 0.43.65 → 0.43.67
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 +30 -0
- package/__tests__/_helpers/run-generated-middleware.ts +11 -2
- package/__tests__/admin-form-row-hydration.test.ts +55 -0
- package/__tests__/cart-clear-db-mirror.test.ts +12 -0
- package/__tests__/cart-get-total-regional-pricing.test.ts +166 -0
- package/__tests__/client-config-redaction.test.ts +53 -0
- package/__tests__/continue-on-error.test.ts +119 -0
- package/__tests__/email-locale-module.test.ts +323 -0
- package/__tests__/email-locale-senders.test.ts +268 -0
- package/__tests__/invoice-delivery-fee.test.ts +104 -0
- package/__tests__/invoice-regional-tax.test.ts +126 -0
- package/__tests__/locale-aware-redirects.test.ts +355 -0
- package/__tests__/navigation-go-to-page.test.ts +43 -0
- package/__tests__/node-handler-file-inline-map.test.ts +29 -3
- package/__tests__/payment-redirect-and-order-notification.test.ts +6 -0
- package/__tests__/paypal-webhook-order-notification.test.ts +41 -0
- package/__tests__/resolve-config-localized-templates.test.ts +262 -0
- package/__tests__/sent-email-log-module.test.ts +381 -0
- package/__tests__/sent-email-log-wiring.test.ts +267 -0
- package/dist/cjs/account-delete-route-generator.d.ts +20 -0
- package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
- package/dist/cjs/account-delete-route-generator.js +29 -26
- package/dist/cjs/account-delete-route-generator.js.map +1 -1
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +57 -11
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/auth-generator.d.ts +2 -1
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +55 -18
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
- package/dist/cjs/data-api-route-generator.js +19 -0
- package/dist/cjs/data-api-route-generator.js.map +1 -1
- package/dist/cjs/email-locale/email-locale-code.d.ts +25 -0
- package/dist/cjs/email-locale/email-locale-code.d.ts.map +1 -0
- package/dist/cjs/email-locale/email-locale-code.js +228 -0
- package/dist/cjs/email-locale/email-locale-code.js.map +1 -0
- package/dist/cjs/email-locale/email-locale-scope.d.ts +46 -0
- package/dist/cjs/email-locale/email-locale-scope.d.ts.map +1 -0
- package/dist/cjs/email-locale/email-locale-scope.js +51 -0
- package/dist/cjs/email-locale/email-locale-scope.js.map +1 -0
- package/dist/cjs/email-locale/index.d.ts +11 -0
- package/dist/cjs/email-locale/index.d.ts.map +1 -0
- package/dist/cjs/email-locale/index.js +40 -0
- package/dist/cjs/email-locale/index.js.map +1 -0
- package/dist/cjs/executor-generator.d.ts +11 -1
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +49 -7
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +9 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/cjs/invoice/api-routes-code.js +55 -6
- package/dist/cjs/invoice/api-routes-code.js.map +1 -1
- package/dist/cjs/invoice/email-sender-code.d.ts.map +1 -1
- package/dist/cjs/invoice/email-sender-code.js +72 -31
- package/dist/cjs/invoice/email-sender-code.js.map +1 -1
- package/dist/cjs/invoice/index.d.ts +1 -4
- package/dist/cjs/invoice/index.d.ts.map +1 -1
- package/dist/cjs/invoice/index.js +8 -19
- package/dist/cjs/invoice/index.js.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.js +31 -8
- package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
- package/dist/cjs/invoice/regional-invoice-tax-code.d.ts +25 -0
- package/dist/cjs/invoice/regional-invoice-tax-code.d.ts.map +1 -0
- package/dist/cjs/invoice/regional-invoice-tax-code.js +116 -0
- package/dist/cjs/invoice/regional-invoice-tax-code.js.map +1 -0
- package/dist/cjs/invoice/resolve-data-source.d.ts +6 -0
- package/dist/cjs/invoice/resolve-data-source.d.ts.map +1 -0
- package/dist/cjs/invoice/resolve-data-source.js +23 -0
- package/dist/cjs/invoice/resolve-data-source.js.map +1 -0
- package/dist/cjs/nodes/account/account-delete-current.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-delete-current.js +10 -3
- package/dist/cjs/nodes/account/account-delete-current.js.map +1 -1
- package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-login.js +3 -1
- package/dist/cjs/nodes/account/account-login.js.map +1 -1
- package/dist/cjs/nodes/account/account-logout.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-logout.js +4 -2
- package/dist/cjs/nodes/account/account-logout.js.map +1 -1
- package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-signup.js +12 -2
- package/dist/cjs/nodes/account/account-signup.js.map +1 -1
- package/dist/cjs/nodes/account/account-social-login.d.ts.map +1 -1
- package/dist/cjs/nodes/account/account-social-login.js +4 -2
- package/dist/cjs/nodes/account/account-social-login.js.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/cjs/nodes/cart/cart-clear.js +6 -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 +81 -5
- package/dist/cjs/nodes/cart/cart-get-total.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 +16 -0
- package/dist/cjs/nodes/data/data-create-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 +6 -0
- package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/cjs/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
- package/dist/cjs/nodes/navigation/navigation-go-to-page.js +4 -1
- package/dist/cjs/nodes/navigation/navigation-go-to-page.js.map +1 -1
- package/dist/cjs/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
- package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js +5 -2
- package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
- package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/cjs/nodes/payment/payment-charge-user.js +7 -2
- package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/cjs/segment-splitter.d.ts +1 -1
- package/dist/cjs/segment-splitter.d.ts.map +1 -1
- package/dist/cjs/segment-splitter.js +29 -2
- package/dist/cjs/segment-splitter.js.map +1 -1
- package/dist/cjs/sent-email-log/index.d.ts +16 -0
- package/dist/cjs/sent-email-log/index.d.ts.map +1 -0
- package/dist/cjs/sent-email-log/index.js +53 -0
- package/dist/cjs/sent-email-log/index.js.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +4 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.js +415 -0
- package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-scope.d.ts +21 -0
- package/dist/cjs/sent-email-log/sent-email-log-scope.d.ts.map +1 -0
- package/dist/cjs/sent-email-log/sent-email-log-scope.js +36 -0
- package/dist/cjs/sent-email-log/sent-email-log-scope.js.map +1 -0
- package/dist/cjs/transactional-email-code.d.ts +39 -1
- package/dist/cjs/transactional-email-code.d.ts.map +1 -1
- package/dist/cjs/transactional-email-code.js +86 -12
- package/dist/cjs/transactional-email-code.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/webhook-generator.d.ts.map +1 -1
- package/dist/cjs/webhook-generator.js +9 -2
- package/dist/cjs/webhook-generator.js.map +1 -1
- package/dist/cjs/workflow-component-plugin.js +4 -3
- package/dist/cjs/workflow-component-plugin.js.map +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +31 -3
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/cjs/workflow-utils-alias.d.ts +21 -0
- package/dist/cjs/workflow-utils-alias.d.ts.map +1 -0
- package/dist/cjs/workflow-utils-alias.js +27 -0
- package/dist/cjs/workflow-utils-alias.js.map +1 -0
- package/dist/esm/account-delete-route-generator.d.ts +20 -0
- package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
- package/dist/esm/account-delete-route-generator.js +30 -27
- package/dist/esm/account-delete-route-generator.js.map +1 -1
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +57 -11
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/auth-generator.d.ts +2 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +56 -19
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/data-api-route-generator.d.ts.map +1 -1
- package/dist/esm/data-api-route-generator.js +19 -0
- package/dist/esm/data-api-route-generator.js.map +1 -1
- package/dist/esm/email-locale/email-locale-code.d.ts +25 -0
- package/dist/esm/email-locale/email-locale-code.d.ts.map +1 -0
- package/dist/esm/email-locale/email-locale-code.js +222 -0
- package/dist/esm/email-locale/email-locale-code.js.map +1 -0
- package/dist/esm/email-locale/email-locale-scope.d.ts +46 -0
- package/dist/esm/email-locale/email-locale-scope.d.ts.map +1 -0
- package/dist/esm/email-locale/email-locale-scope.js +47 -0
- package/dist/esm/email-locale/email-locale-scope.js.map +1 -0
- package/dist/esm/email-locale/index.d.ts +11 -0
- package/dist/esm/email-locale/index.d.ts.map +1 -0
- package/dist/esm/email-locale/index.js +28 -0
- package/dist/esm/email-locale/index.js.map +1 -0
- package/dist/esm/executor-generator.d.ts +11 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +49 -7
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/esm/invoice/api-routes-code.js +55 -6
- package/dist/esm/invoice/api-routes-code.js.map +1 -1
- package/dist/esm/invoice/email-sender-code.d.ts.map +1 -1
- package/dist/esm/invoice/email-sender-code.js +72 -31
- package/dist/esm/invoice/email-sender-code.js.map +1 -1
- package/dist/esm/invoice/index.d.ts +1 -4
- package/dist/esm/invoice/index.d.ts.map +1 -1
- package/dist/esm/invoice/index.js +7 -18
- package/dist/esm/invoice/index.js.map +1 -1
- package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-html-code.js +31 -8
- package/dist/esm/invoice/invoice-html-code.js.map +1 -1
- package/dist/esm/invoice/regional-invoice-tax-code.d.ts +25 -0
- package/dist/esm/invoice/regional-invoice-tax-code.d.ts.map +1 -0
- package/dist/esm/invoice/regional-invoice-tax-code.js +113 -0
- package/dist/esm/invoice/regional-invoice-tax-code.js.map +1 -0
- package/dist/esm/invoice/resolve-data-source.d.ts +6 -0
- package/dist/esm/invoice/resolve-data-source.d.ts.map +1 -0
- package/dist/esm/invoice/resolve-data-source.js +19 -0
- package/dist/esm/invoice/resolve-data-source.js.map +1 -0
- package/dist/esm/nodes/account/account-delete-current.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-delete-current.js +10 -3
- package/dist/esm/nodes/account/account-delete-current.js.map +1 -1
- package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-login.js +3 -1
- package/dist/esm/nodes/account/account-login.js.map +1 -1
- package/dist/esm/nodes/account/account-logout.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-logout.js +4 -2
- package/dist/esm/nodes/account/account-logout.js.map +1 -1
- package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-signup.js +12 -2
- package/dist/esm/nodes/account/account-signup.js.map +1 -1
- package/dist/esm/nodes/account/account-social-login.d.ts.map +1 -1
- package/dist/esm/nodes/account/account-social-login.js +4 -2
- package/dist/esm/nodes/account/account-social-login.js.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
- package/dist/esm/nodes/cart/cart-clear.js +6 -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 +81 -5
- package/dist/esm/nodes/cart/cart-get-total.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 +16 -0
- package/dist/esm/nodes/data/data-create-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 +6 -0
- package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
- package/dist/esm/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
- package/dist/esm/nodes/navigation/navigation-go-to-page.js +4 -1
- package/dist/esm/nodes/navigation/navigation-go-to-page.js.map +1 -1
- package/dist/esm/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
- package/dist/esm/nodes/navigation/navigation-navigate-to-url.js +5 -2
- package/dist/esm/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
- package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
- package/dist/esm/nodes/payment/payment-charge-user.js +7 -2
- package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
- package/dist/esm/segment-splitter.d.ts +1 -1
- package/dist/esm/segment-splitter.d.ts.map +1 -1
- package/dist/esm/segment-splitter.js +29 -2
- package/dist/esm/segment-splitter.js.map +1 -1
- package/dist/esm/sent-email-log/index.d.ts +16 -0
- package/dist/esm/sent-email-log/index.d.ts.map +1 -0
- package/dist/esm/sent-email-log/index.js +45 -0
- package/dist/esm/sent-email-log/index.js.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts +4 -0
- package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-code.js +411 -0
- package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-scope.d.ts +21 -0
- package/dist/esm/sent-email-log/sent-email-log-scope.d.ts.map +1 -0
- package/dist/esm/sent-email-log/sent-email-log-scope.js +31 -0
- package/dist/esm/sent-email-log/sent-email-log-scope.js.map +1 -0
- package/dist/esm/transactional-email-code.d.ts +39 -1
- package/dist/esm/transactional-email-code.d.ts.map +1 -1
- package/dist/esm/transactional-email-code.js +81 -10
- package/dist/esm/transactional-email-code.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/webhook-generator.d.ts.map +1 -1
- package/dist/esm/webhook-generator.js +9 -2
- package/dist/esm/webhook-generator.js.map +1 -1
- package/dist/esm/workflow-component-plugin.js +4 -3
- package/dist/esm/workflow-component-plugin.js.map +1 -1
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +32 -4
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/dist/esm/workflow-utils-alias.d.ts +21 -0
- package/dist/esm/workflow-utils-alias.d.ts.map +1 -0
- package/dist/esm/workflow-utils-alias.js +21 -0
- package/dist/esm/workflow-utils-alias.js.map +1 -0
- package/package.json +4 -4
- package/src/account-delete-route-generator.ts +36 -7
- package/src/api-route-generator.ts +64 -11
- package/src/auth-generator.ts +63 -18
- package/src/data-api-route-generator.ts +19 -0
- package/src/email-locale/email-locale-code.ts +239 -0
- package/src/email-locale/email-locale-scope.ts +65 -0
- package/src/email-locale/index.ts +46 -0
- package/src/executor-generator.ts +65 -7
- package/src/index.ts +8 -0
- package/src/invoice/api-routes-code.ts +65 -6
- package/src/invoice/email-sender-code.ts +72 -31
- package/src/invoice/index.ts +7 -23
- package/src/invoice/invoice-html-code.ts +31 -8
- package/src/invoice/regional-invoice-tax-code.ts +112 -0
- package/src/invoice/resolve-data-source.ts +25 -0
- package/src/nodes/account/account-delete-current.ts +10 -3
- package/src/nodes/account/account-login.ts +3 -1
- package/src/nodes/account/account-logout.ts +4 -2
- package/src/nodes/account/account-signup.ts +12 -2
- package/src/nodes/account/account-social-login.ts +7 -2
- package/src/nodes/cart/cart-clear.ts +6 -0
- package/src/nodes/cart/cart-get-total.ts +94 -5
- package/src/nodes/data/data-create-item.ts +16 -0
- package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +6 -0
- package/src/nodes/navigation/navigation-go-to-page.ts +5 -1
- package/src/nodes/navigation/navigation-navigate-to-url.ts +6 -2
- package/src/nodes/payment/payment-charge-user.ts +13 -2
- package/src/nodes/workflow-utils-global.d.ts +12 -0
- package/src/segment-splitter.ts +33 -2
- package/src/sent-email-log/index.ts +57 -0
- package/src/sent-email-log/sent-email-log-code.ts +419 -0
- package/src/sent-email-log/sent-email-log-scope.ts +36 -0
- package/src/transactional-email-code.ts +112 -4
- package/src/webhook-generator.ts +11 -2
- package/src/workflow-component-plugin.ts +4 -3
- package/src/workflow-project-plugin.ts +36 -4
- package/src/workflow-utils-alias.ts +26 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor-generator.js","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"executor-generator.js","sourceRoot":"","sources":["../../src/executor-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export { generateClientRuntimeCode, generateServerRuntimeCode, generateSharedRun
|
|
|
7
7
|
export { generateServerSegmentAPIRoute, generateStreamingServerSegmentAPIRoute, generateCronAPIRoute, generateWebhookWorkflowAPIRoute, getAPIRouteFileName, getCronRouteFileName, getWebhookRouteFileName, getWebhookRoutePath, hasStreamingAINode, } from './api-route-generator';
|
|
8
8
|
export { generateTriggerCode } from './trigger-generator';
|
|
9
9
|
export { generatePgClientCode } from './pg-client-code';
|
|
10
|
+
export { ensureSentEmailLogModule } from './sent-email-log';
|
|
11
|
+
export { ensureEmailLocaleModule, EMAIL_LOCALE_CONFIG_KEY, EMAIL_LOCALE_HEADER, LOCALIZED_TEMPLATES_CONFIG_KEY, resolveEmailLocaleConfig, } from './email-locale';
|
|
10
12
|
export { SESSION_TOKEN_RESOLVER_FN, generateSessionTokenResolverCode, generateCommonJsSessionTokenResolverCode, } from './session-cookie-resolver';
|
|
11
13
|
export { projectUsesRealtime, REALTIME_NODE_TYPES, REALTIME_TRIGGER_TYPES } from './graph-utils';
|
|
12
14
|
export * from './realtime-generator';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,oBAAoB,EACpB,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,wCAAwC,GACzC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAChG,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,6BAA6B,CAAA;AACpC,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,6BAA6B,EAC7B,sCAAsC,EACtC,oBAAoB,EACpB,+BAA+B,EAC/B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAC3D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,yBAAyB,EACzB,gCAAgC,EAChC,wCAAwC,GACzC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAChG,cAAc,sBAAsB,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EACL,wBAAwB,EACxB,iCAAiC,GAClC,MAAM,6BAA6B,CAAA;AACpC,cAAc,SAAS,CAAA"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.generateRuntimeStorageUploadRoute = exports.needsRuntimeStorageRoute = exports.generateWebhookFiles = exports.resolveInvoiceDataSource = exports.generateInvoiceFiles = exports.REALTIME_TRIGGER_TYPES = exports.REALTIME_NODE_TYPES = exports.projectUsesRealtime = exports.generateCommonJsSessionTokenResolverCode = exports.generateSessionTokenResolverCode = exports.SESSION_TOKEN_RESOLVER_FN = exports.generatePgClientCode = exports.generateTriggerCode = exports.hasStreamingAINode = exports.getWebhookRoutePath = exports.getWebhookRouteFileName = exports.getCronRouteFileName = exports.getAPIRouteFileName = exports.generateWebhookWorkflowAPIRoute = exports.generateCronAPIRoute = exports.generateStreamingServerSegmentAPIRoute = exports.generateServerSegmentAPIRoute = exports.generateSharedRuntimeUtilsCode = exports.generateServerRuntimeCode = exports.generateClientRuntimeCode = exports.collectSecrets = exports.getClientSegments = exports.getServerSegments = exports.splitIntoSegments = exports.nodeRegistry = exports.NextWorkflowProjectPlugin = exports.createNextWorkflowPlugin = void 0;
|
|
17
|
+
exports.generateRuntimeStorageUploadRoute = exports.needsRuntimeStorageRoute = exports.generateWebhookFiles = exports.resolveInvoiceDataSource = exports.generateInvoiceFiles = exports.REALTIME_TRIGGER_TYPES = exports.REALTIME_NODE_TYPES = exports.projectUsesRealtime = exports.generateCommonJsSessionTokenResolverCode = exports.generateSessionTokenResolverCode = exports.SESSION_TOKEN_RESOLVER_FN = exports.resolveEmailLocaleConfig = exports.LOCALIZED_TEMPLATES_CONFIG_KEY = exports.EMAIL_LOCALE_HEADER = exports.EMAIL_LOCALE_CONFIG_KEY = exports.ensureEmailLocaleModule = exports.ensureSentEmailLogModule = exports.generatePgClientCode = exports.generateTriggerCode = exports.hasStreamingAINode = exports.getWebhookRoutePath = exports.getWebhookRouteFileName = exports.getCronRouteFileName = exports.getAPIRouteFileName = exports.generateWebhookWorkflowAPIRoute = exports.generateCronAPIRoute = exports.generateStreamingServerSegmentAPIRoute = exports.generateServerSegmentAPIRoute = exports.generateSharedRuntimeUtilsCode = exports.generateServerRuntimeCode = exports.generateClientRuntimeCode = exports.collectSecrets = exports.getClientSegments = exports.getServerSegments = exports.splitIntoSegments = exports.nodeRegistry = exports.NextWorkflowProjectPlugin = exports.createNextWorkflowPlugin = void 0;
|
|
18
18
|
var workflow_component_plugin_1 = require("./workflow-component-plugin");
|
|
19
19
|
Object.defineProperty(exports, "createNextWorkflowPlugin", { enumerable: true, get: function () { return workflow_component_plugin_1.createNextWorkflowPlugin; } });
|
|
20
20
|
var workflow_project_plugin_1 = require("./workflow-project-plugin");
|
|
@@ -45,6 +45,14 @@ var trigger_generator_1 = require("./trigger-generator");
|
|
|
45
45
|
Object.defineProperty(exports, "generateTriggerCode", { enumerable: true, get: function () { return trigger_generator_1.generateTriggerCode; } });
|
|
46
46
|
var pg_client_code_1 = require("./pg-client-code");
|
|
47
47
|
Object.defineProperty(exports, "generatePgClientCode", { enumerable: true, get: function () { return pg_client_code_1.generatePgClientCode; } });
|
|
48
|
+
var sent_email_log_1 = require("./sent-email-log");
|
|
49
|
+
Object.defineProperty(exports, "ensureSentEmailLogModule", { enumerable: true, get: function () { return sent_email_log_1.ensureSentEmailLogModule; } });
|
|
50
|
+
var email_locale_1 = require("./email-locale");
|
|
51
|
+
Object.defineProperty(exports, "ensureEmailLocaleModule", { enumerable: true, get: function () { return email_locale_1.ensureEmailLocaleModule; } });
|
|
52
|
+
Object.defineProperty(exports, "EMAIL_LOCALE_CONFIG_KEY", { enumerable: true, get: function () { return email_locale_1.EMAIL_LOCALE_CONFIG_KEY; } });
|
|
53
|
+
Object.defineProperty(exports, "EMAIL_LOCALE_HEADER", { enumerable: true, get: function () { return email_locale_1.EMAIL_LOCALE_HEADER; } });
|
|
54
|
+
Object.defineProperty(exports, "LOCALIZED_TEMPLATES_CONFIG_KEY", { enumerable: true, get: function () { return email_locale_1.LOCALIZED_TEMPLATES_CONFIG_KEY; } });
|
|
55
|
+
Object.defineProperty(exports, "resolveEmailLocaleConfig", { enumerable: true, get: function () { return email_locale_1.resolveEmailLocaleConfig; } });
|
|
48
56
|
var session_cookie_resolver_1 = require("./session-cookie-resolver");
|
|
49
57
|
Object.defineProperty(exports, "SESSION_TOKEN_RESOLVER_FN", { enumerable: true, get: function () { return session_cookie_resolver_1.SESSION_TOKEN_RESOLVER_FN; } });
|
|
50
58
|
Object.defineProperty(exports, "generateSessionTokenResolverCode", { enumerable: true, get: function () { return session_cookie_resolver_1.generateSessionTokenResolverCode; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yEAAsE;AAA7D,qIAAA,wBAAwB,OAAA;AACjC,qEAAqE;AAA5D,oIAAA,yBAAyB,OAAA;AAClC,iCAAsC;AAA7B,qGAAA,YAAY,OAAA;AACrB,uDAA4F;AAAnF,qHAAA,iBAAiB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAChE,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,2DAI6B;AAH3B,+HAAA,yBAAyB,OAAA;AACzB,+HAAA,yBAAyB,OAAA;AACzB,oIAAA,8BAA8B,OAAA;AAEhC,6DAU8B;AAT5B,oIAAA,6BAA6B,OAAA;AAC7B,6IAAA,sCAAsC,OAAA;AACtC,2HAAA,oBAAoB,OAAA;AACpB,sIAAA,+BAA+B,OAAA;AAC/B,0HAAA,mBAAmB,OAAA;AACnB,2HAAA,oBAAoB,OAAA;AACpB,8HAAA,uBAAuB,OAAA;AACvB,0HAAA,mBAAmB,OAAA;AACnB,yHAAA,kBAAkB,OAAA;AAEpB,yDAAyD;AAAhD,wHAAA,mBAAmB,OAAA;AAC5B,mDAAuD;AAA9C,sHAAA,oBAAoB,OAAA;AAC7B,qEAIkC;AAHhC,oIAAA,yBAAyB,OAAA;AACzB,2IAAA,gCAAgC,OAAA;AAChC,mJAAA,wCAAwC,OAAA;AAE1C,6CAAgG;AAAvF,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,qHAAA,sBAAsB,OAAA;AACzE,uDAAoC;AACpC,qCAA0E;AAAjE,+GAAA,oBAAoB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AACvD,yDAA0D;AAAjD,yHAAA,oBAAoB,OAAA;AAC7B,yEAGoC;AAFlC,qIAAA,wBAAwB,OAAA;AACxB,8IAAA,iCAAiC,OAAA;AAEnC,0CAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yEAAsE;AAA7D,qIAAA,wBAAwB,OAAA;AACjC,qEAAqE;AAA5D,oIAAA,yBAAyB,OAAA;AAClC,iCAAsC;AAA7B,qGAAA,YAAY,OAAA;AACrB,uDAA4F;AAAnF,qHAAA,iBAAiB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAAE,qHAAA,iBAAiB,OAAA;AAChE,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,2DAI6B;AAH3B,+HAAA,yBAAyB,OAAA;AACzB,+HAAA,yBAAyB,OAAA;AACzB,oIAAA,8BAA8B,OAAA;AAEhC,6DAU8B;AAT5B,oIAAA,6BAA6B,OAAA;AAC7B,6IAAA,sCAAsC,OAAA;AACtC,2HAAA,oBAAoB,OAAA;AACpB,sIAAA,+BAA+B,OAAA;AAC/B,0HAAA,mBAAmB,OAAA;AACnB,2HAAA,oBAAoB,OAAA;AACpB,8HAAA,uBAAuB,OAAA;AACvB,0HAAA,mBAAmB,OAAA;AACnB,yHAAA,kBAAkB,OAAA;AAEpB,yDAAyD;AAAhD,wHAAA,mBAAmB,OAAA;AAC5B,mDAAuD;AAA9C,sHAAA,oBAAoB,OAAA;AAC7B,mDAA2D;AAAlD,0HAAA,wBAAwB,OAAA;AACjC,+CAMuB;AALrB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,mHAAA,mBAAmB,OAAA;AACnB,8HAAA,8BAA8B,OAAA;AAC9B,wHAAA,wBAAwB,OAAA;AAE1B,qEAIkC;AAHhC,oIAAA,yBAAyB,OAAA;AACzB,2IAAA,gCAAgC,OAAA;AAChC,mJAAA,wCAAwC,OAAA;AAE1C,6CAAgG;AAAvF,kHAAA,mBAAmB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AAAE,qHAAA,sBAAsB,OAAA;AACzE,uDAAoC;AACpC,qCAA0E;AAAjE,+GAAA,oBAAoB,OAAA;AAAE,mHAAA,wBAAwB,OAAA;AACvD,yDAA0D;AAAjD,yHAAA,oBAAoB,OAAA;AAC7B,yEAGoC;AAFlC,qIAAA,wBAAwB,OAAA;AACxB,8IAAA,iCAAiC,OAAA;AAEnC,0CAAuB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"api-routes-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAGhE,eAAO,MAAM,gCAAgC,aAAc,mBAAmB,KAAG,MA8qBhF,CAAA;AAED,eAAO,MAAM,2BAA2B,QAAO,MAsD9C,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateInvoicePdfRouteCode = exports.generateInvoiceGenerateRouteCode = void 0;
|
|
4
|
+
const regional_invoice_tax_code_1 = require("./regional-invoice-tax-code");
|
|
4
5
|
const generateInvoiceGenerateRouteCode = (settings) => {
|
|
5
6
|
var _a, _b;
|
|
6
7
|
const prefix = settings.invoicePrefix || 'INV-';
|
|
@@ -21,7 +22,11 @@ const generateInvoiceGenerateRouteCode = (settings) => {
|
|
|
21
22
|
|
|
22
23
|
var dataAccess = require('../../../utils/invoices/data-access');
|
|
23
24
|
var pdfGenerator = require('../../../utils/invoices/pdf-generator');
|
|
24
|
-
${emailEnabled
|
|
25
|
+
${emailEnabled
|
|
26
|
+
? `var emailSender = require('../../../utils/invoices/email-sender');
|
|
27
|
+
var sentEmailLog = require('../../../utils/email/sent-email-log');
|
|
28
|
+
var emailLocale = require('../../../utils/email/email-locale');`
|
|
29
|
+
: ''}
|
|
25
30
|
|
|
26
31
|
var INVOICE_PREFIX = ${JSON.stringify(prefix)};
|
|
27
32
|
var DEFAULT_TAX_RATE = ${defaultTaxRate};
|
|
@@ -29,6 +34,7 @@ var DEFAULT_CURRENCY = "USD";
|
|
|
29
34
|
var SHOW_DISCOUNT = ${showDiscount};
|
|
30
35
|
var TAX_INCLUDED_IN_PRICE = ${taxIncludedInPrice};
|
|
31
36
|
var TEMPLATE_DOCUMENT = ${templateDocumentJson};
|
|
37
|
+
${regional_invoice_tax_code_1.REGIONAL_INVOICE_TAX_CODE}
|
|
32
38
|
|
|
33
39
|
// Runtime storage configuration. When all three are set, the generated PDF
|
|
34
40
|
// is also POSTed to the storage worker so consumers (e.g. the payment
|
|
@@ -286,6 +292,9 @@ module.exports = async function handler(req, res) {
|
|
|
286
292
|
: hydratedItems.map(function (row) {
|
|
287
293
|
return {
|
|
288
294
|
productId: row.product_id || row.productId || null,
|
|
295
|
+
// Paired with \`productId\` to find the rate a line was charged at
|
|
296
|
+
// on an order priced by region (see resolveRegionalInvoiceTax).
|
|
297
|
+
variantId: row.variant_id || row.variantId || null,
|
|
289
298
|
name: row.product_name || row.name || 'Item',
|
|
290
299
|
variantLabel: row.variant_label || row.variantLabel || null,
|
|
291
300
|
variantSwatches: row.variant_swatches || row.variantSwatches || null,
|
|
@@ -382,6 +391,28 @@ module.exports = async function handler(req, res) {
|
|
|
382
391
|
}
|
|
383
392
|
var total = goodsTotal + shippingAmount;
|
|
384
393
|
|
|
394
|
+
// An order priced by region records the rate each line was charged at, so
|
|
395
|
+
// its invoice is computed from that record instead of the store default.
|
|
396
|
+
// A caller that states its own \`taxRate\` keeps the single-rate path.
|
|
397
|
+
var taxIncludedInPrice = TAX_INCLUDED_IN_PRICE;
|
|
398
|
+
var regionalTaxBreakdown = body.taxRate == null
|
|
399
|
+
? parseOrderTaxBreakdown(orderShippingSource.tax_breakdown)
|
|
400
|
+
: null;
|
|
401
|
+
if (regionalTaxBreakdown) {
|
|
402
|
+
var regionalTax = resolveRegionalInvoiceTax(regionalTaxBreakdown, items, discountAmount, shippingAmount);
|
|
403
|
+
taxRate = regionalTax.taxRate;
|
|
404
|
+
taxIncludedInPrice = regionalTax.taxIncluded;
|
|
405
|
+
subtotal = regionalTax.subtotal;
|
|
406
|
+
taxAmount = regionalTax.taxAmount;
|
|
407
|
+
shippingAmount = regionalTax.shippingNet;
|
|
408
|
+
total = regionalTax.total;
|
|
409
|
+
for (var ti = 0; ti < items.length; ti++) {
|
|
410
|
+
items[ti].taxRate = regionalTax.itemTax[ti].rate;
|
|
411
|
+
items[ti].taxIncluded = regionalTax.itemTax[ti].included;
|
|
412
|
+
items[ti].taxAmount = regionalTax.itemTax[ti].amount;
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
|
|
385
416
|
// Cross-check against the amount the order was actually placed for. The
|
|
386
417
|
// invoice is built from line items, the order carries the charged total,
|
|
387
418
|
// and the two must agree — when they don't, the invoice is being written
|
|
@@ -447,7 +478,17 @@ module.exports = async function handler(req, res) {
|
|
|
447
478
|
var fallbackPaymentProvider = orderRow.payment_provider || '';
|
|
448
479
|
var fallbackPaymentIntentId = orderRow.payment_intent_id || '';
|
|
449
480
|
var fallbackNotes = orderRow.notes || '';
|
|
450
|
-
|
|
481
|
+
${emailEnabled
|
|
482
|
+
? `
|
|
483
|
+
// The language the invoice email goes out in: the one stamped on the
|
|
484
|
+
// order at checkout (the buyer's storefront), else the one the caller
|
|
485
|
+
// named, else the language of the request itself. A cron or a webhook
|
|
486
|
+
// has neither of the last two and lands on the store's main language.
|
|
487
|
+
var invoiceLocale = emailLocale.normalizeEmailLocale(orderRow.locale)
|
|
488
|
+
|| emailLocale.normalizeEmailLocale(body.locale)
|
|
489
|
+
|| emailLocale.resolveRequestLocale(req);
|
|
490
|
+
`
|
|
491
|
+
: ''}
|
|
451
492
|
var invoiceData = {
|
|
452
493
|
id: body.id || require('crypto').randomUUID(),
|
|
453
494
|
invoiceNumber: invoiceNumber,
|
|
@@ -456,7 +497,7 @@ module.exports = async function handler(req, res) {
|
|
|
456
497
|
dueDate: dueDate,
|
|
457
498
|
paidAt: body.paidAt || null,
|
|
458
499
|
customerName: body.customerName || fallbackCustomerName || '',
|
|
459
|
-
customerEmail: body.customerEmail || fallbackCustomerEmail || '',
|
|
500
|
+
customerEmail: body.customerEmail || fallbackCustomerEmail || '',${emailEnabled ? '\n locale: invoiceLocale,' : ''}
|
|
460
501
|
customerAddress: body.customerAddress || fallbackCustomerAddress || '',
|
|
461
502
|
customerCity: body.customerCity || fallbackCustomerCity || '',
|
|
462
503
|
customerState: body.customerState || fallbackCustomerState || '',
|
|
@@ -484,7 +525,7 @@ module.exports = async function handler(req, res) {
|
|
|
484
525
|
// this flag the builder can't tell whether the stored unitPrice is
|
|
485
526
|
// a net (added on top) or a gross (included in price) value, and
|
|
486
527
|
// the line-item table renders blank cells.
|
|
487
|
-
taxIncludedInPrice:
|
|
528
|
+
taxIncludedInPrice: taxIncludedInPrice,
|
|
488
529
|
discountAmount: Math.round(discountAmount * 100) / 100,
|
|
489
530
|
// Delivery fee, surfaced so the PDF/HTML renderer can print its own line
|
|
490
531
|
// and the merchant's template can bind \`invoice.shippingAmount\`.
|
|
@@ -603,7 +644,12 @@ ${emailEnabled
|
|
|
603
644
|
currency: currency,
|
|
604
645
|
});
|
|
605
646
|
|
|
606
|
-
|
|
647
|
+
${emailEnabled
|
|
648
|
+
? ` // The email's ledger row is written in the background — land it before
|
|
649
|
+
// replying, a serverless function may be frozen the instant it responds.
|
|
650
|
+
await sentEmailLog.settleSentEmailLog();
|
|
651
|
+
`
|
|
652
|
+
: ''} res.status(200).json({
|
|
607
653
|
success: true,
|
|
608
654
|
invoiceId: invoiceData.id,
|
|
609
655
|
invoiceNumber: invoiceNumber,
|
|
@@ -623,7 +669,10 @@ ${emailEnabled
|
|
|
623
669
|
});
|
|
624
670
|
} catch (error) {
|
|
625
671
|
console.error('[invoice] Generation threw:', error && error.stack ? error.stack : error);
|
|
626
|
-
|
|
672
|
+
${emailEnabled
|
|
673
|
+
? ` await sentEmailLog.settleSentEmailLog();
|
|
674
|
+
`
|
|
675
|
+
: ''} res.status(500).json({ success: false, error: error.message || 'Failed to generate invoice' });
|
|
627
676
|
}
|
|
628
677
|
};
|
|
629
678
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-routes-code.js","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api-routes-code.js","sourceRoot":"","sources":["../../../src/invoice/api-routes-code.ts"],"names":[],"mappings":";;;AACA,2EAAuE;AAEhE,MAAM,gCAAgC,GAAG,CAAC,QAA6B,EAAU,EAAE;;IACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,MAAM,CAAA;IAC/C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAA;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAA;IACnD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,KAAK,IAAI,CAAA;IAC/D,MAAM,YAAY,GAAG,QAAQ,CAAC,qBAAqB,KAAK,KAAK,CAAA;IAC7D,MAAM,YAAY,GAAG,CAAA,MAAA,QAAQ,CAAC,aAAa,0CAAE,OAAO,MAAK,IAAI,CAAA;IAC7D,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;;;;;;;;;EAUP,YAAY;QACV,CAAC,CAAC;;gEAE0D;QAC5D,CAAC,CAAC,EACN;;uBAEuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;yBACpB,cAAc;;sBAEjB,YAAY;8BACJ,kBAAkB;0BACtB,oBAAoB;EAC5C,qDAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6bzB,YAAY;QACV,CAAC,CAAC;;;;;;;;CAQL;QACG,CAAC,CAAC,EACN;;;;;;;;;yEAUQ,YAAY,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,EACpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsHJ,YAAY;QACV,CAAC,CAAC;;;;;;;;;;;;;;;CAeL;QACG,CAAC,CAAC;;CAGN;;;;;;;;;;;EAYE,YAAY;QACV,CAAC,CAAC;;;CAGL;QACG,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;EAqBE,YAAY;QACV,CAAC,CAAC;CACL;QACG,CAAC,CAAC,EACN;;;CAGC,CAAA;AACD,CAAC,CAAA;AA9qBY,QAAA,gCAAgC,oCA8qB5C;AAEM,MAAM,2BAA2B,GAAG,GAAW,EAAE;IACtD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDR,CAAA;AACD,CAAC,CAAA;AAtDY,QAAA,2BAA2B,+BAsDvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-sender-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/email-sender-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAM,uBAAuB,kBAAmB,wBAAwB,KAAG,
|
|
1
|
+
{"version":3,"file":"email-sender-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/email-sender-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AAErE,eAAO,MAAM,uBAAuB,kBAAmB,wBAAwB,KAAG,MAqGjF,CAAA;AAqND,eAAO,MAAM,4BAA4B,aAAc,MAAM,GAAG,IAAI,KAAG,OAAO,MAAM,EAAE,MAAM,CAkB3F,CAAA"}
|
|
@@ -10,15 +10,28 @@ const generateEmailSenderCode = (emailDelivery) => {
|
|
|
10
10
|
const fromName = emailDelivery.fromName || '';
|
|
11
11
|
const subjectTemplate = emailDelivery.subject || 'Invoice {{invoiceNumber}}';
|
|
12
12
|
const bodyTemplate = emailDelivery.body || '<p>Please find your invoice attached.</p>';
|
|
13
|
+
const localizedTemplates = emailDelivery.localizedTemplates || {};
|
|
13
14
|
return `/**
|
|
14
15
|
* Invoice Email Sender
|
|
15
16
|
* Provider: ${emailDelivery.provider}
|
|
17
|
+
*
|
|
18
|
+
* \`sendInvoiceEmail\` is the public entry: it builds the message once, hands
|
|
19
|
+
* it to the provider function and records the attempt in the sent-email
|
|
20
|
+
* ledger. The provider function never builds the message itself, so the row
|
|
21
|
+
* carries exactly the subject and body that went out.
|
|
16
22
|
*/
|
|
17
23
|
|
|
18
24
|
var pdfGenerator = require('./pdf-generator');
|
|
25
|
+
var sentEmailLog = require('../email/sent-email-log');
|
|
26
|
+
var emailLocale = require('../email/email-locale');
|
|
19
27
|
var replacePlaceholders = pdfGenerator.replacePlaceholders;
|
|
20
28
|
|
|
21
29
|
var SECRET_KEYS = ${secretKeysJson};
|
|
30
|
+
var SUBJECT_TEMPLATE = ${JSON.stringify(subjectTemplate)};
|
|
31
|
+
var BODY_TEMPLATE = ${JSON.stringify(bodyTemplate)};
|
|
32
|
+
// Per-language copies of the subject/body (main language excluded), chosen by
|
|
33
|
+
// the locale the generate route resolved for the invoice (the order's).
|
|
34
|
+
var LOCALIZED_TEMPLATES = ${JSON.stringify(localizedTemplates)};
|
|
22
35
|
|
|
23
36
|
function resolveSecretKey(keyName) {
|
|
24
37
|
var envName = SECRET_KEYS[keyName];
|
|
@@ -29,16 +42,62 @@ function resolveSecretKey(keyName) {
|
|
|
29
42
|
|
|
30
43
|
function buildEmailData(invoiceData) {
|
|
31
44
|
var data = pdfGenerator.buildDataContext(invoiceData);
|
|
45
|
+
var copy = emailLocale.pickLocalizedTemplate(
|
|
46
|
+
{ subject: SUBJECT_TEMPLATE, body: BODY_TEMPLATE },
|
|
47
|
+
LOCALIZED_TEMPLATES,
|
|
48
|
+
invoiceData.locale
|
|
49
|
+
);
|
|
32
50
|
return {
|
|
33
|
-
subject: replacePlaceholders(
|
|
34
|
-
body: replacePlaceholders(
|
|
51
|
+
subject: replacePlaceholders(copy.subject, data),
|
|
52
|
+
body: replacePlaceholders(copy.body, data),
|
|
35
53
|
to: invoiceData.customerEmail || '',
|
|
36
54
|
from: ${JSON.stringify(fromName ? `${fromName} <${fromEmail}>` : fromEmail)},
|
|
55
|
+
templateData: data,
|
|
37
56
|
};
|
|
38
57
|
}
|
|
39
58
|
|
|
59
|
+
function attachmentName(invoiceData) {
|
|
60
|
+
return (invoiceData.invoiceNumber || 'invoice') + '.pdf';
|
|
61
|
+
}
|
|
62
|
+
|
|
40
63
|
${generateProviderSendFunction(emailDelivery.provider)}
|
|
41
64
|
|
|
65
|
+
async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
66
|
+
var emailData = buildEmailData(invoiceData);
|
|
67
|
+
if (!emailData.to) return { success: false, error: 'No customer email provided' };
|
|
68
|
+
var result;
|
|
69
|
+
try {
|
|
70
|
+
result = await sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer);
|
|
71
|
+
} catch (err) {
|
|
72
|
+
result = { success: false, error: err && err.message ? err.message : String(err) };
|
|
73
|
+
}
|
|
74
|
+
sentEmailLog.recordSentEmail({
|
|
75
|
+
emailType: 'invoice-email',
|
|
76
|
+
audience: 'customer',
|
|
77
|
+
to: emailData.to,
|
|
78
|
+
from: emailData.from,
|
|
79
|
+
subject: emailData.subject,
|
|
80
|
+
html: emailData.body,
|
|
81
|
+
payload: emailData.templateData,
|
|
82
|
+
attachments: [{
|
|
83
|
+
filename: attachmentName(invoiceData),
|
|
84
|
+
contentType: 'application/pdf',
|
|
85
|
+
sizeBytes: pdfBuffer && pdfBuffer.length ? pdfBuffer.length : null,
|
|
86
|
+
url: invoiceData.pdfUrl || null,
|
|
87
|
+
}],
|
|
88
|
+
provider: ${JSON.stringify(emailDelivery.provider)},
|
|
89
|
+
providerMessageId: result && result.messageId,
|
|
90
|
+
status: result && result.success ? 'sent' : 'failed',
|
|
91
|
+
error: result && !result.success ? result.error : null,
|
|
92
|
+
source: 'invoice',
|
|
93
|
+
sourceRef: 'api/invoices/generate',
|
|
94
|
+
orderId: invoiceData.orderId,
|
|
95
|
+
referenceType: 'invoice',
|
|
96
|
+
referenceId: invoiceData.id,
|
|
97
|
+
});
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
|
|
42
101
|
module.exports = { sendInvoiceEmail };
|
|
43
102
|
`;
|
|
44
103
|
};
|
|
@@ -47,22 +106,19 @@ function generateProviderSendFunction(provider) {
|
|
|
47
106
|
switch (provider) {
|
|
48
107
|
case 'resend':
|
|
49
108
|
return `
|
|
50
|
-
async function
|
|
109
|
+
async function sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer) {
|
|
51
110
|
try {
|
|
52
111
|
var Resend = require('resend').Resend;
|
|
53
112
|
var apiKey = resolveSecretKey('apiKey');
|
|
54
113
|
if (!apiKey) return { success: false, error: 'Resend API key not configured' };
|
|
55
114
|
var resend = new Resend(apiKey);
|
|
56
|
-
var emailData = buildEmailData(invoiceData);
|
|
57
|
-
if (!emailData.to) return { success: false, error: 'No customer email provided' };
|
|
58
|
-
|
|
59
115
|
var payload = {
|
|
60
116
|
from: emailData.from,
|
|
61
117
|
to: [emailData.to],
|
|
62
118
|
subject: emailData.subject,
|
|
63
119
|
html: emailData.body,
|
|
64
120
|
attachments: [{
|
|
65
|
-
filename: (invoiceData
|
|
121
|
+
filename: attachmentName(invoiceData),
|
|
66
122
|
content: pdfBuffer.toString('base64'),
|
|
67
123
|
}],
|
|
68
124
|
};
|
|
@@ -75,15 +131,12 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
75
131
|
}`;
|
|
76
132
|
case 'sendgrid':
|
|
77
133
|
return `
|
|
78
|
-
async function
|
|
134
|
+
async function sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer) {
|
|
79
135
|
try {
|
|
80
136
|
var sgMail = require('@sendgrid/mail');
|
|
81
137
|
var apiKey = resolveSecretKey('apiKey');
|
|
82
138
|
if (!apiKey) return { success: false, error: 'SendGrid API key not configured' };
|
|
83
139
|
sgMail.setApiKey(apiKey);
|
|
84
|
-
var emailData = buildEmailData(invoiceData);
|
|
85
|
-
if (!emailData.to) return { success: false, error: 'No customer email provided' };
|
|
86
|
-
|
|
87
140
|
var msg = {
|
|
88
141
|
to: emailData.to,
|
|
89
142
|
from: emailData.from,
|
|
@@ -91,7 +144,7 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
91
144
|
html: emailData.body,
|
|
92
145
|
attachments: [{
|
|
93
146
|
content: pdfBuffer.toString('base64'),
|
|
94
|
-
filename: (invoiceData
|
|
147
|
+
filename: attachmentName(invoiceData),
|
|
95
148
|
type: 'application/pdf',
|
|
96
149
|
disposition: 'attachment',
|
|
97
150
|
}],
|
|
@@ -104,7 +157,7 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
104
157
|
}`;
|
|
105
158
|
case 'mailgun':
|
|
106
159
|
return `
|
|
107
|
-
async function
|
|
160
|
+
async function sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer) {
|
|
108
161
|
try {
|
|
109
162
|
var Mailgun = require('mailgun.js');
|
|
110
163
|
var formData = require('form-data');
|
|
@@ -115,9 +168,6 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
115
168
|
|
|
116
169
|
var mailgun = new Mailgun(formData);
|
|
117
170
|
var mg = mailgun.client({ username: 'api', key: apiKey });
|
|
118
|
-
var emailData = buildEmailData(invoiceData);
|
|
119
|
-
if (!emailData.to) return { success: false, error: 'No customer email provided' };
|
|
120
|
-
|
|
121
171
|
var msg = {
|
|
122
172
|
from: emailData.from,
|
|
123
173
|
to: [emailData.to],
|
|
@@ -125,7 +175,7 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
125
175
|
html: emailData.body,
|
|
126
176
|
attachment: [{
|
|
127
177
|
data: pdfBuffer,
|
|
128
|
-
filename: (invoiceData
|
|
178
|
+
filename: attachmentName(invoiceData),
|
|
129
179
|
contentType: 'application/pdf',
|
|
130
180
|
}],
|
|
131
181
|
};
|
|
@@ -137,22 +187,19 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
137
187
|
}`;
|
|
138
188
|
case 'postmark':
|
|
139
189
|
return `
|
|
140
|
-
async function
|
|
190
|
+
async function sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer) {
|
|
141
191
|
try {
|
|
142
192
|
var postmark = require('postmark');
|
|
143
193
|
var serverToken = resolveSecretKey('serverToken');
|
|
144
194
|
if (!serverToken) return { success: false, error: 'Postmark server token not configured' };
|
|
145
195
|
var client = new postmark.ServerClient(serverToken);
|
|
146
|
-
var emailData = buildEmailData(invoiceData);
|
|
147
|
-
if (!emailData.to) return { success: false, error: 'No customer email provided' };
|
|
148
|
-
|
|
149
196
|
var msg = {
|
|
150
197
|
From: emailData.from,
|
|
151
198
|
To: emailData.to,
|
|
152
199
|
Subject: emailData.subject,
|
|
153
200
|
HtmlBody: emailData.body,
|
|
154
201
|
Attachments: [{
|
|
155
|
-
Name: (invoiceData
|
|
202
|
+
Name: attachmentName(invoiceData),
|
|
156
203
|
Content: pdfBuffer.toString('base64'),
|
|
157
204
|
ContentType: 'application/pdf',
|
|
158
205
|
}],
|
|
@@ -185,7 +232,7 @@ function parseFromString(from) {
|
|
|
185
232
|
return { name: '', email: str };
|
|
186
233
|
}
|
|
187
234
|
|
|
188
|
-
async function
|
|
235
|
+
async function sendInvoiceEmailWithProvider(emailData, invoiceData, pdfBuffer) {
|
|
189
236
|
var invoiceNumber = invoiceData && invoiceData.invoiceNumber ? invoiceData.invoiceNumber : '(no number)';
|
|
190
237
|
try {
|
|
191
238
|
console.info('[invoice-email][mailersend] begin — invoice=' + invoiceNumber +
|
|
@@ -196,12 +243,6 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
196
243
|
console.error('[invoice-email][mailersend] skip — API key not configured (set \`apiKey\` secret or INVOICE_MAILERSEND_APIKEY env)');
|
|
197
244
|
return { success: false, error: 'MailerSend API key not configured' };
|
|
198
245
|
}
|
|
199
|
-
var emailData = buildEmailData(invoiceData);
|
|
200
|
-
if (!emailData.to) {
|
|
201
|
-
console.error('[invoice-email][mailersend] skip — invoiceData.customerEmail is empty (order hydrating yielded no billing_email; set it on the order row or pass customerEmail in the generate payload)');
|
|
202
|
-
return { success: false, error: 'No customer email provided' };
|
|
203
|
-
}
|
|
204
|
-
|
|
205
246
|
var MailerSend = require('mailersend').MailerSend;
|
|
206
247
|
var EmailParams = require('mailersend').EmailParams;
|
|
207
248
|
var Sender = require('mailersend').Sender;
|
|
@@ -219,7 +260,7 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
219
260
|
|
|
220
261
|
var attachment = new Attachment(
|
|
221
262
|
pdfBuffer.toString('base64'),
|
|
222
|
-
(invoiceData
|
|
263
|
+
attachmentName(invoiceData),
|
|
223
264
|
'attachment'
|
|
224
265
|
);
|
|
225
266
|
|
|
@@ -261,7 +302,7 @@ async function sendInvoiceEmail(invoiceData, pdfBuffer) {
|
|
|
261
302
|
}`;
|
|
262
303
|
default:
|
|
263
304
|
return `
|
|
264
|
-
async function
|
|
305
|
+
async function sendInvoiceEmailWithProvider() {
|
|
265
306
|
return { success: false, error: 'Unsupported email provider: ${provider}' };
|
|
266
307
|
}`;
|
|
267
308
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-sender-code.js","sourceRoot":"","sources":["../../../src/invoice/email-sender-code.ts"],"names":[],"mappings":";;;AAEO,MAAM,uBAAuB,GAAG,CAAC,aAAuC,EAAU,EAAE;IACzF,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;QACvE,OAAO,iIAAiI,CAAA;KACzI;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC7C,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,IAAI,2BAA2B,CAAA;IAC5E,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,IAAI,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"email-sender-code.js","sourceRoot":"","sources":["../../../src/invoice/email-sender-code.ts"],"names":[],"mappings":";;;AAEO,MAAM,uBAAuB,GAAG,CAAC,aAAuC,EAAU,EAAE;IACzF,IAAI,CAAC,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;QACvE,OAAO,iIAAiI,CAAA;KACzI;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAA;IACrE,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,IAAI,EAAE,CAAA;IAC/C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAA;IAC7C,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,IAAI,2BAA2B,CAAA;IAC5E,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,IAAI,2CAA2C,CAAA;IACtF,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,IAAI,EAAE,CAAA;IAEjE,OAAO;;eAEM,aAAa,CAAC,QAAQ;;;;;;;;;;;;;oBAajB,cAAc;yBACT,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;sBAClC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;4BAGtB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;YAoBlD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;;;;;;;;;EAS7E,4BAA4B,CAAC,aAAa,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;gBAyBtC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;CAcrD,CAAA;AACD,CAAC,CAAA;AArGY,QAAA,uBAAuB,2BAqGnC;AAED,SAAS,4BAA4B,CAAC,QAAgB;IACpD,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAuBX,CAAA;QAEE,KAAK,UAAU;YACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;EAwBX,CAAA;QAEE,KAAK,SAAS;YACZ,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BX,CAAA;QAEE,KAAK,UAAU;YACb,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAuBX,CAAA;QAEE,KAAK,YAAY;YACf,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFX,CAAA;QAEE;YACE,OAAO;;iEAEoD,QAAQ;EACvE,CAAA;KACC;AACH,CAAC;AAEM,MAAM,4BAA4B,GAAG,CAAC,QAAuB,EAA0B,EAAE;IAC9F,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,CAAA;KACV;IACD,QAAQ,QAAQ,EAAE;QAChB,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAA;QAC7B,KAAK,UAAU;YACb,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;QACvC,KAAK,SAAS;YACZ,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;QAC3D,KAAK,UAAU;YACb,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;QAC/B,KAAK,YAAY;YACf,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;QACjC;YACE,OAAO,EAAE,CAAA;KACZ;AACH,CAAC,CAAA;AAlBY,QAAA,4BAA4B,gCAkBxC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { ProjectPluginStructure, UIDLInvoiceSettings, DataSourceType } from '@teleporthq/teleport-types';
|
|
2
2
|
export declare const generateInvoiceFiles: (invoiceSettings: UIDLInvoiceSettings, structure: ProjectPluginStructure, dataSourceType: DataSourceType | null, dataSourceConfig: Record<string, unknown> | null) => void;
|
|
3
|
-
export
|
|
4
|
-
dataSourceType: DataSourceType | null;
|
|
5
|
-
dataSourceConfig: Record<string, unknown> | null;
|
|
6
|
-
};
|
|
3
|
+
export { resolveInvoiceDataSource } from './resolve-data-source';
|
|
7
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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;AASnC,eAAO,MAAM,oBAAoB,oBACd,mBAAmB,aACzB,sBAAsB,kBACjB,cAAc,GAAG,IAAI,oBACnB,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAC/C,IA+IF,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -7,6 +7,8 @@ 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
9
|
const auth_generator_1 = require("../auth-generator");
|
|
10
|
+
const sent_email_log_1 = require("../sent-email-log");
|
|
11
|
+
const email_locale_1 = require("../email-locale");
|
|
10
12
|
const generateInvoiceFiles = (invoiceSettings, structure, dataSourceType, dataSourceConfig) => {
|
|
11
13
|
var _a;
|
|
12
14
|
const { files, dependencies } = structure;
|
|
@@ -49,6 +51,10 @@ const generateInvoiceFiles = (invoiceSettings, structure, dataSourceType, dataSo
|
|
|
49
51
|
],
|
|
50
52
|
});
|
|
51
53
|
if ((_a = invoiceSettings.emailDelivery) === null || _a === void 0 ? void 0 : _a.enabled) {
|
|
54
|
+
// The sender records every attempt in the sent-email ledger and picks the
|
|
55
|
+
// buyer's language through the shared locale module.
|
|
56
|
+
(0, sent_email_log_1.ensureSentEmailLogModule)(structure);
|
|
57
|
+
(0, email_locale_1.ensureEmailLocaleModule)(structure);
|
|
52
58
|
const emailSenderCode = (0, email_sender_code_1.generateEmailSenderCode)(invoiceSettings.emailDelivery);
|
|
53
59
|
files.set('invoice-email-sender', {
|
|
54
60
|
path: ['utils', 'invoices'],
|
|
@@ -134,23 +140,6 @@ const generateInvoiceFiles = (invoiceSettings, structure, dataSourceType, dataSo
|
|
|
134
140
|
}
|
|
135
141
|
};
|
|
136
142
|
exports.generateInvoiceFiles = generateInvoiceFiles;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const { uidl } = structure;
|
|
140
|
-
if (!uidl.dataSources) {
|
|
141
|
-
return { dataSourceType: null, dataSourceConfig: null };
|
|
142
|
-
}
|
|
143
|
-
if ((_a = uidl.authentication) === null || _a === void 0 ? void 0 : _a.dataSourceId) {
|
|
144
|
-
const ds = uidl.dataSources[uidl.authentication.dataSourceId];
|
|
145
|
-
if (ds) {
|
|
146
|
-
return { dataSourceType: ds.type, dataSourceConfig: ds.config };
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
const dsEntries = Object.values(uidl.dataSources);
|
|
150
|
-
if (dsEntries.length > 0) {
|
|
151
|
-
return { dataSourceType: dsEntries[0].type, dataSourceConfig: dsEntries[0].config };
|
|
152
|
-
}
|
|
153
|
-
return { dataSourceType: null, dataSourceConfig: null };
|
|
154
|
-
};
|
|
155
|
-
exports.resolveInvoiceDataSource = resolveInvoiceDataSource;
|
|
143
|
+
var resolve_data_source_1 = require("./resolve-data-source");
|
|
144
|
+
Object.defineProperty(exports, "resolveInvoiceDataSource", { enumerable: true, get: function () { return resolve_data_source_1.resolveInvoiceDataSource; } });
|
|
156
145
|
//# sourceMappingURL=index.js.map
|
|
@@ -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,uDAAiG;AACjG,sDAAiE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/invoice/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,MA65BF,CAAA"}
|