mirror of
https://github.com/vercel/commerce.git
synced 2025-03-27 15:55:54 +00:00
* fix update cart item * update types * update checkout * update get-page, cleanup types * revert change to incorrect file * cleanup Co-authored-by: Greg Hoskin <greghoskin@Gregs-MacBook-Pro.local>
31 lines
848 B
TypeScript
31 lines
848 B
TypeScript
import { CommerceAPI, createEndpoint, GetAPISchema } from '@commerce/api'
|
|
import { CheckoutSchema } from '@commerce/types/checkout'
|
|
import { SWELL_CHECKOUT_URL_COOKIE } from '../../../const'
|
|
import checkoutEndpoint from '@commerce/api/endpoints/checkout'
|
|
|
|
const checkout: CheckoutEndpoint['handlers']['checkout'] = async ({
|
|
req,
|
|
res,
|
|
config,
|
|
}) => {
|
|
const { cookies } = req
|
|
const checkoutUrl = cookies[SWELL_CHECKOUT_URL_COOKIE]
|
|
|
|
if (checkoutUrl) {
|
|
res.redirect(checkoutUrl)
|
|
} else {
|
|
res.redirect('/cart')
|
|
}
|
|
}
|
|
export const handlers: CheckoutEndpoint['handlers'] = { checkout }
|
|
|
|
export type CheckoutAPI = GetAPISchema<CommerceAPI, CheckoutSchema>
|
|
export type CheckoutEndpoint = CheckoutAPI['endpoint']
|
|
|
|
const checkoutApi = createEndpoint<CheckoutAPI>({
|
|
handler: checkoutEndpoint,
|
|
handlers,
|
|
})
|
|
|
|
export default checkoutApi
|