@resolveio/server-lib 9.2.19 → 9.2.21

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 +55 -1
  2. package/client-server-app.js.map +1 -1
  3. package/collections/app-status.collection.js +40 -1
  4. package/collections/app-status.collection.js.map +1 -1
  5. package/collections/app-version.collection.js +40 -1
  6. package/collections/app-version.collection.js.map +1 -1
  7. package/collections/counter.collection.js +43 -1
  8. package/collections/counter.collection.js.map +1 -1
  9. package/collections/cron-job-history.collection.js +71 -1
  10. package/collections/cron-job-history.collection.js.map +1 -1
  11. package/collections/cron-job.collection.js +74 -1
  12. package/collections/cron-job.collection.js.map +1 -1
  13. package/collections/email-history.collection.js +55 -1
  14. package/collections/email-history.collection.js.map +1 -1
  15. package/collections/email-verified.collection.js +50 -1
  16. package/collections/email-verified.collection.js.map +1 -1
  17. package/collections/file.collection.js +62 -1
  18. package/collections/file.collection.js.map +1 -1
  19. package/collections/flag.collection.js +44 -1
  20. package/collections/flag.collection.js.map +1 -1
  21. package/collections/log-method-latency.collection.js +53 -1
  22. package/collections/log-method-latency.collection.js.map +1 -1
  23. package/collections/log-subscription.collection.js +57 -1
  24. package/collections/log-subscription.collection.js.map +1 -1
  25. package/collections/log.collection.js +72 -1
  26. package/collections/log.collection.js.map +1 -1
  27. package/collections/logged-in-users.collection.js +58 -1
  28. package/collections/logged-in-users.collection.js.map +1 -1
  29. package/collections/method-call.collection.js +51 -1
  30. package/collections/method-call.collection.js.map +1 -1
  31. package/collections/method-response.collection.js +55 -1
  32. package/collections/method-response.collection.js.map +1 -1
  33. package/collections/monitor-cpu.collection.js +57 -1
  34. package/collections/monitor-cpu.collection.js.map +1 -1
  35. package/collections/monitor-https-inbound.collection.js +66 -1
  36. package/collections/monitor-https-inbound.collection.js.map +1 -1
  37. package/collections/monitor-https-outbound.collection.js +74 -1
  38. package/collections/monitor-https-outbound.collection.js.map +1 -1
  39. package/collections/monitor-memory.collection.js +68 -1
  40. package/collections/monitor-memory.collection.js.map +1 -1
  41. package/collections/monitor-mongo.collection.js +62 -1
  42. package/collections/monitor-mongo.collection.js.map +1 -1
  43. package/collections/notification.collection.js +40 -1
  44. package/collections/notification.collection.js.map +1 -1
  45. package/collections/report-builder-dashboard-builder.collection.js +93 -1
  46. package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
  47. package/collections/report-builder-library.collection.js +76 -1
  48. package/collections/report-builder-library.collection.js.map +1 -1
  49. package/collections/report-builder-report.collection.js +138 -1
  50. package/collections/report-builder-report.collection.js.map +1 -1
  51. package/collections/user-group.collection.js +79 -1
  52. package/collections/user-group.collection.js.map +1 -1
  53. package/collections/user-guide.collection.js +46 -1
  54. package/collections/user-guide.collection.js.map +1 -1
  55. package/collections/user.collection.js +248 -1
  56. package/collections/user.collection.js.map +1 -1
  57. package/cron/cron.js +161 -1
  58. package/cron/cron.js.map +1 -1
  59. package/fixtures/cron-jobs.js +72 -1
  60. package/fixtures/cron-jobs.js.map +1 -1
  61. package/fixtures/init.js +62 -1
  62. package/fixtures/init.js.map +1 -1
  63. package/http/auth.js +697 -1
  64. package/http/auth.js.map +1 -1
  65. package/http/health.js +10 -1
  66. package/http/health.js.map +1 -1
  67. package/http/home.js +64 -1
  68. package/http/home.js.map +1 -1
  69. package/index.js +123 -1
  70. package/index.js.map +1 -1
  71. package/managers/cron.manager.js +205 -1
  72. package/managers/cron.manager.js.map +1 -1
  73. package/managers/method.manager.js +599 -1
  74. package/managers/method.manager.js.map +1 -1
  75. package/managers/mongo.manager.js +1777 -1
  76. package/managers/mongo.manager.js.map +1 -1
  77. package/managers/monitor.manager.js +334 -1
  78. package/managers/monitor.manager.js.map +1 -1
  79. package/managers/subscription.manager.js +867 -1
  80. package/managers/subscription.manager.js.map +1 -1
  81. package/managers/subscription.performance.js +100 -1
  82. package/managers/subscription.performance.js.map +1 -1
  83. package/methods/accounts.js +224 -1
  84. package/methods/accounts.js.map +1 -1
  85. package/methods/aws.js +449 -1
  86. package/methods/aws.js.map +1 -1
  87. package/methods/cloudconvert.js +214 -1
  88. package/methods/cloudconvert.js.map +1 -1
  89. package/methods/collections.js +526 -1
  90. package/methods/collections.js.map +1 -1
  91. package/methods/counters.js +121 -1
  92. package/methods/counters.js.map +1 -1
  93. package/methods/cron-jobs.js +1284 -1
  94. package/methods/cron-jobs.js.map +1 -1
  95. package/methods/flags.js +8 -1
  96. package/methods/flags.js.map +1 -1
  97. package/methods/logs.js +370 -1
  98. package/methods/logs.js.map +1 -1
  99. package/methods/monitor.js +384 -1
  100. package/methods/monitor.js.map +1 -1
  101. package/methods/pdf.js +685 -1
  102. package/methods/pdf.js.map +1 -1
  103. package/methods/report-builder.js +826 -1
  104. package/methods/report-builder.js.map +1 -1
  105. package/methods/support.js +263 -1
  106. package/methods/support.js.map +1 -1
  107. package/models/app-status.model.js +3 -1
  108. package/models/app-status.model.js.map +1 -1
  109. package/models/app-version.model.js +3 -1
  110. package/models/app-version.model.js.map +1 -1
  111. package/models/billing-logged-in-users.model.js +3 -1
  112. package/models/billing-logged-in-users.model.js.map +1 -1
  113. package/models/collection-document.model.js +3 -1
  114. package/models/collection-document.model.js.map +1 -1
  115. package/models/counter.model.js +3 -1
  116. package/models/counter.model.js.map +1 -1
  117. package/models/cron-job-history.model.js +3 -1
  118. package/models/cron-job-history.model.js.map +1 -1
  119. package/models/cron-job.model.js +3 -1
  120. package/models/cron-job.model.js.map +1 -1
  121. package/models/dialog.model.js +3 -1
  122. package/models/dialog.model.js.map +1 -1
  123. package/models/email-history.model.js +3 -1
  124. package/models/email-history.model.js.map +1 -1
  125. package/models/email-verified.model.js +3 -1
  126. package/models/email-verified.model.js.map +1 -1
  127. package/models/file.model.js +3 -1
  128. package/models/file.model.js.map +1 -1
  129. package/models/flag.model.js +3 -1
  130. package/models/flag.model.js.map +1 -1
  131. package/models/log-method-latency.model.js +3 -1
  132. package/models/log-method-latency.model.js.map +1 -1
  133. package/models/log-subscription.model.js +3 -1
  134. package/models/log-subscription.model.js.map +1 -1
  135. package/models/log.model.js +3 -1
  136. package/models/log.model.js.map +1 -1
  137. package/models/logged-in-users.model.js +3 -1
  138. package/models/logged-in-users.model.js.map +1 -1
  139. package/models/method-call.model.js +3 -1
  140. package/models/method-call.model.js.map +1 -1
  141. package/models/method-response.model.js +3 -1
  142. package/models/method-response.model.js.map +1 -1
  143. package/models/method.model.js +3 -1
  144. package/models/method.model.js.map +1 -1
  145. package/models/monitor-cpu.model.js +3 -1
  146. package/models/monitor-cpu.model.js.map +1 -1
  147. package/models/monitor-https-inbound.model.js +3 -1
  148. package/models/monitor-https-inbound.model.js.map +1 -1
  149. package/models/monitor-https-outbound.model.js +3 -1
  150. package/models/monitor-https-outbound.model.js.map +1 -1
  151. package/models/monitor-memory.model.js +3 -1
  152. package/models/monitor-memory.model.js.map +1 -1
  153. package/models/monitor-mongo.model.js +3 -1
  154. package/models/monitor-mongo.model.js.map +1 -1
  155. package/models/notification.model.js +3 -1
  156. package/models/notification.model.js.map +1 -1
  157. package/models/pagination.model.js +23 -1
  158. package/models/pagination.model.js.map +1 -1
  159. package/models/permission.model.js +3 -1
  160. package/models/permission.model.js.map +1 -1
  161. package/models/report-builder-dashboard-builder.model.js +3 -1
  162. package/models/report-builder-dashboard-builder.model.js.map +1 -1
  163. package/models/report-builder-library.model.js +3 -1
  164. package/models/report-builder-library.model.js.map +1 -1
  165. package/models/report-builder-report.model.js +3 -1
  166. package/models/report-builder-report.model.js.map +1 -1
  167. package/models/report-builder.model.js +3 -1
  168. package/models/report-builder.model.js.map +1 -1
  169. package/models/select-data-label.model.js +3 -1
  170. package/models/select-data-label.model.js.map +1 -1
  171. package/models/server-response.model.js +3 -1
  172. package/models/server-response.model.js.map +1 -1
  173. package/models/subscription.model.js +3 -1
  174. package/models/subscription.model.js.map +1 -1
  175. package/models/support-ticket.model.js +3 -1
  176. package/models/support-ticket.model.js.map +1 -1
  177. package/models/user-group.model.js +3 -1
  178. package/models/user-group.model.js.map +1 -1
  179. package/models/user-guide.model.js +3 -1
  180. package/models/user-guide.model.js.map +1 -1
  181. package/models/user.model.js +3 -1
  182. package/models/user.model.js.map +1 -1
  183. package/package.json +1 -2
  184. package/public_api.js +78 -1
  185. package/public_api.js.map +1 -1
  186. package/publications/app-status.js +16 -1
  187. package/publications/app-status.js.map +1 -1
  188. package/publications/app-version.js +16 -1
  189. package/publications/app-version.js.map +1 -1
  190. package/publications/cron-jobs.js +32 -1
  191. package/publications/cron-jobs.js.map +1 -1
  192. package/publications/files.js +36 -1
  193. package/publications/files.js.map +1 -1
  194. package/publications/flags.js +22 -1
  195. package/publications/flags.js.map +1 -1
  196. package/publications/logs.js +90 -1
  197. package/publications/logs.js.map +1 -1
  198. package/publications/method-calls.js +16 -1
  199. package/publications/method-calls.js.map +1 -1
  200. package/publications/method-responses.js +16 -1
  201. package/publications/method-responses.js.map +1 -1
  202. package/publications/notifications.js +16 -1
  203. package/publications/notifications.js.map +1 -1
  204. package/publications/report-builder-dashboard-builders.js +42 -1
  205. package/publications/report-builder-dashboard-builders.js.map +1 -1
  206. package/publications/report-builder-libraries.js +89 -1
  207. package/publications/report-builder-libraries.js.map +1 -1
  208. package/publications/report-builder-reports.js +50 -1
  209. package/publications/report-builder-reports.js.map +1 -1
  210. package/publications/super-admin.js +16 -1
  211. package/publications/super-admin.js.map +1 -1
  212. package/publications/user-groups.js +16 -1
  213. package/publications/user-groups.js.map +1 -1
  214. package/publications/user-guides.js +16 -1
  215. package/publications/user-guides.js.map +1 -1
  216. package/server-app.js +682 -1
  217. package/server-app.js.map +1 -1
  218. package/util/common.js +498 -1
  219. package/util/common.js.map +1 -1
  220. package/util/schema-report-builder.js +452 -1
  221. package/util/schema-report-builder.js.map +1 -1
package/methods/aws.js CHANGED
@@ -1,2 +1,450 @@
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;
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
+
2
450
  //# sourceMappingURL=aws.js.map
@@ -1 +1 @@
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}"]}
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}"]}