UNPKG

@vulog/aima-promocode

Version:

Promo codes and referral system — validate, submit, and query promo/referral codes.

55 lines (54 loc) 1.8 kB
import { Client } from "@vulog/aima-client"; //#region src/types.d.ts type ProductGroup = { id: string; name: string; status: 'ACTIVE' | 'INACTIVE'; }; type PromoCodeUsage = { id: number; walletUsage: 'TRIP' | 'PRODUCTS'; discountCategory: 'CREDITS'; percentage: number; amount: number; cappedPercentage: null; isOneTimeUsage: boolean; productGroup?: ProductGroup | null; }; type PromoCode = { reference: string; walletType: string; status: 'ACTIVE' | 'INACTIVE'; validityDuration: number; effectiveDate: string; expiryDate: string; validityEndDate: string; description?: string; id: number; fleetId: string; registration: boolean; maxUses: number; usages: PromoCodeUsage[]; [key: string]: any; }; type ReferralInfo = { referralUserId: string; referralCode: string; referralPromocodeId: number; refereePromocodeId: number; }; //#endregion //#region src/checkInvitationCode.d.ts declare const checkInvitationCode: (client: Client, referralCode: string) => Promise<ReferralInfo | undefined>; //#endregion //#region src/getPromoCode.d.ts declare const getPromoCodeByReference: (client: Client, reference: string) => Promise<PromoCode | undefined>; declare const getPromoCodeById: (client: Client, id: number) => Promise<PromoCode | undefined>; //#endregion //#region src/submitPromoCode.d.ts declare const submitPromoCode: (client: Client, userId: string, entityId: string, code: string) => Promise<string>; //#endregion //#region src/submitReferral.d.ts declare const submitReferral: (client: Client, userId: string, entityId: string, code: string) => Promise<void>; //#endregion export { ProductGroup, PromoCode, PromoCodeUsage, ReferralInfo, checkInvitationCode, getPromoCodeById, getPromoCodeByReference, submitPromoCode, submitReferral };