@resolveio/server-lib 9.2.18 → 9.2.19

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 (221) hide show
  1. package/client-server-app.js +1 -55
  2. package/client-server-app.js.map +1 -1
  3. package/collections/app-status.collection.js +1 -40
  4. package/collections/app-status.collection.js.map +1 -1
  5. package/collections/app-version.collection.js +1 -40
  6. package/collections/app-version.collection.js.map +1 -1
  7. package/collections/counter.collection.js +1 -43
  8. package/collections/counter.collection.js.map +1 -1
  9. package/collections/cron-job-history.collection.js +1 -71
  10. package/collections/cron-job-history.collection.js.map +1 -1
  11. package/collections/cron-job.collection.js +1 -74
  12. package/collections/cron-job.collection.js.map +1 -1
  13. package/collections/email-history.collection.js +1 -55
  14. package/collections/email-history.collection.js.map +1 -1
  15. package/collections/email-verified.collection.js +1 -50
  16. package/collections/email-verified.collection.js.map +1 -1
  17. package/collections/file.collection.js +1 -62
  18. package/collections/file.collection.js.map +1 -1
  19. package/collections/flag.collection.js +1 -44
  20. package/collections/flag.collection.js.map +1 -1
  21. package/collections/log-method-latency.collection.js +1 -53
  22. package/collections/log-method-latency.collection.js.map +1 -1
  23. package/collections/log-subscription.collection.js +1 -57
  24. package/collections/log-subscription.collection.js.map +1 -1
  25. package/collections/log.collection.js +1 -72
  26. package/collections/log.collection.js.map +1 -1
  27. package/collections/logged-in-users.collection.js +1 -58
  28. package/collections/logged-in-users.collection.js.map +1 -1
  29. package/collections/method-call.collection.js +1 -51
  30. package/collections/method-call.collection.js.map +1 -1
  31. package/collections/method-response.collection.js +1 -55
  32. package/collections/method-response.collection.js.map +1 -1
  33. package/collections/monitor-cpu.collection.js +1 -57
  34. package/collections/monitor-cpu.collection.js.map +1 -1
  35. package/collections/monitor-https-inbound.collection.js +1 -66
  36. package/collections/monitor-https-inbound.collection.js.map +1 -1
  37. package/collections/monitor-https-outbound.collection.js +1 -74
  38. package/collections/monitor-https-outbound.collection.js.map +1 -1
  39. package/collections/monitor-memory.collection.js +1 -68
  40. package/collections/monitor-memory.collection.js.map +1 -1
  41. package/collections/monitor-mongo.collection.js +1 -62
  42. package/collections/monitor-mongo.collection.js.map +1 -1
  43. package/collections/notification.collection.js +1 -40
  44. package/collections/notification.collection.js.map +1 -1
  45. package/collections/report-builder-dashboard-builder.collection.js +1 -93
  46. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  47. package/collections/report-builder-library.collection.js +1 -76
  48. package/collections/report-builder-library.collection.js.map +1 -1
  49. package/collections/report-builder-report.collection.js +1 -138
  50. package/collections/report-builder-report.collection.js.map +1 -1
  51. package/collections/user-group.collection.js +1 -79
  52. package/collections/user-group.collection.js.map +1 -1
  53. package/collections/user-guide.collection.js +1 -46
  54. package/collections/user-guide.collection.js.map +1 -1
  55. package/collections/user.collection.js +1 -248
  56. package/collections/user.collection.js.map +1 -1
  57. package/cron/cron.js +1 -161
  58. package/cron/cron.js.map +1 -1
  59. package/fixtures/cron-jobs.js +1 -72
  60. package/fixtures/cron-jobs.js.map +1 -1
  61. package/fixtures/init.js +1 -62
  62. package/fixtures/init.js.map +1 -1
  63. package/http/auth.js +1 -697
  64. package/http/auth.js.map +1 -1
  65. package/http/health.js +1 -10
  66. package/http/health.js.map +1 -1
  67. package/http/home.js +1 -64
  68. package/http/home.js.map +1 -1
  69. package/index.js +1 -123
  70. package/index.js.map +1 -1
  71. package/managers/cron.manager.js +1 -205
  72. package/managers/cron.manager.js.map +1 -1
  73. package/managers/method.manager.js +1 -599
  74. package/managers/method.manager.js.map +1 -1
  75. package/managers/mongo.manager.js +1 -1682
  76. package/managers/mongo.manager.js.map +1 -1
  77. package/managers/monitor.manager.js +1 -334
  78. package/managers/monitor.manager.js.map +1 -1
  79. package/managers/subscription.manager.js +1 -867
  80. package/managers/subscription.manager.js.map +1 -1
  81. package/managers/subscription.performance.js +1 -100
  82. package/managers/subscription.performance.js.map +1 -1
  83. package/methods/accounts.js +1 -224
  84. package/methods/accounts.js.map +1 -1
  85. package/methods/aws.js +1 -449
  86. package/methods/aws.js.map +1 -1
  87. package/methods/cloudconvert.js +1 -214
  88. package/methods/cloudconvert.js.map +1 -1
  89. package/methods/collections.js +1 -526
  90. package/methods/collections.js.map +1 -1
  91. package/methods/counters.js +1 -121
  92. package/methods/counters.js.map +1 -1
  93. package/methods/cron-jobs.js +1 -1284
  94. package/methods/cron-jobs.js.map +1 -1
  95. package/methods/flags.js +1 -8
  96. package/methods/flags.js.map +1 -1
  97. package/methods/logs.js +1 -370
  98. package/methods/logs.js.map +1 -1
  99. package/methods/monitor.js +1 -384
  100. package/methods/monitor.js.map +1 -1
  101. package/methods/pdf.js +1 -685
  102. package/methods/pdf.js.map +1 -1
  103. package/methods/report-builder.js +1 -826
  104. package/methods/report-builder.js.map +1 -1
  105. package/methods/support.js +1 -263
  106. package/methods/support.js.map +1 -1
  107. package/models/app-status.model.js +1 -3
  108. package/models/app-status.model.js.map +1 -1
  109. package/models/app-version.model.js +1 -3
  110. package/models/app-version.model.js.map +1 -1
  111. package/models/billing-logged-in-users.model.js +1 -3
  112. package/models/billing-logged-in-users.model.js.map +1 -1
  113. package/models/collection-document.model.js +1 -3
  114. package/models/collection-document.model.js.map +1 -1
  115. package/models/counter.model.js +1 -3
  116. package/models/counter.model.js.map +1 -1
  117. package/models/cron-job-history.model.js +1 -3
  118. package/models/cron-job-history.model.js.map +1 -1
  119. package/models/cron-job.model.js +1 -3
  120. package/models/cron-job.model.js.map +1 -1
  121. package/models/dialog.model.js +1 -3
  122. package/models/dialog.model.js.map +1 -1
  123. package/models/email-history.model.js +1 -3
  124. package/models/email-history.model.js.map +1 -1
  125. package/models/email-verified.model.js +1 -3
  126. package/models/email-verified.model.js.map +1 -1
  127. package/models/file.model.js +1 -3
  128. package/models/file.model.js.map +1 -1
  129. package/models/flag.model.js +1 -3
  130. package/models/flag.model.js.map +1 -1
  131. package/models/log-method-latency.model.js +1 -3
  132. package/models/log-method-latency.model.js.map +1 -1
  133. package/models/log-subscription.model.js +1 -3
  134. package/models/log-subscription.model.js.map +1 -1
  135. package/models/log.model.js +1 -3
  136. package/models/log.model.js.map +1 -1
  137. package/models/logged-in-users.model.js +1 -3
  138. package/models/logged-in-users.model.js.map +1 -1
  139. package/models/method-call.model.js +1 -3
  140. package/models/method-call.model.js.map +1 -1
  141. package/models/method-response.model.js +1 -3
  142. package/models/method-response.model.js.map +1 -1
  143. package/models/method.model.js +1 -3
  144. package/models/method.model.js.map +1 -1
  145. package/models/monitor-cpu.model.js +1 -3
  146. package/models/monitor-cpu.model.js.map +1 -1
  147. package/models/monitor-https-inbound.model.js +1 -3
  148. package/models/monitor-https-inbound.model.js.map +1 -1
  149. package/models/monitor-https-outbound.model.js +1 -3
  150. package/models/monitor-https-outbound.model.js.map +1 -1
  151. package/models/monitor-memory.model.js +1 -3
  152. package/models/monitor-memory.model.js.map +1 -1
  153. package/models/monitor-mongo.model.js +1 -3
  154. package/models/monitor-mongo.model.js.map +1 -1
  155. package/models/notification.model.js +1 -3
  156. package/models/notification.model.js.map +1 -1
  157. package/models/pagination.model.js +1 -23
  158. package/models/pagination.model.js.map +1 -1
  159. package/models/permission.model.js +1 -3
  160. package/models/permission.model.js.map +1 -1
  161. package/models/report-builder-dashboard-builder.model.js +1 -3
  162. package/models/report-builder-dashboard-builder.model.js.map +1 -1
  163. package/models/report-builder-library.model.js +1 -3
  164. package/models/report-builder-library.model.js.map +1 -1
  165. package/models/report-builder-report.model.js +1 -3
  166. package/models/report-builder-report.model.js.map +1 -1
  167. package/models/report-builder.model.js +1 -3
  168. package/models/report-builder.model.js.map +1 -1
  169. package/models/select-data-label.model.js +1 -3
  170. package/models/select-data-label.model.js.map +1 -1
  171. package/models/server-response.model.js +1 -3
  172. package/models/server-response.model.js.map +1 -1
  173. package/models/subscription.model.js +1 -3
  174. package/models/subscription.model.js.map +1 -1
  175. package/models/support-ticket.model.js +1 -3
  176. package/models/support-ticket.model.js.map +1 -1
  177. package/models/user-group.model.js +1 -3
  178. package/models/user-group.model.js.map +1 -1
  179. package/models/user-guide.model.js +1 -3
  180. package/models/user-guide.model.js.map +1 -1
  181. package/models/user.model.js +1 -3
  182. package/models/user.model.js.map +1 -1
  183. package/package.json +2 -1
  184. package/public_api.js +1 -78
  185. package/public_api.js.map +1 -1
  186. package/publications/app-status.js +1 -16
  187. package/publications/app-status.js.map +1 -1
  188. package/publications/app-version.js +1 -16
  189. package/publications/app-version.js.map +1 -1
  190. package/publications/cron-jobs.js +1 -32
  191. package/publications/cron-jobs.js.map +1 -1
  192. package/publications/files.js +1 -36
  193. package/publications/files.js.map +1 -1
  194. package/publications/flags.js +1 -22
  195. package/publications/flags.js.map +1 -1
  196. package/publications/logs.js +1 -90
  197. package/publications/logs.js.map +1 -1
  198. package/publications/method-calls.js +1 -16
  199. package/publications/method-calls.js.map +1 -1
  200. package/publications/method-responses.js +1 -16
  201. package/publications/method-responses.js.map +1 -1
  202. package/publications/notifications.js +1 -16
  203. package/publications/notifications.js.map +1 -1
  204. package/publications/report-builder-dashboard-builders.js +1 -42
  205. package/publications/report-builder-dashboard-builders.js.map +1 -1
  206. package/publications/report-builder-libraries.js +1 -89
  207. package/publications/report-builder-libraries.js.map +1 -1
  208. package/publications/report-builder-reports.js +1 -50
  209. package/publications/report-builder-reports.js.map +1 -1
  210. package/publications/super-admin.js +1 -16
  211. package/publications/super-admin.js.map +1 -1
  212. package/publications/user-groups.js +1 -16
  213. package/publications/user-groups.js.map +1 -1
  214. package/publications/user-guides.js +1 -16
  215. package/publications/user-guides.js.map +1 -1
  216. package/server-app.js +1 -682
  217. package/server-app.js.map +1 -1
  218. package/util/common.js +1 -498
  219. package/util/common.js.map +1 -1
  220. package/util/schema-report-builder.js +1 -452
  221. package/util/schema-report-builder.js.map +1 -1
