From d09aff1745a96338dfeb33068213782d96adc50b Mon Sep 17 00:00:00 2001 From: Lorenzo Stramaccia Date: Mon, 28 Nov 2022 07:15:22 +0100 Subject: [PATCH] Fix 500 when a product is not found (#880) --- packages/commerce/src/api/utils/with-operation-callback.ts | 2 +- site/pages/product/[slug].tsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/commerce/src/api/utils/with-operation-callback.ts b/packages/commerce/src/api/utils/with-operation-callback.ts index b4f5a88ee..1167cd5c2 100644 --- a/packages/commerce/src/api/utils/with-operation-callback.ts +++ b/packages/commerce/src/api/utils/with-operation-callback.ts @@ -21,7 +21,7 @@ export const withOperationCallback = const parse = ({ name, data }: Operation) => { switch (name) { case 'getProduct': - productSchema.nullable().parse(data.product) + productSchema.optional().parse(data.product) break case 'getAllProducts': z.array(productSchema).parse(data.products) diff --git a/site/pages/product/[slug].tsx b/site/pages/product/[slug].tsx index 9d8d153e4..b49aa6398 100644 --- a/site/pages/product/[slug].tsx +++ b/site/pages/product/[slug].tsx @@ -34,7 +34,9 @@ export async function getStaticProps({ const { products: relatedProducts } = await allProductsPromise if (!product) { - throw new Error(`Product with slug '${params!.slug}' not found`) + return { + notFound: true, + } } return {