UNPKG

@takentrade/takentrade-libs

Version:
78 lines (77 loc) 6.95 kB
import { ClientProxy } from '@nestjs/microservices'; import { OTPNotificationChannel } from './notification.enum'; import { AccountFreezeEmailData, AccountStatementEmailData, AccountUnfreezeEmailData, AjoCancellationEmailData, AjoContributionEmailData, AjoInviteEmailData, AjoMembershipUpdateEmailData, ContactMessageEmailData, CreditTransactionMailData, CustomMailSendOptions, DebitTransactionMailData, ElectricityEmailData, InvestmentCancellationEmailData, LoanApprovedEmailData, LoanRepaymentConfirmationEmailData, LoanRepaymentFailedEmailData, NewLoanApplicationEmailData, OTPMailData, PasswordResetMailData, ResetTransactionPinEmailData, AjoContributionConfirmationEmailData, InvestmentConfirmationEmailData, SendPushNotificationInput, BaseEmailData, EducationEmailData, EmailVerificationMailData, DeviceVerificationMailData, NewDeviceNotificationData, SubAccountReportEmailData, BulkEmailData } from './notification.interface'; export declare class NotificationClient { private readonly natsClient; constructor(natsClient: ClientProxy); private validatePhoneNumber; private validateEmailAddress; sendSms(to: string, message: string, user_id?: string): Promise<void>; sendSmsPreference(to: string, message: string, user_id?: string): Promise<void>; /** * This utility method sends an OTP message via the SMS channel. * * @param to - The recipient phone number * @param message - The OTP message * @deprecated */ sendSmsOTP(to: string, message: string, user_id?: string): Promise<void>; sendCustomMail(to: string | string[], options: CustomMailSendOptions & { user_id?: string; bypassPreferenceCheck?: boolean; }): Promise<void>; sendBulkEmail(data: BulkEmailData): Promise<void>; sendEmailVerificationMail(to: string | string[], data: EmailVerificationMailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendPasswordResetMail(to: string | string[], data: PasswordResetMailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendCreditTransactionMail(to: string | string[], data: CreditTransactionMailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendDebitTransactionMail(to: string | string[], data: DebitTransactionMailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAccountFreezeMail(to: string | string[], data: AccountFreezeEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAccountStatementMail(to: string | string[], data: AccountStatementEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAccountUnfreezeMail(to: string | string[], data: AccountUnfreezeEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAdminNewLoanMail(to: string | string[], data: NewLoanApplicationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAjoCancellationMail(to: string | string[], data: AjoCancellationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAjoContributionMail(to: string | string[], data: AjoContributionEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAjoInvitationMail(to: string | string[], data: AjoInviteEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendAjoMembershipMail(to: string | string[], data: AjoMembershipUpdateEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendContactMail(to: string | string[], data: ContactMessageEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendForgetPinOTPMail(to: string | string[], data: ResetTransactionPinEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendInvestmentCancellationMail(to: string | string[], data: InvestmentCancellationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendLoanApprovedMail(to: string | string[], data: LoanApprovedEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendLoanRepaymentFailedMail(to: string | string[], data: LoanRepaymentFailedEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendLoanRepaymentSuccessMail(to: string | string[], data: LoanRepaymentConfirmationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendNewAjoMail(to: string | string[], data: AjoContributionConfirmationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendNewInvestmentMail(to: string | string[], data: InvestmentConfirmationEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; /** * Sends an email notification for electricity purchase * @param to - Recipient's email address * @param data - Electricity purchase details */ sendElectricityPurchaseEmail(to: string | string[], data: Omit<ElectricityEmailData, keyof BaseEmailData>, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; /** * Sends an email notification for education service purchase * @param to - Recipient's email address * @param data - Education service purchase details */ sendEducationPurchaseEmail(to: string | string[], data: Omit<EducationEmailData, keyof BaseEmailData>, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendDeviceVerificationEmail(to: string | string[], data: Omit<DeviceVerificationMailData, keyof BaseEmailData>, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendNewDeviceNotificationEmail(to: string | string[], data: Omit<NewDeviceNotificationData, keyof BaseEmailData>, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendNewDeviceNotification(to: string | string[], data: NewDeviceNotificationData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; /** * Sends a sub-account report email with the provided data * @param to Recipient email address * @param data Sub-account report data */ sendSubAccountReportEmail(to: string | string[], data: SubAccountReportEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; sendWelcomeMail(to: string | string[], data: BaseEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; /** * Sends generated OTP to a recipient * @param to - recipient phone number or email * @param data - OTP data * @param channel - OTP notification channel. Defaults to sms. */ sendOTP(to: string | string[], data: OTPMailData, channel?: OTPNotificationChannel, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>; /** * Sends push notification */ sendPush(input: SendPushNotificationInput): Promise<void>; }