@coursebuilder/core
Version:
Core package for Course Builder
115 lines (112 loc) • 3.97 kB
TypeScript
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 };