@nextblock-cms/ecom 0.20.1 → 0.21.0
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/_virtual/_rolldown/runtime.cjs.js +1 -0
- package/index.cjs.js +1 -1
- package/index.es.js +38 -146
- package/lib/CurrencyProvider.cjs.js +1 -1
- package/lib/CurrencyProvider.d.ts +1 -1
- package/lib/CurrencyProvider.es.js +85 -95
- package/lib/PaymentReadinessProvider.cjs.js +1 -1
- package/lib/PaymentReadinessProvider.d.ts +1 -1
- package/lib/PaymentReadinessProvider.es.js +24 -27
- package/lib/cart-store.cjs.js +1 -1
- package/lib/cart-store.es.js +109 -121
- package/lib/components/AccountNavigationMenu.cjs.js +1 -1
- package/lib/components/AccountNavigationMenu.d.ts +1 -1
- package/lib/components/AccountNavigationMenu.es.js +36 -50
- package/lib/components/AddToCartButton.cjs.js +1 -1
- package/lib/components/AddToCartButton.d.ts +1 -1
- package/lib/components/AddToCartButton.es.js +94 -89
- package/lib/components/Cart.cjs.js +1 -1
- package/lib/components/Cart.d.ts +1 -1
- package/lib/components/Cart.es.js +261 -180
- package/lib/components/CartDrawer.cjs.js +1 -1
- package/lib/components/CartDrawer.d.ts +1 -1
- package/lib/components/CartDrawer.es.js +218 -148
- package/lib/components/CartIcon.cjs.js +1 -1
- package/lib/components/CartIcon.d.ts +1 -1
- package/lib/components/CartIcon.es.js +33 -35
- package/lib/components/Checkout.cjs.js +1 -1
- package/lib/components/Checkout.d.ts +1 -1
- package/lib/components/Checkout.es.js +1092 -1108
- package/lib/components/CouponForm.cjs.js +1 -1
- package/lib/components/CouponForm.d.ts +1 -1
- package/lib/components/CouponForm.es.js +136 -148
- package/lib/components/CurrencySwitcher.cjs.js +1 -1
- package/lib/components/CurrencySwitcher.d.ts +1 -1
- package/lib/components/CurrencySwitcher.es.js +22 -18
- package/lib/components/CustomerProfileForm.cjs.js +1 -1
- package/lib/components/CustomerProfileForm.es.js +454 -313
- package/lib/components/FeaturedProduct.cjs.js +1 -1
- package/lib/components/FeaturedProduct.d.ts +1 -1
- package/lib/components/FeaturedProduct.es.js +98 -83
- package/lib/components/FreemiusLicensePanel.cjs.js +1 -1
- package/lib/components/FreemiusLicensePanel.d.ts +1 -1
- package/lib/components/FreemiusLicensePanel.es.js +70 -65
- package/lib/components/InvoiceDocument.cjs.js +1 -1
- package/lib/components/InvoiceDocument.es.js +256 -192
- package/lib/components/InvoiceViewerShell.cjs.js +2 -2
- package/lib/components/InvoiceViewerShell.d.ts +1 -1
- package/lib/components/InvoiceViewerShell.es.js +75 -106
- package/lib/components/ProductCard.cjs.js +1 -1
- package/lib/components/ProductCard.d.ts +1 -1
- package/lib/components/ProductCard.es.js +186 -171
- package/lib/components/ProductDetailsLayout.cjs.js +1 -1
- package/lib/components/ProductDetailsLayout.es.js +405 -404
- package/lib/components/ProductGallery.cjs.js +1 -1
- package/lib/components/ProductGallery.d.ts +1 -1
- package/lib/components/ProductGallery.es.js +51 -54
- package/lib/components/ProductGrid.cjs.js +1 -1
- package/lib/components/ProductGrid.d.ts +1 -1
- package/lib/components/ProductGrid.es.js +23 -25
- package/lib/components/ShippingEstimator.cjs.js +1 -1
- package/lib/components/ShippingEstimator.d.ts +1 -1
- package/lib/components/ShippingEstimator.es.js +158 -153
- package/lib/components/ShortDescription.cjs.js +1 -1
- package/lib/components/ShortDescription.es.js +17 -17
- package/lib/components/SimpleTiptapRenderer.cjs.js +1 -1
- package/lib/components/SimpleTiptapRenderer.es.js +238 -211
- package/lib/components/SubscriptionSelector.cjs.js +1 -1
- package/lib/components/SubscriptionSelector.es.js +159 -154
- package/lib/countries.cjs.js +1 -1
- package/lib/countries.es.js +232 -75
- package/lib/coupon-server.cjs.js +1 -1
- package/lib/coupon-server.es.js +180 -224
- package/lib/coupons.cjs.js +1 -1
- package/lib/coupons.es.js +12 -14
- package/lib/currency-constants.cjs.js +1 -1
- package/lib/currency-constants.es.js +4 -4
- package/lib/currency-rest-client.cjs.js +1 -1
- package/lib/currency-rest-client.es.js +15 -22
- package/lib/currency-store.cjs.js +1 -1
- package/lib/currency-store.es.js +20 -27
- package/lib/currency-sync.cjs.js +1 -1
- package/lib/currency-sync.es.js +124 -170
- package/lib/currency.cjs.js +1 -1
- package/lib/currency.es.js +242 -310
- package/lib/customer-addresses.cjs.js +1 -1
- package/lib/customer-addresses.es.js +80 -109
- package/lib/customer-orders.cjs.js +1 -1
- package/lib/customer-orders.es.js +31 -43
- package/lib/customer.cjs.js +1 -1
- package/lib/customer.es.js +43 -52
- package/lib/export-helpers.cjs.js +1 -1
- package/lib/export-helpers.es.js +53 -52
- package/lib/factory.cjs.js +1 -1
- package/lib/factory.es.js +10 -7
- package/lib/freemius-coupons.cjs.js +1 -1
- package/lib/freemius-coupons.es.js +245 -262
- package/lib/freemius-license-claim.cjs.js +1 -1
- package/lib/freemius-license-claim.es.js +87 -71
- package/lib/freemius-license.cjs.js +1 -1
- package/lib/freemius-license.es.js +32 -39
- package/lib/freemius-order-sync.cjs.js +1 -1
- package/lib/freemius-order-sync.es.js +226 -290
- package/lib/freemius-trial-provision.cjs.js +1 -1
- package/lib/freemius-trial-provision.es.js +136 -130
- package/lib/inventory-settings.cjs.js +1 -1
- package/lib/inventory-settings.es.js +69 -77
- package/lib/invoice-server.cjs.js +3 -3
- package/lib/invoice-server.es.js +94 -141
- package/lib/invoice-ui.cjs.js +1 -1
- package/lib/invoice-ui.es.js +50 -66
- package/lib/invoice.cjs.js +1 -1
- package/lib/invoice.es.js +85 -94
- package/lib/order-inventory.cjs.js +25 -25
- package/lib/order-inventory.es.js +67 -79
- package/lib/order-tax-details.cjs.js +1 -1
- package/lib/order-tax-details.es.js +142 -153
- package/lib/pages/cms/coupons/CouponEditorForm.cjs.js +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.d.ts +1 -1
- package/lib/pages/cms/coupons/CouponEditorForm.es.js +227 -185
- package/lib/pages/cms/coupons/CouponsPage.cjs.js +2 -2
- package/lib/pages/cms/coupons/CouponsPage.d.ts +1 -1
- package/lib/pages/cms/coupons/CouponsPage.es.js +235 -166
- package/lib/pages/cms/coupons/CreateCouponDialog.cjs.js +1 -1
- package/lib/pages/cms/coupons/CreateCouponDialog.d.ts +1 -1
- package/lib/pages/cms/coupons/CreateCouponDialog.es.js +35 -34
- package/lib/pages/cms/coupons/EditCouponPage.cjs.js +1 -1
- package/lib/pages/cms/coupons/EditCouponPage.d.ts +1 -1
- package/lib/pages/cms/coupons/EditCouponPage.es.js +47 -47
- package/lib/pages/cms/coupons/ProductScopePicker.cjs.js +1 -1
- package/lib/pages/cms/coupons/ProductScopePicker.d.ts +1 -1
- package/lib/pages/cms/coupons/ProductScopePicker.es.js +128 -117
- package/lib/pages/cms/coupons/actions.cjs.js +1 -1
- package/lib/pages/cms/coupons/actions.es.js +112 -115
- package/lib/pages/cms/coupons/index.cjs.js +1 -0
- package/lib/pages/cms/coupons/index.es.js +3 -0
- package/lib/pages/cms/coupons/product-options.cjs.js +1 -1
- package/lib/pages/cms/coupons/product-options.es.js +21 -23
- package/lib/pages/cms/orders/ExportReportsDialog.cjs.js +1 -1
- package/lib/pages/cms/orders/ExportReportsDialog.es.js +135 -129
- package/lib/pages/cms/orders/MarkPaidButton.d.ts +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.d.ts +1 -1
- package/lib/pages/cms/orders/OrderDetailPage.es.js +186 -134
- package/lib/pages/cms/orders/OrderPrintButton.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderPrintButton.d.ts +1 -1
- package/lib/pages/cms/orders/OrderPrintButton.es.js +15 -21
- package/lib/pages/cms/orders/OrderStatusForm.cjs.js +1 -1
- package/lib/pages/cms/orders/OrderStatusForm.d.ts +1 -1
- package/lib/pages/cms/orders/OrderStatusForm.es.js +85 -69
- package/lib/pages/cms/orders/OrdersPage.cjs.js +1 -1
- package/lib/pages/cms/orders/OrdersPage.d.ts +1 -1
- package/lib/pages/cms/orders/OrdersPage.es.js +170 -102
- package/lib/pages/cms/orders/actions.cjs.js +3 -3
- package/lib/pages/cms/orders/actions.es.js +53 -69
- package/lib/pages/cms/orders/export-actions.cjs.js +1 -1
- package/lib/pages/cms/orders/export-actions.es.js +23 -26
- package/lib/pages/cms/orders/index.cjs.js +1 -0
- package/lib/pages/cms/orders/index.es.js +6 -0
- package/lib/pages/cms/orders/server-actions.cjs.js +1 -1
- package/lib/pages/cms/orders/server-actions.es.js +60 -51
- package/lib/pages/cms/payments/PaymentsClient.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsClient.d.ts +1 -1
- package/lib/pages/cms/payments/PaymentsClient.es.js +316 -346
- package/lib/pages/cms/payments/PaymentsPage.cjs.js +1 -1
- package/lib/pages/cms/payments/PaymentsPage.d.ts +1 -1
- package/lib/pages/cms/payments/PaymentsPage.es.js +29 -32
- package/lib/pages/cms/payments/actions.cjs.js +1 -1
- package/lib/pages/cms/payments/actions.es.js +38 -48
- package/lib/pages/cms/payments/index.cjs.js +1 -0
- package/lib/pages/cms/payments/index.es.js +3 -0
- package/lib/pages/cms/payments/queries.cjs.js +1 -1
- package/lib/pages/cms/payments/queries.es.js +38 -48
- package/lib/pages/cms/products/ProductsPage.cjs.js +1 -1
- package/lib/pages/cms/products/ProductsPage.d.ts +1 -1
- package/lib/pages/cms/products/ProductsPage.es.js +63 -66
- package/lib/pages/cms/products/[id]/edit/EditProductPage.d.ts +1 -1
- package/lib/pages/cms/products/_id_/edit/EditProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/_id_/edit/EditProductPage.es.js +138 -155
- package/lib/pages/cms/products/actions.cjs.js +4 -4
- package/lib/pages/cms/products/actions.es.js +121 -162
- package/lib/pages/cms/products/attributes/AttributeManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/AttributeManagementPage.d.ts +1 -1
- package/lib/pages/cms/products/attributes/AttributeManagementPage.es.js +55 -47
- package/lib/pages/cms/products/attributes/components/AttributeManager.cjs.js +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.d.ts +1 -1
- package/lib/pages/cms/products/attributes/components/AttributeManager.es.js +285 -290
- package/lib/pages/cms/products/categories/CategoryManagementPage.cjs.js +1 -1
- package/lib/pages/cms/products/categories/CategoryManagementPage.d.ts +1 -1
- package/lib/pages/cms/products/categories/CategoryManagementPage.es.js +43 -35
- package/lib/pages/cms/products/categories/components/CategoryManager.cjs.js +1 -1
- package/lib/pages/cms/products/categories/components/CategoryManager.es.js +315 -262
- package/lib/pages/cms/products/components/CopyProductFromLanguage.cjs.js +1 -1
- package/lib/pages/cms/products/components/CopyProductFromLanguage.es.js +115 -113
- package/lib/pages/cms/products/components/CurrencyPriceFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/CurrencyPriceFields.d.ts +1 -1
- package/lib/pages/cms/products/components/CurrencyPriceFields.es.js +136 -145
- package/lib/pages/cms/products/components/DeleteProductButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/DeleteProductButton.d.ts +1 -1
- package/lib/pages/cms/products/components/DeleteProductButton.es.js +35 -47
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.cjs.js +1 -1
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.d.ts +1 -1
- package/lib/pages/cms/products/components/FreemiusPricingDashboard.es.js +106 -84
- package/lib/pages/cms/products/components/ProductCategorySelector.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductCategorySelector.es.js +156 -159
- package/lib/pages/cms/products/components/ProductForm.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductForm.es.js +872 -693
- package/lib/pages/cms/products/components/ProductMediaManager.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductMediaManager.es.js +106 -103
- package/lib/pages/cms/products/components/ProductsBulkTable.cjs.js +1 -1
- package/lib/pages/cms/products/components/ProductsBulkTable.d.ts +1 -1
- package/lib/pages/cms/products/components/ProductsBulkTable.es.js +303 -294
- package/lib/pages/cms/products/components/SaleScheduleFields.cjs.js +1 -1
- package/lib/pages/cms/products/components/SaleScheduleFields.d.ts +1 -1
- package/lib/pages/cms/products/components/SaleScheduleFields.es.js +111 -134
- package/lib/pages/cms/products/components/SyncFreemiusButton.cjs.js +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusButton.d.ts +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusButton.es.js +29 -35
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.cjs.js +2 -2
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.d.ts +1 -1
- package/lib/pages/cms/products/components/SyncFreemiusPricingButton.es.js +36 -48
- package/lib/pages/cms/products/components/SyncProductForm.d.ts +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.cjs.js +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.d.ts +1 -1
- package/lib/pages/cms/products/components/VariationsEditor.es.js +396 -405
- package/lib/pages/cms/products/index.cjs.js +1 -0
- package/lib/pages/cms/products/index.es.js +8 -0
- package/lib/pages/cms/products/inventory/InventoryPage.cjs.js +1 -1
- package/lib/pages/cms/products/inventory/InventoryPage.d.ts +1 -1
- package/lib/pages/cms/products/inventory/InventoryPage.es.js +21 -15
- package/lib/pages/cms/products/inventory/InventoryTableClient.cjs.js +2 -2
- package/lib/pages/cms/products/inventory/InventoryTableClient.d.ts +1 -1
- package/lib/pages/cms/products/inventory/InventoryTableClient.es.js +230 -209
- package/lib/pages/cms/products/inventory/actions.cjs.js +3 -3
- package/lib/pages/cms/products/inventory/actions.es.js +83 -91
- package/lib/pages/cms/products/new/NewProductPage.cjs.js +1 -1
- package/lib/pages/cms/products/new/NewProductPage.d.ts +1 -1
- package/lib/pages/cms/products/new/NewProductPage.es.js +58 -74
- package/lib/pages/cms/products/product-price-sync.cjs.js +1 -1
- package/lib/pages/cms/products/product-price-sync.es.js +74 -89
- package/lib/pages/cms/products/server-actions.cjs.js +1 -1
- package/lib/pages/cms/products/server-actions.es.js +250 -233
- package/lib/pages/cms/shipping/ShippingPage.cjs.js +2 -2
- package/lib/pages/cms/shipping/ShippingPage.es.js +287 -209
- package/lib/pages/cms/shipping/components/RateForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/RateForm.d.ts +1 -1
- package/lib/pages/cms/shipping/components/RateForm.es.js +439 -436
- package/lib/pages/cms/shipping/components/ZoneForm.cjs.js +1 -1
- package/lib/pages/cms/shipping/components/ZoneForm.es.js +245 -224
- package/lib/pages/cms/shipping/index.cjs.js +1 -0
- package/lib/pages/cms/shipping/index.es.js +3 -0
- package/lib/pages/cms/shipping/server-actions.cjs.js +1 -1
- package/lib/pages/cms/shipping/server-actions.es.js +131 -149
- package/lib/pages/cms/taxes/TaxesPage.cjs.js +1 -1
- package/lib/pages/cms/taxes/TaxesPage.d.ts +1 -1
- package/lib/pages/cms/taxes/TaxesPage.es.js +211 -169
- package/lib/pages/cms/taxes/actions.cjs.js +1 -1
- package/lib/pages/cms/taxes/actions.es.js +41 -53
- package/lib/pages/cms/taxes/components/TaxRateForm.cjs.js +1 -1
- package/lib/pages/cms/taxes/components/TaxRateForm.d.ts +1 -1
- package/lib/pages/cms/taxes/components/TaxRateForm.es.js +112 -99
- package/lib/pages/cms/taxes/index.cjs.js +1 -0
- package/lib/pages/cms/taxes/index.es.js +3 -0
- package/lib/payment-config.cjs.js +1 -1
- package/lib/payment-config.es.js +110 -126
- package/lib/product-actions.cjs.js +4 -4
- package/lib/product-actions.es.js +289 -544
- package/lib/product-context.cjs.js +1 -1
- package/lib/product-context.es.js +13 -15
- package/lib/product-schema.cjs.js +1 -1
- package/lib/product-schema.es.js +99 -134
- package/lib/providers/freemius.cjs.js +1 -5
- package/lib/providers/freemius.es.js +446 -530
- package/lib/providers/stripe.cjs.js +1 -1
- package/lib/providers/stripe.es.js +417 -477
- package/lib/server-actions/coupon-actions.cjs.js +1 -1
- package/lib/server-actions/coupon-actions.es.js +22 -22
- package/lib/server-actions/customer-actions.cjs.js +1 -1
- package/lib/server-actions/customer-actions.es.js +26 -28
- package/lib/server-actions/product-actions.cjs.js +1 -1
- package/lib/server-actions/product-actions.es.js +9 -15
- package/lib/server-actions/shipping-actions.cjs.js +1 -1
- package/lib/server-actions/shipping-actions.es.js +27 -24
- package/lib/server-actions/tax-actions.cjs.js +1 -1
- package/lib/server-actions/tax-actions.es.js +33 -39
- package/lib/shared-inventory.cjs.js +2 -2
- package/lib/shared-inventory.es.js +111 -160
- package/lib/shipping/resolver.cjs.js +2 -2
- package/lib/shipping/resolver.es.js +44 -61
- package/lib/shipping-rate-currency.cjs.js +1 -1
- package/lib/shipping-rate-currency.es.js +52 -67
- package/lib/states.cjs.js +1 -1
- package/lib/states.es.js +333 -154
- package/lib/stripe/checkout.cjs.js +1 -1
- package/lib/stripe/checkout.es.js +125 -181
- package/lib/stripe/client.cjs.js +1 -1
- package/lib/stripe/client.es.js +14 -19
- package/lib/stripe/order-sync.cjs.js +1 -1
- package/lib/stripe/order-sync.es.js +106 -126
- package/lib/stripe/webhooks.cjs.js +1 -1
- package/lib/stripe/webhooks.es.js +37 -31
- package/lib/tax-calculation.cjs.js +1 -1
- package/lib/tax-calculation.es.js +84 -98
- package/lib/trials.cjs.js +1 -1
- package/lib/trials.es.js +24 -30
- package/lib/types.cjs.js +1 -1
- package/lib/types.es.js +21 -27
- package/lib/use-cart.cjs.js +1 -1
- package/lib/use-cart.es.js +38 -40
- package/lib/use-price-formatter.cjs.js +1 -1
- package/lib/use-price-formatter.es.js +10 -11
- package/lib/variation-utils.cjs.js +1 -1
- package/lib/variation-utils.es.js +199 -261
- package/lib/zod-config.cjs.js +1 -1
- package/lib/zod-config.es.js +5 -6
- package/package.json +16 -16
- package/server.cjs.js +1 -1
- package/server.es.js +56 -211
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
const e=require("./shared-inventory.cjs.js");let t=require("@nextblock-cms/utils"),n=require("@nextblock-cms/utils/server"),r=require("@nextblock-cms/utils/utils");var i=e=>Math.round(e*100);function a(e){return Object.entries(e||{}).reduce((e,[t,n])=>(typeof n==`number`&&Number.isFinite(n)&&n>=0&&(e[(0,r.normalizeCurrencyCode)(t)]=i(n)),e),{})}function o(e){return(e||[]).map(e=>({id:e.id,sku:e.sku,upc:e.upc??null,price:i(e.price),sale_price:typeof e.sale_price==`number`&&!isNaN(e.sale_price)?i(e.sale_price):null,prices:a(e.prices),sale_prices:a(e.sale_prices),sale_start_at:e.sale_start_at??null,sale_end_at:e.sale_end_at??null,stock_quantity:e.stock_quantity,main_media_id:e.main_media_id??null,attribute_term_ids:e.attribute_term_ids}))}function s(e,t){let n=e.product_type===`digital`&&e.payment_provider===`freemius`?Math.max(0,Number(e.trial_period_days??0)):0;return{id:t,product_type:e.product_type,payment_provider:e.payment_provider,title:e.title,slug:e.slug,sku:e.sku,upc:e.upc??null,stock:e.stock,status:e.status,short_description:e.short_description??null,description_json:e.description_json??null,metadata:{},price:i(e.price),sale_price:typeof e.sale_price==`number`&&!isNaN(e.sale_price)?i(e.sale_price):null,prices:a(e.prices),sale_prices:a(e.sale_prices),sale_start_at:e.sale_start_at??null,sale_end_at:e.sale_end_at??null,freemius_plan_id:e.freemius_plan_id??null,freemius_product_id:e.freemius_product_id??null,trial_period_days:n,trial_requires_payment_method:n>0?e.trial_requires_payment_method??!1:!1,is_taxable:e.is_taxable,language_id:e.language_id,translation_group_id:e.translation_group_id||void 0,variants:o(e.variants)}}async function c(e,t,n){let r=e=>(typeof e==`string`?e.trim():``)||null,{error:i}=await e.from(`products`).update({meta_title:r(n.meta_title),meta_description:r(n.meta_description),custom_canonical:r(n.custom_canonical),updated_at:new Date().toISOString()}).eq(`id`,t);if(i)throw i}async function l(e,t,n){let{error:r}=await e.from(`products`).update({is_taxable:n,updated_at:new Date().toISOString()}).eq(`id`,t);if(r)throw r}async function u(e,t,n){let r=new Date().toISOString(),{data:i}=await e.from(`products`).select(`sku, sale_price, sale_prices`).eq(`id`,t).maybeSingle(),a=i?.sku??n.sku,{data:o}=await e.from(`products`).select(`id`).eq(`sku`,a),s=(o??[]).map(e=>e.id);s.length===0&&s.push(t);let{error:c}=await e.from(`products`).update({sale_price:i?.sale_price??null,sale_prices:i?.sale_prices??null,sale_start_at:n.sale_start_at??null,sale_end_at:n.sale_end_at??null,updated_at:r}).in(`id`,s);if(c)throw c;let l=n.variants??[];if(l.length===0)return;let{data:u}=await e.from(`product_variants`).select(`sku, sale_price, sale_prices`).eq(`product_id`,t),d=new Map((u??[]).map(e=>[e.sku,e]));for(let t of l){let n=d.get(t.sku);if(!n)continue;let{error:i}=await e.from(`product_variants`).update({sale_price:n.sale_price??null,sale_prices:n.sale_prices??null,sale_start_at:t.sale_start_at??null,sale_end_at:t.sale_end_at??null,updated_at:r}).eq(`sku`,t.sku).in(`product_id`,s);if(i)throw i}}async function d(e,{page:t=1,limit:n=10,offset:r,search:i=``,languageId:a,categoryId:o,categoryIds:s,productIds:c,translationGroupIds:l,status:u=`active`}={}){let d=n>0,f=typeof r==`number`?Math.max(0,r):(t-1)*n,p=f+n-1,m=e.from(`products`).select(`id, title, meta_title, meta_description, average_rating, total_reviews, sku, upc, price, prices, sale_price, sale_prices, sale_start_at, sale_end_at, scheduled_price, scheduled_prices, scheduled_price_at, is_taxable, product_type, payment_provider, short_description, stock, status, slug, language_id, translation_group_id, freemius_product_id, freemius_plan_id, trial_period_days, trial_requires_payment_method, product_media(media(file_path, object_key)), product_variants(id, price, prices, sale_price, sale_prices, sale_start_at, sale_end_at, scheduled_price, scheduled_prices, scheduled_price_at), freemius_plans(id, name, title, freemius_pricing(id, license_quota, api_monthly_price, api_annual_price, api_lifetime_price, override_monthly_price, override_annual_price, override_lifetime_price, is_active)), product_categories(category:categories(id, name, slug, description, name_translations, description_translations))`,{count:`exact`}).order(`created_at`,{ascending:!1});if(d&&(m=m.range(f,p)),u!==`all`&&(m=m.eq(`status`,u)),a&&(m=m.eq(`language_id`,a)),c){if(c.length===0)return{data:[],error:null,count:0};m=m.in(`id`,c)}if(l){if(l.length===0)return{data:[],error:null,count:0};m=m.in(`translation_group_id`,l)}let h=s?.length?s:o?[o]:[];if(h.length>0){let{data:t,error:n}=await e.from(`product_categories`).select(`product_id`).in(`category_id`,h);if(n)return{data:[],error:n,count:0};let r=Array.from(new Set((t||[]).map(e=>e.product_id).filter(Boolean)));if(r.length===0)return{data:[],error:null,count:0};m=m.in(`id`,r)}return i&&(m=m.or(`title.ilike.%${i}%,sku.ilike.%${i}%`)),m}async function f(e,t){return e.from(`products`).select(`
|
|
2
2
|
*,
|
|
3
3
|
languages (
|
|
4
4
|
code
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
description_translations
|
|
82
82
|
)
|
|
83
83
|
)
|
|
84
|
-
`).eq(
|
|
84
|
+
`).eq(`id`,t).single()}async function p(e,t,n){let{data:r,error:i}=await e.from(`products`).select(`
|
|
85
85
|
*,
|
|
86
86
|
languages (
|
|
87
87
|
id,
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
description_translations
|
|
168
168
|
)
|
|
169
169
|
)
|
|
170
|
-
`).eq(
|
|
170
|
+
`).eq(`slug`,t);if(i)return{data:null,error:i};if(!r||r.length===0)return{data:null,error:{message:`Product not found`,code:`PGRST116`}};let a=null;return n&&(a=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.code===n)),a||=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.is_default),a||=r.find(e=>(Array.isArray(e.languages)?e.languages[0]:e.languages)?.code===`en`),a||=r[0],{data:a,error:null}}async function m(t,n){let{data:r,error:i}=await t.rpc(`upsert_product_with_variants`,{product_payload:s(n)});if(i||!r)throw i||Error(`Failed to create product`);if(n.product_media&&n.product_media.length>0){let e=n.product_media.map((e,t)=>({product_id:r,media_id:e.media_id,sort_order:t}));await t.from(`product_media`).insert(e)}else n.media_id&&await t.from(`product_media`).insert({product_id:r,media_id:n.media_id,sort_order:0});await l(t,r,n.is_taxable),await c(t,r,n),await u(t,r,n),await e.syncSharedInventoryForSavedProduct(r,n),n.category_ids!==void 0&&await y(t,r,n.category_ids);let{data:a}=await t.from(`products`).select(`*`).eq(`id`,r).single();return a}async function h(t,r,i){let{data:a}=await t.from(`product_media`).select(`media_id`).eq(`product_id`,r),o=a?.map(e=>e.media_id)||[],{data:d,error:f}=await t.rpc(`upsert_product_with_variants`,{product_payload:s(i,r)});if(f||!d)throw f||Error(`Failed to update product`);if(i.product_media){if(await t.from(`product_media`).delete().eq(`product_id`,r),i.product_media.length>0){let e=i.product_media.map((e,t)=>({product_id:r,media_id:e.media_id,sort_order:t}));await t.from(`product_media`).insert(e)}}else i.media_id&&(await t.from(`product_media`).delete().eq(`product_id`,r),await t.from(`product_media`).insert({product_id:r,media_id:i.media_id,sort_order:0}));await l(t,d,i.is_taxable),await c(t,d,i),await u(t,d,i);let p=i.product_media?i.product_media.map(e=>e.media_id):i.media_id?[i.media_id]:[],m=i.explicitly_removed_media_ids||[],h=o.filter(e=>!p.includes(e)),g=Array.from(new Set([...h,...m]));if(g.length>0)for(let e of g){let{count:r}=await t.from(`product_media`).select(`*`,{count:`exact`,head:!0}).eq(`media_id`,e);if(r&&r>0)continue;let{count:i}=await t.from(`posts`).select(`*`,{count:`exact`,head:!0}).eq(`feature_image_id`,e);if(i&&i>0)continue;let{count:a}=await t.from(`logos`).select(`*`,{count:`exact`,head:!0}).eq(`media_id`,e);if(a&&a>0)continue;let{count:o}=await t.from(`product_variants`).select(`*`,{count:`exact`,head:!0}).eq(`main_media_id`,e);if(o&&o>0)continue;let{data:s}=await t.from(`media`).select(`object_key, variants`).eq(`id`,e).single();if(s){let r=[s.object_key];s.variants&&Array.isArray(s.variants)&&s.variants.forEach(e=>{e.objectKey&&r.push(e.objectKey)}),await(0,n.deleteMediaFiles)(r),await t.from(`media`).delete().eq(`id`,e)}}await e.syncSharedInventoryForSavedProduct(d,i),i.category_ids!==void 0&&await y(t,r,i.category_ids);let{data:_}=await t.from(`products`).select(`*`).eq(`id`,d).single();return _}async function g(e,t){let{error:n}=await e.from(`products`).delete().eq(`id`,t);if(n)throw n;return!0}async function _(e,t,n){let{data:r,error:i}=await e.from(`products`).select(`*`).eq(`id`,n).single();if(i||!r)throw Error(i?.message||`Source product not found`);let{data:a,error:o}=await e.from(`products`).select(`language_id`).eq(`id`,t).single();if(o||!a)throw Error(o?.message||`Target product not found`);let{error:s}=await e.from(`products`).update({title:r.title,short_description:r.short_description,description_json:r.description_json}).eq(`id`,t);if(s)throw s;let{data:c,error:l}=await e.from(`blocks`).select(`*`).eq(`product_id`,n).order(`order`,{ascending:!0});if(l)throw l;if(await e.from(`blocks`).delete().eq(`product_id`,t),c&&c.length>0){let n=c.map(e=>{let{id:n,created_at:r,updated_at:i,...o}=e;return{...o,product_id:t,language_id:a.language_id}}),{error:r}=await e.from(`blocks`).insert(n);if(r)throw r}await e.from(`product_drafts`).delete().eq(`product_id`,t),await e.from(`product_media`).delete().eq(`product_id`,t);let{data:u}=await e.from(`product_media`).select(`media_id, sort_order`).eq(`product_id`,n);if(u&&u.length>0){let n=u.map(e=>({product_id:t,media_id:e.media_id,sort_order:e.sort_order}));await e.from(`product_media`).insert(n)}return{success:!0}}async function v(e,n,r,i=[],a=[]){let{data:o}=await e.from(`languages`).select(`id`).eq(`code`,r).single();if(!o)return{data:[],error:`Language not found`};let s=[];n.length>0&&s.push(`translation_group_id.in.(${n.join(`,`)})`),i.length>0&&s.push(`sku.in.(${i.map(e=>`"${e}"`).join(`,`)})`),a.length>0&&s.push(`id.in.(${a.join(`,`)})`);let c=e.from(`products`).select(`
|
|
171
171
|
id,
|
|
172
172
|
title,
|
|
173
173
|
sku,
|
|
@@ -235,4 +235,4 @@
|
|
|
235
235
|
)
|
|
236
236
|
),
|
|
237
237
|
translation_group_id
|
|
238
|
-
`).eq(
|
|
238
|
+
`).eq(`language_id`,o.id).eq(`status`,`active`).or((0,t.buildPublishedAtOrFilter)());return s.length>0&&(c=c.or(s.join(`,`))),await c.order(`id`)}async function y(e,t,n){let{data:r}=await e.from(`products`).select(`translation_group_id`).eq(`id`,t).single();if(!r||!r.translation_group_id){if(await e.from(`product_categories`).delete().eq(`product_id`,t),n.length>0){let r=n.map(e=>({product_id:t,category_id:e}));await e.from(`product_categories`).insert(r)}return}let{data:i}=await e.from(`products`).select(`id`).eq(`translation_group_id`,r.translation_group_id),a=i&&i.length>0?i.map(e=>e.id):[t];if(await e.from(`product_categories`).delete().in(`product_id`,a),n.length>0){let t=[];for(let e of a)for(let r of n)t.push({product_id:e,category_id:r});await e.from(`product_categories`).insert(t)}}exports.copyProductFromLanguage=_,exports.createProduct=m,exports.deleteProduct=g,exports.fetchTranslatedProductsForCartInternal=v,exports.getProduct=f,exports.getProductBySlug=p,exports.getProducts=d,exports.syncCategoriesForTranslationGroup=y,exports.updateProduct=h;
|