implement account-tied carts and cart reconciliation

Signed-off-by: Loan Laux <loan@outgrow.io>
This commit is contained in:
Loan Laux
2021-04-27 16:28:16 +04:00
parent 946545b091
commit 25ba1f1bae
14 changed files with 142 additions and 59 deletions

View File

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

View File

@@ -0,0 +1,26 @@
import { getConfig, ReactionCommerceConfig } from '../api'
import getViewerIdQuery from '../utils/queries/get-customer-id-query'
async function getViewerId({
customerToken: customerAccessToken,
config,
}: {
customerToken: string
config?: ReactionCommerceConfig
}): Promise<number | undefined> {
config = getConfig(config)
const { data } = await config.fetch(
getViewerIdQuery,
{},
{
headers: {
Authorization: `Bearer ${customerAccessToken}`,
},
}
)
return data.viewer?._id
}
export default getViewerId