From 0cf76d9a0ce256bc1122f3eb8c0d79380db53923 Mon Sep 17 00:00:00 2001 From: Zaiste Date: Sat, 5 Jun 2021 17:39:32 +0200 Subject: [PATCH] saleor: make the home page representable --- .../saleor/api/operations/get-all-products.ts | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/framework/saleor/api/operations/get-all-products.ts b/framework/saleor/api/operations/get-all-products.ts index 575581491..a1a7ce0c9 100644 --- a/framework/saleor/api/operations/get-all-products.ts +++ b/framework/saleor/api/operations/get-all-products.ts @@ -6,6 +6,7 @@ import type { Provider, SaleorConfig } from '..' import { normalizeProduct } from '../../utils' import * as Query from '../../utils/queries' +import { GraphQLFetcherResult } from '@commerce/api' type ReturnType = { products: Product[] @@ -18,6 +19,7 @@ export default function getAllProductsOperation({ query = Query.ProductMany, variables, config, + featured, }: { query?: string variables?: any @@ -27,7 +29,13 @@ export default function getAllProductsOperation({ } = {}): Promise { const { fetch, locale } = commerce.getConfig(config) - const { data } = await fetch( + if (featured) { + variables = { ...variables, categoryId: 'Q29sbGVjdGlvbjo0' }; + query = Query.CollectionOne + } + + + const { data }: GraphQLFetcherResult = await fetch( query, { variables }, { @@ -39,11 +47,20 @@ export default function getAllProductsOperation({ } ) - const products = data.products?.edges?.map(({ node: p }: ProductCountableEdge) => normalizeProduct(p)) ?? [] + if (featured) { + const products = data.collection.products?.edges?.map(({ node: p }: ProductCountableEdge) => normalizeProduct(p)) ?? [] - return { - products, + return { + products, + } + } else { + const products = data.products?.edges?.map(({ node: p }: ProductCountableEdge) => normalizeProduct(p)) ?? [] + + return { + products, + } } + } return getAllProducts