@aglyn/plugins-commerce 1.0.0-beta.230 → 1.0.0-beta.231
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/package.json +13 -13
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/barcode/barcode-decode.d.ts +71 -0
- package/src/lib/barcode/barcode-decode.js +498 -0
- package/src/lib/barcode/barcode-decode.js.map +1 -0
- package/src/lib/barcode/barcode-encode.d.ts +44 -0
- package/src/lib/barcode/barcode-encode.js +138 -0
- package/src/lib/barcode/barcode-encode.js.map +1 -0
- package/src/lib/barcode/barcode-scanner.component.d.ts +23 -0
- package/src/lib/barcode/barcode-scanner.component.js +260 -0
- package/src/lib/barcode/barcode-scanner.component.js.map +1 -0
- package/src/lib/barcode/scan-button.component.d.ts +10 -0
- package/src/lib/barcode/scan-button.component.js +62 -0
- package/src/lib/barcode/scan-button.component.js.map +1 -0
- package/src/lib/barcode/scanner-wedge.d.ts +35 -0
- package/src/lib/barcode/scanner-wedge.js +108 -0
- package/src/lib/barcode/scanner-wedge.js.map +1 -0
- package/src/lib/components/account.js +10 -1
- package/src/lib/components/account.js.map +1 -1
- package/src/lib/components/cart-extras.d.ts +45 -0
- package/src/lib/components/cart-extras.js +127 -0
- package/src/lib/components/cart-extras.js.map +1 -0
- package/src/lib/components/cart.js +82 -15
- package/src/lib/components/cart.js.map +1 -1
- package/src/lib/components/checkout-return-notice.d.ts +26 -0
- package/src/lib/components/checkout-return-notice.js +48 -0
- package/src/lib/components/checkout-return-notice.js.map +1 -0
- package/src/lib/components/commerce-console-page.js +124 -0
- package/src/lib/components/commerce-console-page.js.map +1 -1
- package/src/lib/components/commerce-console-sections.d.ts +1 -1
- package/src/lib/components/commerce-console-sections.js +4 -0
- package/src/lib/components/commerce-console-sections.js.map +1 -1
- package/src/lib/components/console/bulk-fulfill.d.ts +44 -0
- package/src/lib/components/console/bulk-fulfill.js +84 -0
- package/src/lib/components/console/bulk-fulfill.js.map +1 -0
- package/src/lib/components/console/customer-notifications-card.component.d.ts +19 -0
- package/src/lib/components/console/customer-notifications-card.component.js +149 -0
- package/src/lib/components/console/customer-notifications-card.component.js.map +1 -0
- package/src/lib/components/console/host-orders-card.component.js +84 -5
- package/src/lib/components/console/host-orders-card.component.js.map +1 -1
- package/src/lib/components/console/locations-card.component.js +164 -57
- package/src/lib/components/console/locations-card.component.js.map +1 -1
- package/src/lib/components/console/order-detail-dialog.component.js +209 -61
- package/src/lib/components/console/order-detail-dialog.component.js.map +1 -1
- package/src/lib/components/console/order-fulfillment-panel.component.d.ts +48 -0
- package/src/lib/components/console/order-fulfillment-panel.component.js +542 -0
- package/src/lib/components/console/order-fulfillment-panel.component.js.map +1 -0
- package/src/lib/components/console/order-invoice.component.d.ts +33 -0
- package/src/lib/components/console/order-invoice.component.js +81 -0
- package/src/lib/components/console/order-invoice.component.js.map +1 -0
- package/src/lib/components/console/order-receipt-resend.component.d.ts +21 -0
- package/src/lib/components/console/order-receipt-resend.component.js +203 -0
- package/src/lib/components/console/order-receipt-resend.component.js.map +1 -0
- package/src/lib/components/console/order-returns.component.d.ts +36 -0
- package/src/lib/components/console/order-returns.component.js +142 -0
- package/src/lib/components/console/order-returns.component.js.map +1 -0
- package/src/lib/components/console/order-shipping-actions.component.d.ts +54 -0
- package/src/lib/components/console/order-shipping-actions.component.js +149 -0
- package/src/lib/components/console/order-shipping-actions.component.js.map +1 -0
- package/src/lib/components/console/order-webhooks-card.component.d.ts +50 -0
- package/src/lib/components/console/order-webhooks-card.component.js +623 -0
- package/src/lib/components/console/order-webhooks-card.component.js.map +1 -0
- package/src/lib/components/console/order-zones.d.ts +155 -0
- package/src/lib/components/console/order-zones.js +40 -0
- package/src/lib/components/console/order-zones.js.map +1 -0
- package/src/lib/components/console/payment-methods-card.component.d.ts +67 -0
- package/src/lib/components/console/payment-methods-card.component.js +395 -0
- package/src/lib/components/console/payment-methods-card.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-api.d.ts +124 -0
- package/src/lib/components/console/pos/pos-api.js +101 -0
- package/src/lib/components/console/pos/pos-api.js.map +1 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.d.ts +36 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js +160 -0
- package/src/lib/components/console/pos/pos-cart-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.d.ts +39 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.js +352 -0
- package/src/lib/components/console/pos/pos-item-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-product-grid.component.d.ts +47 -0
- package/src/lib/components/console/pos/pos-product-grid.component.js +272 -0
- package/src/lib/components/console/pos/pos-product-grid.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.d.ts +27 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.js +282 -0
- package/src/lib/components/console/pos/pos-receipt-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.d.ts +53 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.js +445 -0
- package/src/lib/components/console/pos/pos-tender-dialogs.component.js.map +1 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.d.ts +31 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.js +640 -0
- package/src/lib/components/console/pos/pos-tender-panel.component.js.map +1 -0
- package/src/lib/components/console/pos/use-pos-display.d.ts +43 -0
- package/src/lib/components/console/pos/use-pos-display.js +161 -0
- package/src/lib/components/console/pos/use-pos-display.js.map +1 -0
- package/src/lib/components/console/pos-devices-card.component.d.ts +14 -0
- package/src/lib/components/console/pos-devices-card.component.js +546 -0
- package/src/lib/components/console/pos-devices-card.component.js.map +1 -0
- package/src/lib/components/console/pos-display/brand-screen.d.ts +33 -0
- package/src/lib/components/console/pos-display/brand-screen.js +85 -0
- package/src/lib/components/console/pos-display/brand-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/cart-screen.d.ts +29 -0
- package/src/lib/components/console/pos-display/cart-screen.js +166 -0
- package/src/lib/components/console/pos-display/cart-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/pairing-screen.d.ts +24 -0
- package/src/lib/components/console/pos-display/pairing-screen.js +127 -0
- package/src/lib/components/console/pos-display/pairing-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/pos-display-api.d.ts +90 -0
- package/src/lib/components/console/pos-display/pos-display-api.js +140 -0
- package/src/lib/components/console/pos-display/pos-display-api.js.map +1 -0
- package/src/lib/components/console/pos-display/receipt-screen.d.ts +35 -0
- package/src/lib/components/console/pos-display/receipt-screen.js +200 -0
- package/src/lib/components/console/pos-display/receipt-screen.js.map +1 -0
- package/src/lib/components/console/pos-display/tip-screen.d.ts +36 -0
- package/src/lib/components/console/pos-display/tip-screen.js +211 -0
- package/src/lib/components/console/pos-display/tip-screen.js.map +1 -0
- package/src/lib/components/console/pos-display-page.component.d.ts +16 -0
- package/src/lib/components/console/pos-display-page.component.js +407 -0
- package/src/lib/components/console/pos-display-page.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.d.ts +40 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js +289 -0
- package/src/lib/components/console/pos-ops/pos-customer-lookup.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.d.ts +34 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.js +61 -0
- package/src/lib/components/console/pos-ops/pos-last-receipt.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.d.ts +38 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js +129 -0
- package/src/lib/components/console/pos-ops/pos-operations-bar.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.d.ts +37 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.js +60 -0
- package/src/lib/components/console/pos-ops/pos-ops-api.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.d.ts +48 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.js +220 -0
- package/src/lib/components/console/pos-ops/pos-pin-pad.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.d.ts +63 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js +186 -0
- package/src/lib/components/console/pos-ops/pos-receipt-actions.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-receipt.d.ts +39 -0
- package/src/lib/components/console/pos-ops/pos-receipt.js +182 -0
- package/src/lib/components/console/pos-ops/pos-receipt.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.d.ts +40 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.js +465 -0
- package/src/lib/components/console/pos-ops/pos-return-dialog.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.d.ts +29 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js +253 -0
- package/src/lib/components/console/pos-ops/pos-shift-history-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.d.ts +34 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js +494 -0
- package/src/lib/components/console/pos-ops/pos-shift-panel.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.d.ts +37 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.js +102 -0
- package/src/lib/components/console/pos-ops/pos-shift-report.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.d.ts +30 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js +277 -0
- package/src/lib/components/console/pos-ops/pos-staff-pins-card.component.js.map +1 -0
- package/src/lib/components/console/pos-ops/register-ops.d.ts +28 -0
- package/src/lib/components/console/pos-ops/register-ops.js +28 -0
- package/src/lib/components/console/pos-ops/register-ops.js.map +1 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.d.ts +46 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.js +128 -0
- package/src/lib/components/console/pos-ops/use-pos-cashier.js.map +1 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.d.ts +36 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js +64 -0
- package/src/lib/components/console/pos-ops/use-pos-sale-receipt.js.map +1 -0
- package/src/lib/components/console/pos-page.component.d.ts +13 -5
- package/src/lib/components/console/pos-page.component.js +729 -657
- package/src/lib/components/console/pos-page.component.js.map +1 -1
- package/src/lib/components/console/product-editor-dialog.component.js +51 -7
- package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
- package/src/lib/components/console/product-labels-dialog.component.d.ts +13 -0
- package/src/lib/components/console/product-labels-dialog.component.js +197 -0
- package/src/lib/components/console/product-labels-dialog.component.js.map +1 -0
- package/src/lib/components/console/product-register-fields.component.d.ts +19 -0
- package/src/lib/components/console/product-register-fields.component.js +241 -0
- package/src/lib/components/console/product-register-fields.component.js.map +1 -0
- package/src/lib/components/console/product-zones.d.ts +44 -0
- package/src/lib/components/console/product-zones.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +12 -0
- package/src/lib/components/console/products-hub-card.component.js.map +1 -1
- package/src/lib/components/console/register-hardware-card.component.d.ts +33 -0
- package/src/lib/components/console/register-hardware-card.component.js +826 -0
- package/src/lib/components/console/register-hardware-card.component.js.map +1 -0
- package/src/lib/components/console/registers-card.component.js +24 -5
- package/src/lib/components/console/registers-card.component.js.map +1 -1
- package/src/lib/components/console/return-actions.d.ts +38 -0
- package/src/lib/components/console/return-actions.js +76 -0
- package/src/lib/components/console/return-actions.js.map +1 -0
- package/src/lib/components/console/return-detail-dialog.component.d.ts +34 -0
- package/src/lib/components/console/return-detail-dialog.component.js +718 -0
- package/src/lib/components/console/return-detail-dialog.component.js.map +1 -0
- package/src/lib/components/console/return-settings-card.component.d.ts +34 -0
- package/src/lib/components/console/return-settings-card.component.js +195 -0
- package/src/lib/components/console/return-settings-card.component.js.map +1 -0
- package/src/lib/components/console/return-zones.d.ts +87 -0
- package/src/lib/components/console/return-zones.js +31 -0
- package/src/lib/components/console/return-zones.js.map +1 -0
- package/src/lib/components/console/returns-card.component.d.ts +45 -0
- package/src/lib/components/console/returns-card.component.js +159 -0
- package/src/lib/components/console/returns-card.component.js.map +1 -0
- package/src/lib/components/console/shipping-settings-card.component.js +161 -5
- package/src/lib/components/console/shipping-settings-card.component.js.map +1 -1
- package/src/lib/components/console/shippingeasy-card.component.d.ts +59 -0
- package/src/lib/components/console/shippingeasy-card.component.js +378 -0
- package/src/lib/components/console/shippingeasy-card.component.js.map +1 -0
- package/src/lib/components/console/shipstation-card.component.d.ts +35 -0
- package/src/lib/components/console/shipstation-card.component.js +345 -0
- package/src/lib/components/console/shipstation-card.component.js.map +1 -0
- package/src/lib/components/console/start-return-dialog.component.d.ts +40 -0
- package/src/lib/components/console/start-return-dialog.component.js +243 -0
- package/src/lib/components/console/start-return-dialog.component.js.map +1 -0
- package/src/lib/components/console/stock-movements-card.component.js +2 -1
- package/src/lib/components/console/stock-movements-card.component.js.map +1 -1
- package/src/lib/components/console/store-settings-card.component.js +2 -66
- package/src/lib/components/console/store-settings-card.component.js.map +1 -1
- package/src/lib/components/console/store-zones.d.ts +42 -0
- package/src/lib/components/console/store-zones.js +39 -0
- package/src/lib/components/console/store-zones.js.map +1 -0
- package/src/lib/components/order-status.d.ts +36 -0
- package/src/lib/components/order-status.js +502 -0
- package/src/lib/components/order-status.js.map +1 -0
- package/src/lib/components/product-detail.js +41 -2
- package/src/lib/components/product-detail.js.map +1 -1
- package/src/lib/components/return-request.d.ts +32 -0
- package/src/lib/components/return-request.js +576 -0
- package/src/lib/components/return-request.js.map +1 -0
- package/src/lib/components/storefront-payment-appearance.d.ts +32 -0
- package/src/lib/components/storefront-payment-appearance.js +114 -0
- package/src/lib/components/storefront-payment-appearance.js.map +1 -0
- package/src/lib/components/storefront-payment-element.d.ts +57 -1
- package/src/lib/components/storefront-payment-element.js +332 -33
- package/src/lib/components/storefront-payment-element.js.map +1 -1
- package/src/lib/constants/order-status.d.ts +22 -0
- package/src/lib/constants/order-status.js +22 -0
- package/src/lib/constants/order-status.js.map +1 -0
- package/src/lib/constants/return-request.d.ts +27 -0
- package/src/lib/constants/return-request.js +32 -0
- package/src/lib/constants/return-request.js.map +1 -0
- package/src/lib/constants/stock-movement-query.js +2 -1
- package/src/lib/constants/stock-movement-query.js.map +1 -1
- package/src/lib/declarations.console-server.js +9 -0
- package/src/lib/declarations.console-server.js.map +1 -1
- package/src/lib/declarations.server.d.ts +2 -1
- package/src/lib/declarations.server.js +47 -1
- package/src/lib/declarations.server.js.map +1 -1
- package/src/lib/model/buyer-notifications.d.ts +59 -0
- package/src/lib/model/buyer-notifications.js +97 -0
- package/src/lib/model/buyer-notifications.js.map +1 -0
- package/src/lib/model/commerce-orders.d.ts +127 -1
- package/src/lib/model/commerce-orders.js +24 -15
- package/src/lib/model/commerce-orders.js.map +1 -1
- package/src/lib/model/commerce-payment-methods.d.ts +146 -0
- package/src/lib/model/commerce-payment-methods.js +247 -0
- package/src/lib/model/commerce-payment-methods.js.map +1 -0
- package/src/lib/model/commerce-pos-ops.d.ts +437 -0
- package/src/lib/model/commerce-pos-ops.js +721 -0
- package/src/lib/model/commerce-pos-ops.js.map +1 -0
- package/src/lib/model/commerce-pos.d.ts +263 -0
- package/src/lib/model/commerce-pos.js +375 -0
- package/src/lib/model/commerce-pos.js.map +1 -0
- package/src/lib/model/commerce-printers.d.ts +211 -0
- package/src/lib/model/commerce-printers.js +181 -0
- package/src/lib/model/commerce-printers.js.map +1 -0
- package/src/lib/model/commerce-receipt.d.ts +97 -0
- package/src/lib/model/commerce-receipt.js +180 -0
- package/src/lib/model/commerce-receipt.js.map +1 -0
- package/src/lib/model/commerce-returns.d.ts +207 -0
- package/src/lib/model/commerce-returns.js +300 -0
- package/src/lib/model/commerce-returns.js.map +1 -0
- package/src/lib/model/commerce-shipping.d.ts +44 -1
- package/src/lib/model/commerce-shipping.js +53 -9
- package/src/lib/model/commerce-shipping.js.map +1 -1
- package/src/lib/model/commerce-tax-engine.d.ts +90 -0
- package/src/lib/model/commerce-tax-engine.js +129 -0
- package/src/lib/model/commerce-tax-engine.js.map +1 -0
- package/src/lib/model/commerce.d.ts +88 -2
- package/src/lib/model/commerce.js +89 -1
- package/src/lib/model/commerce.js.map +1 -1
- package/src/lib/model/index.d.ts +15 -0
- package/src/lib/model/index.js +15 -0
- package/src/lib/model/index.js.map +1 -1
- package/src/lib/model/order-events.d.ts +154 -0
- package/src/lib/model/order-events.js +153 -0
- package/src/lib/model/order-events.js.map +1 -0
- package/src/lib/model/order-fulfillment.d.ts +117 -0
- package/src/lib/model/order-fulfillment.js +217 -0
- package/src/lib/model/order-fulfillment.js.map +1 -0
- package/src/lib/model/order-history.d.ts +58 -0
- package/src/lib/model/order-history.js +22 -0
- package/src/lib/model/order-history.js.map +1 -0
- package/src/lib/model/order-list-fields.d.ts +9 -1
- package/src/lib/model/order-list-fields.js +7 -1
- package/src/lib/model/order-list-fields.js.map +1 -1
- package/src/lib/model/order-shipping-export.d.ts +91 -0
- package/src/lib/model/order-shipping-export.js +192 -0
- package/src/lib/model/order-shipping-export.js.map +1 -0
- package/src/lib/model/order-status-view.d.ts +103 -0
- package/src/lib/model/order-status-view.js +156 -0
- package/src/lib/model/order-status-view.js.map +1 -0
- package/src/lib/model/order-webhooks.d.ts +142 -0
- package/src/lib/model/order-webhooks.js +91 -0
- package/src/lib/model/order-webhooks.js.map +1 -0
- package/src/lib/model/product-channel.d.ts +56 -0
- package/src/lib/model/product-channel.js +86 -0
- package/src/lib/model/product-channel.js.map +1 -0
- package/src/lib/model/product-modifiers.d.ts +80 -0
- package/src/lib/model/product-modifiers.js +140 -0
- package/src/lib/model/product-modifiers.js.map +1 -0
- package/src/lib/model/shippingeasy.d.ts +94 -0
- package/src/lib/model/shippingeasy.js +267 -0
- package/src/lib/model/shippingeasy.js.map +1 -0
- package/src/lib/model/shipstation.d.ts +125 -0
- package/src/lib/model/shipstation.js +399 -0
- package/src/lib/model/shipstation.js.map +1 -0
- package/src/lib/model/smart-collection-reads.d.ts +32 -0
- package/src/lib/model/smart-collection-reads.js +63 -0
- package/src/lib/model/smart-collection-reads.js.map +1 -0
- package/src/lib/model/tracking-url.d.ts +74 -0
- package/src/lib/model/tracking-url.js +159 -0
- package/src/lib/model/tracking-url.js.map +1 -0
- package/src/lib/plugin-config.d.ts +13 -0
- package/src/lib/plugin-config.js +77 -5
- package/src/lib/plugin-config.js.map +1 -1
- package/src/lib/plugin.js +23 -0
- package/src/lib/plugin.js.map +1 -1
- package/src/lib/pos-ops-config.d.ts +39 -0
- package/src/lib/pos-ops-config.js +88 -0
- package/src/lib/pos-ops-config.js.map +1 -0
- package/src/lib/printing/print-document.d.ts +106 -0
- package/src/lib/printing/print-document.js +464 -0
- package/src/lib/printing/print-document.js.map +1 -0
- package/src/lib/printing/product-labels.d.ts +58 -0
- package/src/lib/printing/product-labels.js +116 -0
- package/src/lib/printing/product-labels.js.map +1 -0
- package/src/lib/printing/render-epson.d.ts +57 -0
- package/src/lib/printing/render-epson.js +135 -0
- package/src/lib/printing/render-epson.js.map +1 -0
- package/src/lib/printing/render-star.d.ts +45 -0
- package/src/lib/printing/render-star.js +100 -0
- package/src/lib/printing/render-star.js.map +1 -0
- package/src/lib/printing/render-text.d.ts +25 -0
- package/src/lib/printing/render-text.js +53 -0
- package/src/lib/printing/render-text.js.map +1 -0
- package/src/lib/server/api-v1/openapi.js +27 -4
- package/src/lib/server/api-v1/openapi.js.map +1 -1
- package/src/lib/server/api-v1/order-view.d.ts +67 -0
- package/src/lib/server/api-v1/order-view.js +120 -0
- package/src/lib/server/api-v1/order-view.js.map +1 -0
- package/src/lib/server/api-v1/orders-and-products.js +58 -65
- package/src/lib/server/api-v1/orders-and-products.js.map +1 -1
- package/src/lib/server/billing-webhook.js +135 -28
- package/src/lib/server/billing-webhook.js.map +1 -1
- package/src/lib/server/cancel-order.js +29 -0
- package/src/lib/server/cancel-order.js.map +1 -1
- package/src/lib/server/carrier-rates-availability.d.ts +26 -0
- package/src/lib/server/carrier-rates-availability.js +76 -0
- package/src/lib/server/carrier-rates-availability.js.map +1 -0
- package/src/lib/server/carrier-shipping.d.ts +84 -0
- package/src/lib/server/carrier-shipping.js +135 -0
- package/src/lib/server/carrier-shipping.js.map +1 -0
- package/src/lib/server/cart-checkout.d.ts +2 -0
- package/src/lib/server/cart-checkout.js +226 -22
- package/src/lib/server/cart-checkout.js.map +1 -1
- package/src/lib/server/checkout-extras.d.ts +64 -0
- package/src/lib/server/checkout-extras.js +157 -0
- package/src/lib/server/checkout-extras.js.map +1 -0
- package/src/lib/server/{feed.d.ts → checkout-status.d.ts} +2 -7
- package/src/lib/server/checkout-status.js +111 -0
- package/src/lib/server/checkout-status.js.map +1 -0
- package/src/lib/server/checkout.js +86 -9
- package/src/lib/server/checkout.js.map +1 -1
- package/src/lib/server/draft-order.js +34 -5
- package/src/lib/server/draft-order.js.map +1 -1
- package/src/lib/server/fulfill-order.d.ts +127 -10
- package/src/lib/server/fulfill-order.js +451 -49
- package/src/lib/server/fulfill-order.js.map +1 -1
- package/src/lib/server/legacy-feed.d.ts +28 -0
- package/src/lib/server/legacy-feed.js +52 -0
- package/src/lib/server/legacy-feed.js.map +1 -0
- package/src/lib/server/native-checkout.d.ts +34 -15
- package/src/lib/server/native-checkout.js +32 -17
- package/src/lib/server/native-checkout.js.map +1 -1
- package/src/lib/server/order-event-host-emit.d.ts +23 -0
- package/src/lib/server/order-event-host-emit.js +30 -0
- package/src/lib/server/order-event-host-emit.js.map +1 -0
- package/src/lib/server/order-event-triggers.d.ts +37 -0
- package/src/lib/server/order-event-triggers.js +119 -0
- package/src/lib/server/order-event-triggers.js.map +1 -0
- package/src/lib/server/order-events.d.ts +62 -0
- package/src/lib/server/order-events.js +109 -0
- package/src/lib/server/order-events.js.map +1 -0
- package/src/lib/server/order-history.d.ts +23 -0
- package/src/lib/server/order-history.js +65 -0
- package/src/lib/server/order-history.js.map +1 -0
- package/src/lib/server/order-notifications.d.ts +185 -0
- package/src/lib/server/order-notifications.js +567 -0
- package/src/lib/server/order-notifications.js.map +1 -0
- package/src/lib/server/order-receipt-send.d.ts +39 -0
- package/src/lib/server/order-receipt-send.js +151 -0
- package/src/lib/server/order-receipt-send.js.map +1 -0
- package/src/lib/server/order-status-token.d.ts +31 -0
- package/src/lib/server/order-status-token.js +75 -0
- package/src/lib/server/order-status-token.js.map +1 -0
- package/src/lib/server/order-status.d.ts +58 -0
- package/src/lib/server/order-status.js +141 -0
- package/src/lib/server/order-status.js.map +1 -0
- package/src/lib/server/order-webhooks.d.ts +108 -0
- package/src/lib/server/order-webhooks.js +622 -0
- package/src/lib/server/order-webhooks.js.map +1 -0
- package/src/lib/server/orders-shipping-prepare.d.ts +26 -0
- package/src/lib/server/orders-shipping-prepare.js +121 -0
- package/src/lib/server/orders-shipping-prepare.js.map +1 -0
- package/src/lib/server/payment-method-domains.d.ts +209 -0
- package/src/lib/server/payment-method-domains.js +444 -0
- package/src/lib/server/payment-method-domains.js.map +1 -0
- package/src/lib/server/payment-methods.d.ts +77 -0
- package/src/lib/server/payment-methods.js +284 -0
- package/src/lib/server/payment-methods.js.map +1 -0
- package/src/lib/server/pos-auth.d.ts +50 -0
- package/src/lib/server/pos-auth.js +121 -0
- package/src/lib/server/pos-auth.js.map +1 -0
- package/src/lib/server/pos-customer.d.ts +49 -0
- package/src/lib/server/pos-customer.js +257 -0
- package/src/lib/server/pos-customer.js.map +1 -0
- package/src/lib/server/pos-display.d.ts +57 -0
- package/src/lib/server/pos-display.js +419 -0
- package/src/lib/server/pos-display.js.map +1 -0
- package/src/lib/server/pos-fee-month.d.ts +34 -0
- package/src/lib/server/pos-fee-month.js +36 -0
- package/src/lib/server/pos-fee-month.js.map +1 -0
- package/src/lib/server/pos-ops-gate.d.ts +161 -0
- package/src/lib/server/pos-ops-gate.js +295 -0
- package/src/lib/server/pos-ops-gate.js.map +1 -0
- package/src/lib/server/pos-ops-routes.d.ts +22 -0
- package/src/lib/server/pos-ops-routes.js +36 -0
- package/src/lib/server/pos-ops-routes.js.map +1 -0
- package/src/lib/server/pos-order.d.ts +1 -18
- package/src/lib/server/pos-order.js +222 -42
- package/src/lib/server/pos-order.js.map +1 -1
- package/src/lib/server/pos-payment.d.ts +39 -0
- package/src/lib/server/pos-payment.js +922 -0
- package/src/lib/server/pos-payment.js.map +1 -0
- package/src/lib/server/pos-print.d.ts +82 -0
- package/src/lib/server/pos-print.js +193 -0
- package/src/lib/server/pos-print.js.map +1 -0
- package/src/lib/server/pos-readers.d.ts +27 -0
- package/src/lib/server/pos-readers.js +276 -0
- package/src/lib/server/pos-readers.js.map +1 -0
- package/src/lib/server/pos-refund-authority.d.ts +60 -0
- package/src/lib/server/pos-refund-authority.js +72 -0
- package/src/lib/server/pos-refund-authority.js.map +1 -0
- package/src/lib/server/pos-return.d.ts +58 -0
- package/src/lib/server/pos-return.js +891 -0
- package/src/lib/server/pos-return.js.map +1 -0
- package/src/lib/server/pos-sale-stamp.d.ts +66 -0
- package/src/lib/server/pos-sale-stamp.js +84 -0
- package/src/lib/server/pos-sale-stamp.js.map +1 -0
- package/src/lib/server/pos-sale.d.ts +170 -0
- package/src/lib/server/pos-sale.js +461 -0
- package/src/lib/server/pos-sale.js.map +1 -0
- package/src/lib/server/pos-shift.d.ts +45 -0
- package/src/lib/server/pos-shift.js +484 -0
- package/src/lib/server/pos-shift.js.map +1 -0
- package/src/lib/server/pos-staff-pin.d.ts +26 -0
- package/src/lib/server/pos-staff-pin.js +339 -0
- package/src/lib/server/pos-staff-pin.js.map +1 -0
- package/src/lib/server/pos-stripe.d.ts +91 -0
- package/src/lib/server/pos-stripe.js +129 -0
- package/src/lib/server/pos-stripe.js.map +1 -0
- package/src/lib/server/pos-terminal-connection-token.d.ts +48 -0
- package/src/lib/server/pos-terminal-connection-token.js +166 -0
- package/src/lib/server/pos-terminal-connection-token.js.map +1 -0
- package/src/lib/server/pos-terminal.d.ts +218 -0
- package/src/lib/server/pos-terminal.js +1014 -0
- package/src/lib/server/pos-terminal.js.map +1 -0
- package/src/lib/server/print-queue.d.ts +124 -0
- package/src/lib/server/print-queue.js +301 -0
- package/src/lib/server/print-queue.js.map +1 -0
- package/src/lib/server/printer-poll.d.ts +75 -0
- package/src/lib/server/printer-poll.js +325 -0
- package/src/lib/server/printer-poll.js.map +1 -0
- package/src/lib/server/printer-secret.d.ts +39 -0
- package/src/lib/server/printer-secret.js +56 -0
- package/src/lib/server/printer-secret.js.map +1 -0
- package/src/lib/server/printers.d.ts +114 -0
- package/src/lib/server/printers.js +546 -0
- package/src/lib/server/printers.js.map +1 -0
- package/src/lib/server/product-catalog.d.ts +42 -0
- package/src/lib/server/product-catalog.js +305 -0
- package/src/lib/server/product-catalog.js.map +1 -0
- package/src/lib/server/refund.js +110 -45
- package/src/lib/server/refund.js.map +1 -1
- package/src/lib/server/reserve.js +2 -0
- package/src/lib/server/reserve.js.map +1 -1
- package/src/lib/server/return-status-action.d.ts +37 -0
- package/src/lib/server/return-status-action.js +57 -0
- package/src/lib/server/return-status-action.js.map +1 -0
- package/src/lib/server/returns.d.ts +119 -0
- package/src/lib/server/returns.js +938 -0
- package/src/lib/server/returns.js.map +1 -0
- package/src/lib/server/shipment-records.d.ts +36 -0
- package/src/lib/server/shipment-records.js +289 -0
- package/src/lib/server/shipment-records.js.map +1 -0
- package/src/lib/server/shipping-connector-gates.d.ts +40 -0
- package/src/lib/server/shipping-connector-gates.js +97 -0
- package/src/lib/server/shipping-connector-gates.js.map +1 -0
- package/src/lib/server/shipping-connectors.d.ts +29 -0
- package/src/lib/server/shipping-connectors.js +236 -0
- package/src/lib/server/shipping-connectors.js.map +1 -0
- package/src/lib/server/shippingeasy.d.ts +238 -0
- package/src/lib/server/shippingeasy.js +787 -0
- package/src/lib/server/shippingeasy.js.map +1 -0
- package/src/lib/server/shipstation.d.ts +129 -0
- package/src/lib/server/shipstation.js +483 -0
- package/src/lib/server/shipstation.js.map +1 -0
- package/src/lib/server/site-page-resolver.d.ts +5 -0
- package/src/lib/server/site-page-resolver.js +156 -1
- package/src/lib/server/site-page-resolver.js.map +1 -1
- package/src/lib/server/stock-levels.d.ts +21 -0
- package/src/lib/server/stock-levels.js +263 -0
- package/src/lib/server/stock-levels.js.map +1 -0
- package/src/lib/server/stripe-refund.d.ts +47 -0
- package/src/lib/server/stripe-refund.js +87 -0
- package/src/lib/server/stripe-refund.js.map +1 -0
- package/src/lib/server/supplier-update.js +46 -5
- package/src/lib/server/supplier-update.js.map +1 -1
- package/src/lib/server/tax-engine-quote.d.ts +47 -0
- package/src/lib/server/tax-engine-quote.js +105 -0
- package/src/lib/server/tax-engine-quote.js.map +1 -0
- package/src/lib/server.js +138 -2
- package/src/lib/server.js.map +1 -1
- package/src/lib/site.js +12 -0
- package/src/lib/site.js.map +1 -1
- package/src/lib/subprocessors.d.ts +26 -0
- package/src/lib/subprocessors.js +50 -0
- package/src/lib/subprocessors.js.map +1 -0
- package/src/lib/tenant-emails.js +461 -3
- package/src/lib/tenant-emails.js.map +1 -1
- package/src/lib/testing/fake-firestore.d.ts +45 -0
- package/src/lib/testing/fake-firestore.js +189 -0
- package/src/lib/testing/fake-firestore.js.map +1 -0
- package/src/lib/testing/memory-firestore.d.ts +123 -0
- package/src/lib/testing/memory-firestore.js +274 -0
- package/src/lib/testing/memory-firestore.js.map +1 -0
- package/src/lib/testing/pos-ops-harness.d.ts +50 -0
- package/src/lib/testing/pos-ops-harness.js +184 -0
- package/src/lib/testing/pos-ops-harness.js.map +1 -0
- package/src/lib/testing/pos-ops-memory-firestore.d.ts +55 -0
- package/src/lib/testing/pos-ops-memory-firestore.js +376 -0
- package/src/lib/testing/pos-ops-memory-firestore.js.map +1 -0
- package/src/lib/transfer/records-transfer.d.ts +11 -1
- package/src/lib/transfer/records-transfer.js +127 -5
- package/src/lib/transfer/records-transfer.js.map +1 -1
- package/src/lib/transfer/records.server.d.ts +9 -2
- package/src/lib/transfer/records.server.js +58 -7
- package/src/lib/transfer/records.server.js.map +1 -1
- package/src/lib/transfer/register-transfer-resources.js +40 -1
- package/src/lib/transfer/register-transfer-resources.js.map +1 -1
- package/src/lib/transfer/register-transfer-ui.js +4 -1
- package/src/lib/transfer/register-transfer-ui.js.map +1 -1
- package/src/lib/transfer/shipping-presets.d.ts +23 -0
- package/src/lib/transfer/shipping-presets.js +156 -0
- package/src/lib/transfer/shipping-presets.js.map +1 -0
- package/src/lib/transfer/tracking-transfer.d.ts +101 -0
- package/src/lib/transfer/tracking-transfer.js +546 -0
- package/src/lib/transfer/tracking-transfer.js.map +1 -0
- package/src/lib/transfer/tracking.server.d.ts +37 -0
- package/src/lib/transfer/tracking.server.js +393 -0
- package/src/lib/transfer/tracking.server.js.map +1 -0
- package/src/lib/transfer/transfer-keys.d.ts +2 -1
- package/src/lib/transfer/transfer-keys.js +6 -2
- package/src/lib/transfer/transfer-keys.js.map +1 -1
- package/src/lib/utils/code128.d.ts +37 -0
- package/src/lib/utils/code128.js +199 -0
- package/src/lib/utils/code128.js.map +1 -0
- package/src/lib/utils/order-invoice.d.ts +55 -0
- package/src/lib/utils/order-invoice.js +127 -0
- package/src/lib/utils/order-invoice.js.map +1 -0
- package/src/lib/utils/use-checkout-return-notice.d.ts +34 -0
- package/src/lib/utils/use-checkout-return-notice.js +78 -0
- package/src/lib/utils/use-checkout-return-notice.js.map +1 -0
- package/src/lib/server/feed.js +0 -69
- package/src/lib/server/feed.js.map +0 -1
|
@@ -22,9 +22,16 @@ import { merchantAccountIsReady } from "@aglyn/tenant-data-admin/server/payment-
|
|
|
22
22
|
import { checkoutSessionCardAuthenticationParams } from "@aglyn/tenant-data-admin/server/stripe-card-authentication";
|
|
23
23
|
import { buildRoute, claimAttempt, Route } from "@aglyn/aglyn/server";
|
|
24
24
|
import { alertLowStockCrossing } from "./low-stock.js";
|
|
25
|
+
import { notifyOrderBuyer } from "./order-notifications.js";
|
|
26
|
+
import { ORDER_PAID_EVENT } from "../model/order-events.js";
|
|
27
|
+
import { raiseOrderEvent } from "./order-events.js";
|
|
25
28
|
import { decrementVariantStock } from "./reserve-stock.js";
|
|
26
29
|
import { holdPromotionSlot, promotionHoldKey, settlePromotionSlot } from "./promotion-hold.js";
|
|
27
30
|
import { posMaxDiscountPct } from "../plugin-config.js";
|
|
31
|
+
import { offlineFeeMonthKey } from "./pos-fee-month.js";
|
|
32
|
+
import { notifyPosSaleCompleted } from "./pos-sale.js";
|
|
33
|
+
import { posSaleStamp } from "./pos-sale-stamp.js";
|
|
34
|
+
import { quoteSaleTaxWithEngine } from "./tax-engine-quote.js";
|
|
28
35
|
import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
29
36
|
/**
|
|
30
37
|
* The settlement claim (AGL-1691) now lives in `@aglyn/aglyn/server`
|
|
@@ -43,7 +50,8 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
43
50
|
* later). Inventory decrements per line from the register's location,
|
|
44
51
|
* and sales can post to an open reservation folio instead (AGL-317).
|
|
45
52
|
*/ export const posOrderHandler = async (req, res)=>{
|
|
46
|
-
var _req_headers_authorization, _req_body, _body_hostId, _body_payment, _body_cashReceivedCents, _body_customerEmail, _body_reservationId, _body_registerId, _body_couponCode, _body_locationId, _body_discountPct,
|
|
53
|
+
var _req_headers_authorization, _req_body, _body_hostId, _body_payment, _body_cashReceivedCents, _ref, _body_customerEmail, _body_reservationId, _body_registerId, _body_couponCode, _body_locationId, _body_discountPct, _ref1, _req_headers_idempotencykey;
|
|
54
|
+
var _body_customer;
|
|
47
55
|
if (req.method !== 'POST') {
|
|
48
56
|
return res.status(405).json({
|
|
49
57
|
error: 'Method not allowed'
|
|
@@ -56,9 +64,14 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
56
64
|
});
|
|
57
65
|
const body = typeof req.body === 'string' ? JSON.parse(req.body) : (_req_body = req.body) != null ? _req_body : {};
|
|
58
66
|
const hostId = String((_body_hostId = body.hostId) != null ? _body_hostId : '');
|
|
67
|
+
// `open` (AGL-3607) prices the basket and writes a PENDING sale with an
|
|
68
|
+
// empty tender ledger; the register then takes one or more payments
|
|
69
|
+
// against it through `commerce/pos-payment` until the balance is zero.
|
|
59
70
|
const payment = String((_body_payment = body.payment) != null ? _body_payment : 'cash');
|
|
60
71
|
const cashReceivedCents = Math.round(Number((_body_cashReceivedCents = body.cashReceivedCents) != null ? _body_cashReceivedCents : 0));
|
|
61
|
-
|
|
72
|
+
// The customer the register's lookup attached (AGL-3609) gives the email
|
|
73
|
+
// when the cashier did not type one.
|
|
74
|
+
const customerEmail = String((_ref = (_body_customerEmail = body.customerEmail) != null ? _body_customerEmail : (_body_customer = body.customer) == null ? void 0 : _body_customer.email) != null ? _ref : '').trim().toLowerCase();
|
|
62
75
|
const reservationId = String((_body_reservationId = body.reservationId) != null ? _body_reservationId : '');
|
|
63
76
|
const registerId = String((_body_registerId = body.registerId) != null ? _body_registerId : '');
|
|
64
77
|
// A code the shopper hands the cashier (AGL-305). The same field name the
|
|
@@ -91,7 +104,7 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
91
104
|
// One settlement attempt, minted by the register (AGL-1691). Node lowercases
|
|
92
105
|
// incoming headers, but read both spellings — the plugin API request type
|
|
93
106
|
// makes no promise about casing.
|
|
94
|
-
const idempotencyKey = String((
|
|
107
|
+
const idempotencyKey = String((_ref1 = (_req_headers_idempotencykey = req.headers['idempotency-key']) != null ? _req_headers_idempotencykey : req.headers['Idempotency-Key']) != null ? _ref1 : '').trim().slice(0, 200);
|
|
95
108
|
if (!hostId || rawLines.length === 0) {
|
|
96
109
|
return res.status(400).json({
|
|
97
110
|
error: 'Missing hostId or lines'
|
|
@@ -113,8 +126,8 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
113
126
|
if (slot) await slot.release();
|
|
114
127
|
};
|
|
115
128
|
try {
|
|
116
|
-
var _hostSnapshot_get, _storeSettings_get, _taxSettings_origin,
|
|
117
|
-
var _ownerOrg_org, _ownerOrg_org1;
|
|
129
|
+
var _hostSnapshot_get, _storeSettings_get, _taxSettings_origin, _ref2, _ref3;
|
|
130
|
+
var _registerDocs_rank, _ownerOrg_org, _ownerOrg_org1;
|
|
118
131
|
const decoded = await firebaseAdmin.app().auth().verifyIdToken(idToken);
|
|
119
132
|
const firestore = firebaseAdmin.app().firestore();
|
|
120
133
|
const hostRef = firestore.collection('hosts').doc(hostId);
|
|
@@ -187,9 +200,10 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
187
200
|
// site, and
|
|
188
201
|
// reading only the workspace's answer would refuse the sale the console
|
|
189
202
|
// says is allowed.
|
|
190
|
-
const
|
|
203
|
+
const commerceConfig = await getPluginConfig(ownerOrg == null ? void 0 : ownerOrg.orgId, 'commerce', {
|
|
191
204
|
hostId
|
|
192
|
-
})
|
|
205
|
+
});
|
|
206
|
+
const maxDiscountPct = posMaxDiscountPct(commerceConfig);
|
|
193
207
|
if (discountPct > maxDiscountPct) {
|
|
194
208
|
return res.status(403).json({
|
|
195
209
|
error: `This register may discount up to ${maxDiscountPct}%. Ask a ` + 'manager to raise the limit in the commerce settings.',
|
|
@@ -222,7 +236,8 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
222
236
|
var _doc_get_toMillis, _doc_get;
|
|
223
237
|
return {
|
|
224
238
|
id: doc.id,
|
|
225
|
-
createdAtMs: (_ref = (_doc_get = doc.get('createdAt')) == null ? void 0 : (_doc_get_toMillis = _doc_get.toMillis) == null ? void 0 : _doc_get_toMillis.call(_doc_get)) != null ? _ref : 0
|
|
239
|
+
createdAtMs: (_ref = (_doc_get = doc.get('createdAt')) == null ? void 0 : (_doc_get_toMillis = _doc_get.toMillis) == null ? void 0 : _doc_get_toMillis.call(_doc_get)) != null ? _ref : 0,
|
|
240
|
+
openShiftId: doc.get('openShiftId')
|
|
226
241
|
};
|
|
227
242
|
}).sort((a, b)=>a.createdAtMs - b.createdAtMs || a.id.localeCompare(b.id));
|
|
228
243
|
const rank = registerDocs.findIndex((r)=>r.id === registerId);
|
|
@@ -236,6 +251,24 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
236
251
|
error: 'This register is over your plan’s limit — remove extra ' + 'registers or upgrade in Billing to use it.'
|
|
237
252
|
});
|
|
238
253
|
}
|
|
254
|
+
// WHO RANG IT, IN WHICH SHIFT, FOR WHOM (AGL-3609): the PIN-switched
|
|
255
|
+
// cashier, the register's open shift (refused when the site requires one
|
|
256
|
+
// and none is open) and the customer the lookup attached.
|
|
257
|
+
const stamped = await posSaleStamp({
|
|
258
|
+
hostId,
|
|
259
|
+
hostRef,
|
|
260
|
+
registerId,
|
|
261
|
+
openShiftId: (_registerDocs_rank = registerDocs[rank]) == null ? void 0 : _registerDocs_rank.openShiftId,
|
|
262
|
+
signedInUid: decoded.uid,
|
|
263
|
+
body,
|
|
264
|
+
config: commerceConfig
|
|
265
|
+
});
|
|
266
|
+
if ('error' in stamped) {
|
|
267
|
+
return res.status(stamped.status).json({
|
|
268
|
+
error: stamped.error
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
const saleStamp = stamped.stamp;
|
|
239
272
|
// Server pricing per line.
|
|
240
273
|
const uniqueIds = [
|
|
241
274
|
...new Set(rawLines.map((line)=>String(line.productId)))
|
|
@@ -259,21 +292,30 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
259
292
|
});
|
|
260
293
|
}
|
|
261
294
|
const quantity = Math.max(1, Math.min(99, Math.round(Number((_raw_quantity = raw.quantity) != null ? _raw_quantity : 1))));
|
|
295
|
+
// Modifiers are priced from the product, never from the register
|
|
296
|
+
// (AGL-3607): the line names option ids and nothing else.
|
|
297
|
+
const chosen = CommerceModel.resolveLineModifiers(product, raw.modifiers);
|
|
298
|
+
if (!chosen.ok) return res.status(400).json({
|
|
299
|
+
error: chosen.error
|
|
300
|
+
});
|
|
301
|
+
const variantLabel = CommerceModel.lineLabelWithModifiers(Object.keys((_variant_options = variant.options) != null ? _variant_options : {}).length ? Object.values((_variant_options1 = variant.options) != null ? _variant_options1 : {}).join(' / ') : undefined, chosen.modifiers);
|
|
262
302
|
lineItems.push(_extends({
|
|
263
303
|
productId: String(raw.productId)
|
|
264
304
|
}, variant.id !== 'default' ? {
|
|
265
305
|
variantId: variant.id
|
|
266
306
|
} : {}, {
|
|
267
307
|
name: product.name
|
|
268
|
-
},
|
|
269
|
-
variantLabel
|
|
308
|
+
}, variantLabel ? {
|
|
309
|
+
variantLabel
|
|
270
310
|
} : {}, variant.sku ? {
|
|
271
311
|
sku: variant.sku
|
|
272
312
|
} : {}, {
|
|
273
313
|
productType: product.type,
|
|
274
314
|
quantity,
|
|
275
|
-
unitAmountCents: Math.round(Number(variant.priceUsd) * 100)
|
|
276
|
-
}
|
|
315
|
+
unitAmountCents: Math.round(Number(variant.priceUsd) * 100) + chosen.extraCents
|
|
316
|
+
}, chosen.modifiers.length ? {
|
|
317
|
+
modifiers: chosen.modifiers
|
|
318
|
+
} : {}));
|
|
277
319
|
}
|
|
278
320
|
if (lineItems.length === 0) {
|
|
279
321
|
return res.status(400).json({
|
|
@@ -465,7 +507,40 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
465
507
|
});
|
|
466
508
|
}
|
|
467
509
|
const rate = taxDecision.kind === 'manual' ? CommerceModel.resolveTaxRate(taxSettings, (_taxSettings_origin = taxSettings.origin) != null ? _taxSettings_origin : {}) : null;
|
|
468
|
-
|
|
510
|
+
let taxCents = rate && !taxSettings.pricesIncludeTax ? CommerceModel.computeTaxCents(itemsCents - discountCents, rate.pct) : 0;
|
|
511
|
+
// The merchant's own tax service, where they connected one (AGL-3631):
|
|
512
|
+
// taxed at the store's ship-from address, as every in-person sale is.
|
|
513
|
+
// When it does not answer, the store's rate above stands and the order
|
|
514
|
+
// says so; the cashier is never left waiting on a vendor.
|
|
515
|
+
const engineTax = taxDecision.kind === 'manual' ? await quoteSaleTaxWithEngine({
|
|
516
|
+
hostId,
|
|
517
|
+
settings: taxSettings,
|
|
518
|
+
channel: 'pos',
|
|
519
|
+
lines: lineItems.map((line, index)=>_extends({
|
|
520
|
+
id: String(index),
|
|
521
|
+
productId: line.productId
|
|
522
|
+
}, line.variantId ? {
|
|
523
|
+
variantId: line.variantId
|
|
524
|
+
} : {}, line.sku ? {
|
|
525
|
+
sku: line.sku
|
|
526
|
+
} : {}, {
|
|
527
|
+
description: [
|
|
528
|
+
line.name,
|
|
529
|
+
line.variantLabel
|
|
530
|
+
].filter(Boolean).join(' — '),
|
|
531
|
+
quantity: line.quantity,
|
|
532
|
+
amountCents: line.unitAmountCents * line.quantity
|
|
533
|
+
})),
|
|
534
|
+
discountCents,
|
|
535
|
+
customerEmail: customerEmail || null
|
|
536
|
+
}) : {
|
|
537
|
+
quote: null,
|
|
538
|
+
stamp: null
|
|
539
|
+
};
|
|
540
|
+
if (engineTax.quote) taxCents = engineTax.quote.taxCents;
|
|
541
|
+
const taxEngineFields = engineTax.stamp ? {
|
|
542
|
+
taxEngine: engineTax.stamp
|
|
543
|
+
} : {};
|
|
469
544
|
/*==========================================
|
|
470
545
|
* THE FEE ATTACHES TO THE SALE, NOT TO THE TENDER (AGL-2111).
|
|
471
546
|
*
|
|
@@ -553,7 +628,7 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
553
628
|
// `orgs//offlineFees/…`; the sale still rings, and the fee is forgone
|
|
554
629
|
// rather than written somewhere no invoice will ever find it.
|
|
555
630
|
const offlineFeeMonth = offlineFeeMonthKey();
|
|
556
|
-
const offlineFeeOrgId = String((
|
|
631
|
+
const offlineFeeOrgId = String((_ref2 = ownerOrg == null ? void 0 : (_ownerOrg_org = ownerOrg.org) == null ? void 0 : _ownerOrg_org.id) != null ? _ref2 : '');
|
|
557
632
|
const offlineFeeRef = offlineFeeOrgId ? firestore.collection('orgs').doc(offlineFeeOrgId).collection('offlineFees').doc(offlineFeeMonth) : null;
|
|
558
633
|
// Deterministic tender rejections run BEFORE the claim is taken, so they
|
|
559
634
|
// never burn the key (AGL-1691): "cash received is short" is a 400 the
|
|
@@ -609,7 +684,7 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
609
684
|
const claimed = await claimAttempt(firestore, {
|
|
610
685
|
kind: 'pos',
|
|
611
686
|
scopeId: hostId,
|
|
612
|
-
orgId: String((
|
|
687
|
+
orgId: String((_ref3 = ownerOrg == null ? void 0 : (_ownerOrg_org1 = ownerOrg.org) == null ? void 0 : _ownerOrg_org1.id) != null ? _ref3 : ''),
|
|
613
688
|
key: idempotencyKey,
|
|
614
689
|
busyMessage: 'This sale is already being processed'
|
|
615
690
|
});
|
|
@@ -653,11 +728,83 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
653
728
|
discountHoldKey = slot.holdKey;
|
|
654
729
|
}
|
|
655
730
|
}
|
|
731
|
+
if (payment === 'open') {
|
|
732
|
+
// AN OPEN SALE (AGL-3607): priced here, exactly like every other
|
|
733
|
+
// tender, and paid by the ledger. The fee on `totals` is the TAKE alone;
|
|
734
|
+
// each card payment adds Stripe's processing cost to its own payout
|
|
735
|
+
// fee, and `pos-sale.ts` restates `feeCents` from what actually paid
|
|
736
|
+
// when the balance reaches zero. Named like every console resource,
|
|
737
|
+
// never by an auto-id.
|
|
738
|
+
const orderRef = hostRef.collection('orders').doc(Aglyn.createResourceUid());
|
|
739
|
+
const counterRef = hostRef.collection('counters').doc('orders');
|
|
740
|
+
const openTotals = CommerceModel.computeOrderTotals(lineItems, {
|
|
741
|
+
discountCents,
|
|
742
|
+
taxCents,
|
|
743
|
+
feeCents: takeFeeCents
|
|
744
|
+
});
|
|
745
|
+
await firestore.runTransaction(async (transaction)=>{
|
|
746
|
+
var _counter_get;
|
|
747
|
+
const counter = await transaction.get(counterRef);
|
|
748
|
+
const number = Number((_counter_get = counter.get('next')) != null ? _counter_get : 1);
|
|
749
|
+
transaction.set(counterRef, {
|
|
750
|
+
next: number + 1
|
|
751
|
+
}, {
|
|
752
|
+
merge: true
|
|
753
|
+
});
|
|
754
|
+
transaction.set(orderRef, CommerceModel.withOrderListFields(orderRef.id, _extends({
|
|
755
|
+
number,
|
|
756
|
+
status: 'pending',
|
|
757
|
+
channel: 'pos',
|
|
758
|
+
registerId,
|
|
759
|
+
cashierId: saleStamp.cashierId
|
|
760
|
+
}, saleStamp.fields, discountPct > 0 ? {
|
|
761
|
+
discountPct,
|
|
762
|
+
discountBy: saleStamp.cashierId
|
|
763
|
+
} : {}, appliedDiscountId ? {
|
|
764
|
+
discountId: appliedDiscountId
|
|
765
|
+
} : {}, discountHoldKey ? {
|
|
766
|
+
discountHoldKey
|
|
767
|
+
} : {}, locationId ? {
|
|
768
|
+
locationId
|
|
769
|
+
} : {}, {
|
|
770
|
+
lineItems,
|
|
771
|
+
totals: openTotals,
|
|
772
|
+
taxMode: CommerceModel.storefrontTaxModeForDecision(taxDecision, taxCents)
|
|
773
|
+
}, taxEngineFields, {
|
|
774
|
+
posTakeFeeCents: takeFeeCents
|
|
775
|
+
}, offlineFeeOrgId ? {
|
|
776
|
+
posFeeOrgId: offlineFeeOrgId
|
|
777
|
+
} : {}, {
|
|
778
|
+
payments: [],
|
|
779
|
+
customerEmail: customerEmail || null,
|
|
780
|
+
timeline: [
|
|
781
|
+
{
|
|
782
|
+
atMs: Date.now(),
|
|
783
|
+
event: 'pos-sale-opened'
|
|
784
|
+
}
|
|
785
|
+
],
|
|
786
|
+
createdAtMs: Date.now(),
|
|
787
|
+
createdAt: firebaseAdmin.firestore.FieldValue.serverTimestamp()
|
|
788
|
+
})));
|
|
789
|
+
});
|
|
790
|
+
// The hold now belongs to the sale document, not to this request.
|
|
791
|
+
discountSlot = null;
|
|
792
|
+
discountHoldKey = '';
|
|
793
|
+
const openPayload = _extends({
|
|
794
|
+
orderId: orderRef.id,
|
|
795
|
+
totals: openTotals,
|
|
796
|
+
dueCents: openTotals.totalCents
|
|
797
|
+
}, stockWarnings.length > 0 ? {
|
|
798
|
+
stockWarnings
|
|
799
|
+
} : {});
|
|
800
|
+
await claim.record(200, openPayload);
|
|
801
|
+
return res.status(200).json(openPayload);
|
|
802
|
+
}
|
|
656
803
|
if (payment === 'link') {
|
|
657
|
-
var
|
|
804
|
+
var _ref4, _session_id;
|
|
658
805
|
var _ownerOrg_org2, _ownerOrg_org3;
|
|
659
806
|
// QR payment link on the merchant account, completed by webhook.
|
|
660
|
-
const ownerProfile = await firestore.collection('profiles').doc(String((
|
|
807
|
+
const ownerProfile = await firestore.collection('profiles').doc(String((_ref4 = ownerOrg == null ? void 0 : (_ownerOrg_org2 = ownerOrg.org) == null ? void 0 : _ownerOrg_org2.ownerUid) != null ? _ref4 : '')).get();
|
|
661
808
|
const accountId = ownerProfile.get('stripeAccountId');
|
|
662
809
|
if (!merchantAccountIsReady({
|
|
663
810
|
accountId,
|
|
@@ -691,10 +838,11 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
691
838
|
number,
|
|
692
839
|
status: 'pending',
|
|
693
840
|
channel: 'pos',
|
|
694
|
-
registerId
|
|
695
|
-
|
|
841
|
+
registerId,
|
|
842
|
+
cashierId: saleStamp.cashierId
|
|
843
|
+
}, saleStamp.fields, discountPct > 0 ? {
|
|
696
844
|
discountPct,
|
|
697
|
-
discountBy:
|
|
845
|
+
discountBy: saleStamp.cashierId
|
|
698
846
|
} : {}, appliedDiscountId ? {
|
|
699
847
|
discountId: appliedDiscountId
|
|
700
848
|
} : {}, locationId ? {
|
|
@@ -713,7 +861,7 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
713
861
|
// carries the same figure over as `metadata[taxCents]` for the
|
|
714
862
|
// webhook to restate when the card is actually charged.
|
|
715
863
|
taxMode: CommerceModel.storefrontTaxModeForDecision(taxDecision, taxCents)
|
|
716
|
-
}, feeCents > 0 ? {
|
|
864
|
+
}, taxEngineFields, feeCents > 0 ? {
|
|
717
865
|
feeCollection
|
|
718
866
|
} : {}, {
|
|
719
867
|
customerEmail: customerEmail || null,
|
|
@@ -877,7 +1025,7 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
877
1025
|
registerId
|
|
878
1026
|
}, discountPct > 0 ? {
|
|
879
1027
|
discountPct,
|
|
880
|
-
discountBy:
|
|
1028
|
+
discountBy: saleStamp.cashierId
|
|
881
1029
|
} : {}, appliedDiscountId ? {
|
|
882
1030
|
discountId: appliedDiscountId
|
|
883
1031
|
} : {}, locationId ? {
|
|
@@ -891,9 +1039,31 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
891
1039
|
// witness there will be, and here is the one moment it can be written
|
|
892
1040
|
// down.
|
|
893
1041
|
taxMode: CommerceModel.storefrontTaxModeForDecision(taxDecision, taxCents)
|
|
894
|
-
}, feeCents > 0 ? {
|
|
1042
|
+
}, taxEngineFields, feeCents > 0 ? {
|
|
895
1043
|
feeCollection
|
|
896
1044
|
} : {}, {
|
|
1045
|
+
// THE TENDER, RECORDED (AGL-3607): one settled payment, so this sale
|
|
1046
|
+
// reads the same as a split one rather than by inference.
|
|
1047
|
+
cashierId: saleStamp.cashierId
|
|
1048
|
+
}, saleStamp.fields, {
|
|
1049
|
+
payments: [
|
|
1050
|
+
_extends({
|
|
1051
|
+
id: `pay_${payment}`,
|
|
1052
|
+
method: payment === 'folio' ? 'folio' : 'cash',
|
|
1053
|
+
amountCents: totals.totalCents,
|
|
1054
|
+
status: 'succeeded',
|
|
1055
|
+
atMs: paidEvent.atMs,
|
|
1056
|
+
settledAtMs: paidEvent.atMs,
|
|
1057
|
+
takeFeeCents,
|
|
1058
|
+
feeCents: 0,
|
|
1059
|
+
cashierId: saleStamp.cashierId
|
|
1060
|
+
}, payment === 'cash' ? {
|
|
1061
|
+
cashTenderedCents: cashReceivedCents,
|
|
1062
|
+
changeCents: cashReceivedCents - totals.totalCents
|
|
1063
|
+
} : {
|
|
1064
|
+
reservationId
|
|
1065
|
+
})
|
|
1066
|
+
],
|
|
897
1067
|
customerEmail: customerEmail || null,
|
|
898
1068
|
timeline: [
|
|
899
1069
|
paidEvent
|
|
@@ -1101,6 +1271,19 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
1101
1271
|
console.error('[pos-order] contact upsert failed', error);
|
|
1102
1272
|
});
|
|
1103
1273
|
}
|
|
1274
|
+
// THE ONE "SALE COMPLETED" POINT (AGL-3607), reached here by a
|
|
1275
|
+
// single-tender cash or room sale as by every other register sale.
|
|
1276
|
+
await notifyPosSaleCompleted({
|
|
1277
|
+
hostId,
|
|
1278
|
+
orderId: orderRef.id,
|
|
1279
|
+
order: {
|
|
1280
|
+
status: 'paid',
|
|
1281
|
+
channel: 'pos',
|
|
1282
|
+
registerId,
|
|
1283
|
+
lineItems,
|
|
1284
|
+
totals
|
|
1285
|
+
}
|
|
1286
|
+
});
|
|
1104
1287
|
const cashPayload = _extends({
|
|
1105
1288
|
orderId: orderRef.id,
|
|
1106
1289
|
totals,
|
|
@@ -1109,6 +1292,19 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
1109
1292
|
stockWarnings
|
|
1110
1293
|
} : {});
|
|
1111
1294
|
await claim.record(200, cashPayload);
|
|
1295
|
+
// The receipt, when the customer gave an email (AGL-3610).
|
|
1296
|
+
await notifyOrderBuyer({
|
|
1297
|
+
hostId,
|
|
1298
|
+
orderId: orderRef.id
|
|
1299
|
+
}, 'receipt', {
|
|
1300
|
+
email: contactEmail
|
|
1301
|
+
});
|
|
1302
|
+
// A cash or folio sale is paid on the spot (AGL-3611); a card sale is raised by the webhook.
|
|
1303
|
+
await raiseOrderEvent(ORDER_PAID_EVENT, {
|
|
1304
|
+
hostId,
|
|
1305
|
+
orderId: orderRef.id,
|
|
1306
|
+
key: 'paid'
|
|
1307
|
+
});
|
|
1112
1308
|
return res.status(200).json(cashPayload);
|
|
1113
1309
|
} catch (error) {
|
|
1114
1310
|
console.error(error);
|
|
@@ -1126,24 +1322,8 @@ import { resolveOrgPermissions } from "@aglyn/tenant-runtime/org-permissions";
|
|
|
1126
1322
|
});
|
|
1127
1323
|
}
|
|
1128
1324
|
};
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
* mints and to the twelve other month counters on the platform
|
|
1133
|
-
* (`orgs/{id}/apiUsage/*`, `orgs/{id}/assistUsage/*`, the per-host counters).
|
|
1134
|
-
*
|
|
1135
|
-
* It has to be UTC and it has to be this exact expression: `report-usage`
|
|
1136
|
-
* sweeps `previousMonth()` in UTC and reads the accrual document by that key,
|
|
1137
|
-
* so a local-time month would strand every sale rung in the offset window on a
|
|
1138
|
-
* document no sweep ever looks at — which is uncollected revenue that leaves
|
|
1139
|
-
* no trace. `offline-pos-fee-month-key.spec.ts` pins the two against each
|
|
1140
|
-
* other rather than trusting the comment.
|
|
1141
|
-
*
|
|
1142
|
-
* Local rather than imported because `apps/console` is an app: a plugin
|
|
1143
|
-
* library cannot import from it, and the repo's other eleven copies of this
|
|
1144
|
-
* one-liner are the established shape.
|
|
1145
|
-
*/ export function offlineFeeMonthKey(now = new Date()) {
|
|
1146
|
-
return now.toISOString().slice(0, 7);
|
|
1147
|
-
}
|
|
1325
|
+
// Moved beside the ledger that also accrues into it (AGL-3607); still
|
|
1326
|
+
// exported here, where its readers have always imported it from.
|
|
1327
|
+
export { offlineFeeMonthKey } from "./pos-fee-month.js";
|
|
1148
1328
|
|
|
1149
1329
|
//# sourceMappingURL=pos-order.js.map
|