package/methods/aws.js CHANGED
@@ -1,450 +1,2 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.loadAWSMethods = void 0;
40
- var file_collection_1 = require("../collections/file.collection");
41
- var simpl_schema_1 = require("simpl-schema");
42
- var index_1 = require("../index");
43
- var mongo_manager_1 = require("../managers/mongo.manager");
44
- var request = require('request').defaults({ encoding: null });
45
- var pdfCnt = 1000000;
46
- function loadAWSMethods(methodManager) {
47
- methodManager.methods({
48
- uploadFileAndSave: {
49
- check: new simpl_schema_1.default({
50
- fileName: {
51
- type: String
52
- },
53
- fileData: {
54
- type: String
55
- },
56
- fileSize: {
57
- type: Number
58
- },
59
- fileOrder: {
60
- type: Number
61
- },
62
- fileType: {
63
- type: String
64
- },
65
- compress: {
66
- type: Boolean
67
- }
68
- }),
69
- function: function (fileName, fileData, fileSize, fileOrder, fileType, compress) {
70
- var _this = this;
71
- var that = this;
72
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
73
- var key_1, file_1, newParams;
74
- var _this = this;
75
- return __generator(this, function (_a) {
76
- if (fileName) {
77
- key_1 = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;
78
- if (fileData.split(',')[0].split(':')[1].split(';')[0] === 'application/pdf' && compress) {
79
- file_1 = {
80
- _id: mongo_manager_1.objectIdHexString(),
81
- __v: 0,
82
- name: fileName,
83
- size: fileSize,
84
- key: key_1,
85
- order: fileOrder,
86
- type: fileType
87
- };
88
- file_collection_1.Files.create(file_1).then(function (resFile) {
89
- _this.callMethodInternal('compressBase64AndUploadPDF', file_1._id, fileName, key_1, fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), function (errCompress, resCompress) {
90
- resolve(resFile);
91
- });
92
- }, function (errFile) { return reject(errFile); });
93
- }
94
- else {
95
- 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' };
96
- that.getAWS().upload(newParams, function (err, res) {
97
- if (err) {
98
- reject(err);
99
- }
100
- else if (res) {
101
- file_collection_1.Files.create({
102
- _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key_1, order: fileOrder, type: fileType
103
- }).then(function (resFile) {
104
- resolve(resFile);
105
- }, function (errFile) { return reject(errFile); });
106
- }
107
- });
108
- }
109
- }
110
- return [2 /*return*/];
111
- });
112
- }); });
113
- }
114
- },
115
- uploadNonPDFFileAndSave: {
116
- check: new simpl_schema_1.default({
117
- fileName: {
118
- type: String
119
- },
120
- fileData: {
121
- type: String
122
- },
123
- fileSize: {
124
- type: Number
125
- },
126
- fileOrder: {
127
- type: Number
128
- },
129
- fileType: {
130
- type: String
131
- }
132
- }),
133
- function: function (fileName, fileData, fileSize, fileOrder, fileType) {
134
- var _this = this;
135
- return new Promise(function (resolve, reject) {
136
- if (fileName) {
137
- var key_2 = 'uploads/' + Date.now() + '-' + fileName;
138
- var newParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: key_2, Body: Buffer.from(fileData), ACL: 'private', ContentType: 'application/gzip', ContentDisposition: 'inline' };
139
- _this.getAWS().upload(newParams, function (err, res) {
140
- if (err) {
141
- reject(err);
142
- }
143
- else if (res) {
144
- file_collection_1.Files.create({
145
- _id: mongo_manager_1.objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key_2, order: fileOrder, type: fileType
146
- }).then(function (resFile) {
147
- resolve(resFile);
148
- }, function (errFile) { return reject(errFile); });
149
- }
150
- });
151
- }
152
- });
153
- }
154
- },
155
- deleteFiles: {
156
- check: new simpl_schema_1.default({
157
- keys: {
158
- type: Array
159
- },
160
- 'keys.$': {
161
- type: String
162
- }
163
- }),
164
- function: function (keys) {
165
- var _this = this;
166
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
167
- var files, deleteCnt;
168
- var _this = this;
169
- return __generator(this, function (_a) {
170
- switch (_a.label) {
171
- case 0: return [4 /*yield*/, file_collection_1.Files.find({ key: { $in: keys } })];
172
- case 1:
173
- files = _a.sent();
174
- deleteCnt = files.length;
175
- files.forEach(function (file) {
176
- file_collection_1.Files.deleteOne({ _id: file._id });
177
- var delParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: file.key };
178
- _this.getAWS().deleteObject(delParams, function (err, res) {
179
- if (err) {
180
- reject(err);
181
- }
182
- else {
183
- deleteCnt--;
184
- if (!deleteCnt) {
185
- resolve(files.length);
186
- }
187
- }
188
- });
189
- });
190
- return [2 /*return*/];
191
- }
192
- });
193
- }); });
194
- }
195
- },
196
- deleteFile: {
197
- check: new simpl_schema_1.default({
198
- key: {
199
- type: String
200
- }
201
- }),
202
- function: function (key) {
203
- var _this = this;
204
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
205
- var file, delParams;
206
- return __generator(this, function (_a) {
207
- switch (_a.label) {
208
- case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ key: key })];
209
- case 1:
210
- file = _a.sent();
211
- if (file) {
212
- file_collection_1.Files.deleteOne({ _id: file._id });
213
- }
214
- delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: key };
215
- this.getAWS().deleteObject(delParams, function (err, res) {
216
- resolve(res);
217
- });
218
- return [2 /*return*/];
219
- }
220
- });
221
- }); });
222
- }
223
- },
224
- deleteFileWithId: {
225
- check: new simpl_schema_1.default({
226
- id_file: {
227
- type: String
228
- }
229
- }),
230
- function: function (id_file) {
231
- var _this = this;
232
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
233
- var file, delParams;
234
- return __generator(this, function (_a) {
235
- switch (_a.label) {
236
- case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
237
- case 1:
238
- file = _a.sent();
239
- if (!file) {
240
- reject('Could not find file');
241
- }
242
- delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: file.key };
243
- this.getAWS().deleteObject(delParams, function (err, res) {
244
- if (err) {
245
- reject(err);
246
- }
247
- else {
248
- resolve(res);
249
- }
250
- });
251
- file_collection_1.Files.deleteOne({ _id: file._id });
252
- return [2 /*return*/];
253
- }
254
- });
255
- }); });
256
- }
257
- },
258
- getSignedUrlsAndFilesWithId: {
259
- check: new simpl_schema_1.default({
260
- ids: {
261
- type: Array
262
- },
263
- 'ids.$': {
264
- type: String
265
- },
266
- expires: {
267
- type: Number
268
- }
269
- }),
270
- function: function (ids, expires) {
271
- var _this = this;
272
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
273
- var res, fileArray, files;
274
- var _this = this;
275
- return __generator(this, function (_a) {
276
- switch (_a.label) {
277
- case 0:
278
- res = [];
279
- fileArray = [];
280
- return [4 /*yield*/, file_collection_1.Files.find({ _id: { $in: ids } })];
281
- case 1:
282
- files = _a.sent();
283
- files.forEach(function (file) {
284
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires };
285
- res.push(_this.getAWS().getSignedUrl('getObject', params));
286
- });
287
- resolve({ res: res, fileArray: files.map(function (a) { return a.name; }) });
288
- return [2 /*return*/];
289
- }
290
- });
291
- }); });
292
- }
293
- },
294
- getSignedUrlWithId: {
295
- check: new simpl_schema_1.default({
296
- id_file: {
297
- type: String
298
- },
299
- expires: {
300
- type: Number
301
- }
302
- }),
303
- function: function (id_file, expires) {
304
- var _this = this;
305
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
306
- var file, params;
307
- return __generator(this, function (_a) {
308
- switch (_a.label) {
309
- case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
310
- case 1:
311
- file = _a.sent();
312
- params = { Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires };
313
- this.getAWS().getSignedUrl('getObject', params, function (err, res) {
314
- if (err) {
315
- reject(err);
316
- }
317
- else {
318
- resolve(res);
319
- }
320
- });
321
- return [2 /*return*/];
322
- }
323
- });
324
- }); });
325
- }
326
- },
327
- getSignedUrl: {
328
- check: new simpl_schema_1.default({
329
- key: {
330
- type: String
331
- },
332
- expires: {
333
- type: Number
334
- }
335
- }),
336
- function: function (key, expires) {
337
- var _this = this;
338
- return new Promise(function (resolve, reject) {
339
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
340
- _this.getAWS().getSignedUrl('getObject', params, function (err, res) {
341
- if (err) {
342
- reject(err);
343
- }
344
- else {
345
- resolve(res);
346
- }
347
- });
348
- });
349
- }
350
- },
351
- getSignedUrls: {
352
- check: new simpl_schema_1.default({
353
- keys: {
354
- type: Array
355
- },
356
- 'keys.$': {
357
- type: String
358
- },
359
- expires: {
360
- type: Number
361
- }
362
- }),
363
- function: function (keys, expires) {
364
- var _this = this;
365
- return new Promise(function (resolve, reject) {
366
- var res = [];
367
- keys.forEach(function (key) {
368
- var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
369
- res.push(_this.getAWS().getSignedUrl('getObject', params));
370
- });
371
- resolve(res);
372
- });
373
- }
374
- },
375
- getDataURIfromURL: {
376
- check: new simpl_schema_1.default({
377
- url: {
378
- type: String
379
- }
380
- }),
381
- function: function (url) {
382
- return new Promise(function (resolve, reject) {
383
- request.get(url, function (error, response, body) {
384
- if (!error && response.statusCode === 200) {
385
- var data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');
386
- resolve(data);
387
- }
388
- else {
389
- reject(error);
390
- }
391
- });
392
- });
393
- }
394
- },
395
- emailFile: {
396
- check: new simpl_schema_1.default({
397
- id_file: {
398
- type: String
399
- },
400
- email: {
401
- type: String
402
- },
403
- additional_message: {
404
- type: String
405
- }
406
- }),
407
- function: function (id_file, email, additional_message) {
408
- var _this = this;
409
- var that = this;
410
- return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
411
- var file;
412
- return __generator(this, function (_a) {
413
- switch (_a.label) {
414
- case 0: return [4 /*yield*/, file_collection_1.Files.findById(id_file)];
415
- case 1:
416
- file = _a.sent();
417
- if (!file) {
418
- reject('Could not find file');
419
- return [2 /*return*/];
420
- }
421
- that.callMethodInternal.call(that, 'getSignedUrl', file.key, 259200, function (errPDF, resPDF) {
422
- if (resPDF) {
423
- if (file.size < 5000000) {
424
- var emailMessage = 'Attached is the file requested for email.\n' + (additional_message !== '' ? '\nAdditional Mesasge:\n' + additional_message + '\n' : '');
425
- that.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{
426
- filename: file.name,
427
- path: resPDF
428
- }]);
429
- }
430
- else {
431
- var emailMessage = 'Please click the link to the requested file.\n' + (additional_message !== '' ? '\nAdditional Mesasge:\n' + additional_message + '\n' : '');
432
- that.sendEmail(email, index_1.ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '');
433
- }
434
- resolve(true);
435
- }
436
- else {
437
- reject('Could not get file URL');
438
- }
439
- });
440
- return [2 /*return*/];
441
- }
442
- });
443
- }); });
444
- }
445
- }
446
- });
447
- }
448
- exports.loadAWSMethods = loadAWSMethods;
449
-
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,t,n,i){return new(n||(n=Promise))((function(r,o){function fulfilled(e){try{step(i.next(e))}catch(e){o(e)}}function rejected(e){try{step(i.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):function adopt(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(fulfilled,rejected)}step((i=i.apply(e,t||[])).next())}))},__generator=this&&this.__generator||function(e,t){var n,i,r,o,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:verb(0),throw:verb(1),return:verb(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function verb(o){return function(a){return function step(o){if(n)throw new TypeError("Generator is already executing.");for(;l;)try{if(n=1,i&&(r=2&o[0]?i.return:o[0]?i.throw||((r=i.return)&&r.call(i),0):i.next)&&!(r=r.call(i,o[1])).done)return r;switch(i=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return l.label++,{value:o[1],done:!1};case 5:l.label++,i=o[1],o=[0];continue;case 7:o=l.ops.pop(),l.trys.pop();continue;default:if(!(r=l.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){l=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){l.label=o[1];break}if(6===o[0]&&l.label<r[1]){l.label=r[1],r=o;break}if(r&&l.label<r[2]){l.label=r[2],l.ops.push(o);break}r[2]&&l.ops.pop(),l.trys.pop();continue}o=t.call(e,l)}catch(e){o=[6,e],i=0}finally{n=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadAWSMethods=void 0;var file_collection_1=require("../collections/file.collection"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),mongo_manager_1=require("../managers/mongo.manager"),request=require("request").defaults({encoding:null}),pdfCnt=1e6;function loadAWSMethods(e){e.methods({uploadFileAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String},compress:{type:Boolean}}),function:function(e,t,n,i,r,o){var l=this,a=this;return new Promise((function(c,s){return __awaiter(l,void 0,void 0,(function(){var l,u,f,d=this;return __generator(this,(function(p){return e&&(l="uploads/"+Date.now()+"-"+pdfCnt+++"-"+e,"application/pdf"===t.split(",")[0].split(":")[1].split(";")[0]&&o?(u={_id:mongo_manager_1.objectIdHexString(),__v:0,name:e,size:n,key:l,order:i,type:r},file_collection_1.Files.create(u).then((function(n){d.callMethodInternal("compressBase64AndUploadPDF",u._id,e,l,t.replace("data:"+t.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),(function(e,t){c(n)}))}),(function(e){return s(e)}))):(f={Bucket:a.serverConfig.AWSBUCKET,Key:l,Body:Buffer.from(t.replace("data:"+t.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),"base64"),ACL:"private",ContentType:t.split(",")[0].split(":")[1].split(";")[0],ContentDisposition:"inline"},a.getAWS().upload(f,(function(t,o){t?s(t):o&&file_collection_1.Files.create({_id:mongo_manager_1.objectIdHexString(),__v:0,name:e,size:n,key:l,order:i,type:r}).then((function(e){c(e)}),(function(e){return s(e)}))})))),[2]}))}))}))}},uploadNonPDFFileAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(e,t,n,i,r){var o=this;return new Promise((function(l,a){if(e){var c="uploads/"+Date.now()+"-"+e,s={Bucket:o.serverConfig.AWSBUCKET,Key:c,Body:Buffer.from(t),ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"};o.getAWS().upload(s,(function(t,o){t?a(t):o&&file_collection_1.Files.create({_id:mongo_manager_1.objectIdHexString(),__v:0,name:e,size:n,key:c,order:i,type:r}).then((function(e){l(e)}),(function(e){return a(e)}))}))}}))}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(e){var t=this;return new Promise((function(n,i){return __awaiter(t,void 0,void 0,(function(){var t,r,o=this;return __generator(this,(function(l){switch(l.label){case 0:return[4,file_collection_1.Files.find({key:{$in:e}})];case 1:return t=l.sent(),r=t.length,t.forEach((function(e){file_collection_1.Files.deleteOne({_id:e._id});var l={Bucket:o.serverConfig.AWSBUCKET,Key:e.key};o.getAWS().deleteObject(l,(function(e,o){e?i(e):--r||n(t.length)}))})),[2]}}))}))}))}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(e){var t=this;return new Promise((function(n,i){return __awaiter(t,void 0,void 0,(function(){var t,i;return __generator(this,(function(r){switch(r.label){case 0:return[4,file_collection_1.Files.findOne({key:e})];case 1:return(t=r.sent())&&file_collection_1.Files.deleteOne({_id:t._id}),i={Bucket:this.serverConfig.AWSBUCKET,Key:e},this.getAWS().deleteObject(i,(function(e,t){n(t)})),[2]}}))}))}))}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(e){var t=this;return new Promise((function(n,i){return __awaiter(t,void 0,void 0,(function(){var t,r;return __generator(this,(function(o){switch(o.label){case 0:return[4,file_collection_1.Files.findOne({_id:e})];case 1:return(t=o.sent())||i("Could not find file"),r={Bucket:this.serverConfig.AWSBUCKET,Key:t.key},this.getAWS().deleteObject(r,(function(e,t){e?i(e):n(t)})),file_collection_1.Files.deleteOne({_id:t._id}),[2]}}))}))}))}},getSignedUrlsAndFilesWithId:{check:new simpl_schema_1.default({ids:{type:Array},"ids.$":{type:String},expires:{type:Number}}),function:function(e,t){var n=this;return new Promise((function(i,r){return __awaiter(n,void 0,void 0,(function(){var n,r,o=this;return __generator(this,(function(l){switch(l.label){case 0:return n=[],[],[4,file_collection_1.Files.find({_id:{$in:e}})];case 1:return(r=l.sent()).forEach((function(e){var i={Bucket:o.serverConfig.AWSBUCKET,Key:e.key,Expires:t};n.push(o.getAWS().getSignedUrl("getObject",i))})),i({res:n,fileArray:r.map((function(e){return e.name}))}),[2]}}))}))}))}},getSignedUrlWithId:{check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(e,t){var n=this;return new Promise((function(i,r){return __awaiter(n,void 0,void 0,(function(){var n,o;return __generator(this,(function(l){switch(l.label){case 0:return[4,file_collection_1.Files.findOne({_id:e})];case 1:return n=l.sent(),o={Bucket:this.serverConfig.AWSBUCKET,Key:n.key,Expires:t},this.getAWS().getSignedUrl("getObject",o,(function(e,t){e?r(e):i(t)})),[2]}}))}))}))}},getSignedUrl:{check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(e,t){var n=this;return new Promise((function(i,r){var o={Bucket:n.serverConfig.AWSBUCKET,Key:e,Expires:t};n.getAWS().getSignedUrl("getObject",o,(function(e,t){e?r(e):i(t)}))}))}},getSignedUrls:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(e,t){var n=this;return new Promise((function(i,r){var o=[];e.forEach((function(e){var i={Bucket:n.serverConfig.AWSBUCKET,Key:e,Expires:t};o.push(n.getAWS().getSignedUrl("getObject",i))})),i(o)}))}},getDataURIfromURL:{check:new simpl_schema_1.default({url:{type:String}}),function:function(e){return new Promise((function(t,n){request.get(e,(function(e,i,r){if(e||200!==i.statusCode)n(e);else{var o="data:"+i.headers["content-type"]+";base64,"+new Buffer(r).toString("base64");t(o)}}))}))}},emailFile:{check:new simpl_schema_1.default({id_file:{type:String},email:{type:String},additional_message:{type:String}}),function:function(e,t,n){var i=this,r=this;return new Promise((function(o,l){return __awaiter(i,void 0,void 0,(function(){var i;return __generator(this,(function(a){switch(a.label){case 0:return[4,file_collection_1.Files.findById(e)];case 1:return(i=a.sent())?(r.callMethodInternal.call(r,"getSignedUrl",i.key,259200,(function(e,a){if(a){if(i.size<5e6){var c="Attached is the file requested for email.\n"+(""!==n?"\nAdditional Mesasge:\n"+n+"\n":"");r.sendEmail(t,index_1.ResolveIOServer.getClientName()+" File - "+i.name,c,"",[{filename:i.name,path:a}])}else{c="Please click the link to the requested file.\n"+(""!==n?"\nAdditional Mesasge:\n"+n+"\n":"");r.sendEmail(t,index_1.ResolveIOServer.getClientName()+" File - "+i.name,c+a,"")}o(!0)}else l("Could not get file URL")})),[2]):(l("Could not find file"),[2])}}))}))}))}}})}exports.loadAWSMethods=loadAWSMethods;
450
2
  //# sourceMappingURL=aws.js.map
@@ -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 });\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\tif (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\telse {\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\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":["file_collection_1","require","simpl_schema_1","index_1","mongo_manager_1","request","defaults","encoding","pdfCnt","loadAWSMethods","methodManager","methods","uploadFileAndSave","check","default","fileName","type","String","fileData","fileSize","Number","fileOrder","fileType","compress","Boolean","function","_this","this","that","Promise","resolve","reject","__awaiter","key_1","Date","now","split","file_1","_id","objectIdHexString","__v","name","size","key","order","Files","create","then","resFile","callMethodInternal","replace","errCompress","resCompress","errFile","newParams","Bucket","serverConfig","AWSBUCKET","Key","Body","Buffer","from","ACL","ContentType","ContentDisposition","getAWS","upload","err","res","uploadNonPDFFileAndSave","key_2","deleteFiles","keys","Array","keys.$","find","$in","files","_a","sent","deleteCnt","length","forEach","file","deleteOne","delParams","deleteObject","deleteFile","findOne","deleteFileWithId","id_file","getSignedUrlsAndFilesWithId","ids","ids.$","expires","params","Expires","push","getSignedUrl","fileArray","map","a","getSignedUrlWithId","getSignedUrls","getDataURIfromURL","url","get","error","response","body","statusCode","data","headers","toString","emailFile","email","additional_message","findById","call","errPDF","resPDF","emailMessage","sendEmail","ResolveIOServer","getClientName","filename","path","exports"],"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 });\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\tif (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\telse {\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\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}"]}