@takentrade/takentrade-libs 1.2.53 → 1.2.55

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 +1,2 @@
1
1
  export * from './bullmq.module';
2
+ export * from './bullmq.service';
@@ -15,3 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./bullmq.module"), exports);
18
+ __exportStar(require("./bullmq.service"), exports);
@@ -1,9 +1,17 @@
1
- export declare const PAYMENT_QUEUE = "payment_queue";
2
- export declare const TRANSACTION_QUEUE = "transaction_queue";
1
+ export declare const AJO_QUEUE = "ajos_queue";
2
+ export declare const BATCH_TRANSACTION_QUEUE = "batch_transaction_queue";
3
+ export declare const BULK_EMAIL_QUEUE = "bulk_email_queue";
3
4
  export declare const CARD_QUEUE = "card_queue";
5
+ export declare const CONTRIBUTION_QUEUE = "contribution_queue";
6
+ export declare const INVESTMENT_INTEREST_QUEUE = "investments_interest_queue";
7
+ export declare const INVESTMENT_QUEUE = "investment_queue";
8
+ export declare const LOAN_INTEREST_QUEUE = "loans_interest_queue";
9
+ export declare const LOAN_QUEUE = "loan_queue";
10
+ export declare const LOAN_REPAYMENT_QUEUE = "loans_repayment_queue";
4
11
  export declare const NOTIFICATION_QUEUE = "notification_queue";
12
+ export declare const PAYMENT_QUEUE = "payment_queue";
13
+ export declare const SUBACCOUNT_QUEUE = "subaccounts_queue";
14
+ export declare const TRANSACTION_QUEUE = "transaction_queue";
5
15
  export declare const USER_QUEUE = "user_queue";
6
16
  export declare const VAS_QUEUE = "vas_queue";
7
- export declare const LOAN_QUEUE = "loan_queue";
8
- export declare const INVESTMENT_QUEUE = "investment_queue";
9
- export declare const CONTRIBUTION_QUEUE = "contribution_queue";
17
+ export declare const WALLET_QUEUE = "wallet_queue";
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CONTRIBUTION_QUEUE = exports.INVESTMENT_QUEUE = exports.LOAN_QUEUE = exports.VAS_QUEUE = exports.USER_QUEUE = exports.NOTIFICATION_QUEUE = exports.CARD_QUEUE = exports.TRANSACTION_QUEUE = exports.PAYMENT_QUEUE = void 0;
4
- exports.PAYMENT_QUEUE = 'payment_queue';
5
- exports.TRANSACTION_QUEUE = 'transaction_queue';
3
+ exports.WALLET_QUEUE = exports.VAS_QUEUE = exports.USER_QUEUE = exports.TRANSACTION_QUEUE = exports.SUBACCOUNT_QUEUE = exports.PAYMENT_QUEUE = exports.NOTIFICATION_QUEUE = exports.LOAN_REPAYMENT_QUEUE = exports.LOAN_QUEUE = exports.LOAN_INTEREST_QUEUE = exports.INVESTMENT_QUEUE = exports.INVESTMENT_INTEREST_QUEUE = exports.CONTRIBUTION_QUEUE = exports.CARD_QUEUE = exports.BULK_EMAIL_QUEUE = exports.BATCH_TRANSACTION_QUEUE = exports.AJO_QUEUE = void 0;
4
+ exports.AJO_QUEUE = 'ajos_queue';
5
+ exports.BATCH_TRANSACTION_QUEUE = 'batch_transaction_queue';
6
+ exports.BULK_EMAIL_QUEUE = 'bulk_email_queue';
6
7
  exports.CARD_QUEUE = 'card_queue';
8
+ exports.CONTRIBUTION_QUEUE = 'contribution_queue';
9
+ exports.INVESTMENT_INTEREST_QUEUE = 'investments_interest_queue';
10
+ exports.INVESTMENT_QUEUE = 'investment_queue';
11
+ exports.LOAN_INTEREST_QUEUE = 'loans_interest_queue';
12
+ exports.LOAN_QUEUE = 'loan_queue';
13
+ exports.LOAN_REPAYMENT_QUEUE = 'loans_repayment_queue';
7
14
  exports.NOTIFICATION_QUEUE = 'notification_queue';
