UNPKG

@coursebuilder/core

Version:

Core package for Course Builder

115 lines (112 loc) 3.97 kB
import { ParsedUrlQuery } from 'querystring'; import { Product } from '../../schemas/product-schema.js'; import { Purchase } from '../../schemas/purchase-schema.js'; import { c as CourseBuilderAdapter } from '../../adapters-BjQ3VSch.js'; import { Coupon } from '../../schemas/coupon-schema.js'; import 'zod'; import '@auth/core/adapters'; import '../../schemas/merchant-coupon-schema.js'; import '../../schemas/merchant-customer-schema.js'; import '../../schemas/merchant-product-schema.js'; import '../../schemas/price-schema.js'; import '../../schemas/purchase-user-transfer-schema.js'; import '../../schemas/resource-progress-schema.js'; import '../../schemas/user-schema.js'; import '../../schemas/video-resource.js'; import '../../schemas/upgradable-product-schema.js'; import '../../schemas/merchant-charge-schema.js'; import '../../schemas/merchant-price-schema.js'; import '../../schemas/content-resource-schema.js'; import '../../schemas/merchant-account-schema.js'; import '../../schemas/merchant-session.js'; import '../../schemas/merchant-subscription.js'; import '../../schemas/organization-member.js'; import '../../schemas/organization-schema.js'; import '../../schemas/subscription.js'; import '@auth/core'; import '@auth/core/providers/nodemailer'; import 'ai'; import 'cookie'; import 'inngest'; import 'stripe'; import '../utils/logger.js'; import '@auth/core/providers'; import '../../schemas/subscriber-schema.js'; import '../../providers/partykit.js'; import '../../providers/slack.js'; import '../../schemas/purchase-info.js'; import '../../schemas/subscription-info.js'; declare const validateCoupon: (coupon: Coupon | null, productIds?: string[]) => Promise<{ isValid: boolean; isRedeemable: boolean; error: string; isExpired?: undefined; isUsedUp?: undefined; } | { isExpired: boolean; isUsedUp: boolean; isRedeemable: boolean; isValid: boolean; error?: undefined; }>; declare function getCouponForCode(code: string | null, productIds: string[] | undefined, adapter: CourseBuilderAdapter): Promise<{ isValid: boolean; isRedeemable: boolean; error: string; isExpired?: undefined; isUsedUp?: undefined; status: number; id: string; createdAt: Date | null; expires: Date | null; fields: Record<string, any>; maxUses: number; default: boolean; usedCount: number; percentageDiscount: number; bulkPurchases: any[]; redeemedBulkCouponPurchases: any[]; organizationId?: string | null | undefined; code?: string | null | undefined; merchantCouponId?: string | null | undefined; restrictedToProductId?: string | null | undefined; bulkPurchaseId?: string | null | undefined; } | { isExpired: boolean; isUsedUp: boolean; isRedeemable: boolean; isValid: boolean; error?: undefined; status: number; id: string; createdAt: Date | null; expires: Date | null; fields: Record<string, any>; maxUses: number; default: boolean; usedCount: number; percentageDiscount: number; bulkPurchases: any[]; redeemedBulkCouponPurchases: any[]; organizationId?: string | null | undefined; code?: string | null | undefined; merchantCouponId?: string | null | undefined; restrictedToProductId?: string | null | undefined; bulkPurchaseId?: string | null | undefined; } | undefined>; type PropsForCommerce = { products: Product[]; allowPurchase: boolean; purchases?: Purchase[] | undefined; couponIdFromCoupon?: string | undefined; couponFromCode?: any; userId?: string | undefined; country?: string; }; declare function propsForCommerce({ query, userId, products, countryCode, }: { query: ParsedUrlQuery; userId: string | null | undefined; products: Product[]; countryCode?: string; }, adapter: CourseBuilderAdapter): Promise<PropsForCommerce>; export { type PropsForCommerce, getCouponForCode, propsForCommerce, validateCoupon };