@takentrade/takentrade-libs
Version:
TakeNTrade shared libraries
52 lines (51 loc) • 3.64 kB
TypeScript
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>;
}