@resolveio/server-lib 11.0.4 → 11.1.0

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/methods/aws.js CHANGED
@@ -41,6 +41,8 @@ var file_collection_1 = require("../collections/file.collection");
41
41
  var simpl_schema_1 = require("simpl-schema");
42
42
  var index_1 = require("../index");
43
43
  var mongo_manager_1 = require("../managers/mongo.manager");
44
+ var client_s3_1 = require("@aws-sdk/client-s3");
45
+ var s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
44
46
  var request = require('request').defaults({ encoding: null });
45
47
  var fs = require('fs');
46
48
  var pdfCnt = 1000000;
@@ -69,26 +71,33 @@ function loadAWSMethods(methodManager) {
69
71
  }),
70
72
  function: function (fileName, fileData, fileSize, fileOrder, fileType, compress) {
71
73
  var _this = this;
72
- var that = this;
73
74
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
74
- var key_1, newParams;
75
+ var key_1, aws;
75
76
  return __generator(this, function (_a) {
76
77
  if (fileName) {
77
78
  key_1 = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;
78
- newParams = { Bucket: that.serverConfig.AWSBUCKET, Key: key_1, Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), ACL: 'private', ContentType: fileData.split(',')[0].split(':')[1].split(';')[0], ContentDisposition: 'inline' };
79
- that.getAWS().upload(newParams, function (err, res) {
80
- if (err) {
81
- reject(err);
82
- }
83
- else if (res) {
79
+ aws = this.getAWS();
80
+ aws.s3.putObject({
81
+ Bucket: this.serverConfig.AWSBUCKET,
82
+ Key: key_1,
83
+ Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'),
84
+ ACL: 'private',
85
+ ContentType: fileData.split(',')[0].split(':')[1].split(';')[0],
86
+ ContentDisposition: 'inline'
87
+ }).then(function (res) {
88
+ if (res) {
84
89
  file_collection_1.Files.create({
85
90
  _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key_1, order: fileOrder, type: fileType
86
91
  }).then(function (resFile) {
87
92
  resolve(resFile);
88
93
  }, function (errFile) { return reject(errFile); });
89
94
  }
95
+ else {
96
+ resolve(null);
97
+ }
98
+ }, function (err) {
99
+ reject(err);
90
100
  });
91
- // }
92
101
  }
93
102
  return [2 /*return*/];
94
103
  });
@@ -118,18 +127,27 @@ function loadAWSMethods(methodManager) {
118
127
  return new Promise(function (resolve, reject) {
119
128
  if (fileName) {
120
129
  var key_2 = 'uploads/' + Date.now() + '-' + fileName;
121
- var newParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: key_2, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline' };
122
- _this.getAWS().upload(newParams, function (err, res) {
123
- if (err) {
124
- reject(err);
125
- }
126
- else if (res) {
130
+ var aws = _this.getAWS();
131
+ aws.s3.putObject({
132
+ Bucket: _this.serverConfig.AWSBUCKET,
133
+ Key: key_2,
134
+ Body: Buffer.from(fileData),
135
+ ACL: 'private',
136
+ ContentType: 'application/gzip',
137
+ ContentDisposition: 'inline'
138
+ }).then(function (res) {
139
+ if (res) {
127
140
  file_collection_1.Files.create({
128
141
  _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key_2, order: fileOrder, type: fileType
129
142
  }).then(function (resFile) {
130
143
  resolve(resFile);
131
144
  }, function (errFile) { return reject(errFile); });
132
145
  }
146
+ else {
147
+ resolve(null);
148
+ }
149
+ }, function (err) {
150
+ reject(err);
133
151
  });
134
152
  }
135
153
  });
@@ -158,18 +176,27 @@ function loadAWSMethods(methodManager) {
158
176
  return new Promise(function (resolve, reject) {
159
177
  if (fileName) {
160
178
  var key_3 = 'uploads/' + Date.now() + '-' + fileName;
161
- var newParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: key_3, Body: fileData, ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline' };
162
- _this.getAWS().upload(newParams, function (err, res) {
163
- if (err) {
164
- reject(err);
165
- }
166
- else if (res) {
179
+ var aws = _this.getAWS();
180
+ aws.s3.putObject({
181
+ Bucket: _this.serverConfig.AWSBUCKET,
182
+ Key: key_3,
183
+ Body: fileData,
184
+ ACL: 'private',
185
+ ContentType: 'application/gzip',
186
+ ContentDisposition: 'inline'
187
+ }).then(function (res) {
188
+ if (res) {
167
189
  file_collection_1.Files.create({
168
190
  _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key_3, order: fileOrder, type: fileType
169
191
  }).then(function (resFile) {
170
192
  resolve(resFile);
171
193
  }, function (errFile) { return reject(errFile); });
172
194
  }
195
+ else {
196
+ resolve(null);
197
+ }
198
+ }, function (err) {
199
+ reject(err);
173
200
  });
174
201
  }
175
202
  });
@@ -195,18 +222,27 @@ function loadAWSMethods(methodManager) {
195
222
  return new Promise(function (resolve, reject) {
196
223
  if (fileName) {
197
224
  var key_4 = 'uploads/' + Date.now() + '-' + fileName;
198
- var newParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: key_4, Body: fs.createReadStream(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline' };
199
- _this.getAWS().upload(newParams, function (err, res) {
200
- if (err) {
201
- reject(err);
202
- }
203
- else if (res) {
225
+ var aws = _this.getAWS();
226
+ aws.s3.putObject({
227
+ Bucket: _this.serverConfig.AWSBUCKET,
228
+ Key: key_4,
229
+ Body: fs.createReadStream(fileData),
230
+ ACL: 'private',
231
+ ContentType: 'application/gzip',
232
+ ContentDisposition: 'inline'
233
+ }).then(function (res) {
234
+ if (res) {
204
235
  file_collection_1.Files.create({
205
236
  _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: 1, key: key_4, order: fileOrder, type: fileType
206
237
  }).then(function (resFile) {
207
238
  resolve(resFile);
208
239
  }, function (errFile) { return reject(errFile); });
209
240
  }
241
+ else {
242
+ resolve(null);
243
+ }
244
+ }, function (err) {
245
+ reject(err);
210
246
  });
211
247
  }
212
248
  });
@@ -234,12 +270,12 @@ function loadAWSMethods(methodManager) {
234
270
  deleteCnt = files.length;
235
271
  files.forEach(function (file) {
236
272
  file_collection_1.Files.deleteOne({ _id: file._id });
237
- var delParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: file.key };
238
- _this.getAWS().deleteObject(delParams, function (err, res) {
239
- if (err) {
240
- reject(err);
241
- }
242
- else {
273
+ var aws = _this.getAWS();
274
+ aws.s3.deleteObject({
275
+ Bucket: _this.serverConfig.AWSBUCKET,
276
+ Key: file.key
277
+ }).then(function (res) {
278
+ if (res) {
243
279
  deleteCnt--;
244
280
  if (!deleteCnt) {
245
281
  resolve(files.length);
@@ -262,7 +298,7 @@ function loadAWSMethods(methodManager) {
262
298
  function: function (key) {
263
299
  var _this = this;
264
300
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
265
- var file, delParams;
301
+ var file, aws;
266
302
  return __generator(this, function (_a) {
267
303
  switch (_a.label) {
268
304
  case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ key: key })];
@@ -271,9 +307,14 @@ function loadAWSMethods(methodManager) {
271
307
  if (file) {
272
308
  file_collection_1.Files.deleteOne({ _id: file._id });
273
309
  }
274
- delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: key };
275
- this.getAWS().deleteObject(delParams, function (err, res) {
310
+ aws = this.getAWS();
311
+ aws.s3.deleteObject({
312
+ Bucket: this.serverConfig['AWSBUCKET'],
313
+ Key: key
314
+ }).then(function (res) {
276
315
  resolve(res);
316
+ }, function (err) {
317
+ reject(err);
277
318
  });
278
319
  return [2 /*return*/];
279
320
  }
@@ -290,7 +331,7 @@ function loadAWSMethods(methodManager) {
290
331
  function: function (id_file) {
291
332
  var _this = this;
292
333
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
293
- var file, delParams;
334
+ var file, aws;
294
335
  return __generator(this, function (_a) {
295
336
  switch (_a.label) {
296
337
  case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
@@ -299,14 +340,14 @@ function loadAWSMethods(methodManager) {
299
340
  if (!file) {
300
341
  reject('Could not find file');
301
342
  }
302
- delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: file.key };
303
- this.getAWS().deleteObject(delParams, function (err, res) {
304
- if (err) {
305
- reject(err);
306
- }
307
- else {
308
- resolve(res);
309
- }
343
+ aws = this.getAWS();
344
+ aws.s3.deleteObject({
345
+ Bucket: this.serverConfig['AWSBUCKET'],
346
+ Key: file.key
347
+ }).then(function (res) {
348
+ resolve(res);
349
+ }, function (err) {
350
+ reject(err);
310
351
  });
311
352
  file_collection_1.Files.deleteOne({ _id: file._id });
312
353
  return [2 /*return*/];
@@ -330,20 +371,34 @@ function loadAWSMethods(methodManager) {
330
371
  function: function (ids, expires) {
331
372
  var _this = this;
332
373
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
333
- var res, fileArray, files;
334
- var _this = this;
335
- return __generator(this, function (_a) {
336
- switch (_a.label) {
374
+ var res, fileArray, files, i, file, aws, getCommand, _a, _b;
375
+ return __generator(this, function (_c) {
376
+ switch (_c.label) {
337
377
  case 0:
338
378
  res = [];
339
379
  fileArray = [];
340
380
  return [4 /*yield*/, file_collection_1.Files.find({ _id: { $in: ids } })];
341
381
  case 1:
342
- files = _a.sent();
343
- files.forEach(function (file) {
344
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires };
345
- res.push(_this.getAWS().getSignedUrl('getObject', params));
382
+ files = _c.sent();
383
+ i = 0;
384
+ _c.label = 2;
385
+ case 2:
386
+ if (!(i < files.length)) return [3 /*break*/, 5];
387
+ file = files[i];
388
+ aws = this.getAWS();
389
+ getCommand = new client_s3_1.GetObjectCommand({
390
+ Bucket: this.serverConfig.AWSBUCKET,
391
+ Key: file.key
346
392
  });
393
+ _b = (_a = res).push;
394
+ return [4 /*yield*/, s3_request_presigner_1.getSignedUrl(aws.s3, getCommand, { expiresIn: expires })];
395
+ case 3:
396
+ _b.apply(_a, [_c.sent()]);
397
+ _c.label = 4;
398
+ case 4:
399
+ i++;
400
+ return [3 /*break*/, 2];
401
+ case 5:
347
402
  resolve({ res: res, fileArray: files.map(function (a) { return a.name; }) });
348
403
  return [2 /*return*/];
349
404
  }
@@ -363,20 +418,21 @@ function loadAWSMethods(methodManager) {
363
418
  function: function (id_file, expires) {
364
419
  var _this = this;
365
420
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
366
- var file, params;
421
+ var file, aws, getCommand;
367
422
  return __generator(this, function (_a) {
368
423
  switch (_a.label) {
369
424
  case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
370
425
  case 1:
371
426
  file = _a.sent();
372
- params = { Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires };
373
- this.getAWS().getSignedUrl('getObject', params, function (err, res) {
374
- if (err) {
375
- reject(err);
376
- }
377
- else {
378
- resolve(res);
379
- }
427
+ aws = this.getAWS();
428
+ getCommand = new client_s3_1.GetObjectCommand({
429
+ Bucket: this.serverConfig.AWSBUCKET,
430
+ Key: file.key
431
+ });
432
+ s3_request_presigner_1.getSignedUrl(aws.s3, getCommand, { expiresIn: expires }).then(function (res) {
433
+ resolve(res);
434
+ }, function (err) {
435
+ reject(err);
380
436
  });
381
437
  return [2 /*return*/];
382
438
  }
@@ -396,14 +452,15 @@ function loadAWSMethods(methodManager) {
396
452
  function: function (key, expires) {
397
453
  var _this = this;
398
454
  return new Promise(function (resolve, reject) {
399
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
400
- _this.getAWS().getSignedUrl('getObject', params, function (err, res) {
401
- if (err) {
402
- reject(err);
403
- }
404
- else {
405
- resolve(res);
406
- }
455
+ var aws = _this.getAWS();
456
+ var getCommand = new client_s3_1.GetObjectCommand({
457
+ Bucket: _this.serverConfig.AWSBUCKET,
458
+ Key: key
459
+ });
460
+ s3_request_presigner_1.getSignedUrl(aws.s3, getCommand, { expiresIn: expires }).then(function (res) {
461
+ resolve(res);
462
+ }, function (err) {
463
+ reject(err);
407
464
  });
408
465
  });
409
466
  }
@@ -422,14 +479,36 @@ function loadAWSMethods(methodManager) {
422
479
  }),
423
480
  function: function (keys, expires) {
424
481
  var _this = this;
425
- return new Promise(function (resolve, reject) {
426
- var res = [];
427
- keys.forEach(function (key) {
428
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
429
- res.push(_this.getAWS().getSignedUrl('getObject', params));
482
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
483
+ var res, i, key, aws, getCommand, _a, _b;
484
+ return __generator(this, function (_c) {
485
+ switch (_c.label) {
486
+ case 0:
487
+ res = [];
488
+ i = 0;
489
+ _c.label = 1;
490
+ case 1:
491
+ if (!(i < keys.length)) return [3 /*break*/, 4];
492
+ key = keys[i];
493
+ aws = this.getAWS();
494
+ getCommand = new client_s3_1.GetObjectCommand({
495
+ Bucket: this.serverConfig.AWSBUCKET,
496
+ Key: key
497
+ });
498
+ _b = (_a = res).push;
499
+ return [4 /*yield*/, s3_request_presigner_1.getSignedUrl(aws.s3, getCommand, { expiresIn: expires })];
500
+ case 2:
501
+ _b.apply(_a, [_c.sent()]);
502
+ _c.label = 3;
503
+ case 3:
504
+ i++;
505
+ return [3 /*break*/, 1];
506
+ case 4:
507
+ resolve(res);
508
+ return [2 /*return*/];
509
+ }
430
510
  });
431
- resolve(res);
432
- });
511
+ }); });
433
512
  }
434
513
  },
435
514
  getDataURIfromURL: {
@@ -466,9 +545,9 @@ function loadAWSMethods(methodManager) {
466
545
  }),
467
546
  function: function (id_file, email, additional_message) {
468
547
  var _this = this;
469
- var that = this;
470
548
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
471
549
  var file;
550
+ var _this = this;
472
551
  return __generator(this, function (_a) {
473
552
  switch (_a.label) {
474
553
  case 0: return [4 /*yield*/, file_collection_1.Files.findById(id_file)];
@@ -478,18 +557,18 @@ function loadAWSMethods(methodManager) {
478
557
  reject('Could not find file');
479
558
  return [2 /*return*/];
480
559
  }
481
- that.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, function (errPDF, resPDF) {
560
+ this.callMethodInternal('getSignedUrl', file.key, 259200, function (errPDF, resPDF) {
482
561
  if (resPDF) {
483
562
  if (file.size < 5000000) {
484
563
  var emailMessage = 'Attached is the file requested for email.\n' + (additional_message !== '' ? '\nAdditional Mesasge:\n' + additional_message + '\n' : '');
485
- that.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{
564
+ _this.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{
486
565
  filename: file.name,
487
566
  path: resPDF
488
567
  }]);
489
568
  }
490
569
  else {
491
570
  var emailMessage = 'Please click the link to the requested file.\n' + (additional_message !== '' ? '\nAdditional Mesasge:\n' + additional_message + '\n' : '');
492
- that.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');
571
+ _this.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');
493
572
  }
494
573
  resolve(true);
495
574
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/aws.ts"],"names":[],"mappings":"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","file":"aws.js","sourcesContent":["import { MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\n\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\tlet that = this;\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\n\t\t\t\t\t\t// if (fileData.split(',')[0].split(':')[1].split(';')[0] === 'application/pdf' && compress) {\n\t\t\t\t\t\t// \tlet file = {\n\t\t\t\t\t\t// \t\t_id: objectIdHexString(), \n\t\t\t\t\t\t// \t\t__v: 0, \n\t\t\t\t\t\t// \t\tname: fileName, \n\t\t\t\t\t\t// \t\tsize: fileSize, \n\t\t\t\t\t\t// \t\tkey: key, \n\t\t\t\t\t\t// \t\torder: fileOrder, \n\t\t\t\t\t\t// \t\ttype: fileType\n\t\t\t\t\t\t// \t};\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t// \tFiles.create(file).then(resFile => {\n\t\t\t\t\t\t// \t\tthis.callMethodInternal('compressBase64AndUploadPDF', file._id, fileName, key, fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), (errCompress, resCompress) => {\n\t\t\t\t\t\t// \t\t\tresolve(resFile);\n\t\t\t\t\t\t// \t\t});\n\t\t\t\t\t\t// \t}, errFile => reject(errFile));\n\t\t\t\t\t\t// }\n\t\t\t\t\t\t// else {\n\t\t\t\t\t\t\tlet newParams = {Bucket: that.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), ACL: 'private', ContentType: fileData.split(',')[0].split(':')[1].split(';')[0], ContentDisposition: 'inline'};\n\n\t\t\t\t\t\t\tthat.getAWS().upload(newParams, (err, res) => {\n\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse if (res) {\n\t\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t\t}).then(resFile => {\n\t\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t// }\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\n\t\t\t\t\t\tthis.getAWS().upload(newParams, (err, res) => {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: Buffer\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: Buffer, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: fileData, ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.getAWS().upload(newParams, (err, res) => {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFStreamAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet newParams = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Body: fs.createReadStream(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline'};\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.getAWS().upload(newParams, (err, res) => {\t\n\t\t\t\t\t\t\tif (err) {\t\n\t\t\t\t\t\t\t\treject(err);\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse if (res) {\t\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\n\t\t\t\t\t\tlet delParams = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key};\n\t\t\t\n\t\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(files.length);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet delParams = {Bucket: this.serverConfig['AWSBUCKET'], Key: file.key};\n\t\t\n\t\t\t\t\tthis.getAWS().deleteObject(delParams, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\tthis.getAWS().getSignedUrl('getObject', params, (err, res) => {\n\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tkeys.forEach(key => {\n\t\t\t\t\t\tlet params = {Bucket: this.serverConfig.AWSBUCKET, Key: key, Expires: expires};\n\n\t\t\t\t\t\tres.push(this.getAWS().getSignedUrl('getObject', params));\n\t\t\t\t\t});\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\n\t\t\t\tlet that = this;\n\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthat.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\n\t\t\t\t\t\t\t\t\tfilename: file.name,\n\t\t\t\t\t\t\t\t\tpath: resPDF\n\t\t\t\t\t\t\t\t}]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Please click the link to the requested file.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthat.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/methods/aws.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kEAAuD;AACvD,6CAAwC;AACxC,kCAA2C;AAC3C,2DAA8D;AAC9D,gDAAsD;AACtD,sEAA6D;AAE7D,IAAI,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,IAAI,MAAM,GAAG,OAAO,CAAC;AAErB,SAAgB,cAAc,CAAC,aAA4B;IAC1D,aAAa,CAAC,OAAO,CAAC;QACrB,iBAAiB,EAAE;YAClB,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,OAAO;iBACb;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB,EAAE,QAAiB;gBAArH,iBA4BT;gBA3BA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;wBACxC,IAAI,QAAQ,EAAE;4BACT,QAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;4BAClE,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;4BACpC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;gCAChB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;gCACnC,GAAG,EAAE,KAAG;gCACR,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC;gCAC5H,GAAG,EAAE,SAAS;gCACd,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gCAC/D,kBAAkB,EAAE,QAAQ;6BAC5B,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;gCACV,IAAI,GAAG,EAAE;oCACR,uBAAK,CAAC,MAAM,CAAC;wCACZ,GAAG,EAAE,iCAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;qCAC5G,CAAC,CAAC,IAAI,CAAC,UAAA,OAAO;wCACd,OAAO,CAAC,OAAO,CAAC,CAAC;oCAClB,CAAC,EAAE,UAAA,OAAO,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,EAAf,CAAe,CAAC,CAAC;iCAC/B;qCACI;oCACJ,OAAO,CAAC,IAAI,CAAC,CAAC;iCACd;4BACF,CAAC,EAAE,UAAA,GAAG;gCACL,MAAM,CAAC,GAAG,CAAC,CAAC;4BACb,CAAC,CAAC,CAAC;yBACH;;;qBACD,CAAC,CAAC;YACJ,CAAC;SACD;QACD,uBAAuB,EAAE;YACxB,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB;gBAAlG,iBA6BT;gBA5BA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,IAAI,QAAQ,EAAE;wBACb,IAAI,KAAG,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;wBAEnD,IAAI,GAAG,GAAe,KAAI,CAAC,MAAM,EAAE,CAAC;wBACpC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;4BAChB,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,SAAS;4BACnC,GAAG,EAAE,KAAG;4BACR,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAC3B,GAAG,EAAE,SAAS;4BACd,WAAW,EAAE,kBAAkB;4BAC/B,kBAAkB,EAAE,QAAQ;yBAC5B,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;4BACV,IAAI,GAAG,EAAE;gCACR,uBAAK,CAAC,MAAM,CAAC;oCACZ,GAAG,EAAE,iCAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;iCAC5G,CAAC,CAAC,IAAI,CAAC,UAAA,OAAO;oCACd,OAAO,CAAC,OAAO,CAAC,CAAC;gCAClB,CAAC,EAAE,UAAA,OAAO,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,EAAf,CAAe,CAAC,CAAC;6BAC/B;iCACI;gCACJ,OAAO,CAAC,IAAI,CAAC,CAAC;6BACd;wBACF,CAAC,EAAE,UAAA,GAAG;4BACL,MAAM,CAAC,GAAG,CAAC,CAAC;wBACb,CAAC,CAAC,CAAC;qBACH;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,yBAAyB,EAAE;YAC1B,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,QAAgB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB;gBAAlG,iBA6BT;gBA5BA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,IAAI,QAAQ,EAAE;wBACb,IAAI,KAAG,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;wBAEnD,IAAI,GAAG,GAAe,KAAI,CAAC,MAAM,EAAE,CAAC;wBACpC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;4BAChB,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,SAAS;4BACnC,GAAG,EAAE,KAAG;4BACR,IAAI,EAAE,QAAQ;4BACd,GAAG,EAAE,SAAS;4BACd,WAAW,EAAE,kBAAkB;4BAC/B,kBAAkB,EAAE,QAAQ;yBAC5B,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;4BACV,IAAI,GAAG,EAAE;gCACR,uBAAK,CAAC,MAAM,CAAC;oCACZ,GAAG,EAAE,iCAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;iCAC5G,CAAC,CAAC,IAAI,CAAC,UAAA,OAAO;oCACd,OAAO,CAAC,OAAO,CAAC,CAAC;gCAClB,CAAC,EAAE,UAAA,OAAO,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,EAAf,CAAe,CAAC,CAAC;6BAC/B;iCACI;gCACJ,OAAO,CAAC,IAAI,CAAC,CAAC;6BACd;wBACF,CAAC,EAAE,UAAA,GAAG;4BACL,MAAM,CAAC,GAAG,CAAC,CAAC;wBACb,CAAC,CAAC,CAAC;qBACH;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,yBAAyB,EAAE;YAC1B,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,MAAM;iBACZ;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,QAAgB,EAAE,QAAgB,EAAE,SAAiB,EAAE,QAAgB;gBAAhF,iBA6BT;gBA5BA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,IAAI,QAAQ,EAAE;wBACb,IAAI,KAAG,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,QAAQ,CAAC;wBAEnD,IAAI,GAAG,GAAe,KAAI,CAAC,MAAM,EAAE,CAAC;wBACpC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;4BAChB,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,SAAS;4BACnC,GAAG,EAAE,KAAG;4BACR,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;4BACnC,GAAG,EAAE,SAAS;4BACd,WAAW,EAAE,kBAAkB;4BAC/B,kBAAkB,EAAE,QAAQ;yBAC5B,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;4BACV,IAAI,GAAG,EAAE;gCACR,uBAAK,CAAC,MAAM,CAAC;oCACZ,GAAG,EAAE,iCAAiB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;iCACrG,CAAC,CAAC,IAAI,CAAC,UAAA,OAAO;oCACd,OAAO,CAAC,OAAO,CAAC,CAAC;gCAClB,CAAC,EAAE,UAAA,OAAO,IAAI,OAAA,MAAM,CAAC,OAAO,CAAC,EAAf,CAAe,CAAC,CAAC;6BAC/B;iCACI;gCACJ,OAAO,CAAC,IAAI,CAAC,CAAC;6BACd;wBACF,CAAC,EAAE,UAAA,GAAG;4BACL,MAAM,CAAC,GAAG,CAAC,CAAC;wBACb,CAAC,CAAC,CAAC;qBACH;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,WAAW,EAAE;YACZ,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,IAAI,EAAE;oBACL,IAAI,EAAE,KAAK;iBACX;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,IAAc;gBAAvB,iBAuBT;gBAtBA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;;oCAC5B,qBAAM,uBAAK,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,EAAC,GAAG,EAAE,IAAI,EAAC,EAAC,CAAC,EAAA;;gCAA5C,KAAK,GAAG,SAAoC;gCAE5C,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;gCAE7B,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;oCACjB,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;oCAEjC,IAAI,GAAG,GAAe,KAAI,CAAC,MAAM,EAAE,CAAC;oCACpC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;wCACnB,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,SAAS;wCACnC,GAAG,EAAE,IAAI,CAAC,GAAG;qCACb,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;wCACV,IAAI,GAAG,EAAE;4CACR,SAAS,EAAE,CAAC;4CACZ,IAAI,CAAC,SAAS,EAAE;gDACf,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;6CACtB;yCACD;oCACF,CAAC,CAAC,CAAC;gCACJ,CAAC,CAAC,CAAC;;;;qBACH,CAAC,CAAC;YACJ,CAAC;SACD;QACD,UAAU,EAAE;YACX,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,GAAG,EAAE;oBACJ,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,GAAW;gBAApB,iBAmBT;gBAlBA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;oCAE7B,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,EAAA;;gCAAtC,IAAI,GAAG,SAA+B;gCAE1C,IAAI,IAAI,EAAE;oCACT,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;iCACjC;gCAEG,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;gCACpC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;oCACnB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oCACtC,GAAG,EAAE,GAAG;iCACR,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;oCACV,OAAO,CAAC,GAAG,CAAC,CAAC;gCACd,CAAC,EAAE,UAAA,GAAG;oCACL,MAAM,CAAC,GAAG,CAAC,CAAC;gCACb,CAAC,CAAC,CAAC;;;;qBACH,CAAC,CAAC;YACJ,CAAC;SACD;QACD,gBAAgB,EAAE;YACjB,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,OAAe;gBAAxB,iBAqBT;gBApBA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;oCAE7B,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,EAAA;;gCAA1C,IAAI,GAAG,SAAmC;gCAE9C,IAAI,CAAC,IAAI,EAAE;oCACV,MAAM,CAAC,qBAAqB,CAAC,CAAC;iCAC9B;gCAEG,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;gCACpC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC;oCACnB,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oCACtC,GAAG,EAAE,IAAI,CAAC,GAAG;iCACb,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;oCACV,OAAO,CAAC,GAAG,CAAC,CAAC;gCACd,CAAC,EAAE,UAAA,GAAG;oCACL,MAAM,CAAC,GAAG,CAAC,CAAC;gCACb,CAAC,CAAC,CAAC;gCAEH,uBAAK,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC,CAAC;;;;qBACjC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,2BAA2B,EAAE;YAC5B,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,GAAG,EAAE;oBACJ,IAAI,EAAE,KAAK;iBACX;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,GAAa,EAAE,OAAe;gBAAvC,iBAmBT;gBAlBA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;;gCACpC,GAAG,GAAG,EAAE,CAAC;gCACT,SAAS,GAAG,EAAE,CAAC;gCAEP,qBAAM,uBAAK,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,EAAC,GAAG,EAAE,GAAG,EAAC,EAAC,CAAC,EAAA;;gCAA3C,KAAK,GAAG,SAAmC;gCAEtC,CAAC,GAAG,CAAC;;;qCAAE,CAAA,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;gCAC3B,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gCAChB,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;gCAChC,UAAU,GAAG,IAAI,4BAAgB,CAAC;oCACrC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;oCACnC,GAAG,EAAE,IAAI,CAAC,GAAG;iCACb,CAAC,CAAC;gCACH,KAAA,CAAA,KAAA,GAAG,CAAA,CAAC,IAAI,CAAA;gCAAC,qBAAM,mCAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,EAAA;;gCAArE,cAAS,SAA4D,EAAC,CAAC;;;gCAPtC,CAAC,EAAE,CAAA;;;gCAUrC,OAAO,CAAC,EAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,EAAC,CAAC,CAAC;;;;qBACvD,CAAC,CAAC;YACJ,CAAC;SACD;QACD,kBAAkB,EAAE;YACnB,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,OAAe,EAAE,OAAe;gBAAzC,iBAeT;gBAdA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;oCAC7B,qBAAM,uBAAK,CAAC,OAAO,CAAC,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,EAAA;;gCAA1C,IAAI,GAAG,SAAmC;gCAE1C,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;gCAChC,UAAU,GAAG,IAAI,4BAAgB,CAAC;oCACrC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;oCACnC,GAAG,EAAE,IAAI,CAAC,GAAG;iCACb,CAAC,CAAC;gCACH,mCAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;oCAC9D,OAAO,CAAC,GAAG,CAAC,CAAC;gCACd,CAAC,EAAE,UAAA,GAAG;oCACL,MAAM,CAAC,GAAG,CAAC,CAAC;gCACb,CAAC,CAAC,CAAC;;;;qBACH,CAAC,CAAC;YACJ,CAAC;SACD;QACD,YAAY,EAAE;YACb,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,GAAG,EAAE;oBACJ,IAAI,EAAE,MAAM;iBACZ;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,GAAW,EAAE,OAAe;gBAArC,iBAaT;gBAZA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,IAAI,GAAG,GAAe,KAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,IAAI,UAAU,GAAG,IAAI,4BAAgB,CAAC;wBACrC,MAAM,EAAE,KAAI,CAAC,YAAY,CAAC,SAAS;wBACnC,GAAG,EAAE,GAAG;qBACR,CAAC,CAAC;oBACH,mCAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG;wBAC9D,OAAO,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC,EAAE,UAAA,GAAG;wBACL,MAAM,CAAC,GAAG,CAAC,CAAC;oBACb,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,aAAa,EAAE;YACd,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,IAAI,EAAE;oBACL,IAAI,EAAE,KAAK;iBACX;gBACD,QAAQ,EAAE;oBACT,IAAI,EAAE,MAAM;iBACZ;gBACD,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,IAAc,EAAE,OAAe;gBAAxC,iBAgBT;gBAfA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;;gCACpC,GAAG,GAAG,EAAE,CAAC;gCAEJ,CAAC,GAAG,CAAC;;;qCAAE,CAAA,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;gCAC1B,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gCACd,GAAG,GAAe,IAAI,CAAC,MAAM,EAAE,CAAC;gCAChC,UAAU,GAAG,IAAI,4BAAgB,CAAC;oCACrC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,SAAS;oCACnC,GAAG,EAAE,GAAG;iCACR,CAAC,CAAC;gCACH,KAAA,CAAA,KAAA,GAAG,CAAA,CAAC,IAAI,CAAA;gCAAC,qBAAM,mCAAY,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,EAAA;;gCAArE,cAAS,SAA4D,EAAC,CAAC;;;gCAPvC,CAAC,EAAE,CAAA;;;gCAUpC,OAAO,CAAC,GAAG,CAAC,CAAC;;;;qBACb,CAAC,CAAC;YACJ,CAAC;SACD;QACD,iBAAiB,EAAE;YAClB,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,GAAG,EAAE;oBACJ,IAAI,EAAE,MAAM;iBACZ;aACD,CAAC;YACF,QAAQ,EAAE,UAAS,GAAW;gBAC7B,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;oBAClC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,EAAE,QAAQ,EAAE,IAAI;wBAC/C,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU,KAAK,GAAG,EAAE;4BAC1C,IAAI,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;4BACzG,OAAO,CAAC,IAAI,CAAC,CAAC;yBACd;6BACI;4BACJ,MAAM,CAAC,KAAK,CAAC,CAAC;yBACd;oBACF,CAAC,CAAC,CAAC;gBACJ,CAAC,CAAC,CAAC;YACJ,CAAC;SACD;QACD,SAAS,EAAE;YACV,KAAK,EAAE,IAAI,sBAAY,CAAC;gBACvB,OAAO,EAAE;oBACR,IAAI,EAAE,MAAM;iBACZ;gBACD,KAAK,EAAE;oBACN,IAAI,EAAE,MAAM;iBACZ;gBACW,kBAAkB,EAAE;oBAChB,IAAI,EAAE,MAAM;iBACf;aACb,CAAC;YACF,QAAQ,EAAE,UAAS,OAAe,EAAE,KAAa,EAAE,kBAAkB;gBAA3D,iBAgCT;gBA/BA,OAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;;oCAC7B,qBAAM,uBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAA;;gCAApC,IAAI,GAAG,SAA6B;gCAExC,IAAI,CAAC,IAAI,EAAE;oCACV,MAAM,CAAC,qBAAqB,CAAC,CAAC;oCAC9B,sBAAO;iCACP;gCAED,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,UAAC,MAAM,EAAE,MAAM;oCACxE,IAAI,MAAM,EAAE;wCACX,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE;4CACxB,IAAI,YAAY,GAAG,6CAA6C,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,yBAAyB,GAAG,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;4CAE7J,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAe,CAAC,aAAa,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;oDAClG,QAAQ,EAAE,IAAI,CAAC,IAAI;oDACnB,IAAI,EAAE,MAAM;iDACZ,CAAC,CAAC,CAAC;yCACJ;6CACI;4CACJ,IAAI,YAAY,GAAG,gDAAgD,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,yBAAyB,GAAG,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;4CAEhK,KAAI,CAAC,SAAS,CAAC,KAAK,EAAE,uBAAe,CAAC,aAAa,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;yCAC3G;wCAED,OAAO,CAAC,IAAI,CAAC,CAAC;qCACd;yCACI;wCACJ,MAAM,CAAC,wBAAwB,CAAC,CAAC;qCACjC;gCACF,CAAC,CAAC,CAAC;;;;qBACH,CAAC,CAAC;YACJ,CAAC;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AAndD,wCAmdC","file":"aws.js","sourcesContent":["import { AWSModules, MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { getSignedUrl } from '@aws-sdk/s3-request-presigner';\n\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\taws.s3.putObject({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET,\n\t\t\t\t\t\t\tKey: key,\n\t\t\t\t\t\t\tBody: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: fileData.split(',')[0].split(':')[1].split(';')[0], \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\n\t\t\t\t\t\t\t\t\tresolve(resFile);\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tuploadNonPDFFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\taws.s3.putObject({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: Buffer.from(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: Buffer\t\n\t\t\t\t},\t\n\t\t\t\tfileSize: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: Buffer, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\taws.s3.putObject({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fileData, \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\t\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFStreamAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\taws.s3.putObject({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fs.createReadStream(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\taws.s3.deleteObject({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(files.length);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\taws.s3.deleteObject({\n\t\t\t\t\t\tBucket: this.serverConfig['AWSBUCKET'], \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\taws.s3.deleteObject({\n\t\t\t\t\t\tBucket: this.serverConfig['AWSBUCKET'], \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\t\tlet file = files[i];\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(aws.s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\n\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(aws.s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(aws.s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet key = keys[i];\n\t\t\t\t\t\tlet aws: AWSModules = this.getAWS();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: this.serverConfig.AWSBUCKET, \n\t\t\t\t\t\t\tKey: key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(aws.s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.callMethodInternal('getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\n\t\t\t\t\t\t\t\t\tfilename: file.name,\n\t\t\t\t\t\t\t\t\tpath: resPDF\n\t\t\t\t\t\t\t\t}]);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Please click the link to the requested file.\\n' + (additional_message !== '' ? '\\nAdditional Mesasge:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
package/methods/pdf.js CHANGED
@@ -76,12 +76,12 @@ function loadPDFMethods(methodManager) {
76
76
  }
77
77
  }),
78
78
  function: function (html, fileName, orientation, fontSize, upload, uploadFileOrder, uploadFileType) {
79
+ var _this = this;
79
80
  if (orientation === void 0) { orientation = 'portrait'; }
80
81
  if (fontSize === void 0) { fontSize = '8px'; }
81
82
  if (upload === void 0) { upload = false; }
82
83
  if (uploadFileOrder === void 0) { uploadFileOrder = -1; }
83
84
  if (uploadFileType === void 0) { uploadFileType = ''; }
84
- var that = this;
85
85
  return new Promise(function (resolve, reject) {
86
86
  var phantom = require('phantom');
87
87
  var phInstance = null;
@@ -128,7 +128,7 @@ function loadPDFMethods(methodManager) {
128
128
  }
129
129
  else {
130
130
  var fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');
131
- that.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, function (err, res) {
131
+ _this.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, function (err, res) {
132
132
  if (err) {
133
133
  reject(err);
134
134
  }
@@ -664,9 +664,8 @@ function loadPDFMethods(methodManager) {
664
664
  if (resUpFile) {
665
665
  resFile_3.status = 'Uploaded';
666
666
  resolve(resFile_3);
667
- var that_1 = _this;
668
667
  setTimeout(function () {
669
- that_1.callMethodInternal('deleteFile', mergeFileName);
668
+ _this.callMethodInternal('deleteFile', mergeFileName);
670
669
  }, 60000);
671
670
  }
672
671
  else {