ensure products have at least one variant

This commit is contained in:
Greg Hoskin
2021-04-27 17:54:42 -05:00
parent a409c373c4
commit c6d06e60b6
6 changed files with 54 additions and 40 deletions

View File

@@ -110,6 +110,7 @@ const normalizeProductVariants = (
export function normalizeProduct(swellProduct: SwellProduct): Product {
const {
id,
name,
description,
images,
options,
@@ -118,6 +119,8 @@ export function normalizeProduct(swellProduct: SwellProduct): Product {
price: value,
currency: currencyCode,
} = swellProduct
// ProductView accesses variants for each product
const emptyVariants = [{ options: [], id, name }]
const productOptions = options
? options.map((o) => normalizeProductOption(o))
: []
@@ -133,7 +136,10 @@ export function normalizeProduct(swellProduct: SwellProduct): Product {
vendor: '',
path: `/${slug}`,
images: productImages,
variants: productVariants,
variants:
productVariants && productVariants.length
? productVariants
: emptyVariants,
options: productOptions,
price: {
value,