@duvdu-v1/duvdu 1.1.264 → 1.1.265

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.
Files changed (56) hide show
  1. package/build/index.d.ts +1 -0
  2. package/build/index.js +1 -0
  3. package/build/models/Bookmark-projects.model.d.ts +2 -2
  4. package/build/models/Bookmark.model.d.ts +1 -1
  5. package/build/models/Plan.model.d.ts +1 -1
  6. package/build/models/Review.model.d.ts +2 -2
  7. package/build/models/Role.model.d.ts +1 -1
  8. package/build/models/Term.model.d.ts +3 -3
  9. package/build/models/Ticket.model.d.ts +3 -3
  10. package/build/models/User.model.d.ts +1 -1
  11. package/build/models/all-contracts.model.d.ts +2 -2
  12. package/build/models/allProjects.model.d.ts +1 -1
  13. package/build/models/category.model.d.ts +3 -3
  14. package/build/models/contractCancel.model.d.ts +2 -2
  15. package/build/models/contractCancel.model.js +4 -4
  16. package/build/models/contracts.model.d.ts +2 -2
  17. package/build/models/copyright-contract.model.d.ts +2 -2
  18. package/build/models/copyrights-booking.model.d.ts +2 -2
  19. package/build/models/copyrights.model.d.ts +2 -2
  20. package/build/models/coupon.model.d.ts +2 -2
  21. package/build/models/favourites.model.d.ts +2 -2
  22. package/build/models/follow.model.d.ts +2 -2
  23. package/build/models/messages.model.d.ts +2 -2
  24. package/build/models/notification.model.d.ts +2 -2
  25. package/build/models/portfolio-post.model.d.ts +2 -2
  26. package/build/models/producer.model.d.ts +2 -2
  27. package/build/models/producerPlatform.model.d.ts +1 -1
  28. package/build/models/producer_contracts.model.d.ts +2 -2
  29. package/build/models/projectContract.model.d.ts +2 -2
  30. package/build/models/projectViews.model.d.ts +1 -1
  31. package/build/models/ranks.model.d.ts +1 -1
  32. package/build/models/rental-contracts.model.d.ts +2 -2
  33. package/build/models/rental.model.d.ts +2 -2
  34. package/build/models/report.model.d.ts +2 -2
  35. package/build/models/session.model.d.ts +2 -2
  36. package/build/models/settings.model.d.ts +1 -1
  37. package/build/models/studio-booking-book.model.d.ts +2 -2
  38. package/build/models/studio-booking.model.d.ts +3 -3
  39. package/build/models/teamProject.model.d.ts +3 -3
  40. package/build/models/transactions.model.d.ts +2 -2
  41. package/build/models/userSession.model.d.ts +2 -2
  42. package/build/models/withdrawMethods.model.d.ts +2 -2
  43. package/build/models/withdrawMethods.model.js +3 -3
  44. package/build/services/paymob.service.d.ts +202 -0
  45. package/build/services/paymob.service.js +374 -0
  46. package/build/services/rank.service.d.ts +2 -2
  47. package/build/types/Bookmarks.d.ts +1 -1
  48. package/build/types/Plan.d.ts +1 -1
  49. package/build/types/Projects.d.ts +1 -1
  50. package/build/types/Rate.d.ts +1 -1
  51. package/build/types/Ticket.d.ts +1 -1
  52. package/build/types/User.d.ts +1 -1
  53. package/build/types/copyrights-order.d.ts +2 -2
  54. package/build/types/portfolio-post-order.d.ts +2 -2
  55. package/build/utils/api-feature.d.ts +3 -3
  56. package/package.json +2 -1
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.PaymobService = void 0;
39
+ const crypto = __importStar(require("crypto"));
40
+ const axios_1 = __importDefault(require("axios"));
41
+ /**
42
+ * Paymob Service Configuration
43
+ *
44
+ * Required Keys:
45
+ * - apiKey: Your Paymob API Key (used for authentication)
46
+ * - integrationId: Your Paymob Integration ID (found in your Paymob dashboard)
47
+ * - iframeId: Your Paymob Iframe ID (found in your Paymob dashboard)
48
+ *
49
+ * Note:
50
+ * - Public Key: Used for client-side encryption (not needed for this service)
51
+ * - Secret Key: Used for webhook signature verification (handled internally)
52
+ */
53
+ class PaymobService {
54
+ constructor() {
55
+ this.apiKey = process.env.PAYMOB_API_KEY;
56
+ this.integrationId = parseInt(process.env.PAYMOB_INTEGRATION_ID);
57
+ this.iframeId = parseInt(process.env.PAYMOB_IFRAME_ID);
58
+ this.baseUrl = process.env.PAYMOB_BASE_URL;
59
+ this.hmacSecret = process.env.PAYMOB_HMAC_SECRET;
60
+ console.log('PayMob configuration:', {
61
+ integrationId: this.integrationId,
62
+ iframeId: this.iframeId,
63
+ baseUrl: this.baseUrl,
64
+ });
65
+ }
66
+ getAuthToken() {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ try {
69
+ const response = yield axios_1.default.post(`${this.baseUrl}/auth/tokens`, {
70
+ api_key: this.apiKey,
71
+ });
72
+ return response.data.token;
73
+ }
74
+ catch (error) {
75
+ const axiosError = error;
76
+ throw new Error(`Failed to get Paymob auth token: ${axiosError.message}`);
77
+ }
78
+ });
79
+ }
80
+ createOrder(amount, currency = 'EGP', items = [], merchant_order_id) {
81
+ var _a;
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ try {
84
+ const authToken = yield this.getAuthToken();
85
+ const orderData = {
86
+ auth_token: authToken,
87
+ delivery_needed: false,
88
+ amount_cents: amount * 100,
89
+ currency,
90
+ items,
91
+ };
92
+ if (merchant_order_id) {
93
+ orderData.merchant_order_id = merchant_order_id;
94
+ }
95
+ const response = yield axios_1.default.post(`${this.baseUrl}/ecommerce/orders`, orderData, {
96
+ headers: {
97
+ 'Content-Type': 'application/json',
98
+ },
99
+ });
100
+ return {
101
+ orderId: response.data.id,
102
+ token: authToken,
103
+ };
104
+ }
105
+ catch (error) {
106
+ const axiosError = error;
107
+ console.log('PayMob order error:', (_a = axiosError.response) === null || _a === void 0 ? void 0 : _a.data);
108
+ throw new Error(`Failed to create Paymob order: ${axiosError.message}`);
109
+ }
110
+ });
111
+ }
112
+ getPaymentKey(orderId, token, amount, billingData) {
113
+ return __awaiter(this, void 0, void 0, function* () {
114
+ try {
115
+ const paymentKeyRequest = {
116
+ auth_token: token,
117
+ amount_cents: amount * 100,
118
+ expiration: 3600,
119
+ order_id: orderId,
120
+ billing_data: billingData,
121
+ currency: 'EGP',
122
+ integration_id: this.integrationId,
123
+ };
124
+ const response = yield axios_1.default.post(`${this.baseUrl}/acceptance/payment_keys`, paymentKeyRequest, {
125
+ headers: {
126
+ 'Content-Type': 'application/json',
127
+ },
128
+ });
129
+ return response.data.token;
130
+ }
131
+ catch (error) {
132
+ const axiosError = error;
133
+ throw new Error(`Failed to get payment key: ${axiosError.message}`);
134
+ }
135
+ });
136
+ }
137
+ createPaymentUrl(paymentKey) {
138
+ return `https://accept.paymob.com/api/acceptance/iframes/${this.iframeId}?payment_token=${paymentKey}`;
139
+ }
140
+ /**
141
+ * Creates a payment URL with user data and custom metadata
142
+ * @param amount The payment amount
143
+ * @param userId The user ID
144
+ * @param contractId The contract ID
145
+ * @param userData The user data for billing
146
+ * @param serviceType The service type identifier
147
+ * @returns The payment URL and related data
148
+ */
149
+ createPaymentUrlWithUserData(amount, userId, contractId, userData, serviceType) {
150
+ return __awaiter(this, void 0, void 0, function* () {
151
+ const authToken = yield this.getAuthToken();
152
+ // Store custom data in merchant_order_id as JSON string
153
+ const customData = {
154
+ contractId,
155
+ userId,
156
+ service_type: serviceType,
157
+ booking_id: 'BOOK_' + Date.now(),
158
+ timestamp: new Date().toISOString(),
159
+ };
160
+ const order = yield this.createOrder(amount, 'EGP', [], JSON.stringify(customData));
161
+ const paymentKey = yield this.getPaymentKey(order.orderId, authToken, amount, {
162
+ first_name: userData.firstName,
163
+ last_name: userData.lastName,
164
+ email: userData.email,
165
+ phone_number: userData.phone,
166
+ apartment: '123',
167
+ floor: '123',
168
+ street: '123',
169
+ building: '123',
170
+ city: '123',
171
+ state: '123',
172
+ country: '123',
173
+ postal_code: '123',
174
+ });
175
+ const paymentUrl = this.createPaymentUrl(paymentKey);
176
+ return { paymentUrl };
177
+ });
178
+ }
179
+ verifyPayment(hmac, data) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ const concatenatedString = Object.entries(data)
182
+ .sort()
183
+ .map(([key, value]) => `${key}=${value}`)
184
+ .join('');
185
+ const calculatedHmac = crypto
186
+ .createHmac('sha512', this.apiKey)
187
+ .update(concatenatedString)
188
+ .digest('hex');
189
+ return calculatedHmac === hmac;
190
+ });
191
+ }
192
+ /**
193
+ * Verify webhook HMAC signature for query parameters
194
+ * Uses the correct field order as per Paymob documentation
195
+ */
196
+ verifyWebhookHmac(queryParams) {
197
+ // Define the exact order of fields for HMAC calculation as per Paymob docs
198
+ const orderedFields = [
199
+ 'amount_cents',
200
+ 'created_at',
201
+ 'currency',
202
+ 'error_occured',
203
+ 'has_parent_transaction',
204
+ 'id',
205
+ 'integration_id',
206
+ 'is_3d_secure',
207
+ 'is_auth',
208
+ 'is_capture',
209
+ 'is_refunded',
210
+ 'is_standalone_payment',
211
+ 'is_voided',
212
+ 'order',
213
+ 'owner',
214
+ 'pending',
215
+ 'source_data.pan',
216
+ 'source_data.sub_type',
217
+ 'source_data.type',
218
+ 'success',
219
+ ];
220
+ // Concatenate values in the exact order (no keys, just values)
221
+ const concatenatedString = orderedFields.map((field) => queryParams[field] || '').join('');
222
+ // Calculate HMAC using the secret key
223
+ const calculatedHmac = crypto
224
+ .createHmac('sha512', this.hmacSecret)
225
+ .update(concatenatedString)
226
+ .digest('hex');
227
+ return calculatedHmac === queryParams.hmac;
228
+ }
229
+ handleWebhook(webhookData) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ try {
232
+ // Verify the webhook signature
233
+ const isValid = yield this.verifyPayment(webhookData.obj.hmac, webhookData.obj);
234
+ if (!isValid) {
235
+ return { isValid: false, transactionData: null };
236
+ }
237
+ // Extract relevant transaction data
238
+ const transactionData = {
239
+ orderId: webhookData.obj.order.id,
240
+ amount: webhookData.obj.amount_cents / 100, // Convert from cents to actual currency
241
+ success: webhookData.obj.success,
242
+ currency: webhookData.obj.currency,
243
+ transactionId: webhookData.obj.id,
244
+ createdAt: webhookData.obj.created_at,
245
+ isRefunded: webhookData.obj.is_refunded,
246
+ isCaptured: webhookData.obj.is_captured,
247
+ isVoided: webhookData.obj.is_voided,
248
+ metadata: webhookData.obj.order.metadata || {},
249
+ };
250
+ return { isValid: true, transactionData };
251
+ }
252
+ catch (error) {
253
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
254
+ throw new Error(`Failed to handle webhook: ${errorMessage}`);
255
+ }
256
+ });
257
+ }
258
+ /**
259
+ * Handle webhook with query parameters (GET request)
260
+ * This is for webhooks that come as URL query parameters instead of JSON body
261
+ */
262
+ handleWebhookQuery(queryParams) {
263
+ try {
264
+ // Verify the webhook HMAC signature
265
+ const isValid = this.verifyWebhookHmac(queryParams);
266
+ if (!isValid) {
267
+ return { isValid: false, transactionData: null };
268
+ }
269
+ // Extract and parse transaction data from query parameters
270
+ const transactionData = {
271
+ orderId: parseInt(queryParams.order || '0'),
272
+ amount: parseInt(queryParams.amount_cents || '0') / 100, // Convert from cents
273
+ success: queryParams.success === 'true',
274
+ currency: queryParams.currency || 'EGP',
275
+ transactionId: parseInt(queryParams.id || '0'),
276
+ createdAt: queryParams.created_at || '',
277
+ isRefunded: queryParams.is_refunded === 'true',
278
+ isCaptured: queryParams.is_capture === 'true',
279
+ isVoided: queryParams.is_voided === 'true',
280
+ isAuth: queryParams.is_auth === 'true',
281
+ isStandalone: queryParams.is_standalone_payment === 'true',
282
+ is3dSecure: queryParams.is_3d_secure === 'true',
283
+ sourceData: {
284
+ type: queryParams['source_data.type'] || '',
285
+ pan: queryParams['source_data.pan'] || '',
286
+ subType: queryParams['source_data.sub_type'] || '',
287
+ },
288
+ responseCode: queryParams.txn_response_code || '',
289
+ message: queryParams['data.message'] || '',
290
+ metadata: {}, // Adding the missing metadata property
291
+ };
292
+ return { isValid: true, transactionData };
293
+ }
294
+ catch (error) {
295
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
296
+ throw new Error(`Failed to handle webhook query: ${errorMessage}`);
297
+ }
298
+ }
299
+ getTransactionStatus(transactionId) {
300
+ return __awaiter(this, void 0, void 0, function* () {
301
+ try {
302
+ const authToken = yield this.getAuthToken();
303
+ const response = yield axios_1.default.get(`${this.baseUrl}/acceptance/transactions/${transactionId}`, {
304
+ headers: {
305
+ 'Content-Type': 'application/json',
306
+ Authorization: `Bearer ${authToken}`,
307
+ },
308
+ });
309
+ return {
310
+ success: response.data.success,
311
+ status: response.data.status,
312
+ amount: response.data.amount_cents / 100,
313
+ currency: response.data.currency,
314
+ };
315
+ }
316
+ catch (error) {
317
+ const axiosError = error;
318
+ throw new Error(`Failed to get transaction status: ${axiosError.message}`);
319
+ }
320
+ });
321
+ }
322
+ /**
323
+ * Get order details including metadata
324
+ */
325
+ getOrderDetails(orderId) {
326
+ return __awaiter(this, void 0, void 0, function* () {
327
+ try {
328
+ const authToken = yield this.getAuthToken();
329
+ const response = yield axios_1.default.get(`${this.baseUrl}/ecommerce/orders/${orderId}`, {
330
+ headers: {
331
+ 'Content-Type': 'application/json',
332
+ Authorization: `Bearer ${authToken}`,
333
+ },
334
+ });
335
+ return {
336
+ id: response.data.id,
337
+ amount_cents: response.data.amount_cents,
338
+ currency: response.data.currency,
339
+ items: response.data.items || [],
340
+ created_at: response.data.created_at,
341
+ merchant_order_id: response.data.merchant_order_id,
342
+ };
343
+ }
344
+ catch (error) {
345
+ const axiosError = error;
346
+ throw new Error(`Failed to get order details: ${axiosError.message}`);
347
+ }
348
+ });
349
+ }
350
+ /**
351
+ * Handle webhook query and fetch items from order
352
+ */
353
+ handleWebhookQueryWithItems(queryParams) {
354
+ return __awaiter(this, void 0, void 0, function* () {
355
+ try {
356
+ // First verify the webhook
357
+ const webhookResult = this.handleWebhookQuery(queryParams);
358
+ if (!webhookResult.isValid || !webhookResult.transactionData) {
359
+ return { isValid: false, transactionData: null };
360
+ }
361
+ // Fetch order details to get items
362
+ const orderDetails = yield this.getOrderDetails(webhookResult.transactionData.orderId);
363
+ // Combine webhook data with items
364
+ const transactionData = Object.assign(Object.assign({}, webhookResult.transactionData), { items: orderDetails.items });
365
+ return { isValid: true, transactionData };
366
+ }
367
+ catch (error) {
368
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
369
+ throw new Error(`Failed to handle webhook with items: ${errorMessage}`);
370
+ }
371
+ });
372
+ }
373
+ }
374
+ exports.PaymobService = PaymobService;
@@ -1,10 +1,9 @@
1
- /// <reference types="mongoose/types/document" />
2
- /// <reference types="mongoose/types/types" />
3
1
  /// <reference types="mongoose/types/aggregate" />
