@takentrade/takentrade-libs 4.1.20 → 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.
@@ -42,5 +42,6 @@ export declare enum NatsSubjects {
42
42
  SAVINGS_PLAN_CREATED = "savings.plan.created",
43
43
  ADMIN_GET_TERMII_BALANCE = "admin.termii.balance.get",
44
44
  ADMIN_GET_KUDISMS_BALANCE = "admin.kudisms.balance.get",
45
+ GIFTCARD_SALE_CREATED = "giftcard.sale.created",
45
46
  AUDIT_LOG_CREATED = "audit.log.created"
46
47
  }
@@ -57,6 +57,8 @@ var NatsSubjects;
57
57
  // Other Admin operations
58
58
  NatsSubjects["ADMIN_GET_TERMII_BALANCE"] = "admin.termii.balance.get";
59
59
  NatsSubjects["ADMIN_GET_KUDISMS_BALANCE"] = "admin.kudisms.balance.get";
60
+ // Giftcard operations
61
+ NatsSubjects["GIFTCARD_SALE_CREATED"] = "giftcard.sale.created";
60
62
  // Audit operations
61
63
  NatsSubjects["AUDIT_LOG_CREATED"] = "audit.log.created";
62
64
  })(NatsSubjects || (exports.NatsSubjects = NatsSubjects = {}));
@@ -0,0 +1,16 @@
1
+ export interface GiftCardSaleCreatedEvent {
2
+ saleId: string;
3
+ userId: string;
4
+ userEmail: string;
5
+ userPhone: string;
6
+ userFirstName: string;
7
+ productName: string;
8
+ categoryName: string;
9
+ cardAmount: number;
10
+ currency: string;
11
+ cashValue: number;
12
+ submissionType: 'E_CODE' | 'IMAGE' | 'ANY';
13
+ status: string;
14
+ reference: string;
15
+ createdAt: string;
16
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -8,3 +8,4 @@ export * from './ajo.events';
8
8
  export * from './referral.events';
9
9
  export * from './withdrawal.events';
10
10
  export * from './providus.events';
11
+ export * from './giftcard.events';
@@ -24,3 +24,4 @@ __exportStar(require("./ajo.events"), exports);
24
24
  __exportStar(require("./referral.events"), exports);
25
25
  __exportStar(require("./withdrawal.events"), exports);
26
26
  __exportStar(require("./providus.events"), exports);
27
+ __exportStar(require("./giftcard.events"), exports);
@@ -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');
@@ -44,6 +44,7 @@ export declare enum NotificationSubcribedNATSSubject {
44
44
  NOTIFICATION_TEXT_PREFERENCE = "notification.text.preference",
45
45
  NOTIFICATION_OTP_VOICE = "notification.voice.otp",
46
46
  NOTIFICATION_OTP_WHATSAPP = "notification.whatsapp.otp",
47
+ GIFTCARD_SALE_MAIL = "notification.mail.giftcard.sale",
47
48
  NOTIFICATION_PUSH = "notification.push",
48
49
  NOTIFICATION_PUSH_ALL = "notification.push.all"
49
50
  }
@@ -54,6 +54,8 @@ var NotificationSubcribedNATSSubject;
54
54
  NotificationSubcribedNATSSubject["NOTIFICATION_OTP_VOICE"] = "notification.voice.otp";
55
55
  // WHATSAPP
56
56
  NotificationSubcribedNATSSubject["NOTIFICATION_OTP_WHATSAPP"] = "notification.whatsapp.otp";
57
+ // GIFTCARD
58
+ NotificationSubcribedNATSSubject["GIFTCARD_SALE_MAIL"] = "notification.mail.giftcard.sale";
57
59
  // PUSH
58
60
  NotificationSubcribedNATSSubject["NOTIFICATION_PUSH"] = "notification.push";
59
61
  NotificationSubcribedNATSSubject["NOTIFICATION_PUSH_ALL"] = "notification.push.all";
@@ -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;