@resolveio/server-lib 1.0.0-rc4 → 1.0.0-rc5

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 (157) hide show
  1. package/collections/active-subscription.collection.d.ts +8 -0
  2. package/collections/active-subscription.collection.js +68 -2
  3. package/collections/app-status.collection.d.ts +8 -0
  4. package/collections/app-status.collection.js +43 -2
  5. package/collections/app-version.collection.d.ts +8 -0
  6. package/collections/app-version.collection.js +56 -2
  7. package/collections/counter.collection.d.ts +10 -0
  8. package/collections/counter.collection.js +73 -2
  9. package/collections/cron-job-history.collection.d.ts +8 -0
  10. package/collections/cron-job-history.collection.js +86 -2
  11. package/collections/cron-job.collection.d.ts +8 -0
  12. package/collections/cron-job.collection.js +89 -2
  13. package/collections/file.collection.d.ts +10 -0
  14. package/collections/file.collection.js +73 -2
  15. package/collections/flag.collection.d.ts +8 -0
  16. package/collections/flag.collection.js +47 -2
  17. package/collections/log.collection.d.ts +8 -0
  18. package/collections/log.collection.js +64 -2
  19. package/collections/logged-in-users.collection.d.ts +8 -0
  20. package/collections/logged-in-users.collection.js +70 -2
  21. package/collections/method-call.collection.d.ts +7 -0
  22. package/collections/method-call.collection.js +44 -2
  23. package/collections/method-response.collection.d.ts +7 -0
  24. package/collections/method-response.collection.js +48 -2
  25. package/collections/queue-flag.collection.d.ts +8 -0
  26. package/collections/queue-flag.collection.js +41 -2
  27. package/collections/queue-method.collection.d.ts +8 -0
  28. package/collections/queue-method.collection.js +116 -2
  29. package/collections/queue-response.collection.d.ts +8 -0
  30. package/collections/queue-response.collection.js +78 -2
  31. package/collections/support-ticket.collection.d.ts +8 -0
  32. package/collections/support-ticket.collection.js +146 -2
  33. package/collections/user.collection.d.ts +9 -0
  34. package/collections/user.collection.js +108 -2
  35. package/cron/cron.d.ts +6 -0
  36. package/cron/cron.js +160 -2
  37. package/fixtures/cron-jobs.d.ts +2 -0
  38. package/fixtures/cron-jobs.js +72 -2
  39. package/fixtures/init.d.ts +2 -0
  40. package/fixtures/init.js +73 -2
  41. package/http/auth.d.ts +3 -0
  42. package/http/auth.js +472 -2
  43. package/http/health.d.ts +2 -0
  44. package/http/health.js +8 -2
  45. package/index.d.ts +53 -0
  46. package/index.js +123 -2
  47. package/managers/cron.manager.d.ts +17 -0
  48. package/managers/cron.manager.js +193 -2
  49. package/managers/method.manager.d.ts +27 -0
  50. package/managers/method.manager.js +513 -2
  51. package/managers/queue-method.manager.d.ts +14 -0
  52. package/managers/queue-method.manager.js +239 -2
  53. package/managers/subscription.manager.d.ts +27 -0
  54. package/managers/subscription.manager.js +700 -2
  55. package/managers/support.manager.d.ts +18 -0
  56. package/managers/support.manager.js +208 -2
  57. package/methods/accounts.d.ts +3 -0
  58. package/methods/accounts.js +253 -2
  59. package/methods/aws.d.ts +3 -0
  60. package/methods/aws.js +323 -2
  61. package/methods/cloudconvert.d.ts +3 -0
  62. package/methods/cloudconvert.js +37 -2
  63. package/methods/collections.d.ts +3 -0
  64. package/methods/collections.js +738 -2
  65. package/methods/counters.d.ts +3 -0
  66. package/methods/counters.js +404 -2
  67. package/methods/cron-jobs.d.ts +3 -0
  68. package/methods/cron-jobs.js +63 -2
  69. package/methods/flags.d.ts +3 -0
  70. package/methods/flags.js +6 -2
  71. package/methods/logs.d.ts +3 -0
  72. package/methods/logs.js +29 -2
  73. package/methods/pdf.d.ts +3 -0
  74. package/methods/pdf.js +303 -2
  75. package/models/active-subscription.model.d.ts +14 -0
  76. package/models/active-subscription.model.js +2 -2
  77. package/models/app-status.model.d.ts +5 -0
  78. package/models/app-status.model.js +2 -2
  79. package/models/app-version.model.d.ts +5 -0
  80. package/models/app-version.model.js +2 -2
  81. package/models/collection-document.model.d.ts +7 -0
  82. package/models/collection-document.model.js +2 -2
  83. package/models/counter.model.d.ts +6 -0
  84. package/models/counter.model.js +2 -2
  85. package/models/cron-job-history.model.d.ts +13 -0
  86. package/models/cron-job-history.model.js +2 -2
  87. package/models/cron-job.model.d.ts +14 -0
  88. package/models/cron-job.model.js +2 -2
  89. package/models/dialog.model.d.ts +24 -0
  90. package/models/dialog.model.js +2 -2
  91. package/models/file.model.d.ts +10 -0
  92. package/models/file.model.js +2 -2
  93. package/models/flag.model.d.ts +6 -0
  94. package/models/flag.model.js +2 -2
  95. package/models/log.model.d.ts +12 -0
  96. package/models/log.model.js +2 -2
  97. package/models/logged-in-users.model.d.ts +10 -0
  98. package/models/logged-in-users.model.js +2 -2
  99. package/models/method-call.model.d.ts +8 -0
  100. package/models/method-call.model.js +2 -2
  101. package/models/method-response.model.d.ts +9 -0
  102. package/models/method-response.model.js +2 -2
  103. package/models/method.model.d.ts +11 -0
  104. package/models/method.model.js +2 -2
  105. package/models/pagination.model.d.ts +12 -0
  106. package/models/pagination.model.js +20 -2
  107. package/models/permission.model.d.ts +13 -0
  108. package/models/permission.model.js +2 -2
  109. package/models/queue-method.model.d.ts +10 -0
  110. package/models/queue-method.model.js +2 -2
  111. package/models/queue-response.model.d.ts +11 -0
  112. package/models/queue-response.model.js +2 -2
  113. package/models/select-data-label.model.d.ts +10 -0
  114. package/models/select-data-label.model.js +2 -2
  115. package/models/server-response.model.d.ts +6 -0
  116. package/models/server-response.model.js +2 -2
  117. package/models/subscription.model.d.ts +31 -0
  118. package/models/subscription.model.js +2 -2
  119. package/models/support-method.model.d.ts +10 -0
  120. package/models/support-method.model.js +2 -2
  121. package/models/support-ticket.model.d.ts +40 -0
  122. package/models/support-ticket.model.js +2 -2
  123. package/models/user.model.d.ts +15 -0
  124. package/models/user.model.js +2 -2
  125. package/package.json +3 -1
  126. package/publications/app-status.d.ts +3 -0
  127. package/publications/app-status.js +14 -2
  128. package/publications/app-version.d.ts +3 -0
  129. package/publications/app-version.js +14 -2
  130. package/publications/cron-jobs.d.ts +3 -0
  131. package/publications/cron-jobs.js +14 -2
  132. package/publications/files.d.ts +3 -0
  133. package/publications/files.js +71 -2
  134. package/publications/flags.d.ts +3 -0
  135. package/publications/flags.js +23 -2
  136. package/publications/logs.d.ts +3 -0
  137. package/publications/logs.js +26 -2
  138. package/publications/method-calls.d.ts +3 -0
  139. package/publications/method-calls.js +14 -2
  140. package/publications/method-responses.d.ts +3 -0
  141. package/publications/method-responses.js +14 -2
  142. package/publications/super-admin.d.ts +3 -0
  143. package/publications/super-admin.js +21 -2
  144. package/publications/support-tickets.d.ts +2 -0
  145. package/publications/support-tickets.js +118 -2
  146. package/server-app.d.ts +33 -0
  147. package/server-app.js +598 -2
  148. package/support-methods/aws.d.ts +3 -0
  149. package/support-methods/aws.js +276 -2
  150. package/support-methods/collections.d.ts +3 -0
  151. package/support-methods/collections.js +471 -2
  152. package/support-methods/counters.d.ts +3 -0
  153. package/support-methods/counters.js +189 -2
  154. package/support-methods/support.d.ts +3 -0
  155. package/support-methods/support.js +19 -2
  156. package/util/common.d.ts +15 -0
  157. package/util/common.js +334 -2