4
2
  /// <reference types="mongoose/types/callback" />
5
3
  /// <reference types="mongoose/types/collection" />
6
4
  /// <reference types="mongoose/types/connection" />
7
5
  /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
8
7
  /// <reference types="mongoose/types/error" />
9
8
  /// <reference types="mongoose/types/expressions" />
10
9
  /// <reference types="mongoose/types/helpers" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,4 +1,3 @@
1
- /// <reference types="mongoose/types/types" />
2
1
  /// <reference types="mongoose/types/aggregate" />
3
2
  /// <reference types="mongoose/types/callback" />
4
3
  /// <reference types="mongoose/types/collection" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,10 +1,9 @@
1
- /// <reference types="mongoose/types/document" />
2
- /// <reference types="mongoose/types/types" />
3
1
  /// <reference types="mongoose/types/aggregate" />
4
2
  /// <reference types="mongoose/types/callback" />
5
3
  /// <reference types="mongoose/types/collection" />
6
4
  /// <reference types="mongoose/types/connection" />
7
5
  /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
8
7
  /// <reference types="mongoose/types/error" />
9
8
  /// <reference types="mongoose/types/expressions" />
10
9
  /// <reference types="mongoose/types/helpers" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,10 +1,9 @@
1
- /// <reference types="mongoose/types/document" />
2
- /// <reference types="mongoose/types/types" />
3
1
  /// <reference types="mongoose/types/aggregate" />
