Updates & fixes

This commit is contained in:
Catalin Pinte
2022-11-28 12:09:01 +02:00
parent 6699f2fed4
commit 36e68b461f
9 changed files with 1740 additions and 1551 deletions

View File

@@ -1,30 +1,24 @@
import type { OperationContext } from '@vercel/commerce/api/operations'
import { normalizeProduct } from '../../utils'
import type { GetProductOperation } from '@vercel/commerce/types/product'
import type { Provider, SaleorConfig } from '..'
import { normalizeProduct } from '../../utils'
import * as Query from '../../utils/queries'
type Variables = {
slug: string
}
type ReturnType = {
product: any
}
export default function getProductOperation({
commerce,
}: OperationContext<Provider>) {
async function getProduct({
async function getProduct<T extends GetProductOperation>({
query = Query.ProductOneBySlug,
variables,
config: cfg,
}: {
query?: string
variables: Variables
variables: T['variables']
config?: Partial<SaleorConfig>
preview?: boolean
}): Promise<ReturnType> {
}): Promise<T['data']> {
const { fetch, locale } = commerce.getConfig(cfg)
const { data } = await fetch(
@@ -37,9 +31,9 @@ export default function getProductOperation({
}
)
return {
product: data && data.product ? normalizeProduct(data.product) : null,
}
return data && data.product
? { product: normalizeProduct(data.product) }
: {}
}
return getProduct