create get-product operation

This commit is contained in:
DuvCharles 2022-11-15 17:43:13 +01:00
parent 5e9300af5f
commit ad12c23ab2

View File

@ -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<T extends GetProductOperation>({
query = '',
variables,
config,
config: cfg,
}: {
query?: string
variables?: T['variables']
config?: Partial<SyliusConfig>
preview?: boolean
} = {}): Promise<Product | {} | any> {
const config = commerce.getConfig(cfg)
const syliusProduct = await config.fetch(
'GET',
`/products-by-slug/${variables!.slug}`
)
const product = normalizeProduct(syliusProduct)
return {
product: {},
product,
}
}