diff --git a/packages/sylius/src/api/operations/get-product.ts b/packages/sylius/src/api/operations/get-product.ts index b1253d410..86f99122b 100644 --- a/packages/sylius/src/api/operations/get-product.ts +++ b/packages/sylius/src/api/operations/get-product.ts @@ -2,6 +2,7 @@ import type { SyliusConfig } from '../index' import { Product } from '@vercel/commerce/types/product' import { GetProductOperation } from '@vercel/commerce/types/product' import type { OperationContext } from '@vercel/commerce/api/operations' +import { normalizeProduct } from '../../utils/normalize' export default function getProductOperation({ commerce, @@ -9,15 +10,22 @@ export default function getProductOperation({ async function getProduct({ query = '', variables, - config, + config: cfg, }: { query?: string variables?: T['variables'] config?: Partial preview?: boolean } = {}): Promise { + const config = commerce.getConfig(cfg) + const syliusProduct = await config.fetch( + 'GET', + `/products-by-slug/${variables!.slug}` + ) + const product = normalizeProduct(syliusProduct) + return { - product: {}, + product, } }