From 739e2730e6ae12a7da975f9c95d672dd6d324820 Mon Sep 17 00:00:00 2001 From: Kasper Date: Tue, 14 Sep 2021 18:55:07 +0200 Subject: [PATCH] changed list products so it does not rely on unreleased version of medusa-js --- .../api/operations/get-all-product-paths.ts | 4 +-- .../medusa/api/operations/get-all-products.ts | 4 +-- framework/medusa/product/use-search.tsx | 17 ++++++------ framework/medusa/utils/call-medusa.ts | 27 +++++++++++++++---- 4 files changed, 35 insertions(+), 17 deletions(-) diff --git a/framework/medusa/api/operations/get-all-product-paths.ts b/framework/medusa/api/operations/get-all-product-paths.ts index ccd415968..e2af0ddc1 100644 --- a/framework/medusa/api/operations/get-all-product-paths.ts +++ b/framework/medusa/api/operations/get-all-product-paths.ts @@ -20,8 +20,8 @@ export default function getAllProductPathsOperation({ const results = await config.fetch('products', 'list', {}) - const productHandles = results.data?.products - ? results.data.products.map(({ handle }: MedusaProduct) => ({ + const productHandles = results.products + ? results.products.map(({ handle }: MedusaProduct) => ({ path: `/${handle}`, })) : [] diff --git a/framework/medusa/api/operations/get-all-products.ts b/framework/medusa/api/operations/get-all-products.ts index cc93d3e3b..dd1daf8e1 100644 --- a/framework/medusa/api/operations/get-all-products.ts +++ b/framework/medusa/api/operations/get-all-products.ts @@ -27,8 +27,8 @@ export default function getAllProductsOperation({ query ? { query: query } : {} ) - const products: Product[] = results.data?.products - ? results.data.products.map((product: MedusaProduct) => + const products: Product[] = results.products + ? results.products.map((product: MedusaProduct) => normalizeProduct(product) ) : [] diff --git a/framework/medusa/product/use-search.tsx b/framework/medusa/product/use-search.tsx index 252b853c0..e66c90b9d 100644 --- a/framework/medusa/product/use-search.tsx +++ b/framework/medusa/product/use-search.tsx @@ -10,16 +10,17 @@ export const handler: SWRHook = { method: 'list', }, async fetcher({ input, options, fetch }) { - const { products } = await fetch({ - ...options, - variables: { query: null }, - }) + // NOOP + // const results = await fetch({ + // ...options, + // variables: { query: null }, + // }) + + // console.warn(results) return { - products: products - ? products.map((product: MedusaProduct) => normalizeProduct(product)) - : [], - found: products.length, + products: [], + found: 0, } }, useHook: diff --git a/framework/medusa/utils/call-medusa.ts b/framework/medusa/utils/call-medusa.ts index 5b82abbf4..a8d319834 100644 --- a/framework/medusa/utils/call-medusa.ts +++ b/framework/medusa/utils/call-medusa.ts @@ -1,6 +1,8 @@ import { CommerceError } from '@commerce/utils/errors' import { MEDUSA_PUBLIC_STORE_URL } from '@framework/const' import medusa from '../medusa' +import fetch from 'node-fetch' +import axios from 'axios' export const callMedusa = async ( method: string, @@ -313,13 +315,28 @@ export const callMedusa = async ( return await medusa.products.variants.retrieve(variant_id) } else if (method === 'list') { const { query } = variables + let path = '/store/products' - return await medusa.products.list( - query && { - limit: query.limit || null, - offset: query.offset || null, + if (query) { + const formattedQuery = { + offset: query.offset || 0, + limit: query.limit || 100, } - ) + + const queryString = Object.entries(formattedQuery).map( + ([key, value]) => { + return `${key}=${value}` + } + ) + + path = `/store/products?${queryString.join('&')}` + } + + const res = await fetch(`${MEDUSA_PUBLIC_STORE_URL}${path}`, { + method: 'GET', + }) + + return await res.json() } else if (method === 'retrieve') { const { product_id } = variables