@takentrade/takentrade-libs 1.2.55 → 1.2.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { ClientProxy } from '@nestjs/microservices';
2
2
  import { OTPNotificationChannel } from './notification.enum';
3
- 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';
3
+ 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 } from './notification.interface';
4
4
  export declare class NotificationClient {
5
5
  private readonly natsClient;
6
6
  constructor(natsClient: ClientProxy);
@@ -36,6 +36,18 @@ export declare class NotificationClient {
36
36
  sendLoanRepaymentSuccessMail(to: string, data: LoanRepaymentConfirmationEmailData): Promise<void>;
37
37
  sendNewAjoMail(to: string, data: AjoContributionConfirmationEmailData): Promise<void>;
38
38
  sendNewInvestmentMail(to: string, data: InvestmentConfirmationEmailData): Promise<void>;
39
+ /**
40
+ * Sends an email notification for electricity purchase
41
+ * @param to - Recipient's email address
42
+ * @param data - Electricity purchase details
43
+ */
44
+ sendElectricityPurchaseEmail(to: string, data: Omit<ElectricityEmailData, keyof BaseEmailData>): Promise<void>;
45
+ /**
46
+ * Sends an email notification for education service purchase
47
+ * @param to - Recipient's email address
48
+ * @param data - Education service purchase details
49
+ */
50
+ sendEducationPurchaseEmail(to: string, data: Omit<EducationEmailData, keyof BaseEmailData>): Promise<void>;
39
51
  sendWelcomeMail(to: string, data: BaseEmailData): Promise<void>;
40
52
  /**
41
53
  * Sends generated OTP to a recipient
@@ -168,6 +168,30 @@ let NotificationClient = class NotificationClient {
168
168
  data,
169
169
  });
170
170
  }
171
+ /**
172
+ * Sends an email notification for electricity purchase
173
+ * @param to - Recipient's email address
174
+ * @param data - Electricity purchase details
175
+ */
176
+ async sendElectricityPurchaseEmail(to, data) {
177
+ this.validateEmailAddress(to);
178
+ this.natsClient.emit(notification_enum_1.NotificationSubcribedNATSSubject.ELECTRICITY_PURCHASE_MAIL, {
179
+ to,
180
+ data,
181
+ });
182
+ }
183
+ /**
184
+ * Sends an email notification for education service purchase
185
+ * @param to - Recipient's email address
186
+ * @param data - Education service purchase details
187
+ */
188
+ async sendEducationPurchaseEmail(to, data) {
189
+ this.validateEmailAddress(to);
190
+ this.natsClient.emit(notification_enum_1.NotificationSubcribedNATSSubject.EDUCATION_PURCHASE_MAIL, {
191
+ to,
192
+ data,
193
+ });
194
+ }
171
195
  async sendWelcomeMail(to, data) {
172
196
  this.validateEmailAddress(to);
173
197
  this.natsClient.emit(notification_enum_1.NotificationSubcribedNATSSubject.WELCOME_MAIL, {
@@ -30,6 +30,8 @@ export declare enum NotificationSubcribedNATSSubject {
30
30
  LOAN_REPAYMENT_SUCCESS_MAIL = "notification.mail.loan.repayment.success",
31
31
  NEW_AJO_MAIL = "notification.mail.ajo.new",
32
32
  NEW_INVESTMENT_MAIL = "notification.mail.investment.new",
33
+ ELECTRICITY_PURCHASE_MAIL = "notification.mail.electricity.purchase",
34
+ EDUCATION_PURCHASE_MAIL = "notification.mail.education.purchase",
33
35
  NOTIFICATION_TEXT = "notification.text",
34
36
  NOTIFICATION_OTP_TEXT = "notification.text.otp",
35
37
  NOTIFICATION_OTP_VOICE = "notification.voice.otp",
@@ -37,6 +37,8 @@ var NotificationSubcribedNATSSubject;
37
37
  NotificationSubcribedNATSSubject["LOAN_REPAYMENT_SUCCESS_MAIL"] = "notification.mail.loan.repayment.success";
38
38
  NotificationSubcribedNATSSubject["NEW_AJO_MAIL"] = "notification.mail.ajo.new";
39
39
  NotificationSubcribedNATSSubject["NEW_INVESTMENT_MAIL"] = "notification.mail.investment.new";
40
+ NotificationSubcribedNATSSubject["ELECTRICITY_PURCHASE_MAIL"] = "notification.mail.electricity.purchase";
41
+ NotificationSubcribedNATSSubject["EDUCATION_PURCHASE_MAIL"] = "notification.mail.education.purchase";
40
42
  // TEXT
41
43
  NotificationSubcribedNATSSubject["NOTIFICATION_TEXT"] = "notification.text";
42
44
  NotificationSubcribedNATSSubject["NOTIFICATION_OTP_TEXT"] = "notification.text.otp";
@@ -131,3 +131,13 @@ export interface SendPushNotificationInput {
131
131
  priority?: boolean;
132
132
  topic?: string;
133
133
  }
134
+ export interface ElectricityEmailData extends BaseEmailData {
135
+ amount: number;
136
+ units: number;
137
+ purchase_code: string;
138
+ }
139
+ export interface EducationEmailData extends BaseEmailData {
140
+ service: string;
141
+ amount: number;
142
+ purchase_code: string;
143
+ }