@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.
- package/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/models/Bookmark-projects.model.d.ts +2 -2
- package/build/models/Bookmark.model.d.ts +1 -1
- package/build/models/Plan.model.d.ts +1 -1
- package/build/models/Review.model.d.ts +2 -2
- package/build/models/Role.model.d.ts +1 -1
- package/build/models/Term.model.d.ts +3 -3
- package/build/models/Ticket.model.d.ts +3 -3
- package/build/models/User.model.d.ts +1 -1
- package/build/models/all-contracts.model.d.ts +2 -2
- package/build/models/allProjects.model.d.ts +1 -1
- package/build/models/category.model.d.ts +3 -3
- package/build/models/contractCancel.model.d.ts +2 -2
- package/build/models/contractCancel.model.js +4 -4
- package/build/models/contracts.model.d.ts +2 -2
- package/build/models/copyright-contract.model.d.ts +2 -2
- package/build/models/copyrights-booking.model.d.ts +2 -2
- package/build/models/copyrights.model.d.ts +2 -2
- package/build/models/coupon.model.d.ts +2 -2
- package/build/models/favourites.model.d.ts +2 -2
- package/build/models/follow.model.d.ts +2 -2
- package/build/models/messages.model.d.ts +2 -2
- package/build/models/notification.model.d.ts +2 -2
- package/build/models/portfolio-post.model.d.ts +2 -2
- package/build/models/producer.model.d.ts +2 -2
- package/build/models/producerPlatform.model.d.ts +1 -1
- package/build/models/producer_contracts.model.d.ts +2 -2
- package/build/models/projectContract.model.d.ts +2 -2
- package/build/models/projectViews.model.d.ts +1 -1
- package/build/models/ranks.model.d.ts +1 -1
- package/build/models/rental-contracts.model.d.ts +2 -2
- package/build/models/rental.model.d.ts +2 -2
- package/build/models/report.model.d.ts +2 -2
- package/build/models/session.model.d.ts +2 -2
- package/build/models/settings.model.d.ts +1 -1
- package/build/models/studio-booking-book.model.d.ts +2 -2
- package/build/models/studio-booking.model.d.ts +3 -3
- package/build/models/teamProject.model.d.ts +3 -3
- package/build/models/transactions.model.d.ts +2 -2
- package/build/models/userSession.model.d.ts +2 -2
- package/build/models/withdrawMethods.model.d.ts +2 -2
- package/build/models/withdrawMethods.model.js +3 -3
- package/build/services/paymob.service.d.ts +202 -0
- package/build/services/paymob.service.js +374 -0
- package/build/services/rank.service.d.ts +2 -2
- package/build/types/Bookmarks.d.ts +1 -1
- package/build/types/Plan.d.ts +1 -1
- package/build/types/Projects.d.ts +1 -1
- package/build/types/Rate.d.ts +1 -1
- package/build/types/Ticket.d.ts +1 -1
- package/build/types/User.d.ts +1 -1
- package/build/types/copyrights-order.d.ts +2 -2
- package/build/types/portfolio-post-order.d.ts +2 -2
- package/build/utils/api-feature.d.ts +3 -3
- 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" />
|
package/build/types/Plan.d.ts
CHANGED
|
@@ -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" />
|
package/build/types/Rate.d.ts
CHANGED
|
@@ -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" />
|
package/build/types/Ticket.d.ts
CHANGED
|
@@ -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" />
|
package/build/types/User.d.ts
CHANGED
|
@@ -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.
|
|
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",
|