15
+ exports.PAYMENT_QUEUE = 'payment_queue';
16
+ exports.SUBACCOUNT_QUEUE = 'subaccounts_queue';
17
+ exports.TRANSACTION_QUEUE = 'transaction_queue';
8
18
  exports.USER_QUEUE = 'user_queue';
9
19
  exports.VAS_QUEUE = 'vas_queue';
10
- exports.LOAN_QUEUE = 'loan_queue';
11
- exports.INVESTMENT_QUEUE = 'investment_queue';
12
- exports.CONTRIBUTION_QUEUE = 'contribution_queue';
20
+ exports.WALLET_QUEUE = 'wallet_queue';
@@ -7,3 +7,25 @@ export declare const DEFAULT_NATS_CONFIG: {
7
7
  reconnectTimeWait: number;
8
8
  maxReconnectAttempts: number;
9
9
  };
10
+ export declare enum NatsSubjects {
11
+ SUBACCOUNT_UPDATE_AMOUNT = "subaccount.amount.update",
12
+ SUBACCOUNT_GET_BY_ID = "subaccount.get.by.id",
13
+ SUBACCOUNT_GET_ALL = "subaccount.get.all",
14
+ TRANSACTION_DEBIT = "account.transaction.debit",
15
+ TRANSACTION_CREDIT = "account.transaction.credit",
16
+ TRANSACTION_REVERSAL = "account.transaction.reversal",
17
+ USER_CHECK = "user.check",
18
+ USER_CREATED = "user.created",
19
+ GET_USER_FCM_TOKEN = "user.get.fcm_token",
20
+ GET_USER_BY_ID = "user.get.by_id",
21
+ CONTRIBUTION_CREATED = "contribution.created",
22
+ CONTRIBUTION_COMPLETED = "contribution.completed",
23
+ CONTRIBUTION_CANCELLED = "contribution.cancelled",
24
+ AJO_CREATED = "contribution.ajo.created",
25
+ AJO_UPDATED = "contribution.ajo.updated",
26
+ AJO_CANCELLED = "contribution.ajo.cancelled",
27
+ AJO_MEMBER_JOINED = "contribution.ajo.member.joined",
28
+ AJO_CONTRIBUTION_RECEIVED = "contribution.ajo.contribution.received",
29
+ AJO_ROUND_COMPLETED = "contribution.ajo.round.completed",
30
+ AJO_DISBURSEMENT_COMPLETED = "contribution.ajo.disbursement.completed"
31
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_NATS_CONFIG = exports.NATS_CLIENT = exports.NATS_OPTIONS = void 0;
3
+ exports.NatsSubjects = exports.DEFAULT_NATS_CONFIG = exports.NATS_CLIENT = exports.NATS_OPTIONS = void 0;
4
4
  exports.NATS_OPTIONS = 'NATS_OPTIONS';
5
5
  exports.NATS_CLIENT = 'NATS_CLIENT';
6
6
  exports.DEFAULT_NATS_CONFIG = {
@@ -10,3 +10,31 @@ exports.DEFAULT_NATS_CONFIG = {
10
10
  reconnectTimeWait: 2000,
11
11
  maxReconnectAttempts: 10,
12
12
  };
13
+ var NatsSubjects;
14
+ (function (NatsSubjects) {
15
+ // Subaccount operations
16
+ NatsSubjects["SUBACCOUNT_UPDATE_AMOUNT"] = "subaccount.amount.update";
17
+ NatsSubjects["SUBACCOUNT_GET_BY_ID"] = "subaccount.get.by.id";
18
+ NatsSubjects["SUBACCOUNT_GET_ALL"] = "subaccount.get.all";
19
+ // Transaction
20
+ NatsSubjects["TRANSACTION_DEBIT"] = "account.transaction.debit";
21
+ NatsSubjects["TRANSACTION_CREDIT"] = "account.transaction.credit";
22
+ NatsSubjects["TRANSACTION_REVERSAL"] = "account.transaction.reversal";
23
+ // User operations
24
+ NatsSubjects["USER_CHECK"] = "user.check";
25
+ NatsSubjects["USER_CREATED"] = "user.created";
26
+ // RPC Subjects (Request-Response)
27
+ NatsSubjects["GET_USER_FCM_TOKEN"] = "user.get.fcm_token";
28
+ NatsSubjects["GET_USER_BY_ID"] = "user.get.by_id";
29
+ // Event Subjects (Fire and Forget)
30
+ NatsSubjects["CONTRIBUTION_CREATED"] = "contribution.created";
31
+ NatsSubjects["CONTRIBUTION_COMPLETED"] = "contribution.completed";
32
+ NatsSubjects["CONTRIBUTION_CANCELLED"] = "contribution.cancelled";
33
+ NatsSubjects["AJO_CREATED"] = "contribution.ajo.created";
34
+ NatsSubjects["AJO_UPDATED"] = "contribution.ajo.updated";
35
+ NatsSubjects["AJO_CANCELLED"] = "contribution.ajo.cancelled";
36
+ NatsSubjects["AJO_MEMBER_JOINED"] = "contribution.ajo.member.joined";
37
+ NatsSubjects["AJO_CONTRIBUTION_RECEIVED"] = "contribution.ajo.contribution.received";
38
+ NatsSubjects["AJO_ROUND_COMPLETED"] = "contribution.ajo.round.completed";
39
+ NatsSubjects["AJO_DISBURSEMENT_COMPLETED"] = "contribution.ajo.disbursement.completed";
40
+ })(NatsSubjects || (exports.NatsSubjects = NatsSubjects = {}));
@@ -8,19 +8,20 @@ export interface TakeNTradeRPCError {
8
8
  errors: string[];
9
9
  timestamp: string;
10
10
  }
11
- export interface TakeNTradeRPCResponse<V> {
12
- status: 'success';
11
+ export interface TakeNTradeRPCSuccess<T> {
12
+ status: 'success' | 'error';
13
13
  message: string;
14
- data: V;
14
+ data?: T;
15
+ timestamp: string;
15
16
  }
16
17
  export declare class TakeNTradeRpc {
17
18
  /**
18
19
  * Wraps a promise returned by an RPC request handler.
19
20
  * @param promise - A Promise resolving to the response value.
20
21
  * @param ctx - Optional NatsContext object.
21
- * @param successMessage - Custom success message for the response.
22
+ * @param successMessage - Optional success message
22
23
  */
23
- static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext, successMessage?: string): Promise<TakeNTradeRPCResponse<V> | RpcException>;
24
+ static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext, successMessage?: string): Promise<TakeNTradeRPCSuccess<V> | RpcException>;
24
25
  /**
25
26
  * Handles errors from an RPC request handler and returns a TakeNTradeRPCError wrapped in RpcException.
26
27
  * @param err - Error to be handled.
@@ -31,19 +32,18 @@ export declare class TakeNTradeRpc {
31
32
  /**
32
33
  * Handles NATS request response.
33
34
  * @param obs - An instance of an Observable.
35
+ * @param successMessage - Optional success message
34
36
  */
35
- static withReply<V>(obs: Observable<TakeNTradeRPCResponse<V> | {
36
- error: TakeNTradeRPCError;
37
- }>): Promise<V>;
37
+ static withReply<V>(obs: Observable<V>, successMessage?: string): Promise<TakeNTradeRPCSuccess<V>>;
38
38
  }
39
39
  export declare class TakeNTradeRpcV2 {
40
40
  /**
41
41
  * Wraps a promise returned by an RPC request handler.
42
42
  * @param promise - A Promise resolving to the response value.
43
43
  * @param ctx - Optional NatsContext object.
44
- * @param successMessage - Custom success message for the response.
44
+ * @param successMessage - Optional success message
45
45
  */
46
- static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext, successMessage?: string): Promise<TakeNTradeRPCResponse<V> | TakeNTradeRPCError>;
46
+ static handleRequest<V>(promise: Promise<V>, ctx?: NatsContext, successMessage?: string): Promise<TakeNTradeRPCSuccess<V> | TakeNTradeRPCError>;
47
47
  /**
48
48
  * Handles errors from an RPC request handler and returns a TakeNTradeRPCError.
49
49
  * @param err - Error to be handled.
@@ -54,8 +54,7 @@ export declare class TakeNTradeRpcV2 {
54
54
  /**
55
55
  * Handles NATS request response.
56
56
  * @param obs - An instance of an Observable.
57
+ * @param successMessage - Optional success message
57
58
  */
58
- static withReply<V>(obs: Observable<TakeNTradeRPCResponse<V> | {
59
- error: TakeNTradeRPCError;
60
- }>): Promise<V>;
59
+ static withReply<V>(obs: Observable<V>, successMessage?: string): Promise<TakeNTradeRPCSuccess<V>>;
61
60
  }
