mirror of
https://github.com/vercel/commerce.git
synced 2025-05-17 15:06:59 +00:00
Call api route to get all products
This commit is contained in:
parent
8b2c415e1a
commit
1ad05673a2
@ -1,24 +1,36 @@
|
|||||||
import { Product } from '@vercel/commerce/types/product'
|
import { Product } from '@vercel/commerce/types/product'
|
||||||
import { GetAllProductsOperation } from '@vercel/commerce/types/product'
|
|
||||||
import type { OperationContext } from '@vercel/commerce/api/operations'
|
import type { OperationContext } from '@vercel/commerce/api/operations'
|
||||||
import type { LocalConfig, Provider } from '../index'
|
import type { Provider, SyliusConfig } from '../index'
|
||||||
|
import { SyliusProduct } from '../../types'
|
||||||
|
import { normalizeProduct } from '../../utils/normalize'
|
||||||
|
|
||||||
export default function getAllProductsOperation({
|
export default function getAllProductsOperation({
|
||||||
commerce,
|
commerce,
|
||||||
}: OperationContext<any>) {
|
}: OperationContext<Provider>) {
|
||||||
async function getAllProducts<T extends GetAllProductsOperation>({
|
async function getAllProducts(opts?: {
|
||||||
query = '',
|
variables?: any
|
||||||
variables,
|
config?: Partial<SyliusConfig>
|
||||||
config,
|
preview?: boolean
|
||||||
|
}): Promise<{ products: Product[] }>
|
||||||
|
|
||||||
|
async function getAllProducts({
|
||||||
|
config: cfg,
|
||||||
|
variables = { first: 250 },
|
||||||
}: {
|
}: {
|
||||||
query?: string
|
query?: string
|
||||||
variables?: T['variables']
|
variables?: any
|
||||||
config?: Partial<LocalConfig>
|
config?: Partial<SyliusConfig>
|
||||||
preview?: boolean
|
preview?: boolean
|
||||||
} = {}): Promise<{ products: Product[] | any[] }> {
|
} = {}): Promise<{ products: Product[] }> {
|
||||||
|
const config = commerce.getConfig(cfg)
|
||||||
|
const syliusProducts = await config.fetch('GET', '/products')
|
||||||
|
const products = syliusProducts.map((syliusProduct: SyliusProduct) =>
|
||||||
|
normalizeProduct(syliusProduct)
|
||||||
|
)
|
||||||
return {
|
return {
|
||||||
products: [],
|
products,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return getAllProducts
|
return getAllProducts
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user