package/methods/aws.js CHANGED
@@ -1,2 +1,323 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(o,l,c,u){return new(c||(c=Promise))(function(e,t){function n(e){try{r(u.next(e))}catch(e){t(e)}}function i(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new c(function(e){e(t.value)}).then(n,i)}r((u=u.apply(o,l||[])).next())})},__generator=this&&this.__generator||function(n,i){var r,o,l,e,c={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;c;)try{if(r=1,o&&(l=2&t[0]?o.return:t[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,t[1])).done)return l;switch(o=0,l&&(t=[2&t[0],l.value]),t[0]){case 0:case 1:l=t;break;case 4:return c.label++,{value:t[1],done:!1};case 5:c.label++,o=t[1],t=[0];continue;case 7:t=c.ops.pop(),c.trys.pop();continue;default:if(!(l=0<(l=c.trys).length&&l[l.length-1])&&(6===t[0]||2===t[0])){c=0;continue}if(3===t[0]&&(!l||t[1]>l[0]&&t[1]<l[3])){c.label=t[1];break}if(6===t[0]&&c.label<l[1]){c.label=l[1],l=t;break}if(l&&c.label<l[2]){c.label=l[2],c.ops.push(t);break}l[2]&&c.ops.pop(),c.trys.pop();continue}t=i.call(n,c)}catch(e){t=[6,e],o=0}finally{r=l=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var file_collection_1=require("../collections/file.collection"),mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),pdfCnt=1e6;function loadAWSMethods(e){e.methods({uploadFileAndSave:{skipQueue:!0,check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(o,t,l,c,u){var s=this;return new Promise(function(n,i){if(o){var r="uploads/"+Date.now()+"-"+pdfCnt+++"-"+o,e={Bucket:s.serverConfig.AWSBUCKET,Key:r,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"};s.getAWS().upload(e,function(e,t){e?i(e):t&&file_collection_1.Files.create({_id:mongoose_1.Types.ObjectId().toHexString(),name:o,size:l,key:r,order:c,type:u}).then(function(e){n(e)},function(e){return i(e)})})}})}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(l){var e=this;return new Promise(function(r,o){return __awaiter(e,void 0,void 0,function(){var t,n,i=this;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.find({key:{$in:l}})];case 1:return t=e.sent(),n=t.length,t.forEach(function(e){file_collection_1.Files.deleteOne({_id:e._id}).exec();var t={Bucket:i.serverConfig.AWSBUCKET,Key:e.key};i.getAWS().deleteObject(t,function(e,t){e?o(e):--n||r(t)})}),[2]}})})})}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({key:o})];case 1:return(t=e.sent())||r("Could not find file"),file_collection_1.Files.deleteOne({_id:t._id}).exec(),n={Bucket:this.serverConfig.AWSBUCKET,Key:o},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),[2]}})})})}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:o})];case 1:return(t=e.sent())||r("Could not find file"),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),file_collection_1.Files.deleteOne({_id:t._id}).exec(),[2]}})})})}},getSignedUrlWithId:{skipQueue:!0,check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(o,l){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:o})];case 1:return t=e.sent(),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key,Expires:l},this.getAWS().getSignedUrl("getObject",n,function(e,t){e?r(e):i(t)}),[2]}})})})}},getSignedUrl:{skipQueue:!0,check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(t,r){var o=this;return new Promise(function(n,i){var e={Bucket:o.serverConfig.AWSBUCKET,Key:t,Expires:r};o.getAWS().getSignedUrl("getObject",e,function(e,t){e?i(e):n(t)})})}},getSignedUrls:{skipQueue:!0,check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(i,r){var o=this;return new Promise(function(e,t){var n=[];i.forEach(function(e){var t={Bucket:o.serverConfig.AWSBUCKET,Key:e,Expires:r};n.push(o.getAWS().getSignedUrl("getObject",t))}),e(n)})}},emailFile:{skipQueue:!0,check:new simpl_schema_1.default({id_file:{type:String},email:{type:String}}),function:function(t,o){var e=this,l=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findById(t)];case 1:return(n=e.sent())?l.callMethodInternal.call(l,"getSignedUrl",n.key,900,function(e,t){t?(l.sendEmail(o,index_1.default.getClientName()+" File - "+n.name,"Attached is the file requested for email.","",[{filename:n.name,path:t}]),i(!0)):r("Could not get file URL")}):r("Could not find file"),[2]}})})})}}})}exports.loadAWSMethods=loadAWSMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2F3cy50cyJdLCJuYW1lcyI6WyJmaWxlX2NvbGxlY3Rpb25fMSIsInJlcXVpcmUiLCJtb25nb29zZV8xIiwic2ltcGxfc2NoZW1hXzEiLCJpbmRleF8xIiwicGRmQ250IiwibG9hZEFXU01ldGhvZHMiLCJtZXRob2RNYW5hZ2VyIiwibWV0aG9kcyIsInVwbG9hZEZpbGVBbmRTYXZlIiwic2tpcFF1ZXVlIiwiY2hlY2siLCJkZWZhdWx0IiwiZmlsZU5hbWUiLCJ0eXBlIiwiU3RyaW5nIiwiZmlsZURhdGEiLCJmaWxlU2l6ZSIsIk51bWJlciIsImZpbGVPcmRlciIsImZpbGVUeXBlIiwiZnVuY3Rpb24iLCJ0aGF0IiwidGhpcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Iiwia2V5XzEiLCJEYXRlIiwibm93IiwibmV3UGFyYW1zIiwiQnVja2V0Iiwic2VydmVyQ29uZmlnIiwiQVdTQlVDS0VUIiwiS2V5IiwiQm9keSIsIkJ1ZmZlciIsImZyb20iLCJyZXBsYWNlIiwic3BsaXQiLCJBQ0wiLCJDb250ZW50VHlwZSIsIkNvbnRlbnREaXNwb3NpdGlvbiIsImdldEFXUyIsInVwbG9hZCIsImVyciIsInJlcyIsIkZpbGVzIiwiY3JlYXRlIiwiX2lkIiwiVHlwZXMiLCJPYmplY3RJZCIsInRvSGV4U3RyaW5nIiwibmFtZSIsInNpemUiLCJrZXkiLCJvcmRlciIsInRoZW4iLCJyZXNGaWxlIiwiZXJyRmlsZSIsImRlbGV0ZUZpbGVzIiwia2V5cyIsIkFycmF5Iiwia2V5cy4kIiwiX3RoaXMiLCJfX2F3YWl0ZXIiLCJmaW5kIiwiJGluIiwiZmlsZXMiLCJfYSIsInNlbnQiLCJkZWxldGVDbnQiLCJsZW5ndGgiLCJmb3JFYWNoIiwiZmlsZSIsImRlbGV0ZU9uZSIsImV4ZWMiLCJkZWxQYXJhbXMiLCJkZWxldGVPYmplY3QiLCJkZWxldGVGaWxlIiwiZmluZE9uZSIsImRlbGV0ZUZpbGVXaXRoSWQiLCJpZF9maWxlIiwiZ2V0U2lnbmVkVXJsV2l0aElkIiwiZXhwaXJlcyIsInBhcmFtcyIsIkV4cGlyZXMiLCJnZXRTaWduZWRVcmwiLCJnZXRTaWduZWRVcmxzIiwicHVzaCIsImVtYWlsRmlsZSIsImVtYWlsIiwiZmluZEJ5SWQiLCJjYWxsTWV0aG9kSW50ZXJuYWwiLCJjYWxsIiwiZXJyUERGIiwicmVzUERGIiwic2VuZEVtYWlsIiwiZ2V0Q2xpZW50TmFtZSIsImZpbGVuYW1lIiwicGF0aCIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJvN0NBQ0EsSUFBQUEsa0JBQUFDLFFBQUEsa0NBQ0FDLFdBQUFELFFBQUEsWUFDQUUsZUFBQUYsUUFBQSxnQkFDQUcsUUFBQUgsUUFBQSxZQUVJSSxPQUFTLElBRWIsU0FBZ0JDLGVBQWVDLEdBQzlCQSxFQUFjQyxRQUFRLENBQ3JCQyxrQkFBbUIsQ0FDbEJDLFdBQVcsRUFDWEMsTUFBTyxJQUFJUixlQUFBUyxRQUFhLENBQ3ZCQyxTQUFVLENBQ1RDLEtBQU1DLFFBRVBDLFNBQVUsQ0FDVEYsS0FBTUMsUUFFUEUsU0FBVSxDQUNUSCxLQUFNSSxRQUVQQyxVQUFXLENBQ1ZMLEtBQU1JLFFBRVBFLFNBQVUsQ0FDVE4sS0FBTUMsVUFHUk0sU0FBVSxTQUFTUixFQUFrQkcsRUFBa0JDLEVBQWtCRSxFQUFtQkMsR0FDM0YsSUFBSUUsRUFBT0MsS0FDWCxPQUFPLElBQUlDLFFBQVEsU0FBQ0MsRUFBU0MsR0FDNUIsR0FBSWIsRUFBVSxDQUNiLElBQUljLEVBQU0sV0FBYUMsS0FBS0MsTUFBUSxJQUFPeEIsU0FBWSxJQUFNUSxFQUV6RGlCLEVBQVksQ0FBQ0MsT0FBUVQsRUFBS1UsYUFBYUMsVUFBV0MsSUFBS1AsRUFBS1EsS0FBTUMsT0FBT0MsS0FBS3JCLEVBQVNzQixRQUFRLFFBQVV0QixFQUFTdUIsTUFBTSxLQUFLLEdBQUdBLE1BQU0sS0FBSyxHQUFHQSxNQUFNLEtBQUssR0FBSyxXQUFZLElBQUssVUFBV0MsSUFBSyxVQUFXQyxZQUFhekIsRUFBU3VCLE1BQU0sS0FBSyxHQUFHQSxNQUFNLEtBQUss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QyxRQUFRLFNBQUNDLEVBQVNDLEdBQzVCLElBQUlvQixFQUFNLEdBRVZlLEVBQUtZLFFBQVEsU0FBQWxCLEdBQ1osSUFBSThCLEVBQVMsQ0FBQ3RELE9BQVFpQyxFQUFLaEMsYUFBYUMsVUFBV0MsSUFBS3FCLEVBQUsrQixRQUFTRixHQUV0RXRDLEVBQUkyQyxLQUFLekIsRUFBS3JCLFNBQVM0QyxhQUFhLFlBQWFGLE1BR2xENUQsRUFBUXFCLE9BSVg0QyxVQUFXLENBQ1ZoRixXQUFXLEVBQ1hDLE1BQU8sSUFBSVIsZUFBQVMsUUFBYSxDQUN2QnNFLFFBQVMsQ0FDUnBFLEtBQU1DLFFBRVA0RSxNQUFPLENBQ043RSxLQUFNQyxVQUdSTSxTQUFVLFNBQVM2RCxFQUFpQlMsR0FBMUIsSUFBQTNCLEVBQUF6QyxLQUNMRCxFQUFPQyxLQUVYLE9BQU8sSUFBSUMsUUFBUSxTQUFPQyxFQUFTQyxHQUFNLE9BQUF1QyxVQUFBRCxPQUFBLE9BQUEsRUFBQSw0RUFDN0IsTUFBQSxDQUFBLEVBQU1oRSxrQkFBQStDLE1BQU02QyxTQUFTVixXQUVoQyxPQUZJUixFQUFPTCxFQUFBQyxRQU9YaEQsRUFBS3VFLG1CQUFtQkMsS0FBS3hFLEVBQU0sZUFBZ0JvRCxFQUFLbkIsSUFBSyxJQUFLLFNBQUN3QyxFQUFRQyxHQUN0RUEsR0FDSDFFLEVBQUsyRSxVQUFVTixFQUFPdkYsUUFBQVEsUUFBZ0JzRixnQkFBa0IsV0FBYXhCLEVBQUtyQixLQUFNLDRDQUE2QyxHQUFJLENBQUMsQ0FDakk4QyxTQUFVekIsRUFBS3JCLEtBQ2YrQyxLQUFNSixLQUdQdkUsR0FBUSxJQUdSQyxFQUFPLDRCQWRSQSxFQUFPLHNDQTNPYjJFLFFBQUEvRixlQUFBQSIsImZpbGUiOiJtZXRob2RzL2F3cy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1ldGhvZE1hbmFnZXIgfSBmcm9tICcuLi9tYW5hZ2Vycy9tZXRob2QubWFuYWdlcic7XG5pbXBvcnQgeyBGaWxlcyB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2ZpbGUuY29sbGVjdGlvbic7XG5pbXBvcnQgeyBUeXBlcyB9IGZyb20gJ21vbmdvb3NlJztcbmltcG9ydCBTaW1wbGVTY2hlbWEgZnJvbSAnc2ltcGwtc2NoZW1hJztcbmltcG9ydCBSZXNvbHZlSU9TZXJ2ZXIgZnJvbSAnLi4vaW5kZXgnO1xuXG5sZXQgcGRmQ250ID0gMTAwMDAwMDtcblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBV1NNZXRob2RzKG1ldGhvZE1hbmFnZXI6IE1ldGhvZE1hbmFnZXIpIHtcblx0bWV0aG9kTWFuYWdlci5tZXRob2RzKHtcblx0XHR1cGxvYWRGaWxlQW5kU2F2ZToge1xuXHRcdFx0c2tpcFF1ZXVlOiB0cnVlLFxuXHRcdFx0Y2hlY2s6IG5ldyBTaW1wbGVTY2hlbWEoe1xuXHRcdFx0XHRmaWxlTmFtZToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRmaWxlRGF0YToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRmaWxlU2l6ZToge1xuXHRcdFx0XHRcdHR5cGU6IE51bWJlclxuXHRcdFx0XHR9LFxuXHRcdFx0XHRmaWxlT3JkZXI6IHtcblx0XHRcdFx0XHR0eXBlOiBOdW1iZXJcblx0XHRcdFx0fSxcblx0XHRcdFx0ZmlsZVR5cGU6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oZmlsZU5hbWU6IHN0cmluZywgZmlsZURhdGE6IHN0cmluZywgZmlsZVNpemU6IG51bWJlciwgZmlsZU9yZGVyOiBudW1iZXIsIGZpbGVUeXBlOiBzdHJpbmcpIHtcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0XHRcdGlmIChmaWxlTmFtZSkge1xuXHRcdFx0XHRcdFx0bGV0IGtleSA9ICd1cGxvYWRzLycgKyBEYXRlLm5vdygpICsgJy0nICsgKHBkZkNudCsrKSArICctJyArIGZpbGVOYW1lO1xuXHRcdFxuXHRcdFx0XHRcdFx0bGV0IG5ld1BhcmFtcyA9IHtCdWNrZXQ6IHRoYXQuc2VydmVyQ29uZmlnLkFXU0JVQ0tFVCwgS2V5OiBrZXksIEJvZHk6IEJ1ZmZlci5mcm9tKGZpbGVEYXRhLnJlcGxhY2UoJ2RhdGE6JyArIGZpbGVEYXRhLnNwbGl0KCcsJylbMF0uc3BsaXQoJzonKVsxXS5zcGxpdCgnOycpWzBdICsgJztiYXNlNjQsJywgJycpLCAnYmFzZTY0JyksIEFDTDogJ3ByaXZhdGUnLCBDb250ZW50VHlwZTogZmlsZURhdGEuc3BsaXQoJywnKVswXS5zcGxpdCgnOicpWzFdLnNwbGl0KCc7JylbMF0sIENvbnRlbnREaXNwb3NpdGlvbjogJ2lubGluZSd9O1xuXG5cdFx0XHRcdFx0XHR0aGF0LmdldEFXUygpLnVwbG9hZChuZXdQYXJhbXMsIChlcnIsIHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoZXJyKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0ZWxzZSBpZiAocmVzKSB7XG5cdFx0XHRcdFx0XHRcdFx0RmlsZXMuY3JlYXRlKHtcblx0XHRcdFx0XHRcdFx0XHRcdF9pZDogVHlwZXMuT2JqZWN0SWQoKS50b0hleFN0cmluZygpLCBuYW1lOiBmaWxlTmFtZSwgc2l6ZTogZmlsZVNpemUsIGtleToga2V5LCBvcmRlcjogZmlsZU9yZGVyLCB0eXBlOiBmaWxlVHlwZVxuXHRcdFx0XHRcdFx0XHRcdH0pLnRoZW4ocmVzRmlsZSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJlc0ZpbGUpO1xuXHRcdFx0XHRcdFx0XHRcdH0sIGVyckZpbGUgPT4gcmVqZWN0KGVyckZpbGUpKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGRlbGV0ZUZpbGVzOiB7XG5cdFx0XHRjaGVjazogbmV3IFNpbXBsZVNjaGVtYSh7XG5cdFx0XHRcdGtleXM6IHtcblx0XHRcdFx0XHR0eXBlOiBBcnJheVxuXHRcdFx0XHR9LFxuXHRcdFx0XHQna2V5cy4kJzoge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9XG5cdFx0XHR9KSxcblx0XHRcdGZ1bmN0aW9uOiBmdW5jdGlvbihrZXlzOiBzdHJpbmdbXSkge1x0XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0bGV0IGZpbGVzID0gYXdhaXQgRmlsZXMuZmluZCh7a2V5OiB7JGluOiBrZXlzfX0pO1xuXHRcdFxuXHRcdFx0XHRcdGxldCBkZWxldGVDbnQgPSBmaWxlcy5sZW5ndGg7XG5cdFx0XG5cdFx0XHRcdFx0ZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcblx0XHRcdFx0XHRcdEZpbGVzLmRlbGV0ZU9uZSh7X2lkOiBmaWxlLl9pZH0pLmV4ZWMoKTtcblx0XHRcblx0XHRcdFx0XHRcdGxldCBkZWxQYXJhbXMgPSB7QnVja2V0OiB0aGlzLnNlcnZlckNvbmZpZy5BV1NCVUNLRVQsIEtleTogZmlsZS5rZXl9O1xuXHRcdFx0XG5cdFx0XHRcdFx0XHR0aGlzLmdldEFXUygpLmRlbGV0ZU9iamVjdChkZWxQYXJhbXMsIGZ1bmN0aW9uKGVyciwgcmVzKSB7XG5cdFx0XHRcdFx0XHRcdGlmIChlcnIpIHtcblx0XHRcdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRkZWxldGVDbnQtLTtcblx0XHRcdFx0XHRcdFx0XHRpZiAoIWRlbGV0ZUNudCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXMpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0ZGVsZXRlRmlsZToge1xuXHRcdFx0Y2hlY2s6IG5ldyBTaW1wbGVTY2hlbWEoe1xuXHRcdFx0XHRrZXk6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oa2V5OiBzdHJpbmcpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcblx0XHRcdFx0XHRsZXQgZmlsZSA9IGF3YWl0IEZpbGVzLmZpbmRPbmUoe2tleToga2V5fSk7XG5cdFx0XG5cdFx0XHRcdFx0aWYgKCFmaWxlKSB7XG5cdFx0XHRcdFx0XHRyZWplY3QoJ0NvdWxkIG5vdCBmaW5kIGZpbGUnKTtcblx0XHRcdFx0XHR9XG5cdFx0XG5cdFx0XHRcdFx0RmlsZXMuZGVsZXRlT25lKHtfaWQ6IGZpbGUuX2lkfSkuZXhlYygpO1xuXHRcdFxuXHRcdFx0XHRcdGxldCBkZWxQYXJhbXMgPSB7QnVja2V0OiB0aGlzLnNlcnZlckNvbmZpZ1snQVdTQlVDS0VUJ10sIEtleToga2V5fTtcblx0XHRcblx0XHRcdFx0XHR0aGlzLmdldEFXUygpLmRlbGV0ZU9iamVjdChkZWxQYXJhbXMsIGZ1bmN0aW9uKGVyciwgcmVzKSB7XG5cdFx0XHRcdFx0XHRpZiAoZXJyKSB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmVzKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRkZWxldGVGaWxlV2l0aElkOiB7XG5cdFx0XHRjaGVjazogbmV3IFNpbXBsZVNjaGVtYSh7XG5cdFx0XHRcdGlkX2ZpbGU6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oaWRfZmlsZTogc3RyaW5nKSB7XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XG5cdFx0XHRcdFx0bGV0IGZpbGUgPSBhd2FpdCBGaWxlcy5maW5kT25lKHtfaWQ6IGlkX2ZpbGV9KTtcblx0XHRcblx0XHRcdFx0XHRpZiAoIWZpbGUpIHtcblx0XHRcdFx0XHRcdHJlamVjdCgnQ291bGQgbm90IGZpbmQgZmlsZScpO1xuXHRcdFx0XHRcdH1cblx0XHRcblx0XHRcdFx0XHRsZXQgZGVsUGFyYW1zID0ge0J1Y2tldDogdGhpcy5zZXJ2ZXJDb25maWdbJ0FXU0JVQ0tFVCddLCBLZXk6IGZpbGUua2V5fTtcblx0XHRcblx0XHRcdFx0XHR0aGlzLmdldEFXUygpLmRlbGV0ZU9iamVjdChkZWxQYXJhbXMsIGZ1bmN0aW9uKGVyciwgcmVzKSB7XG5cdFx0XHRcdFx0XHRpZiAoZXJyKSB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUocmVzKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblxuXHRcdFx0XHRcdEZpbGVzLmRlbGV0ZU9uZSh7X2lkOiBmaWxlLl9pZH0pLmV4ZWMoKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRnZXRTaWduZWRVcmxXaXRoSWQ6IHtcblx0XHRcdHNraXBRdWV1ZTogdHJ1ZSxcblx0XHRcdGNoZWNrOiBuZXcgU2ltcGxlU2NoZW1hKHtcblx0XHRcdFx0aWRfZmlsZToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRleHBpcmVzOiB7XG5cdFx0XHRcdFx0dHlwZTogTnVtYmVyXG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0ZnVuY3Rpb246IGZ1bmN0aW9uKGlkX2ZpbGU6IHN0cmluZywgZXhwaXJlczogbnVtYmVyKSB7XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0bGV0IGZpbGUgPSBhd2FpdCBGaWxlcy5maW5kT25lKHtfaWQ6IGlkX2ZpbGV9KTtcblx0XHRcdFx0XHRsZXQgcGFyYW1zID0ge0J1Y2tldDogdGhpcy5zZXJ2ZXJDb25maWcuQVdTQlVDS0VULCBLZXk6IGZpbGUua2V5LCBFeHBpcmVzOiBleHBpcmVzfTtcblxuXHRcdFx0XHRcdHRoaXMuZ2V0QVdTKCkuZ2V0U2lnbmVkVXJsKCdnZXRPYmplY3QnLCBwYXJhbXMsIChlcnIsIHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKGVycikge1xuXHRcdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHJlcyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Z2V0U2lnbmVkVXJsOiB7XG5cdFx0XHRza2lwUXVldWU6IHRydWUsXG5cdFx0XHRjaGVjazogbmV3IFNpbXBsZVNjaGVtYSh7XG5cdFx0XHRcdGtleToge1xuXHRcdFx0XHRcdHR5cGU6IFN0cmluZ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRleHBpcmVzOiB7XG5cdFx0XHRcdFx0dHlwZTogTnVtYmVyXG5cdFx0XHRcdH1cblx0XHRcdH0pLFxuXHRcdFx0ZnVuY3Rpb246IGZ1bmN0aW9uKGtleTogc3RyaW5nLCBleHBpcmVzOiBudW1iZXIpIHtcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0XHRsZXQgcGFyYW1zID0ge0J1Y2tldDogdGhpcy5zZXJ2ZXJDb25maWcuQVdTQlVDS0VULCBLZXk6IGtleSwgRXhwaXJlczogZXhwaXJlc307XG5cblx0XHRcdFx0XHR0aGlzLmdldEFXUygpLmdldFNpZ25lZFVybCgnZ2V0T2JqZWN0JywgcGFyYW1zLCAoZXJyLCByZXMpID0+IHtcblx0XHRcdFx0XHRcdGlmIChlcnIpIHtcblx0XHRcdFx0XHRcdFx0cmVqZWN0KGVycik7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRlbHNlIHtcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShyZXMpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdGdldFNpZ25lZFVybHM6IHtcblx0XHRcdHNraXBRdWV1ZTogdHJ1ZSxcblx0XHRcdGNoZWNrOiBuZXcgU2ltcGxlU2NoZW1hKHtcblx0XHRcdFx0a2V5czoge1xuXHRcdFx0XHRcdHR5cGU6IEFycmF5XG5cdFx0XHRcdH0sXG5cdFx0XHRcdCdrZXlzLiQnOiB7XG5cdFx0XHRcdFx0dHlwZTogU3RyaW5nXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGV4cGlyZXM6IHtcblx0XHRcdFx0XHR0eXBlOiBOdW1iZXJcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oa2V5czogc3RyaW5nW10sIGV4cGlyZXM6IG51bWJlcikge1xuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0XHRcdGxldCByZXMgPSBbXTtcblxuXHRcdFx0XHRcdGtleXMuZm9yRWFjaChrZXkgPT4ge1xuXHRcdFx0XHRcdFx0bGV0IHBhcmFtcyA9IHtCdWNrZXQ6IHRoaXMuc2VydmVyQ29uZmlnLkFXU0JVQ0tFVCwgS2V5OiBrZXksIEV4cGlyZXM6IGV4cGlyZXN9O1xuXG5cdFx0XHRcdFx0XHRyZXMucHVzaCh0aGlzLmdldEFXUygpLmdldFNpZ25lZFVybCgnZ2V0T2JqZWN0JywgcGFyYW1zKSk7XG5cdFx0XHRcdFx0fSk7XG5cblx0XHRcdFx0XHRyZXNvbHZlKHJlcyk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0ZW1haWxGaWxlOiB7XG5cdFx0XHRza2lwUXVldWU6IHRydWUsXG5cdFx0XHRjaGVjazogbmV3IFNpbXBsZVNjaGVtYSh7XG5cdFx0XHRcdGlkX2ZpbGU6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fSxcblx0XHRcdFx0ZW1haWw6IHtcblx0XHRcdFx0XHR0eXBlOiBTdHJpbmdcblx0XHRcdFx0fVxuXHRcdFx0fSksXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oaWRfZmlsZTogc3RyaW5nLCBlbWFpbDogc3RyaW5nKSB7XG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcblxuXHRcdFx0XHRyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdFx0XHRcdGxldCBmaWxlID0gYXdhaXQgRmlsZXMuZmluZEJ5SWQoaWRfZmlsZSk7XG5cblx0XHRcdFx0XHRpZiAoIWZpbGUpIHtcblx0XHRcdFx0XHRcdHJlamVjdCgnQ291bGQgbm90IGZpbmQgZmlsZScpO1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHRoYXQuY2FsbE1ldGhvZEludGVybmFsLmNhbGwodGhhdCwgJ2dldFNpZ25lZFVybCcsIGZpbGUua2V5LCA5MDAsIChlcnJQREYsIHJlc1BERikgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKHJlc1BERikge1xuXHRcdFx0XHRcdFx0XHR0aGF0LnNlbmRFbWFpbChlbWFpbCwgUmVzb2x2ZUlPU2VydmVyLmdldENsaWVudE5hbWUoKSArICcgRmlsZSAtICcgKyBmaWxlLm5hbWUsICdBdHRhY2hlZCBpcyB0aGUgZmlsZSByZXF1ZXN0ZWQgZm9yIGVtYWlsLicsICcnLCBbe1xuXHRcdFx0XHRcdFx0XHRcdGZpbGVuYW1lOiBmaWxlLm5hbWUsXG5cdFx0XHRcdFx0XHRcdFx0cGF0aDogcmVzUERGXG5cdFx0XHRcdFx0XHRcdH1dKTtcblxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHRydWUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0ZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdCgnQ291bGQgbm90IGdldCBmaWxlIFVSTCcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xufSJdfQ==
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ var file_collection_1 = require("../collections/file.collection");
39
+ var mongoose_1 = require("mongoose");
40
+ var simpl_schema_1 = require("simpl-schema");
41
+ var index_1 = require("../index");
42
+ var pdfCnt = 1000000;
43
+ function loadAWSMethods(methodManager) {
44
+ methodManager.methods({
45
+ uploadFileAndSave: {
46
+ skipQueue: true,
47
+ check: new simpl_schema_1.default({
48
+ fileName: {
49
+ type: String
50
+ },
51
+ fileData: {
52
+ type: String
53
+ },
54
+ fileSize: {
55
+ type: Number
56
+ },
57
+ fileOrder: {
58
+ type: Number
59
+ },
60
+ fileType: {
61
+ type: String
62
+ }
63
+ }),
64
+ function: function (fileName, fileData, fileSize, fileOrder, fileType) {
65
+ var that = this;
66
+ return new Promise(function (resolve, reject) {
67
+ if (fileName) {
68
+ var key_1 = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;
69
+ var 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' };
70
+ that.getAWS().upload(newParams, function (err, res) {
71
+ if (err) {
72
+ reject(err);
73
+ }
74
+ else if (res) {
75
+ file_collection_1.Files.create({
76
+ _id: mongoose_1.Types.ObjectId().toHexString(), name: fileName, size: fileSize, key: key_1, order: fileOrder, type: fileType
77
+ }).then(function (resFile) {
78
+ resolve(resFile);
79
+ }, function (errFile) { return reject(errFile); });
80
+ }
81
+ });
82
+ }
83
+ });
84
+ }
85
+ },
86
+ deleteFiles: {
87
+ check: new simpl_schema_1.default({
88
+ keys: {
89
+ type: Array
90
+ },
91
+ 'keys.$': {
92
+ type: String
93
+ }
94
+ }),
95
+ function: function (keys) {
96
+ var _this = this;
97
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
98
+ var files, deleteCnt;
99
+ var _this = this;
100
+ return __generator(this, function (_a) {
101
+ switch (_a.label) {
102
+ case 0: return [4 /*yield*/, file_collection_1.Files.find({ key: { $in: keys } })];
103
+ case 1:
104
+ files = _a.sent();
105
+ deleteCnt = files.length;
106
+ files.forEach(function (file) {
107
+ file_collection_1.Files.deleteOne({ _id: file._id }).exec();
108
+ var delParams = { Bucket: _this.serverConfig.AWSBUCKET, Key: file.key };
109
+ _this.getAWS().deleteObject(delParams, function (err, res) {
110
+ if (err) {
111
+ reject(err);
112
+ }
113
+ else {
114
+ deleteCnt--;
115
+ if (!deleteCnt) {
116
+ resolve(res);
117
+ }
118
+ }
119
+ });
120
+ });
121
+ return [2 /*return*/];
122
+ }
123
+ });
124
+ }); });
125
+ }
126
+ },
127
+ deleteFile: {
128
+ check: new simpl_schema_1.default({
129
+ key: {
130
+ type: String
131
+ }
132
+ }),
133
+ function: function (key) {
134
+ var _this = this;
135
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
136
+ var file, delParams;
137
+ return __generator(this, function (_a) {
138
+ switch (_a.label) {
139
+ case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ key: key })];
140
+ case 1:
141
+ file = _a.sent();
142
+ if (!file) {
143
+ reject('Could not find file');
144
+ }
145
+ file_collection_1.Files.deleteOne({ _id: file._id }).exec();
146
+ delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: key };
147
+ this.getAWS().deleteObject(delParams, function (err, res) {
148
+ if (err) {
149
+ reject(err);
150
+ }
151
+ else {
152
+ resolve(res);
153
+ }
154
+ });
155
+ return [2 /*return*/];
156
+ }
157
+ });
158
+ }); });
159
+ }
160
+ },
161
+ deleteFileWithId: {
162
+ check: new simpl_schema_1.default({
163
+ id_file: {
164
+ type: String
165
+ }
166
+ }),
167
+ function: function (id_file) {
168
+ var _this = this;
169
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
170
+ var file, delParams;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
174
+ case 1:
175
+ file = _a.sent();
176
+ if (!file) {
177
+ reject('Could not find file');
178
+ }
179
+ delParams = { Bucket: this.serverConfig['AWSBUCKET'], Key: file.key };
180
+ this.getAWS().deleteObject(delParams, function (err, res) {
181
+ if (err) {
182
+ reject(err);
183
+ }
184
+ else {
185
+ resolve(res);
186
+ }
187
+ });
188
+ file_collection_1.Files.deleteOne({ _id: file._id }).exec();
189
+ return [2 /*return*/];
190
+ }
191
+ });
192
+ }); });
193
+ }
194
+ },
195
+ getSignedUrlWithId: {
196
+ skipQueue: true,
197
+ check: new simpl_schema_1.default({
198
+ id_file: {
199
+ type: String
200
+ },
201
+ expires: {
202
+ type: Number
203
+ }
204
+ }),
205
+ function: function (id_file, expires) {
206
+ var _this = this;
207
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
208
+ var file, params;
209
+ return __generator(this, function (_a) {
210
+ switch (_a.label) {
211
+ case 0: return [4 /*yield*/, file_collection_1.Files.findOne({ _id: id_file })];
212
+ case 1:
213
+ file = _a.sent();
214
+ params = { Bucket: this.serverConfig.AWSBUCKET, Key: file.key, Expires: expires };
215
+ this.getAWS().getSignedUrl('getObject', params, function (err, res) {
216
+ if (err) {
217
+ reject(err);
218
+ }
219
+ else {
220
+ resolve(res);
221
+ }
222
+ });
223
+ return [2 /*return*/];
224
+ }
225
+ });
226
+ }); });
227
+ }
228
+ },
229
+ getSignedUrl: {
230
+ skipQueue: true,
231
+ check: new simpl_schema_1.default({
232
+ key: {
233
+ type: String
234
+ },
235
+ expires: {
236
+ type: Number
237
+ }
238
+ }),
239
+ function: function (key, expires) {
240
+ var _this = this;
241
+ return new Promise(function (resolve, reject) {
242
+ var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
243
+ _this.getAWS().getSignedUrl('getObject', params, function (err, res) {
244
+ if (err) {
245
+ reject(err);
246
+ }
247
+ else {
248
+ resolve(res);
249
+ }
250
+ });
251
+ });
252
+ }
253
+ },
254
+ getSignedUrls: {
255
+ skipQueue: true,
256
+ check: new simpl_schema_1.default({
257
+ keys: {
258
+ type: Array
259
+ },
260
+ 'keys.$': {
261
+ type: String
262
+ },
263
+ expires: {
264
+ type: Number
265
+ }
266
+ }),
267
+ function: function (keys, expires) {
268
+ var _this = this;
269
+ return new Promise(function (resolve, reject) {
270
+ var res = [];
271
+ keys.forEach(function (key) {
272
+ var params = { Bucket: _this.serverConfig.AWSBUCKET, Key: key, Expires: expires };
273
+ res.push(_this.getAWS().getSignedUrl('getObject', params));
274
+ });
275
+ resolve(res);
276
+ });
277
+ }
278
+ },
279
+ emailFile: {
280
+ skipQueue: true,
281
+ check: new simpl_schema_1.default({
282
+ id_file: {
283
+ type: String
284
+ },
285
+ email: {
286
+ type: String
287
+ }
288
+ }),
289
+ function: function (id_file, email) {
290
+ var _this = this;
291
+ var that = this;
292
+ return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
293
+ var file;
294
+ return __generator(this, function (_a) {
295
+ switch (_a.label) {
296
+ case 0: return [4 /*yield*/, file_collection_1.Files.findById(id_file)];
297
+ case 1:
298
+ file = _a.sent();
299
+ if (!file) {
300
+ reject('Could not find file');
301
+ return [2 /*return*/];
302
+ }
303
+ that.callMethodInternal.call(that, 'getSignedUrl', file.key, 900, function (errPDF, resPDF) {
304
+ if (resPDF) {
305
+ that.sendEmail(email, index_1.default.getClientName() + ' File - ' + file.name, 'Attached is the file requested for email.', '', [{
306
+ filename: file.name,
307
+ path: resPDF
308
+ }]);
309
+ resolve(true);
310
+ }
311
+ else {
312
+ reject('Could not get file URL');
313
+ }
314
+ });
315
+ return [2 /*return*/];
316
+ }
317
+ });
318
+ }); });
319
+ }
320
+ }
321
+ });
322
+ }
323
+ exports.loadAWSMethods = loadAWSMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadCloudConvertMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=cloudconvert.d.ts.map
@@ -1,2 +1,37 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var request=require("request");function loadCloudConvertMethods(e){e.methods({getCCProcessURL:{skipQueue:!0,function:function(){var e=this;return new Promise(function(r,n){request({method:"POST",url:"https://api.cloudconvert.com/process",headers:{"Content-Type":"application/json; charset=UTF-8"},json:{apikey:e.serverConfig.CLOUDCONVERT,mode:"combine",inputformat:"pdf",outputformat:"pdf"}},function(e,o,t){e?(console.log("Error happened: "+e),n(e)):r(t)})})}}})}exports.loadCloudConvertMethods=loadCloudConvertMethods;
2
- //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZXRob2RzL2Nsb3VkY29udmVydC50cyJdLCJuYW1lcyI6WyJyZXF1ZXN0IiwicmVxdWlyZSIsImxvYWRDbG91ZENvbnZlcnRNZXRob2RzIiwibWV0aG9kTWFuYWdlciIsIm1ldGhvZHMiLCJnZXRDQ1Byb2Nlc3NVUkwiLCJza2lwUXVldWUiLCJmdW5jdGlvbiIsIl90aGlzIiwidGhpcyIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwibWV0aG9kIiwidXJsIiwiaGVhZGVycyIsIkNvbnRlbnQtVHlwZSIsImpzb24iLCJhcGlrZXkiLCJzZXJ2ZXJDb25maWciLCJtb2RlIiwiaW5wdXRmb3JtYXQiLCJvdXRwdXRmb3JtYXQiLCJlcnJvciIsInJlc3BvbnNlIiwiYm9keSIsImNvbnNvbGUiLCJsb2ciLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoib0VBQ0EsSUFBQUEsUUFBQUMsUUFBQSxXQUVBLFNBQWdCQyx3QkFBd0JDLEdBQ3ZDQSxFQUFjQyxRQUFRLENBQ3JCQyxnQkFBaUIsQ0FDaEJDLFdBQVcsRUFDWEMsU0FBVSxXQUFBLElBQUFDLEVBQUFDLEtBQ1QsT0FBTyxJQUFJQyxRQUFRLFNBQUNDLEVBQVNDLEdBQzVCWixRQUFRLENBQ1BhLE9BQVEsT0FDUkMsSUFBSyx1Q0FDTEMsUUFBUyxDQUNSQyxlQUFnQixtQ0FFakJDLEtBQU0sQ0FDTEMsT0FBVVYsRUFBS1csYUFBMkIsYUFDMUNDLEtBQVEsVUFDUkMsWUFBZSxNQUNmQyxhQUFnQixRQUVmLFNBQUVDLEVBQU9DLEVBQVVDLEdBQ2hCRixHQUlKRyxRQUFRQyxJQUFJLG1CQUFxQkosR0FDakNYLEVBQU9XLElBSlBaLEVBQVFjLFdBcEJmRyxRQUFBMUIsd0JBQUFBIiwiZmlsZSI6Im1ldGhvZHMvY2xvdWRjb252ZXJ0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWV0aG9kTWFuYWdlciB9IGZyb20gJy4uL21hbmFnZXJzL21ldGhvZC5tYW5hZ2VyJztcbmltcG9ydCAqIGFzIHJlcXVlc3QgZnJvbSAncmVxdWVzdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ2xvdWRDb252ZXJ0TWV0aG9kcyhtZXRob2RNYW5hZ2VyOiBNZXRob2RNYW5hZ2VyKSB7XG5cdG1ldGhvZE1hbmFnZXIubWV0aG9kcyh7XG5cdFx0Z2V0Q0NQcm9jZXNzVVJMOiB7XG5cdFx0XHRza2lwUXVldWU6IHRydWUsXG5cdFx0XHRmdW5jdGlvbjogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0cmVxdWVzdCh7XG5cdFx0XHRcdFx0XHRtZXRob2Q6ICdQT1NUJyxcblx0XHRcdFx0XHRcdHVybDogJ2h0dHBzOi8vYXBpLmNsb3VkY29udmVydC5jb20vcHJvY2VzcycsXG5cdFx0XHRcdFx0XHRoZWFkZXJzOiB7XG5cdFx0XHRcdFx0XHRcdCdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCdcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRqc29uOiB7XG5cdFx0XHRcdFx0XHRcdCdhcGlrZXknOiB0aGlzLnNlcnZlckNvbmZpZ1snQ0xPVURDT05WRVJUJ10sXG5cdFx0XHRcdFx0XHRcdCdtb2RlJzogJ2NvbWJpbmUnLFxuXHRcdFx0XHRcdFx0XHQnaW5wdXRmb3JtYXQnOiAncGRmJyxcblx0XHRcdFx0XHRcdFx0J291dHB1dGZvcm1hdCc6ICdwZGYnXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSwgKChlcnJvciwgcmVzcG9uc2UsIGJvZHkpID0+IHtcblx0XHRcdFx0XHRcdGlmICghZXJyb3IpIHtcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZShib2R5KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnRXJyb3IgaGFwcGVuZWQ6ICcgKyBlcnJvcik7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChlcnJvcik7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSkpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH0pO1xufSJdfQ==
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var request = require("request");
4
+ function loadCloudConvertMethods(methodManager) {
5
+ methodManager.methods({
6
+ getCCProcessURL: {
7
+ skipQueue: true,
8
+ function: function () {
9
+ var _this = this;
10
+ return new Promise(function (resolve, reject) {
11
+ request({
12
+ method: 'POST',
13
+ url: 'https://api.cloudconvert.com/process',
14
+ headers: {
15
+ 'Content-Type': 'application/json; charset=UTF-8'
16
+ },
17
+ json: {
18
+ 'apikey': _this.serverConfig['CLOUDCONVERT'],
19
+ 'mode': 'combine',
20
+ 'inputformat': 'pdf',
21
+ 'outputformat': 'pdf'
22
+ }
23
+ }, (function (error, response, body) {
24
+ if (!error) {
25
+ resolve(body);
26
+ }
27
+ else {
28
+ console.log('Error happened: ' + error);
29
+ reject(error);
30
+ }
31
+ }));
32
+ });
33
+ }
34
+ }
35
+ });
36
+ }
37
+ exports.loadCloudConvertMethods = loadCloudConvertMethods;
@@ -0,0 +1,3 @@
1
+ import { MethodManager } from '../managers/method.manager';
2
+ export declare function loadCollectionMethods(methodManager: MethodManager): void;
3
+ //# sourceMappingURL=collections.d.ts.map