package/dist/rpc/index.js CHANGED
@@ -21,21 +21,26 @@ class TakeNTradeRpcUtils {
21
21
  static isErrorResponse(result) {
22
22
  return typeof result === 'object' && result !== null && 'error' in result;
23
23
  }
24
+ // New method to format successful responses
25
+ static formatSuccessResponse(data, message = 'Operation successful') {
26
+ return {
27
+ status: 'success',
28
+ message,
29
+ data,
30
+ timestamp: new Date().toISOString(),
31
+ };
32
+ }
24
33
  }
25
34
  class TakeNTradeRpc {
26
35
  /**
27
36
  * Wraps a promise returned by an RPC request handler.
28
37
  * @param promise - A Promise resolving to the response value.
29
38
  * @param ctx - Optional NatsContext object.
30
- * @param successMessage - Custom success message for the response.
39
+ * @param successMessage - Optional success message
31
40
  */
32
41
  static async handleRequest(promise, ctx, successMessage = 'Operation successful') {
33
42
  return promise
34
- .then((value) => ({
35
- status: 'success',
36
- message: successMessage,
37
- data: value,
38
- }))
43
+ .then((value) => TakeNTradeRpcUtils.formatSuccessResponse(value, successMessage))
39
44
  .catch((err) => this.catch(err, ctx));
40
45
  }
41
46
  /**
@@ -63,8 +68,9 @@ class TakeNTradeRpc {
63
68
  /**
64
69
  * Handles NATS request response.
65
70
  * @param obs - An instance of an Observable.
71
+ * @param successMessage - Optional success message
66
72
  */
67
- static async withReply(obs) {
73
+ static async withReply(obs, successMessage = 'Operation successful') {
68
74
  const result = await new Promise((resolve, reject) => {
69
75
  obs.subscribe({
70
76
  next: (value) => resolve(value),
@@ -77,7 +83,7 @@ class TakeNTradeRpc {
77
83
  cause: result.error.errors,
78
84
  });
79
85
  }
80
- return result.data;
86
+ return TakeNTradeRpcUtils.formatSuccessResponse(result, successMessage);
81
87
  }
82
88
  }
83
89
  exports.TakeNTradeRpc = TakeNTradeRpc;
@@ -86,15 +92,11 @@ class TakeNTradeRpcV2 {
86
92
  * Wraps a promise returned by an RPC request handler.
87
93
  * @param promise - A Promise resolving to the response value.
88
94
  * @param ctx - Optional NatsContext object.
89
- * @param successMessage - Custom success message for the response.
95
+ * @param successMessage - Optional success message
90
96
  */
91
97
  static async handleRequest(promise, ctx, successMessage = 'Operation successful') {
92
98
  return promise
93
- .then((value) => ({
94
- status: 'success',
95
- message: successMessage,
96
- data: value,
97
- }))
99
+ .then((value) => TakeNTradeRpcUtils.formatSuccessResponse(value, successMessage))
98
100
  .catch((err) => this.catch(err, ctx));
99
101
  }
100
102
  /**
@@ -121,8 +123,9 @@ class TakeNTradeRpcV2 {
121
123
  /**
122
124
  * Handles NATS request response.
123
125
  * @param obs - An instance of an Observable.
126
+ * @param successMessage - Optional success message
124
127
  */
125
- static async withReply(obs) {
128
+ static async withReply(obs, successMessage = 'Operation successful') {
126
129
  const result = await new Promise((resolve, reject) => {
127
130
  obs.subscribe({
128
131
  next: (value) => resolve(value),
@@ -135,7 +138,7 @@ class TakeNTradeRpcV2 {
135
138
  cause: result.error.errors,
136
139
  });
137
140
  }
138
- return result.data;
141
+ return TakeNTradeRpcUtils.formatSuccessResponse(result, successMessage);
139
142
  }
140
143
  }
141
144
  exports.TakeNTradeRpcV2 = TakeNTradeRpcV2;