Uptate customer fetch types

This commit is contained in:
cond0r 2021-04-29 21:58:46 +03:00
parent cdf8005c21
commit 1fac8e187d
3 changed files with 22 additions and 13 deletions

View File

@ -1,6 +1,7 @@
import { getConfig, ShopifyConfig } from '../api'
import getCustomerIdQuery from '../utils/queries/get-customer-id-query'
import Cookies from 'js-cookie'
import { GetCustomerIdQuery } from '../schema'
async function getCustomerId({
customerToken: customerAccesToken,
@ -8,17 +9,19 @@ async function getCustomerId({
}: {
customerToken: string
config?: ShopifyConfig
}): Promise<number | undefined> {
}): Promise<string | undefined> {
config = getConfig(config)
const { data } = await config.fetch(getCustomerIdQuery, {
const {
data: { customer },
} = await config.fetch<GetCustomerIdQuery>(getCustomerIdQuery, {
variables: {
customerAccesToken:
customerAccesToken || Cookies.get(config.customerCookie),
},
})
return data.customer?.id
return customer?.id
}
export default getCustomerId

View File

@ -10,11 +10,15 @@ export const handler: SWRHook<Customer | null> = {
query: getCustomerQuery,
},
async fetcher({ options, fetch }) {
const data = await fetch<any | null>({
const customerAccessToken = getCustomerToken()
if (customerAccessToken) {
const data = await fetch({
...options,
variables: { customerAccessToken: getCustomerToken() },
})
return data.customer ?? null
return data.customer
}
return null
},
useHook: ({ useData }) => (input) => {
return useData({

View File

@ -1,4 +1,4 @@
import { CollectionEdge } from '../schema'
import { GetSiteCollectionsQuery } from '../schema'
import { getConfig, ShopifyConfig } from '../api'
import getAllCollectionsQuery from '../utils/queries/get-all-collections-query'
@ -10,11 +10,13 @@ const getAllCollections = async (options?: {
let { config, variables = { first: 250 } } = options ?? {}
config = getConfig(config)
const { data } = await config.fetch(getAllCollectionsQuery, { variables })
const edges = data.collections?.edges ?? []
const { data } = await config.fetch<GetSiteCollectionsQuery>(
getAllCollectionsQuery,
{ variables }
)
const categories = edges.map(
({ node: { id: entityId, title: name, handle } }: CollectionEdge) => ({
const categories = data.collections.edges.map(
({ node: { id: entityId, title: name, handle } }) => ({
entityId,
name,
path: `/${handle}`,