@coursebuilder/core
Version:
Core package for Course Builder
35 lines (34 loc) • 999 B
JavaScript
import {
__name
} from "../../chunk-VLQXSCFN.js";
// src/lib/utils/validate-coupon.ts
import { isBefore } from "date-fns";
var validateCoupon = /* @__PURE__ */ __name((coupon, productIds = []) => {
if (!coupon) {
return {
isValid: false,
isRedeemable: false,
error: "coupon-not-found"
};
}
const isUsedUp = coupon.maxUses > 0 ? coupon.usedCount >= coupon.maxUses : false;
const isExpired = coupon.expires ? isBefore(new Date(coupon.expires), /* @__PURE__ */ new Date()) : false;
if (coupon.restrictedToProductId && !productIds.includes(coupon.restrictedToProductId)) {
return {
isValid: false,
isRedeemable: false,
error: "coupon-not-valid-for-product"
};
}
const isValid = !isUsedUp && !isExpired;
return {
isExpired,
isUsedUp,
isRedeemable: isValid && coupon.percentageDiscount >= 1 && !coupon.default,
isValid
};
}, "validateCoupon");
export {
validateCoupon
};
//# sourceMappingURL=validate-coupon.js.map