@resolveio/server-lib 20.1.9 → 20.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/methods/aws.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,i,r,o){return new(r=r||Promise)(function(n,t){function fulfilled(e){try{step(o.next(e))}catch(e){t(e)}}function rejected(e){try{step(o.throw(e))}catch(e){t(e)}}function step(e){var t;e.done?n(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(fulfilled,rejected)}step((o=o.apply(e,i||[])).next())})},__generator=this&&this.__generator||function(i,r){var o,s,c,l={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]},a={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(n){return function(e){var t=[n,e];if(o)throw new TypeError("Generator is already executing.");for(;l=a&&t[a=0]?0:l;)try{if(o=1,s&&(c=2&t[0]?s.return:t[0]?s.throw||((c=s.return)&&c.call(s),0):s.next)&&!(c=c.call(s,t[1])).done)return c;switch(s=0,(t=c?[2&t[0],c.value]:t)[0]){case 0:case 1:c=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,s=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(c=0<(c=l.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3]))l.label=t[1];else if(6===t[0]&&l.label<c[1])l.label=c[1],c=t;else{if(!(c&&l.label<c[2])){c[2]&&l.ops.pop(),l.trys.pop();continue}l.label=c[2],l.ops.push(t)}}t=r.call(i,l)}catch(e){t=[6,e],s=0}finally{o=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}},file_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadAWSMethods=void 0,require("../collections/file.collection")),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),mongo_manager_1=require("../managers/mongo.manager"),client_s3_1=require("@aws-sdk/client-s3"),s3_request_presigner_1=require("@aws-sdk/s3-request-presigner"),request=require("request").defaults({encoding:null}),fs=require("fs"),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(l,a,u,f,_,e){var t=this;return new Promise(function(s,c){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o;return __generator(this,function(e){return l?(t="uploads/"+Date.now()+"-"+pdfCnt+++"-"+l,n=this.getAWS().s3(),i=3,r=0,(o=function(){n.putObject({Bucket:process.env.AWS_S3_BUCKET,Key:t,Body:Buffer.from(a.replace("data:"+a.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),"base64"),ACL:"private",ContentType:a.split(",")[0].split(":")[1].split(";")[0],ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:l,size:u,key:t,order:f,type:_}).then(function(e){s(e)}).catch(function(e){c(e)}):s(null)}).catch(function(e){var t;++r<=i?(t=1e3*Math.pow(2,r),console.warn("Attempt ".concat(r," failed. Retrying in ").concat(t/1e3," seconds...")),setTimeout(o,t)):c(new Error("Failed to upload after ".concat(i," attempts: ").concat(e.message)))})})()):c(new Error("Invalid fileName provided")),[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(r,e,o,s,c){var l=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,l.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:Buffer.from(e),ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:o,key:i,order:s,type:c}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},uploadNonPDFBufferAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileDataBuffer:{},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(r,e,o,s,c){var l=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,l.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:e,ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:o,key:i,order:s,type:c}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},uploadNonPDFStreamAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileOrder:{type:Number},fileType:{type:String}}),function:function(r,e,o,s){var c=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,c.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:fs.createReadStream(e),ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:1,key:i,order:o,type:s}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(o){var t=this;return new Promise(function(r,e){return __awaiter(t,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:o}})];case 1:return t=e.sent(),n=t.length,t.forEach(function(e){file_collection_1.Files.deleteOne({_id:e._id}),i.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:e.key}).then(function(e){!e||--n||r(t.length)})}),[2]}})})})}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(r){var e=this;return new Promise(function(n,i){return __awaiter(e,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({key:r})];case 1:return(t=e.sent())&&file_collection_1.Files.deleteOne({_id:t._id}),this.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:r}).then(function(e){n(e)},function(e){i(e)}),[2]}})})})}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(r){var e=this;return new Promise(function(n,i){return __awaiter(e,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:r})];case 1:return(t=e.sent())||i("Could not find file"),this.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:t.key}).then(function(e){n(e)},function(e){i(e)}),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(a,u){var t=this;return new Promise(function(l,e){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o,s,c;return __generator(this,function(e){switch(e.label){case 0:return t=[],[4,file_collection_1.Files.find({_id:{$in:a}})];case 1:n=e.sent(),i=0,e.label=2;case 2:return i<n.length?(o=n[i],r=this.getAWS().s3(),o=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:o.key}),c=(s=t).push,[4,(0,s3_request_presigner_1.getSignedUrl)(r,o,{expiresIn:u})]):[3,5];case 3:c.apply(s,[e.sent()]),e.label=4;case 4:return i++,[3,2];case 5:return l({res:t,fileArray:n.map(function(e){return e.name})}),[2]}})})})}},getSignedUrlWithId:{check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(o,s){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 n=e.sent(),t=this.getAWS().s3(),n=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:n.key}),(0,s3_request_presigner_1.getSignedUrl)(t,n,{expiresIn:s}).then(function(e){i(e)},function(e){r(e)}),[2]}})})})}},getSignedUrlUSEast1BucketAndKey:{check:new simpl_schema_1.default({bucket:{type:String},key:{type:String},expires:{type:Number}}),function:function(r,o,s){var c=this;return new Promise(function(t,n){var e=c.getAWS().s3USEast1(),i=new client_s3_1.GetObjectCommand({Bucket:r,Key:o});(0,s3_request_presigner_1.getSignedUrl)(e,i,{expiresIn:s}).then(function(e){t(e)},function(e){n(e)})})}},getSignedUrl:{check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(r,o){var s=this;return new Promise(function(t,n){var e=s.getAWS().s3(),i=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:r});(0,s3_request_presigner_1.getSignedUrl)(e,i,{expiresIn:o}).then(function(e){t(e)},function(e){n(e)})})}},getSignedUrls:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(l,a){var t=this;return new Promise(function(c,e){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o,s;return __generator(this,function(e){switch(e.label){case 0:t=[],n=0,e.label=1;case 1:return n<l.length?(r=l[n],i=this.getAWS().s3(),r=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:r}),s=(o=t).push,[4,(0,s3_request_presigner_1.getSignedUrl)(i,r,{expiresIn:a})]):[3,4];case 2:s.apply(o,[e.sent()]),e.label=3;case 3:return n++,[3,1];case 4:return c(t),[2]}})})})}},getDataURIfromURL:{check:new simpl_schema_1.default({url:{type:String}}),function:function(e){return new Promise(function(i,r){request.get(e,function(e,t,n){e||200!==t.statusCode?r(e):(e="data:"+t.headers["content-type"]+";base64,"+new Buffer(n).toString("base64"),i(e))})})}},emailFile:{check:new simpl_schema_1.default({id_file:{type:String},email:{type:String},additional_message:{type:String}}),function:function(t,c,l){var e=this;return new Promise(function(o,s){return __awaiter(e,void 0,void 0,function(){var i,r=this;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findById(t)];case 1:return(i=e.sent())?this.callMethodInternal("getSignedUrl",i.key,259200,function(e,t){var n;t?(i.size<5e6?(n="Attached is the file requested for email.\n"+(""!==l?"\nAdditional Message:\n"+l+"\n":""),r.sendEmail(c,index_1.ResolveIOServer.getClientName()+" File - "+i.name,n,"",[{filename:i.name,path:t}],null,"")):(n="Please click the link to the requested file.\n"+(""!==l?"\nAdditional Message:\n"+l+"\n":""),r.sendEmail(c,index_1.ResolveIOServer.getClientName()+" File - "+i.name,n+t,"",null,null,"")),o(!0)):s("Could not get file URL")}):s("Could not find file"),[2]}})})})}}})}exports.loadAWSMethods=loadAWSMethods;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,i,r,o){return new(r=r||Promise)(function(n,t){function fulfilled(e){try{step(o.next(e))}catch(e){t(e)}}function rejected(e){try{step(o.throw(e))}catch(e){t(e)}}function step(e){var t;e.done?n(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(fulfilled,rejected)}step((o=o.apply(e,i||[])).next())})},__generator=this&&this.__generator||function(i,r){var o,s,c,l={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]},a={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(n){return function(e){var t=[n,e];if(o)throw new TypeError("Generator is already executing.");for(;l=a&&t[a=0]?0:l;)try{if(o=1,s&&(c=2&t[0]?s.return:t[0]?s.throw||((c=s.return)&&c.call(s),0):s.next)&&!(c=c.call(s,t[1])).done)return c;switch(s=0,(t=c?[2&t[0],c.value]:t)[0]){case 0:case 1:c=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,s=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(c=0<(c=l.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3]))l.label=t[1];else if(6===t[0]&&l.label<c[1])l.label=c[1],c=t;else{if(!(c&&l.label<c[2])){c[2]&&l.ops.pop(),l.trys.pop();continue}l.label=c[2],l.ops.push(t)}}t=r.call(i,l)}catch(e){t=[6,e],s=0}finally{o=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}}},file_collection_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadAWSMethods=void 0,require("../collections/file.collection")),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),mongo_manager_1=require("../managers/mongo.manager"),client_s3_1=require("@aws-sdk/client-s3"),s3_request_presigner_1=require("@aws-sdk/s3-request-presigner"),request=require("request").defaults({encoding:null}),fs=require("fs"),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(l,a,u,f,_,e){var t=this;return new Promise(function(s,c){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o;return __generator(this,function(e){return l?(t="uploads/"+Date.now()+"-"+pdfCnt+++"-"+l,n=this.getAWS().s3(),i=3,r=0,(o=function(){n.putObject({Bucket:process.env.AWS_S3_BUCKET,Key:t,Body:Buffer.from(a.replace("data:"+a.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),"base64"),ACL:"private",ContentType:a.split(",")[0].split(":")[1].split(";")[0],ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:l,size:u,key:t,order:f,type:_}).then(function(e){s(e)}).catch(function(e){c(e)}):s(null)}).catch(function(e){var t;++r<=i?(t=1e3*Math.pow(2,r),console.warn("Attempt ".concat(r," failed. Retrying in ").concat(t/1e3," seconds...")),setTimeout(o,t)):c(new Error("Failed to upload after ".concat(i," attempts: ").concat(e.message)))})})()):c(new Error("Invalid fileName provided")),[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(r,e,o,s,c){var l=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,l.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:Buffer.from(e),ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:o,key:i,order:s,type:c}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},uploadNonPDFBufferAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileDataBuffer:{type:Buffer},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(r,e,o,s,c){var l=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,l.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:e,ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:o,key:i,order:s,type:c}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},uploadNonPDFStreamAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileOrder:{type:Number},fileType:{type:String}}),function:function(r,e,o,s){var c=this;return new Promise(function(t,n){var i;r&&(i="uploads/"+Date.now()+"-"+r,c.getAWS().s3().putObject({Bucket:process.env.AWS_S3_BUCKET,Key:i,Body:fs.createReadStream(e),ACL:"private",ContentType:"application/gzip",ContentDisposition:"inline"}).then(function(e){e?file_collection_1.Files.create({_id:(0,mongo_manager_1.objectIdHexString)(),__v:0,name:r,size:1,key:i,order:o,type:s}).then(function(e){t(e)},function(e){return n(e)}):t(null)},function(e){n(e)}))})}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(o){var t=this;return new Promise(function(r,e){return __awaiter(t,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:o}})];case 1:return t=e.sent(),n=t.length,t.forEach(function(e){file_collection_1.Files.deleteOne({_id:e._id}),i.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:e.key}).then(function(e){!e||--n||r(t.length)})}),[2]}})})})}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(r){var e=this;return new Promise(function(n,i){return __awaiter(e,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({key:r})];case 1:return(t=e.sent())&&file_collection_1.Files.deleteOne({_id:t._id}),this.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:r}).then(function(e){n(e)},function(e){i(e)}),[2]}})})})}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(r){var e=this;return new Promise(function(n,i){return __awaiter(e,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:r})];case 1:return(t=e.sent())||i("Could not find file"),this.getAWS().s3().deleteObject({Bucket:process.env.AWS_S3_BUCKET,Key:t.key}).then(function(e){n(e)},function(e){i(e)}),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(a,u){var t=this;return new Promise(function(l,e){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o,s,c;return __generator(this,function(e){switch(e.label){case 0:return t=[],[4,file_collection_1.Files.find({_id:{$in:a}})];case 1:n=e.sent(),i=0,e.label=2;case 2:return i<n.length?(o=n[i],r=this.getAWS().s3(),o=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:o.key}),c=(s=t).push,[4,(0,s3_request_presigner_1.getSignedUrl)(r,o,{expiresIn:u})]):[3,5];case 3:c.apply(s,[e.sent()]),e.label=4;case 4:return i++,[3,2];case 5:return l({res:t,fileArray:n.map(function(e){return e.name})}),[2]}})})})}},getSignedUrlWithId:{check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(o,s){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 n=e.sent(),t=this.getAWS().s3(),n=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:n.key}),(0,s3_request_presigner_1.getSignedUrl)(t,n,{expiresIn:s}).then(function(e){i(e)},function(e){r(e)}),[2]}})})})}},getSignedUrlUSEast1BucketAndKey:{check:new simpl_schema_1.default({bucket:{type:String},key:{type:String},expires:{type:Number}}),function:function(r,o,s){var c=this;return new Promise(function(t,n){var e=c.getAWS().s3USEast1(),i=new client_s3_1.GetObjectCommand({Bucket:r,Key:o});(0,s3_request_presigner_1.getSignedUrl)(e,i,{expiresIn:s}).then(function(e){t(e)},function(e){n(e)})})}},getSignedUrl:{check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(r,o){var s=this;return new Promise(function(t,n){var e=s.getAWS().s3(),i=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:r});(0,s3_request_presigner_1.getSignedUrl)(e,i,{expiresIn:o}).then(function(e){t(e)},function(e){n(e)})})}},getSignedUrls:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(l,a){var t=this;return new Promise(function(c,e){return __awaiter(t,void 0,void 0,function(){var t,n,i,r,o,s;return __generator(this,function(e){switch(e.label){case 0:t=[],n=0,e.label=1;case 1:return n<l.length?(r=l[n],i=this.getAWS().s3(),r=new client_s3_1.GetObjectCommand({Bucket:process.env.AWS_S3_BUCKET,Key:r}),s=(o=t).push,[4,(0,s3_request_presigner_1.getSignedUrl)(i,r,{expiresIn:a})]):[3,4];case 2:s.apply(o,[e.sent()]),e.label=3;case 3:return n++,[3,1];case 4:return c(t),[2]}})})})}},getDataURIfromURL:{check:new simpl_schema_1.default({url:{type:String}}),function:function(e){return new Promise(function(i,r){request.get(e,function(e,t,n){e||200!==t.statusCode?r(e):(e="data:"+t.headers["content-type"]+";base64,"+new Buffer(n).toString("base64"),i(e))})})}},emailFile:{check:new simpl_schema_1.default({id_file:{type:String},email:{type:String},additional_message:{type:String}}),function:function(t,c,l){var e=this;return new Promise(function(o,s){return __awaiter(e,void 0,void 0,function(){var i,r=this;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findById(t)];case 1:return(i=e.sent())?this.callMethodInternal("getSignedUrl",i.key,259200,function(e,t){var n;t?(i.size<5e6?(n="Attached is the file requested for email.\n"+(""!==l?"\nAdditional Message:\n"+l+"\n":""),r.sendEmail(c,index_1.ResolveIOServer.getClientName()+" File - "+i.name,n,"",[{filename:i.name,path:t}],null,"")):(n="Please click the link to the requested file.\n"+(""!==l?"\nAdditional Message:\n"+l+"\n":""),r.sendEmail(c,index_1.ResolveIOServer.getClientName()+" File - "+i.name,n+t,"",null,null,"")),o(!0)):s("Could not get file URL")}):s("Could not find file"),[2]}})})})}}})}exports.loadAWSMethods=loadAWSMethods;
2
2
  //# 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","client_s3_1","s3_request_presigner_1","request","defaults","encoding","fs","pdfCnt","loadAWSMethods","methodManager","methods","uploadFileAndSave","check","default","fileName","type","String","fileData","fileSize","Number","fileOrder","fileType","compress","Boolean","function","_this","this","Promise","resolve","reject","__awaiter","key_1","Date","now","s3_1","getAWS","s3","maxRetries_1","attempt_1","uploadFile_1","putObject","Bucket","process","env","AWS_S3_BUCKET","Key","Body","Buffer","from","replace","split","ACL","ContentType","ContentDisposition","then","res","Files","create","_id","objectIdHexString","__v","name","size","key","order","resFile","catch","errFile","err","backoff","Math","pow","console","warn","concat","setTimeout","Error","message","uploadNonPDFFileAndSave","key_2","uploadNonPDFBufferAndSave","fileDataBuffer","key_3","uploadNonPDFStreamAndSave","key_4","createReadStream","deleteFiles","keys","Array","keys.$","find","$in","files","_a","sent","deleteCnt","length","forEach","file","deleteOne","deleteObject","deleteFile","findOne","deleteFileWithId","id_file","getSignedUrlsAndFilesWithId","ids","ids.$","expires","_c","i","getCommand","GetObjectCommand","_b","push","getSignedUrl","expiresIn","apply","fileArray","map","a","getSignedUrlWithId","getSignedUrlUSEast1BucketAndKey","bucket","s3USEast1","getSignedUrls","getDataURIfromURL","url","get","error","response","body","statusCode","data","headers","toString","emailFile","email","additional_message","findById","callMethodInternal","errPDF","resPDF","emailMessage","sendEmail","ResolveIOServer","getClientName","filename","path","exports"],"mappings":"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","file":"aws.js","sourcesContent":["import { AWS, MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { getSignedUrl } from '@aws-sdk/s3-request-presigner';\n\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tconst maxRetries = 3;\n\t\t\t\t\t\tlet attempt = 0;\n\n\t\t\t\t\t\tconst uploadFile = () => {\n\t\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\t\t\tKey: key,\n\t\t\t\t\t\t\t\tBody: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), \n\t\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\t\tContentType: fileData.split(',')[0].split(':')[1].split(';')[0], \n\t\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\t\tif (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}).catch(errFile => {\n\t\t\t\t\t\t\t\t\t\treject(errFile);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\t\tattempt++;\n\t\t\t\t\t\t\t\tif (attempt <= maxRetries) {\n\t\t\t\t\t\t\t\t\tconst backoff = Math.pow(2, attempt) * 1000; // Exponential backoff\n\t\t\t\t\t\t\t\t\tconsole.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);\n\t\t\t\t\t\t\t\t\tsetTimeout(uploadFile, backoff);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treject(new Error(`Failed to upload after ${maxRetries} attempts: ${err.message}`));\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\n\t\t\t\t\t\tuploadFile(); // Start the upload process\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(new Error(\"Invalid fileName provided\"));\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: Buffer.from(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileDataBuffer: {\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, fileDataBuffer, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fileDataBuffer, \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\t\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFStreamAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fs.createReadStream(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(files.length);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\t\tlet file = files[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlUSEast1BucketAndKey: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\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(bucket: string, key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3USEast1();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: bucket, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet key = keys[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.callMethodInternal('getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\n\t\t\t\t\t\t\t\t\tfilename: file.name,\n\t\t\t\t\t\t\t\t\tpath: resPDF\n\t\t\t\t\t\t\t\t}], null, '');\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 Message:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '', null, null, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/methods/aws.ts"],"names":["file_collection_1","require","simpl_schema_1","index_1","mongo_manager_1","client_s3_1","s3_request_presigner_1","request","defaults","encoding","fs","pdfCnt","loadAWSMethods","methodManager","methods","uploadFileAndSave","check","default","fileName","type","String","fileData","fileSize","Number","fileOrder","fileType","compress","Boolean","function","_this","this","Promise","resolve","reject","__awaiter","key_1","Date","now","s3_1","getAWS","s3","maxRetries_1","attempt_1","uploadFile_1","putObject","Bucket","process","env","AWS_S3_BUCKET","Key","Body","Buffer","from","replace","split","ACL","ContentType","ContentDisposition","then","res","Files","create","_id","objectIdHexString","__v","name","size","key","order","resFile","catch","errFile","err","backoff","Math","pow","console","warn","concat","setTimeout","Error","message","uploadNonPDFFileAndSave","key_2","uploadNonPDFBufferAndSave","fileDataBuffer","key_3","uploadNonPDFStreamAndSave","key_4","createReadStream","deleteFiles","keys","Array","keys.$","find","$in","files","_a","sent","deleteCnt","length","forEach","file","deleteOne","deleteObject","deleteFile","findOne","deleteFileWithId","id_file","getSignedUrlsAndFilesWithId","ids","ids.$","expires","_c","i","getCommand","GetObjectCommand","_b","push","getSignedUrl","expiresIn","apply","fileArray","map","a","getSignedUrlWithId","getSignedUrlUSEast1BucketAndKey","bucket","s3USEast1","getSignedUrls","getDataURIfromURL","url","get","error","response","body","statusCode","data","headers","toString","emailFile","email","additional_message","findById","callMethodInternal","errPDF","resPDF","emailMessage","sendEmail","ResolveIOServer","getClientName","filename","path","exports"],"mappings":"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","file":"aws.js","sourcesContent":["import { AWS, MethodManager } from '../managers/method.manager';\nimport { Files } from '../collections/file.collection';\nimport SimpleSchema from 'simpl-schema';\nimport { ResolveIOServer } from '../index';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { GetObjectCommand } from '@aws-sdk/client-s3';\nimport { getSignedUrl } from '@aws-sdk/s3-request-presigner';\n\nlet request = require('request').defaults({ encoding: null });\nlet fs = require('fs');\nlet pdfCnt = 1000000;\n\nexport function loadAWSMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tuploadFileAndSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileData: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileSize: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileOrder: {\n\t\t\t\t\ttype: Number\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tcompress: {\n\t\t\t\t\ttype: Boolean\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tif (fileName) {\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + (pdfCnt++) + '-' + fileName;\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tconst maxRetries = 3;\n\t\t\t\t\t\tlet attempt = 0;\n\n\t\t\t\t\t\tconst uploadFile = () => {\n\t\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\t\t\tKey: key,\n\t\t\t\t\t\t\t\tBody: Buffer.from(fileData.replace('data:' + fileData.split(',')[0].split(':')[1].split(';')[0] + ';base64,', ''), 'base64'), \n\t\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\t\tContentType: fileData.split(',')[0].split(':')[1].split(';')[0], \n\t\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\t\tif (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}).catch(errFile => {\n\t\t\t\t\t\t\t\t\t\treject(errFile);\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}).catch(err => {\n\t\t\t\t\t\t\t\tattempt++;\n\t\t\t\t\t\t\t\tif (attempt <= maxRetries) {\n\t\t\t\t\t\t\t\t\tconst backoff = Math.pow(2, attempt) * 1000; // Exponential backoff\n\t\t\t\t\t\t\t\t\tconsole.warn(`Attempt ${attempt} failed. Retrying in ${backoff / 1000} seconds...`);\n\t\t\t\t\t\t\t\t\tsetTimeout(uploadFile, backoff);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\treject(new Error(`Failed to upload after ${maxRetries} attempts: ${err.message}`));\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\n\t\t\t\t\t\tuploadFile(); // Start the upload process\n\t\t\t\t\t} else {\n\t\t\t\t\t\treject(new Error(\"Invalid fileName provided\"));\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 s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: Buffer.from(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFBufferAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileDataBuffer: {\t\n\t\t\t\t\ttype: Buffer\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, fileDataBuffer, fileSize: number, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fileDataBuffer, \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\t\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: fileSize, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\t\n\t\t\t\t\t\t\t}\t\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tuploadNonPDFStreamAndSave: {\n\t\t\tcheck: new SimpleSchema({\t\n\t\t\t\tfileName: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileData: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t},\t\n\t\t\t\tfileOrder: {\t\n\t\t\t\t\ttype: Number\t\n\t\t\t\t},\t\n\t\t\t\tfileType: {\t\n\t\t\t\t\ttype: String\t\n\t\t\t\t}\t\n\t\t\t}),\t\n\t\t\tfunction: function(fileName: string, fileData: string, fileOrder: number, fileType: string) {\t\n\t\t\t\treturn new Promise((resolve, reject) => {\t\n\t\t\t\t\tif (fileName) {\t\n\t\t\t\t\t\tlet key = 'uploads/' + Date.now() + '-' + fileName;\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.putObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key, \n\t\t\t\t\t\t\tBody: fs.createReadStream(fileData), \n\t\t\t\t\t\t\tACL: 'private', \n\t\t\t\t\t\t\tContentType: 'application/gzip', \n\t\t\t\t\t\t\tContentDisposition: 'inline'\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tFiles.create({\t\n\t\t\t\t\t\t\t\t\t_id: objectIdHexString(), __v: 0, name: fileName, size: 1, key: key, order: fileOrder, type: fileType\n\t\t\t\t\t\t\t\t}).then(resFile => {\t\n\t\t\t\t\t\t\t\t\tresolve(resFile);\t\n\t\t\t\t\t\t\t\t}, errFile => reject(errFile));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresolve(null);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}, err => {\n\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t});\t\n\t\t\t\t\t}\t\n\t\t\t\t});\t\n\t\t\t}\t\n\t\t},\n\t\tdeleteFiles: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[]) {\t\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet files = await Files.find({key: {$in: keys}});\n\t\t\n\t\t\t\t\tlet deleteCnt = files.length;\n\t\t\n\t\t\t\t\tfiles.forEach(file => {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tdeleteCnt--;\n\t\t\t\t\t\t\t\tif (!deleteCnt) {\n\t\t\t\t\t\t\t\t\tresolve(files.length);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({key: key});\n\t\t\n\t\t\t\t\tif (file) {\n\t\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t\t}\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tdeleteFileWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\t\t\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\ts3.deleteObject({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET,\n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\n\t\t\t\t\tFiles.deleteOne({_id: file._id});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlsAndFilesWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tids: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'ids.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(ids: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\t\t\t\t\tlet fileArray = [];\n\n\t\t\t\t\tlet files = await Files.find({_id: {$in: ids}});\n\t\t\t\t\t\n\t\t\t\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\t\tlet file = files[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresolve({res: res, fileArray: files.map(a => a.name)});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlWithId: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findOne({_id: id_file});\n\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: file.key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrlUSEast1BucketAndKey: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tbucket: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\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(bucket: string, key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3USEast1();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: bucket, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrl: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkey: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(key: string, expires: number) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\tKey: key\n\t\t\t\t\t});\n\t\t\t\t\tgetSignedUrl(s3, getCommand, {expiresIn: expires}).then(res => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, err => {\n\t\t\t\t\t\treject(err);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetSignedUrls: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tkeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'keys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\texpires: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(keys: string[], expires: number) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet res = [];\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet key = keys[i];\n\t\t\t\t\t\tlet s3 = (<AWS>this.getAWS()).s3();\n\t\t\t\t\t\tlet getCommand = new GetObjectCommand({\n\t\t\t\t\t\t\tBucket: process.env.AWS_S3_BUCKET, \n\t\t\t\t\t\t\tKey: key\n\t\t\t\t\t\t});\n\t\t\t\t\t\tres.push(await getSignedUrl(s3, getCommand, {expiresIn: expires}));\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(res);\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgetDataURIfromURL: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\turl: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(url: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\trequest.get(url, function (error, response, body) {\n\t\t\t\t\t\tif (!error && response.statusCode === 200) {\n\t\t\t\t\t\t\tlet data = 'data:' + response.headers['content-type'] + ';base64,' + new Buffer(body).toString('base64');\n\t\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject(error);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\temailFile: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tid_file: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\temail: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n additional_message: {\n type: String\n }\n\t\t\t}),\n\t\t\tfunction: function(id_file: string, email: string, additional_message) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tlet file = await Files.findById(id_file);\n\n\t\t\t\t\tif (!file) {\n\t\t\t\t\t\treject('Could not find file');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.callMethodInternal('getSignedUrl', file.key, 259200, (errPDF, resPDF) => {\n\t\t\t\t\t\tif (resPDF) {\n\t\t\t\t\t\t\tif (file.size < 5000000) {\n\t\t\t\t\t\t\t\tlet emailMessage = 'Attached is the file requested for email.\\n' + (additional_message !== '' ? '\\nAdditional Message:\\n' + additional_message + '\\n' : '') ;\n\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage, '', [{\n\t\t\t\t\t\t\t\t\tfilename: file.name,\n\t\t\t\t\t\t\t\t\tpath: resPDF\n\t\t\t\t\t\t\t\t}], null, '');\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 Message:\\n' + additional_message + '\\n' : '') ;\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.sendEmail(email, ResolveIOServer.getClientName() + ' File - ' + file.name, emailMessage + resPDF, '', null, null, '');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tresolve(true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\treject('Could not get file URL');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
