@aglyn/plugins-commerce 1.0.0-beta.229 → 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 +58 -2
- package/src/lib/components/console/product-zones.js +10 -2
- package/src/lib/components/console/product-zones.js.map +1 -1
- package/src/lib/components/console/products-hub-card.component.js +51 -11
- 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 +44 -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-ai-capability.d.ts +42 -0
- package/src/lib/server/product-ai-capability.js +159 -0
- package/src/lib/server/product-ai-capability.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/product-drafts.d.ts +119 -0
- package/src/lib/server/product-drafts.js +384 -0
- package/src/lib/server/product-drafts.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 +146 -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/utils/use-storefront-purchase-event.js +4 -0
- package/src/lib/utils/use-storefront-purchase-event.js.map +1 -1
- 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
|