@coursebuilder/core
Version:
Core package for Course Builder
42 lines (41 loc) • 1.37 kB
JavaScript
import {
z
} from "../../chunk-JLNB6NRA.js";
import {
__name
} from "../../chunk-VLQXSCFN.js";
// src/lib/pricing/build-stripe-checkout-path.ts
import { isNil, omitBy } from "@coursebuilder/nodash";
var ParamsSchema = z.object({
productId: z.string().optional(),
couponId: z.string().optional(),
bulk: z.boolean(),
quantity: z.number().default(1),
userId: z.string().optional(),
upgradeFromPurchaseId: z.string().optional(),
cancelUrl: z.string().optional(),
usedCouponId: z.string().optional(),
errorRedirectUrl: z.string().optional(),
organizationId: z.string().nullish()
}).transform((params) => {
return {
...params,
bulk: Boolean(params.bulk).toString(),
productId: params.productId || "",
quantity: String(params.quantity),
organizationId: params.organizationId || void 0
};
});
var buildStripeCheckoutPath = /* @__PURE__ */ __name((params) => {
const result = ParamsSchema.safeParse(params);
if (result.success) {
const queryParams = omitBy(result.data, isNil);
const queryParamString = new URLSearchParams(queryParams).toString();
return `/api/coursebuilder/checkout/stripe?${queryParamString}`;
}
return `/api/coursebuilder/checkout/stripe?productId=${params.productId}`;
}, "buildStripeCheckoutPath");
export {
buildStripeCheckoutPath
};
//# sourceMappingURL=build-stripe-checkout-path.js.map