package/methods.ts CHANGED
@@ -1,199 +1,199 @@
1
1
  import { PaginationOptions } from './models/pagination.model';
2
2
  import { UserModel } from './models/user.model';
3
3
 
4
- export function SERVER_METHODS(manager) {
4
+ export function SERVER_METHODS(resolveioServer) {
5
5
  return {
6
6
  cronEmailMergedDocsCleanUp: (cb?: Function): Promise<any> => {
7
- return manager.call('cronEmailMergedDocsCleanUp', cb);
7
+ return resolveioServer.call('cronEmailMergedDocsCleanUp', cb);
8
8
  },
9
9
  stuckCronJob: (cb?: Function): Promise<any> => {
10
- return manager.call('stuckCronJob', cb);
10
+ return resolveioServer.call('stuckCronJob', cb);
11
11
  },
12
12
  reportbuilderCronJob: (data: Object, cb?: Function): Promise<any> => {
13
- return manager.call('reportbuilderCronJob', data, cb);
13
+ return resolveioServer.call('reportbuilderCronJob', data, cb);
14
14
  },
15
15
  insertErrorLog: (message, data, cb?: Function): Promise<any> => {
16
- return manager.call('insertErrorLog', message, data, cb);
16
+ return resolveioServer.call('insertErrorLog', message, data, cb);
17
17
  },
18
18
  insertSubscriptionLog: (type, subscription, collection_name, subData, cb?: Function): Promise<any> => {
19
- return manager.call('insertSubscriptionLog', type, subscription, collection_name, subData, cb);
19
+ return resolveioServer.call('insertSubscriptionLog', type, subscription, collection_name, subData, cb);
20
20
  },
21
21
  insertMethodLatencyLog: (method, cb?: Function): Promise<any> => {
22
- return manager.call('insertMethodLatencyLog', method, cb);
22
+ return resolveioServer.call('insertMethodLatencyLog', method, cb);
23
23
  },
24
24
  superadminAPM: (date_start: Date, date_end: Date, graphInterval, cb?: Function): Promise<any> => {
25
- return manager.call('superadminAPM', date_start, date_end, graphInterval, cb);
25
+ return resolveioServer.call('superadminAPM', date_start, date_end, graphInterval, cb);
26
26
  },
27
27
  collectionListAll: (cb?: Function): Promise<any> => {
28
- return manager.call('collectionListAll', cb);
28
+ return resolveioServer.call('collectionListAll', cb);
29
29
  },
30
30
  collectionListRB: (cb?: Function): Promise<any> => {
31
- return manager.call('collectionListRB', cb);
31
+ return resolveioServer.call('collectionListRB', cb);
32
32
  },
33
33
  findOne: (collection: string, query = {}, cb?: Function): Promise<any> => {
34
- return manager.call('findOne', collection, query, cb);
34
+ return resolveioServer.call('findOne', collection, query, cb);
35
35
  },
36
36
  find: (collection: string, query = {}, sortQuery = {}, cb?: Function): Promise<any> => {
37
- return manager.call('find', collection, query, sortQuery, cb);
37
+ return resolveioServer.call('find', collection, query, sortQuery, cb);
38
38
  },
39
39
  findWithOptions: (collection: string, query: Object, options: PaginationOptions, cb?: Function): Promise<any> => {
40
- return manager.call('findWithOptions', collection, query, options, cb);
40
+ return resolveioServer.call('findWithOptions', collection, query, options, cb);
41
41
  },
42
42
  insertDocument: (collection: string, document: Object, cb?: Function): Promise<any> => {
43
- return manager.call('insertDocument', collection, document, cb);
43
+ return resolveioServer.call('insertDocument', collection, document, cb);
44
44
  },
45
45
  insertManyDocuments: (collection: string, documents: Object[], cb?: Function): Promise<any> => {
46
- return manager.call('insertManyDocuments', collection, documents, cb);
46
+ return resolveioServer.call('insertManyDocuments', collection, documents, cb);
47
47
  },
48
48
  updateDocument: (collection: string, f_document: Object, cb?: Function): Promise<any> => {
49
- return manager.call('updateDocument', collection, f_document, cb);
49
+ return resolveioServer.call('updateDocument', collection, f_document, cb);
50
50
  },
51
51
  updateDocumentProps: (collection: string, doc_id: string, updateParams: any[], doc__v?: number, cb?: Function): Promise<any> => {
52
- return manager.call('updateDocumentProps', collection, doc_id, updateParams, doc__v, cb);
52
+ return resolveioServer.call('updateDocumentProps', collection, doc_id, updateParams, doc__v, cb);
53
53
  },
54
54
  updateDocumentOffline: (collection: string, f_document: Object, cb?: Function): Promise<any> => {
55
- return manager.call('updateDocumentOffline', collection, f_document, cb);
55
+ return resolveioServer.call('updateDocumentOffline', collection, f_document, cb);
56
56
  },
57
57
  updateDocumentPropsOffline: (collection: string, doc_id: string, updateParams: any[], doc__v: number, cb?: Function): Promise<any> => {
58
- return manager.call('updateDocumentPropsOffline', collection, doc_id, updateParams, doc__v, cb);
58
+ return resolveioServer.call('updateDocumentPropsOffline', collection, doc_id, updateParams, doc__v, cb);
59
59
  },
60
60
  removeDocument: (collection: string, doc_id: string, cb?: Function): Promise<any> => {
61
- return manager.call('removeDocument', collection, doc_id, cb);
61
+ return resolveioServer.call('removeDocument', collection, doc_id, cb);
62
62
  },
63
63
  removeDocumentWithQuery: (collection: string, query: Object, cb?: Function): Promise<any> => {
64
- return manager.call('removeDocumentWithQuery', collection, query, cb);
64
+ return resolveioServer.call('removeDocumentWithQuery', collection, query, cb);
65
65
  },
66
66
  removeDocumentsWithQuery: (collection: string, query: Object, cb?: Function): Promise<any> => {
67
- return manager.call('removeDocumentsWithQuery', collection, query, cb);
67
+ return resolveioServer.call('removeDocumentsWithQuery', collection, query, cb);
68
68
  },
69
69
  uploadFileAndSave: (fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, compress: Boolean, cb?: Function): Promise<any> => {
70
- return manager.call('uploadFileAndSave', fileName, fileData, fileSize, fileOrder, fileType, compress, cb);
70
+ return resolveioServer.call('uploadFileAndSave', fileName, fileData, fileSize, fileOrder, fileType, compress, cb);
71
71
  },
72
72
  uploadNonPDFFileAndSave: (fileName: string, fileData: string, fileSize: number, fileOrder: number, fileType: string, cb?: Function): Promise<any> => {
73
- return manager.call('uploadNonPDFFileAndSave', fileName, fileData, fileSize, fileOrder, fileType, cb);
73
+ return resolveioServer.call('uploadNonPDFFileAndSave', fileName, fileData, fileSize, fileOrder, fileType, cb);
74
74
  },
75
75
  uploadNonPDFBufferAndSave: (fileName: string, fileDataBuffer, fileSize: number, fileOrder: number, fileType: string, cb?: Function): Promise<any> => {
76
- return manager.call('uploadNonPDFBufferAndSave', fileName, fileDataBuffer, fileSize, fileOrder, fileType, cb);
76
+ return resolveioServer.call('uploadNonPDFBufferAndSave', fileName, fileDataBuffer, fileSize, fileOrder, fileType, cb);
77
77
  },
78
78
  uploadNonPDFStreamAndSave: (fileName: string, fileData: string, fileOrder: number, fileType: string, cb?: Function): Promise<any> => {
79
- return manager.call('uploadNonPDFStreamAndSave', fileName, fileData, fileOrder, fileType, cb);
79
+ return resolveioServer.call('uploadNonPDFStreamAndSave', fileName, fileData, fileOrder, fileType, cb);
80
80
  },
81
81
  deleteFiles: (keys: string[], cb?: Function): Promise<any> => {
82
- return manager.call('deleteFiles', keys, cb);
82
+ return resolveioServer.call('deleteFiles', keys, cb);
83
83
  },
84
84
  deleteFile: (key: string, cb?: Function): Promise<any> => {
85
- return manager.call('deleteFile', key, cb);
85
+ return resolveioServer.call('deleteFile', key, cb);
86
86
  },
87
87
  deleteFileWithId: (id_file: string, cb?: Function): Promise<any> => {
88
- return manager.call('deleteFileWithId', id_file, cb);
88
+ return resolveioServer.call('deleteFileWithId', id_file, cb);
89
89
  },
90
90
  getSignedUrlsAndFilesWithId: (ids: string[], expires: number, cb?: Function): Promise<any> => {
91
- return manager.call('getSignedUrlsAndFilesWithId', ids, expires, cb);
91
+ return resolveioServer.call('getSignedUrlsAndFilesWithId', ids, expires, cb);
92
92
  },
93
93
  getSignedUrlWithId: (id_file: string, expires: number, cb?: Function): Promise<any> => {
94
- return manager.call('getSignedUrlWithId', id_file, expires, cb);
94
+ return resolveioServer.call('getSignedUrlWithId', id_file, expires, cb);
95
95
  },
96
96
  getSignedUrlUSEast1BucketAndKey: (bucket: string, key: string, expires: number, cb?: Function): Promise<any> => {
97
- return manager.call('getSignedUrlUSEast1BucketAndKey', bucket, key, expires, cb);
97
+ return resolveioServer.call('getSignedUrlUSEast1BucketAndKey', bucket, key, expires, cb);
98
98
  },
99
99
  getSignedUrl: (key: string, expires: number, cb?: Function): Promise<any> => {
100
- return manager.call('getSignedUrl', key, expires, cb);
100
+ return resolveioServer.call('getSignedUrl', key, expires, cb);
101
101
  },
102
102
  getSignedUrls: (keys: string[], expires: number, cb?: Function): Promise<any> => {
103
- return manager.call('getSignedUrls', keys, expires, cb);
103
+ return resolveioServer.call('getSignedUrls', keys, expires, cb);
104
104
  },
105
105
  getDataURIfromURL: (url: string, cb?: Function): Promise<any> => {
106
- return manager.call('getDataURIfromURL', url, cb);
106
+ return resolveioServer.call('getDataURIfromURL', url, cb);
107
107
  },
108
108
  emailFile: (id_file: string, email: string, additional_message, cb?: Function): Promise<any> => {
109
- return manager.call('emailFile', id_file, email, additional_message, cb);
109
+ return resolveioServer.call('emailFile', id_file, email, additional_message, cb);
110
110
  },
111
111
  generatePDF: (html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '', cb?: Function): Promise<any> => {
112
- return manager.call('generatePDF', html, fileName, orientation, fontSize, upload, uploadFileOrder, uploadFileType, cb);
112
+ return resolveioServer.call('generatePDF', html, fileName, orientation, fontSize, upload, uploadFileOrder, uploadFileType, cb);
113
113
  },
114
114
  generatePDFNoPageNumber: (html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '', cb?: Function): Promise<any> => {
115
- return manager.call('generatePDFNoPageNumber', html, fileName, orientation, fontSize, upload, uploadFileOrder, uploadFileType, cb);
115
+ return resolveioServer.call('generatePDFNoPageNumber', html, fileName, orientation, fontSize, upload, uploadFileOrder, uploadFileType, cb);
116
116
  },
117
117
  mergePDFResolve: (fileKeys: string[], fileName: string, fileType?: string, cb?: Function): Promise<any> => {
118
- return manager.call('mergePDFResolve', fileKeys, fileName, fileType, cb);
118
+ return resolveioServer.call('mergePDFResolve', fileKeys, fileName, fileType, cb);
119
119
  },
120
120
  mergePDFResolveNoSave: (fileKeys: string[], cb?: Function): Promise<any> => {
121
- return manager.call('mergePDFResolveNoSave', fileKeys, cb);
121
+ return resolveioServer.call('mergePDFResolveNoSave', fileKeys, cb);
122
122
  },
123
123
  mergePDFResolveHtml: (htmls: string[], fileName: string, fileType?: string, save = true, cb?: Function): Promise<any> => {
124
- return manager.call('mergePDFResolveHtml', htmls, fileName, fileType, save, cb);
124
+ return resolveioServer.call('mergePDFResolveHtml', htmls, fileName, fileType, save, cb);
125
125
  },
126
126
  incorrectUser: (old_user, new_user, client_subs, cb?: Function): Promise<any> => {
127
- return manager.call('incorrectUser', old_user, new_user, client_subs, cb);
127
+ return resolveioServer.call('incorrectUser', old_user, new_user, client_subs, cb);
128
128
  },
129
129
  reloadWS: (id_ws, cb?: Function): Promise<any> => {
130
- return manager.call('reloadWS', id_ws, cb);
130
+ return resolveioServer.call('reloadWS', id_ws, cb);
131
131
  },
132
132
  reconnectWS: (id_ws, cb?: Function): Promise<any> => {
133
- return manager.call('reconnectWS', id_ws, cb);
133
+ return resolveioServer.call('reconnectWS', id_ws, cb);
134
134
  },
135
135
  disconnectWS: (id_ws, cb?: Function): Promise<any> => {
136
- return manager.call('disconnectWS', id_ws, cb);
136
+ return resolveioServer.call('disconnectWS', id_ws, cb);
137
137
  },
138
138
  createUserAndEmailEnrollment: (newUser: UserModel, sendEnrollmentEmail = true, cb?: Function): Promise<any> => {
139
- return manager.call('createUserAndEmailEnrollment', newUser, sendEnrollmentEmail, cb);
139
+ return resolveioServer.call('createUserAndEmailEnrollment', newUser, sendEnrollmentEmail, cb);
140
140
  },
141
141
  resetUserPassword: (userId: string, cb?: Function): Promise<any> => {
142
- return manager.call('resetUserPassword', userId, cb);
142
+ return resolveioServer.call('resetUserPassword', userId, cb);
143
143
  },
144
144
  setUserPassword: (userId: string, password: string, cb?: Function): Promise<any> => {
145
- return manager.call('setUserPassword', userId, password, cb);
145
+ return resolveioServer.call('setUserPassword', userId, password, cb);
146
146
  },
147
147
  superadminMonitorGraphData: (date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string, cb?: Function): Promise<any> => {
148
- return manager.call('superadminMonitorGraphData', date_start, date_end, collection, instance, client, graphInterval, variable, variableType, cb);
148
+ return resolveioServer.call('superadminMonitorGraphData', date_start, date_end, collection, instance, client, graphInterval, variable, variableType, cb);
149
149
  },
150
150
  superadminMonitorTableData: (date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string, cb?: Function): Promise<any> => {
151
- return manager.call('superadminMonitorTableData', date_start, date_end, collection, instance, client, graphInterval, variable, variableType, cb);
151
+ return resolveioServer.call('superadminMonitorTableData', date_start, date_end, collection, instance, client, graphInterval, variable, variableType, cb);
152
152
  },
153
153
  monitorMongos: (cb?: Function): Promise<any> => {
154
- return manager.call('monitorMongos', cb);
154
+ return resolveioServer.call('monitorMongos', cb);
155
155
  },
156
156
  monitorCPUs: (cb?: Function): Promise<any> => {
157
- return manager.call('monitorCPUs', cb);
157
+ return resolveioServer.call('monitorCPUs', cb);
158
158
  },
159
159
  monitorMemorys: (cb?: Function): Promise<any> => {
160
- return manager.call('monitorMemorys', cb);
160
+ return resolveioServer.call('monitorMemorys', cb);
161
161
  },
162
162
  supportCreateBillingUser: (user, cb?: Function): Promise<any> => {
163
- return manager.call('supportCreateBillingUser', user, cb);
163
+ return resolveioServer.call('supportCreateBillingUser', user, cb);
164
164
  },
165
165
  supportGetSupportTicketWithId: (id_support_ticket, cb?: Function): Promise<any> => {
166
- return manager.call('supportGetSupportTicketWithId', id_support_ticket, cb);
166
+ return resolveioServer.call('supportGetSupportTicketWithId', id_support_ticket, cb);
167
167
  },
168
168
  supportInsertSupportTicket: (supportTicket, cb?: Function): Promise<any> => {
169
- return manager.call('supportInsertSupportTicket', supportTicket, cb);
169
+ return resolveioServer.call('supportInsertSupportTicket', supportTicket, cb);
170
170
  },
171
171
  supportUpdateSupportTicket: (supportTicket, cb?: Function): Promise<any> => {
172
- return manager.call('supportUpdateSupportTicket', supportTicket, cb);
172
+ return resolveioServer.call('supportUpdateSupportTicket', supportTicket, cb);
173
173
  },
174
174
  supportticketsWithOptions: (options, searchString, filters, cb?: Function): Promise<any> => {
175
- return manager.call('supportticketsWithOptions', options, searchString, filters, cb);
175
+ return resolveioServer.call('supportticketsWithOptions', options, searchString, filters, cb);
176
176
  },
177
177
  supportticketCount: (searchString, filters, cb?: Function): Promise<any> => {
178
- return manager.call('supportticketCount', searchString, filters, cb);
178
+ return resolveioServer.call('supportticketCount', searchString, filters, cb);
179
179
  },
180
180
  reportBuilderBuildTree: (collection_root: string, cb?: Function): Promise<any> => {
181
- return manager.call('reportBuilderBuildTree', collection_root, cb);
181
+ return resolveioServer.call('reportBuilderBuildTree', collection_root, cb);
182
182
  },
183
183
  reportBuilderGetDistinctValue: (treeLeaf, cb?: Function): Promise<any> => {
184
- return manager.call('reportBuilderGetDistinctValue', treeLeaf, cb);
184
+ return resolveioServer.call('reportBuilderGetDistinctValue', treeLeaf, cb);
185
185
  },
186
186
  reportBuilderGetResults: (reportType: string, rootCollectionName: string, rootOptions: PaginationOptions, filters: any[] = [], filterArrays: any[] = [], filterArrayFields: any[] = [], selectedFields: any[] = [], customFields: any[] = [], groupsRow: any[] = [], fieldsTotal: any[] = [], fieldsLink: any[] = [], date_field = '', date_interval = '', displayType = '', cb?: Function): Promise<any> => {
187
- return manager.call('reportBuilderGetResults', reportType, rootCollectionName, rootOptions, filters, filterArrays, filterArrayFields, selectedFields, customFields, groupsRow, fieldsTotal, fieldsLink, date_field, date_interval, displayType, cb);
187
+ return resolveioServer.call('reportBuilderGetResults', reportType, rootCollectionName, rootOptions, filters, filterArrays, filterArrayFields, selectedFields, customFields, groupsRow, fieldsTotal, fieldsLink, date_field, date_interval, displayType, cb);
188
188
  },
189
189
  incCounter: (counterType: string, cb?: Function): Promise<any> => {
190
- return manager.call('incCounter', counterType, cb);
190
+ return resolveioServer.call('incCounter', counterType, cb);
191
191
  },
192
192
  countCollectionWithQuery: (collectionType: string, query: Object, cb?: Function): Promise<any> => {
193
- return manager.call('countCollectionWithQuery', collectionType, query, cb);
193
+ return resolveioServer.call('countCollectionWithQuery', collectionType, query, cb);
194
194
  },
195
195
  countCollection: (collectionType: string, cb?: Function): Promise<any> => {
196
- return manager.call('countCollection', collectionType, cb);
196
+ return resolveioServer.call('countCollection', collectionType, cb);
197
197
  },
198
198
  };
199
199
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@resolveio/server-lib",
3
- "version": "20.1.9",
3
+ "version": "20.1.11",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "package": "./build_package.sh",
package/publications.ts CHANGED
@@ -1,87 +1,87 @@
1
1
  import { Observable } from 'rxjs';
2
2
 
3
- export function SERVER_PUBLICATIONS(manager) {
3
+ export function SERVER_PUBLICATIONS(resolveioServer) {
4
4
  return {
5
5
  usergroups: () => {
6
- return <Observable<any>> manager.subscribe('usergroups');
6
+ return <Observable<any>> resolveioServer.subscribe('usergroups');
7
7
  },
8
8
  cronjobs: () => {
9
- return <Observable<any>> manager.subscribe('cronjobs');
9
+ return <Observable<any>> resolveioServer.subscribe('cronjobs');
10
10
  },
11
11
  cronjobsReportBuilderWithIdUser: (id_user: string) => {
12
- return <Observable<any>> manager.subscribe('cronjobsReportBuilderWithIdUser', id_user);
12
+ return <Observable<any>> resolveioServer.subscribe('cronjobsReportBuilderWithIdUser', id_user);
13
13
  },
14
14
  reportbuilderdashboards: () => {
15
- return <Observable<any>> manager.subscribe('reportbuilderdashboards');
15
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderdashboards');
16
16
  },
17
17
  reportbuilderdashboardWithId: (id_dashboard: string) => {
18
- return <Observable<any>> manager.subscribe('reportbuilderdashboardWithId', id_dashboard);
18
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderdashboardWithId', id_dashboard);
19
19
  },
20
20
  loggedInUsers: () => {
21
- return <Observable<any>> manager.subscribe('loggedInUsers');
21
+ return <Observable<any>> resolveioServer.subscribe('loggedInUsers');
22
22
  },
23
23
  notifications: () => {
24
- return <Observable<any>> manager.subscribe('notifications');
24
+ return <Observable<any>> resolveioServer.subscribe('notifications');
25
25
  },
26
26
  reportbuilderreports: () => {
27
- return <Observable<any>> manager.subscribe('reportbuilderreports');
27
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderreports');
28
28
  },
29
29
  reportbuilderreportsWithIdUser: (id_user: string) => {
30
- return <Observable<any>> manager.subscribe('reportbuilderreportsWithIdUser', id_user);
30
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderreportsWithIdUser', id_user);
31
31
  },
32
32
  reportbuilderreportWithId: (id: string) => {
33
- return <Observable<any>> manager.subscribe('reportbuilderreportWithId', id);
33
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderreportWithId', id);
34
34
  },
35
35
  reportbuilderreportsWithCustomerId: (id: string) => {
36
- return <Observable<any>> manager.subscribe('reportbuilderreportsWithCustomerId', id);
36
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderreportsWithCustomerId', id);
37
37
  },
38
38
  logsWithType: (type: string) => {
39
- return <Observable<any>> manager.subscribe('logsWithType', type);
39
+ return <Observable<any>> resolveioServer.subscribe('logsWithType', type);
40
40
  },
41
41
  logsWithTypes: (types: string[]) => {
42
- return <Observable<any>> manager.subscribe('logsWithTypes', types);
42
+ return <Observable<any>> resolveioServer.subscribe('logsWithTypes', types);
43
43
  },
44
44
  logsWithIdDocument: (id_document: string) => {
45
- return <Observable<any>> manager.subscribe('logsWithIdDocument', id_document);
45
+ return <Observable<any>> resolveioServer.subscribe('logsWithIdDocument', id_document);
46
46
  },
47
47
  logsWithMethod: (method: string) => {
48
- return <Observable<any>> manager.subscribe('logsWithMethod', method);
48
+ return <Observable<any>> resolveioServer.subscribe('logsWithMethod', method);
49
49
  },
50
50
  logsWithRoute: (route: string) => {
51
- return <Observable<any>> manager.subscribe('logsWithRoute', route);
51
+ return <Observable<any>> resolveioServer.subscribe('logsWithRoute', route);
52
52
  },
53
53
  logsWithCollection: (collection: string) => {
54
- return <Observable<any>> manager.subscribe('logsWithCollection', collection);
54
+ return <Observable<any>> resolveioServer.subscribe('logsWithCollection', collection);
55
55
  },
56
56
  methodlatencies: () => {
57
- return <Observable<any>> manager.subscribe('methodlatencies');
57
+ return <Observable<any>> resolveioServer.subscribe('methodlatencies');
58
58
  },
59
59
  userGuides: () => {
60
- return <Observable<any>> manager.subscribe('userGuides');
60
+ return <Observable<any>> resolveioServer.subscribe('userGuides');
61
61
  },
62
62
  flagWithType: (flagType: string) => {
63
- return <Observable<any>> manager.subscribe('flagWithType', flagType);
63
+ return <Observable<any>> resolveioServer.subscribe('flagWithType', flagType);
64
64
  },
65
65
  methodresponses: () => {
66
- return <Observable<any>> manager.subscribe('methodresponses');
66
+ return <Observable<any>> resolveioServer.subscribe('methodresponses');
67
67
  },
68
68
  reportbuilderlibraries: () => {
69
- return <Observable<any>> manager.subscribe('reportbuilderlibraries');
69
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderlibraries');
70
70
  },
71
71
  reportbuilderlibrariesWithIdUser: (id_user: string) => {
72
- return <Observable<any>> manager.subscribe('reportbuilderlibrariesWithIdUser', id_user);
72
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderlibrariesWithIdUser', id_user);
73
73
  },
74
74
  reportbuilderlibrariesForUser: (id_user: string) => {
75
- return <Observable<any>> manager.subscribe('reportbuilderlibrariesForUser', id_user);
75
+ return <Observable<any>> resolveioServer.subscribe('reportbuilderlibrariesForUser', id_user);
76
76
  },
77
77
  fileWithId: (id_file: string) => {
78
- return <Observable<any>> manager.subscribe('fileWithId', id_file);
78
+ return <Observable<any>> resolveioServer.subscribe('fileWithId', id_file);
79
79
  },
80
80
  filesIn: (id_files: string[]) => {
81
- return <Observable<any>> manager.subscribe('filesIn', id_files);
81
+ return <Observable<any>> resolveioServer.subscribe('filesIn', id_files);
82
82
  },
83
83
  appstatus: () => {
84
- return <Observable<any>> manager.subscribe('appstatus');
84
+ return <Observable<any>> resolveioServer.subscribe('appstatus');
85
85
  },
86
86
  };
87
87
  }