UNPKG

@coursebuilder/commerce-next

Version:

Commerce Functionality for Course Builder with Next.js

25 lines (24 loc) 922 B
'use client'; import { redeemFullPriceCoupon } from './redeem-full-price-coupon'; /** * handle self redeeming of a seat in bulk purchase * @param {string} email current user's email from session * @param {string} bulkCouponId current user's bulk coupon id from purchase * @param {(params) => void} callback function to be called after attempting coupon redemption */ export async function handleSelfRedeem(email, bulkCouponId, productId, callback) { const productIds = productId ? [productId] : []; const { purchase: redeemedPurchase, error } = await redeemFullPriceCoupon({ email, couponId: bulkCouponId, productIds, sendEmail: false, }); if (redeemedPurchase && !error) { await fetch('/api/auth/session?update'); callback({ status: 'success', redeemedPurchase }); } else { callback({ status: 'failed', error: error.message }); } }