mirror of
https://github.com/vercel/commerce.git
synced 2025-03-15 06:52:32 +00:00
40 lines
982 B
TypeScript
40 lines
982 B
TypeScript
import getCustomerId from '../../operations/get-customer-id'
|
|
import getCustomerWishlist, {
|
|
Wishlist,
|
|
} from '../../operations/get-customer-wishlist'
|
|
import type { WishlistHandlers } from '..'
|
|
|
|
// Return current wishlist info
|
|
const removeItem: WishlistHandlers['removeItem'] = async ({
|
|
res,
|
|
body: { customerToken, itemId },
|
|
config,
|
|
}) => {
|
|
const customerId =
|
|
customerToken && (await getCustomerId({ customerToken, config }))
|
|
const { wishlist } =
|
|
(customerId &&
|
|
(await getCustomerWishlist({
|
|
variables: { customerId },
|
|
config,
|
|
}))) ||
|
|
{}
|
|
|
|
if (!wishlist || !itemId) {
|
|
return res.status(400).json({
|
|
data: null,
|
|
errors: [{ message: 'Invalid request' }],
|
|
})
|
|
}
|
|
|
|
const result = await config.storeApiFetch<{ data: Wishlist } | null>(
|
|
`/v3/wishlists/${wishlist.id}/items/${itemId}`,
|
|
{ method: 'DELETE' }
|
|
)
|
|
const data = result?.data ?? null
|
|
|
|
res.status(200).json({ data })
|
|
}
|
|
|
|
export default removeItem
|