common-tg-service 1.0.38 → 1.0.40

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.
@@ -46,6 +46,7 @@ export declare class TransactionService {
46
46
  transactions: Transaction[];
47
47
  total: number;
48
48
  }>;
49
+ private sendNotification;
49
50
  update(id: string, updateTransactionDto: UpdateTransactionDto): Promise<Transaction>;
50
51
  delete(id: string): Promise<Transaction>;
51
52
  }
@@ -64,44 +64,92 @@ let TransactionService = TransactionService_1 = class TransactionService {
64
64
  async findAll(filters, limit = 10, offset = 0) {
65
65
  this.logger.debug(`Finding transactions with filters: ${JSON.stringify(filters)}`);
66
66
  try {
67
- const orConditions = [];
67
+ let query = {};
68
+ let transactions = [];
69
+ let total = 0;
68
70
  if (filters.transactionId) {
69
- orConditions.push({ transactionId: filters.transactionId.toLowerCase() });
70
- orConditions.push({ _id: filters.transactionId.toLowerCase() });
71
+ const transactionIdQuery = {
72
+ $or: [
73
+ { transactionId: filters.transactionId.toLowerCase() }
74
+ ]
75
+ };
76
+ if ((0, mongoose_2.isValidObjectId)(filters.transactionId)) {
77
+ transactionIdQuery.$or.push({ _id: filters.transactionId });
78
+ }
79
+ [transactions, total] = await Promise.all([
80
+ this.transactionModel
81
+ .find(transactionIdQuery)
82
+ .sort({ createdAt: -1 })
83
+ .skip(offset)
84
+ .limit(limit)
85
+ .exec(),
86
+ this.transactionModel.countDocuments(transactionIdQuery).exec(),
87
+ ]);
88
+ if (total > 0) {
89
+ this.logger.debug(`Found ${total} transactions matching transactionId: ${filters.transactionId}`);
90
+ await this.sendNotification(filters, total);
91
+ return { transactions, total };
92
+ }
71
93
  }
72
- if (filters.amount) {
73
- orConditions.push({ amount: filters.amount });
74
- }
75
- if (filters.issue) {
76
- orConditions.push({ issue: filters.issue });
77
- }
78
- if (filters.refundMethod) {
79
- orConditions.push({ refundMethod: filters.refundMethod });
80
- }
81
- if (filters.profile) {
82
- orConditions.push({ profile: filters.profile });
94
+ if (filters.ip) {
95
+ query = { ip: filters.ip };
96
+ [transactions, total] = await Promise.all([
97
+ this.transactionModel
98
+ .find(query)
99
+ .sort({ createdAt: -1 })
100
+ .skip(offset)
101
+ .limit(limit)
102
+ .exec(),
103
+ this.transactionModel.countDocuments(query).exec(),
104
+ ]);
105
+ if (total > 0) {
106
+ this.logger.debug(`Found ${total} transactions matching ip: ${filters.ip}`);
107
+ await this.sendNotification(filters, total);
108
+ return { transactions, total };
109
+ }
83
110
  }
84
111
  if (filters.chatId) {
85
- orConditions.push({ chatId: filters.chatId });
86
- }
87
- if (filters.status) {
88
- orConditions.push({ status: filters.status });
112
+ query = { chatId: filters.chatId };
113
+ [transactions, total] = await Promise.all([
114
+ this.transactionModel
115
+ .find(query)
116
+ .sort({ createdAt: -1 })
117
+ .skip(offset)
118
+ .limit(limit)
119
+ .exec(),
120
+ this.transactionModel.countDocuments(query).exec(),
121
+ ]);
122
+ if (total > 0) {
123
+ this.logger.debug(`Found ${total} transactions matching chatId: ${filters.chatId}`);
124
+ await this.sendNotification(filters, total);
125
+ return { transactions, total };
126
+ }
89
127
  }
90
- if (filters.ip) {
91
- orConditions.push({ ip: filters.ip });
128
+ const remainingFilters = {};
129
+ if (filters.profile)
130
+ remainingFilters['profile'] = filters.profile;
131
+ if (filters.amount)
132
+ remainingFilters['amount'] = filters.amount;
133
+ if (filters.issue)
134
+ remainingFilters['issue'] = filters.issue;
135
+ if (filters.refundMethod)
136
+ remainingFilters['refundMethod'] = filters.refundMethod;
137
+ if (filters.status)
138
+ remainingFilters['status'] = filters.status;
139
+ if (Object.keys(remainingFilters).length > 0) {
140
+ query = remainingFilters;
141
+ [transactions, total] = await Promise.all([
142
+ this.transactionModel
143
+ .find(query)
144
+ .sort({ createdAt: -1 })
145
+ .skip(offset)
146
+ .limit(limit)
147
+ .exec(),
148
+ this.transactionModel.countDocuments(query).exec(),
149
+ ]);
92
150
  }
93
- const query = orConditions.length > 0 ? { $or: orConditions } : {};
94
- const [transactions, total] = await Promise.all([
95
- this.transactionModel
96
- .find(query)
97
- .sort({ createdAt: -1 })
98
- .skip(offset)
99
- .limit(limit)
100
- .exec(),
101
- this.transactionModel.countDocuments(query).exec(),
102
- ]);
103
- this.logger.debug(`Found ${total} transactions matching filters`);
104
- await (0, fetchWithTimeout_1.fetchWithTimeout)(`${(0, logbots_1.notifbot)(process.env.accountsChannel)}&text=${encodeURIComponent(`Found ${total} transactions matching ip: ${filters.ip}\nchatId: ${filters.chatId}\ntransactionId: ${filters.transactionId}\nprofile: ${filters.profile}`)}`);
151
+ this.logger.debug(`Found ${total} transactions matching remaining filters`);
152
+ await this.sendNotification(filters, total);
105
153
  return { transactions, total };
106
154
  }
107
155
  catch (error) {
@@ -109,6 +157,14 @@ let TransactionService = TransactionService_1 = class TransactionService {
109
157
  throw new common_1.BadRequestException('Failed to fetch transactions');
110
158
  }
111
159
  }
160
+ async sendNotification(filters, total) {
161
+ try {
162
+ await (0, fetchWithTimeout_1.fetchWithTimeout)(`${(0, logbots_1.notifbot)(process.env.accountsChannel)}&text=${encodeURIComponent(`Found ${total} transactions matching ip: ${filters.ip || 'N/A'}\nchatId: ${filters.chatId || 'N/A'}\ntransactionId: ${filters.transactionId || 'N/A'}\nprofile: ${filters.profile || 'N/A'}`)}`);
163
+ }
164
+ catch (error) {
165
+ this.logger.error(`Failed to send notification: ${error.message}`);
166
+ }
167
+ }
112
168
  async update(id, updateTransactionDto) {
113
169
  this.logger.debug(`Updating transaction ${id} with data: ${JSON.stringify(updateTransactionDto)}`);
114
170
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/components/transactions/transaction.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.service.js","sourceRoot":"","sources":["../../../src/components/transactions/transaction.service.ts"],"names":[],"mappings":"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"}