UNPKG

@takentrade/takentrade-libs

Version:
52 lines (51 loc) 3.64 kB
import { ClientProxy } from '@nestjs/microservices'; import { OTPNotificationChannel } from './notification.enum'; import { AccountFreezeEmailData, AccountStatementEmailData, AccountUnfreezeEmailData, AjoCancellationEmailData, AjoContributionEmailData, AjoInviteEmailData, AjoMembershipUpdateEmailData, ContactMessageEmailData, CreditTransactionMailData, CustomMailSendOptions, DebitTransactionMailData, InvestmentCancellationEmailData, LoanApprovedEmailData, LoanRepaymentConfirmationEmailData, LoanRepaymentFailedEmailData, NewLoanApplicationEmailData, OTPMailData, PasswordResetMailData, ResetTransactionPinEmailData, AjoContributionConfirmationEmailData, InvestmentConfirmationEmailData, SendPushNotificationInput, BaseEmailData, EmailVerificationMailData } from './notification.interface'; export declare class NotificationClient { private readonly natsClient; constructor(natsClient: ClientProxy); private validatePhoneNumber; private validateEmailAddress; sendSms(to: string, message: 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): Promise<void>; sendCustomMail(to: string, options: CustomMailSendOptions): Promise<void>; sendEmailVerificationMail(to: string, data: EmailVerificationMailData): Promise<void>; sendPasswordResetMail(to: string, data: PasswordResetMailData): Promise<void>; sendCreditTransactionMail(to: string, data: CreditTransactionMailData): Promise<void>; sendDebitTransactionMail(to: string, data: DebitTransactionMailData): Promise<void>; sendAccountFreezeMail(to: string, data: AccountFreezeEmailData): Promise<void>; sendAccountStatementMail(to: string, data: AccountStatementEmailData): Promise<void>; sendAccountUnfreezeMail(to: string, data: AccountUnfreezeEmailData): Promise<void>; sendAdminNewLoanMail(to: string, data: NewLoanApplicationEmailData): Promise<void>; sendAjoCancellationMail(to: string, data: AjoCancellationEmailData): Promise<void>; sendAjoContributionMail(to: string, data: AjoContributionEmailData): Promise<void>; sendAjoInvitationMail(to: string, data: AjoInviteEmailData): Promise<void>; sendAjoMembershipMail(to: string, data: AjoMembershipUpdateEmailData): Promise<void>; sendContactMail(to: string, data: ContactMessageEmailData): Promise<void>; sendForgetPinOTPMail(to: string, data: ResetTransactionPinEmailData): Promise<void>; sendInvestmentCancellationMail(to: string, data: InvestmentCancellationEmailData): Promise<void>; sendLoanApprovedMail(to: string, data: LoanApprovedEmailData): Promise<void>; sendLoanRepaymentFailedMail(to: string, data: LoanRepaymentFailedEmailData): Promise<void>; sendLoanRepaymentSuccessMail(to: string, data: LoanRepaymentConfirmationEmailData): Promise<void>; sendNewAjoMail(to: string, data: AjoContributionConfirmationEmailData): Promise<void>; sendNewInvestmentMail(to: string, data: InvestmentConfirmationEmailData): Promise<void>; sendWelcomeMail(to: string, data: BaseEmailData): 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, data: OTPMailData, channel?: OTPNotificationChannel): Promise<void>; /** * Sends push notification */ sendPush(input: SendPushNotificationInput): Promise<void>; }