@takentrade/takentrade-libs 4.2.0 → 4.2.1

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, ElectricityEmailData, InvestmentCancellationEmailData, LoanApprovedEmailData, LoanRepaymentConfirmationEmailData, LoanRepaymentFailedEmailData, NewLoanApplicationEmailData, OTPMailData, PasswordResetMailData, ResetTransactionPinEmailData, AjoContributionConfirmationEmailData, InvestmentConfirmationEmailData, SendPushNotificationInput, BaseEmailData, EducationEmailData, EmailVerificationMailData, DeviceVerificationMailData, NewDeviceNotificationData, SubAccountReportEmailData, BulkEmailData } 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, DeviceVerificationMailData, NewDeviceNotificationData, SubAccountReportEmailData, BulkEmailData, GiftCardSaleEmailData } from './notification.interface';
4
4
  export declare class NotificationClient {
5
5
  private readonly natsClient;
6
6
  constructor(natsClient: ClientProxy);
@@ -73,5 +73,6 @@ export declare class NotificationClient {
73
73
  /**
74
74
  * Sends push notification
75
75
  */
76
+ sendGiftcardSaleMail(to: string | string[], data: GiftCardSaleEmailData, user_id?: string, bypassPreferenceCheck?: boolean): Promise<void>;
76
77
  sendPush(input: SendPushNotificationInput): Promise<void>;
77
78
  }
@@ -343,6 +343,16 @@ let NotificationClient = class NotificationClient {
343
343
  /**
344
344
  * Sends push notification
345
345
  */
346
+ async sendGiftcardSaleMail(to, data, user_id, bypassPreferenceCheck) {
347
+ const recipients = Array.isArray(to) ? to : [to];
348
+ recipients.forEach((r) => this.validateEmailAddress(r));
349
+ this.natsClient.emit(notification_enum_1.NotificationSubcribedNATSSubject.GIFTCARD_SALE_MAIL, {
350
+ to: recipients,
351
+ data,
352
+ user_id,
353
+ bypassPreferenceCheck,
354
+ });
355
+ }
346
356
  async sendPush(input) {
347
357
  if (!input.tokens?.length && !input.user_id) {
348
358
  throw new common_1.BadRequestException('You must provide a device tokens array or a user_id');
@@ -171,6 +171,17 @@ export interface NewDeviceNotificationData extends BaseEmailData {
171
171
  deviceInfo?: string;
172
172
  location?: string;
173
173
  }
174
+ export interface GiftCardSaleEmailData extends BaseEmailData {
175
+ productName: string;
176
+ categoryName: string;
177
+ cardAmount: number;
178
+ currency: string;
179
+ cashValue: number;
180
+ submissionType: string;
181
+ reference: string;
182
+ userEmail: string;
183
+ userPhone: string;
184
+ }
174
185
  export interface SubAccountReportEmailData {
175
186
  subAccounts: Array<{
176
187
  name: string;