4
2
  /// <reference types="mongoose/types/callback" />
5
3
  /// <reference types="mongoose/types/collection" />
6
4
  /// <reference types="mongoose/types/connection" />
7
5
  /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
8
7
  /// <reference types="mongoose/types/error" />
9
8
  /// <reference types="mongoose/types/expressions" />
10
9
  /// <reference types="mongoose/types/helpers" />
@@ -18,6 +17,7 @@
18
17
  /// <reference types="mongoose/types/schemaoptions" />
19
18
  /// <reference types="mongoose/types/schematypes" />
20
19
  /// <reference types="mongoose/types/session" />
20
+ /// <reference types="mongoose/types/types" />
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
@@ -1,19 +1,19 @@
1
- /// <reference types="mongoose/types/query" />
2
- /// <reference types="mongoose/types/document" />
3
- /// <reference types="mongoose/types/models" />
4
1
  /// <reference types="mongoose/types/aggregate" />
5
2
  /// <reference types="mongoose/types/callback" />
6
3
  /// <reference types="mongoose/types/collection" />
7
4
  /// <reference types="mongoose/types/connection" />
8
5
  /// <reference types="mongoose/types/cursor" />
6
+ /// <reference types="mongoose/types/document" />
9
7
  /// <reference types="mongoose/types/error" />
