Add catalogItems API method

Signed-off-by: Loan Laux <loan@outgrow.io>
This commit is contained in:
Loan Laux
2021-07-06 16:47:29 +03:00
parent ad1547a586
commit 3001611057
7 changed files with 77 additions and 67 deletions

View File

@@ -1 +0,0 @@
export default function noopApi(...args: any[]): void {}

View File

@@ -1 +0,0 @@
export default function noopApi(...args: any[]): void {}

View File

@@ -0,0 +1,23 @@
import catalogItemsQuery from '@framework/utils/queries/catalog-items-query'
import { normalizeProduct } from '@framework/utils'
import type { ProductsEndpoint } from '.'
const getCart: ProductsEndpoint['handlers']['getProducts'] = async ({
req,
res,
config,
}) => {
const {
data: { catalogItems },
} = await config.fetch(catalogItemsQuery, {
variables: {
shopIds: [config.shopId],
},
})
const products = catalogItems.map((item) => normalizeProduct(item))
res.status(200).json({ data: products ?? null })
}
export default getCart

View File

@@ -0,0 +1,19 @@
import { CommerceAPI, createEndpoint, GetAPISchema } from '@commerce/api'
import productsEndpoint from '@commerce/api/endpoints/catalog/products'
import type { ProductsSchema } from '@commerce/types/product'
import getProducts from './get-products'
export type ProductsAPI = GetAPISchema<CommerceAPI, ProductsSchema>
export type ProductsEndpoint = ProductsAPI['endpoint']
export const handlers: ProductsEndpoint['handlers'] = {
getProducts,
}
const productsApi = createEndpoint<ProductsAPI>({
handler: productsEndpoint,
handlers,
})
export default productsApi