Shopify Provider (#186)

* Start of Shopify provider

* add missing comment to documentation

* add missing env vars to documentation

* update reference to types file
This commit is contained in:
Peter Mekhaeil
2021-02-12 22:14:16 +08:00
committed by GitHub
parent 85f429c115
commit 300d04c1ac
39 changed files with 1245 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
import Client from 'shopify-buy'
import { ShopifyConfig } from '../api'
import { Product } from '../types'
import toCommerceProducts from '../utils/to-commerce-products'
export type ProductNode = Product
type Variables = {
slug: string
}
type Options = {
variables: Variables
config: ShopifyConfig
preview?: boolean
}
type ReturnType = {
product: any
}
const getProduct = async (options: Options): Promise<ReturnType> => {
const { variables, config } = options
const client = Client.buildClient({
storefrontAccessToken: config.apiToken,
domain: config.commerceUrl,
})
const res = (await client.product.fetchByHandle(variables.slug)) as Product
return {
product: toCommerceProducts([res])[0],
}
}
export default getProduct