10
8
  /// <reference types="mongoose/types/expressions" />
11
9
  /// <reference types="mongoose/types/helpers" />
12
10
  /// <reference types="mongoose/types/middlewares" />
13
11
  /// <reference types="mongoose/types/indexes" />
12
+ /// <reference types="mongoose/types/models" />
14
13
  /// <reference types="mongoose/types/mongooseoptions" />
15
14
  /// <reference types="mongoose/types/pipelinestage" />
16
15
  /// <reference types="mongoose/types/populate" />
16
+ /// <reference types="mongoose/types/query" />
17
17
  /// <reference types="mongoose/types/schemaoptions" />
18
18
  /// <reference types="mongoose/types/schematypes" />
19
19
  /// <reference types="mongoose/types/session" />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duvdu-v1/duvdu",
3
- "version": "1.1.264",
3
+ "version": "1.1.265",
4
4
  "main": "./build/index.js",
5
5
  "types": "./build/index.d.ts",
6
6
  "files": [
@@ -27,6 +27,7 @@
27
27
  "@typescript-eslint/eslint-plugin": "^6.19.0",
28
28
  "@typescript-eslint/parser": "^6.19.0",
29
29
  "aws-sdk": "^2.1595.0",
30
+ "axios": "^1.10.0",
30
31
  "connect-redis": "^7.1.1",
31
32
  "express": "^4.18.2",
32
33
  "express-async-errors": "^3.1.1",