@resolveio/server-lib 20.7.92 → 20.7.94
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/collections.js +1 -1
- package/methods/collections.js.map +1 -1
- package/methods/pdf.js +1 -1
- package/methods/pdf.js.map +1 -1
- package/package.json +1 -1
package/methods/collections.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t=t||Promise)(function(r,o){function fulfilled(e){try{step(i.next(e))}catch(e){o(e)}}function rejected(e){try{step(i.throw(e))}catch(e){o(e)}}function step(e){var o;e.done?r(e.value):((o=e.value)instanceof t?o:new t(function(e){e(o)})).then(fulfilled,rejected)}step((i=i.apply(e,n||[])).next())})},__generator=this&&this.__generator||function(n,t){var i,l,c,a={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]},s={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function verb(r){return function(e){var o=[r,e];if(i)throw new TypeError("Generator is already executing.");for(;a=s&&o[s=0]?0:a;)try{if(i=1,l&&(c=2&o[0]?l.return:o[0]?l.throw||((c=l.return)&&c.call(l),0):l.next)&&!(c=c.call(l,o[1])).done)return c;switch(l=0,(o=c?[2&o[0],c.value]:o)[0]){case 0:case 1:c=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,l=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(c=0<(c=a.trys).length&&c[c.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!c||o[1]>c[0]&&o[1]<c[3]))a.label=o[1];else if(6===o[0]&&a.label<c[1])a.label=c[1],c=o;else{if(!(c&&a.label<c[2])){c[2]&&a.ops.pop(),a.trys.pop();continue}a.label=c[2],a.ops.push(o)}}o=t.call(n,a)}catch(e){o=[6,e],l=0}finally{i=c=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}},simpl_schema_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCollectionMethods=void 0,require("simpl-schema")),pagination_model_1=require("../models/pagination.model"),resolveio_server_app_1=require("../resolveio-server-app"),common_1=require("../util/common");function loadCollectionMethods(e){e.methods({collectionListAll:{function:function(){return Promise.resolve(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))}},collectionListRB:{function:function(){return Promise.resolve(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().filter(function(e){return e.useRB}).map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))}},findOne:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){if(void 0===o&&(o={}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).findOne(o);throw new Error("Error in Find One Collection: Invalid collection")}},find:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,o,r){if(void 0===o&&(o={}),void 0===r&&(r={}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).find(o,{sort:r});throw new Error("Error in Find Collection: Invalid collection")}},findWithOptions:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(e,o,r){var n;if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return n={},r.fields&&Object.keys(r.fields).length&&(n.projection=r.fields),r.sort&&Object.keys(r.sort).length&&(n.sort=r.sort),r.limit&&(n.limit=r.limit),r.skip&&(n.skip=r.skip),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).find(o,n);throw new Error("Error in Find With Options Collection: Invalid collection")}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(r,n){return __awaiter(this,void 0,void 0,function(){var o;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r))return[3,1];throw new Error("Error in Insert Document Collection: Invalid collection");case 1:return o=(0,common_1.objectIdHexString)(),n._id=o,n.__v=0,[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r).insertOne(n)];case 2:return e.sent(),[2,o]}})})}},insertManyDocuments:{check:new simpl_schema_1.default({collection:{type:String},documents:{type:Array},"documents.$":{type:Object,blackbox:!0}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[3,1];throw new Error("Error in Insert Many Documents Collection: Invalid collection");case 1:return r.forEach(function(e){e._id=(0,common_1.objectIdHexString)(),e.__v=0}),[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).insertMany(r)];case 2:return e.sent(),[2,r.map(function(e){return e._id})]}})})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(e,o){if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).replaceOne({_id:o._id},o);throw new Error("Error in Update Document Collection: Invalid collection")}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number,optional:!0}}),function:function(l,c,a,s){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l))return[3,1];throw new Error("Error in Update Document Props Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:c})];case 2:return(o=e.sent())?(r=(0,common_1.deepCopy)(o),a.forEach(function(e){r[e.prop]=e.data}),s&&r.__v!==s?[3,3]:[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:r._id},r,{},!1,!1,o)]):[3,7];case 3:return(console.log(new Date,"invalid version - "+l,o.__v,s),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:o._id,__v:s}})]:[3,5];case 4:if(i=e.sent(),n=o._id,t=o.__v,i)return(i=(0,common_1.getMongoMergeUpdatedDoc)(r,o,i))._id=n,i.__v=t,o._id=n,o.__v=t,[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:n},i,{},!1,!1,o)];throw new Error("Error In Update Document Props Collections: Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+s);case 5:throw new Error("Error In Update Document Props Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 6:return[3,8];case 7:throw new Error("Error in Update Document Props Collections: No Document");case 8:return[2]}})})}},updateDocumentOffline:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(l,c){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l))return[3,1];throw new Error("Error in Update Document Offline Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:c._id})];case 2:return(o=e.sent())?o.__v!==c.__v?[3,3]:[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:c._id},c,{},!1,!1,o)]:[3,7];case 3:return(console.log("OFFLINE - invalid version - "+l,o.__v,c.__v),r=o._id,n=o.__v,t=c.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:r,__v:t}})]:[3,5];case 4:if(i=e.sent())return(i=(0,common_1.getMongoMergeUpdatedDoc)(c,o,i))._id=r,i.__v=n,o._id=r,o.__v=n,[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:r},i,{},!1,!1,o)];throw new Error("Error in Update Document Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: "+n+", Trying to update with :"+t);case 5:throw new Error("Error in Update Document Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 6:return[3,8];case 7:throw new Error("Error in Update Document Offline Collections: No Document");case 8:return[2]}})})}},updateDocumentPropsOffline:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(l,c,a,s){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l))return[3,1];throw new Error("Error in Update Document Props Offline Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).findOne({_id:c},null,!0)];case 2:return(o=e.sent())?(r=(0,common_1.deepCopy)(o),a.forEach(function(e){r[e.prop]=e.data}),r.__v!==s?[3,3]:[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:r._id},r,{},!1,!1,o)]):[3,7];case 3:return(console.log("OFFLINE - invalid version - "+l,o.__v,s),n=o._id,t=o.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l+".versions").findOne({_id:{_id:o._id,__v:s}})]:[3,5];case 4:if(i=e.sent())return(i=(0,common_1.getMongoMergeUpdatedDoc)(r,o,i))._id=n,i.__v=t,o._id=n,o.__v=t,[2,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(l).replaceOne({_id:n},i,{},!1,!1,o)];throw new Error("Error in Update Document Props Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+s);case 5:throw new Error("Error in Update Document Props Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 6:return[3,8];case 7:throw new Error("Error in Update Document Props Offline Collections: No Document");case 8:return[2]}})})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(e,o){if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteOne({_id:o});throw new Error("Error in Remove Document Collection: Invalid collection")}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteOne(o);throw new Error("Error in Remove Document With Query Collection: Invalid collection")}},removeDocumentsWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).deleteMany(o);throw new Error("Error in Remove Documents With Query Collections: Invalid Collection")}}})}exports.loadCollectionMethods=loadCollectionMethods;
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(e,n,t,i){return new(t=t||Promise)(function(r,o){function fulfilled(e){try{step(i.next(e))}catch(e){o(e)}}function rejected(e){try{step(i.throw(e))}catch(e){o(e)}}function step(e){var o;e.done?r(e.value):((o=e.value)instanceof t?o:new t(function(e){e(o)})).then(fulfilled,rejected)}step((i=i.apply(e,n||[])).next())})},__generator=this&&this.__generator||function(n,t){var i,c,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},s={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function verb(r){return function(e){var o=[r,e];if(i)throw new TypeError("Generator is already executing.");for(;a=s&&o[s=0]?0:a;)try{if(i=1,c&&(l=2&o[0]?c.return:o[0]?c.throw||((l=c.return)&&l.call(c),0):c.next)&&!(l=l.call(c,o[1])).done)return l;switch(c=0,(o=l?[2&o[0],l.value]:o)[0]){case 0:case 1:l=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,c=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(l=0<(l=a.trys).length&&l[l.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!l||o[1]>l[0]&&o[1]<l[3]))a.label=o[1];else if(6===o[0]&&a.label<l[1])a.label=l[1],l=o;else{if(!(l&&a.label<l[2])){l[2]&&a.ops.pop(),a.trys.pop();continue}a.label=l[2],a.ops.push(o)}}o=t.call(n,a)}catch(e){o=[6,e],c=0}finally{i=l=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}},simpl_schema_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadCollectionMethods=void 0,require("simpl-schema")),pagination_model_1=require("../models/pagination.model"),resolveio_server_app_1=require("../resolveio-server-app"),common_1=require("../util/common");function loadCollectionMethods(e){e.methods({collectionListAll:{function:function(){return Promise.resolve(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))}},collectionListRB:{function:function(){return Promise.resolve(resolveio_server_app_1.ResolveIOServer.getMongoManager().collections().filter(function(e){return e.useRB}).map(function(e){return e.collectionName}).sort(function(e,o){return e.localeCompare(o)}))}},findOne:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){if(void 0===o&&(o={}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).findOne(o);throw new Error("Error in Find One Collection: Invalid collection")}},find:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,o,r){if(void 0===o&&(o={}),void 0===r&&(r={}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).find(o,{sort:r});throw new Error("Error in Find Collection: Invalid collection")}},findWithOptions:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(e,o,r){var n;if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e))return n={},r.fields&&Object.keys(r.fields).length&&(n.projection=r.fields),r.sort&&Object.keys(r.sort).length&&(n.sort=r.sort),r.limit&&(n.limit=r.limit),r.skip&&(n.skip=r.skip),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).find(o,n);throw new Error("Error in Find With Options Collection: Invalid collection")}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(r,n){return __awaiter(this,void 0,void 0,function(){var o;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r))return[3,1];throw new Error("Error in Insert Document Collection: Invalid collection");case 1:return o=(0,common_1.objectIdHexString)(),n._id=o,n.__v=0,[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(r).insertOne(n)];case 2:return e.sent(),[2,o]}})})}},insertManyDocuments:{check:new simpl_schema_1.default({collection:{type:String},documents:{type:Array},"documents.$":{type:Object,blackbox:!0}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[3,1];throw new Error("Error in Insert Many Documents Collection: Invalid collection");case 1:return r.forEach(function(e){e._id=(0,common_1.objectIdHexString)(),e.__v=0}),[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).insertMany(r)];case 2:return e.sent(),[2,r.map(function(e){return e._id})]}})})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).replaceOne({_id:r._id},r)];throw new Error("Error in Update Document Collection: Invalid collection");case 1:return e.sent(),[2,!0]}})})}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number,optional:!0}}),function:function(c,l,a,s){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c))return[3,1];throw new Error("Error in Update Document Props Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).findOne({_id:l})];case 2:return(o=e.sent())?(r=(0,common_1.deepCopy)(o),a.forEach(function(e){r[e.prop]=e.data}),s&&r.__v!==s?[3,4]:[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:r._id},r,{},!1,!1,o)]):[3,11];case 3:return e.sent(),[3,10];case 4:return(console.log(new Date,"invalid version - "+c,o.__v,s),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions").findOne({_id:{_id:o._id,__v:s}})]:[3,9];case 5:return(i=e.sent(),n=o._id,t=o.__v,i)?((i=(0,common_1.getMongoMergeUpdatedDoc)(r,o,i))._id=n,i.__v=t,o._id=n,o.__v=t,[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:n},i,{},!1,!1,o)]):[3,7];case 6:return e.sent(),[3,8];case 7:throw new Error("Error In Update Document Props Collections: Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+s);case 8:return[3,10];case 9:throw new Error("Error In Update Document Props Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 10:return[3,12];case 11:throw new Error("Error in Update Document Props Collections: No Document");case 12:return[2,!0]}})})}},updateDocumentOffline:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(c,l){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c))return[3,1];throw new Error("Error in Update Document Offline Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).findOne({_id:l._id})];case 2:return(o=e.sent())?o.__v!==l.__v?[3,4]:[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:l._id},l,{},!1,!1,o)]:[3,11];case 3:return e.sent(),[3,10];case 4:return(console.log("OFFLINE - invalid version - "+c,o.__v,l.__v),r=o._id,n=o.__v,t=l.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions").findOne({_id:{_id:r,__v:t}})]:[3,9];case 5:return(i=e.sent())?((i=(0,common_1.getMongoMergeUpdatedDoc)(l,o,i))._id=r,i.__v=n,o._id=r,o.__v=n,[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:r},i,{},!1,!1,o)]):[3,7];case 6:return e.sent(),[3,8];case 7:throw new Error("Error in Update Document Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: "+n+", Trying to update with :"+t);case 8:return[3,10];case 9:throw new Error("Error in Update Document Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 10:return[3,12];case 11:throw new Error("Error in Update Document Offline Collections: No Document");case 12:return[2,!0]}})})}},updateDocumentPropsOffline:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(c,l,a,s){return __awaiter(this,void 0,void 0,function(){var o,r,n,t,i;return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c))return[3,1];throw new Error("Error in Update Document Props Offline Collection: Invalid collection");case 1:return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).findOne({_id:l},null,!0)];case 2:return(o=e.sent())?(r=(0,common_1.deepCopy)(o),a.forEach(function(e){r[e.prop]=e.data}),r.__v!==s?[3,4]:[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:r._id},r,{},!1,!1,o)]):[3,11];case 3:return e.sent(),[3,10];case 4:return(console.log("OFFLINE - invalid version - "+c,o.__v,s),n=o._id,t=o.__v,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions"))?[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c+".versions").findOne({_id:{_id:o._id,__v:s}})]:[3,9];case 5:return(i=e.sent())?((i=(0,common_1.getMongoMergeUpdatedDoc)(r,o,i))._id=n,i.__v=t,o._id=n,o.__v=t,[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(c).replaceOne({_id:n},i,{},!1,!1,o)]):[3,7];case 6:return e.sent(),[3,8];case 7:throw new Error("Error in Update Document Props Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: "+t+", Trying to update with :"+s);case 8:return[3,10];case 9:throw new Error("Error in Update Document Props Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!");case 10:return[3,12];case 11:throw new Error("Error in Update Document Props Offline Collections: No Document");case 12:return[2,!0]}})})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).deleteOne({_id:r})];throw new Error("Error in Remove Document Collection: Invalid collection");case 1:return e.sent(),[2,!0]}})})}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).deleteOne(r)];throw new Error("Error in Remove Document With Query Collection: Invalid collection");case 1:return e.sent(),[2,!0]}})})}},removeDocumentsWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(o,r){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:if(resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o))return[4,resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o).deleteMany(r)];throw new Error("Error in Remove Documents With Query Collections: Invalid Collection");case 1:return e.sent(),[2,!0]}})})}}})}exports.loadCollectionMethods=loadCollectionMethods;
|
|
2
2
|
//# sourceMappingURL=collections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/collections.ts"],"names":["simpl_schema_1","require","pagination_model_1","resolveio_server_app_1","common_1","loadCollectionMethods","methodManager","methods","collectionListAll","function","Promise","resolve","ResolveIOServer","getMongoManager","collections","map","a","collectionName","sort","b","localeCompare","collectionListRB","filter","useRB","findOne","check","default","collection","type","String","query","Object","blackbox","Error","find","optional","sortQuery","findWithOptions","options","PaginationOptionsSchema","optionsQuery","fields","keys","length","limit","skip","insertDocument","document","id","objectIdHexString","insertOne","_a","sent","insertManyDocuments","documents","Array","documents.$","forEach","insertMany","updateDocument","f_document","replaceOne","_id","updateDocumentProps","doc_id","updateParams","updateParams.$","doc__v","Number","currDoc","modifiedDoc_1","deepCopy","data","prop","__v","console","log","Date","oldDoc","newCurrDocId","newCurrDocV","updatedDoc","getMongoMergeUpdatedDoc","updateDocumentOffline","oldDocV","updateDocumentPropsOffline","modifiedDoc_2","removeDocument","deleteOne","removeDocumentWithQuery","removeDocumentsWithQuery","deleteMany","exports"],"mappings":"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","file":"collections.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { MethodManager } from '../managers/method.manager';\nimport { PaginationOptions, PaginationOptionsSchema } from '../models/pagination.model';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { deepCopy, getMongoMergeUpdatedDoc, objectIdHexString } from '../util/common';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tcollectionListAll: {\n\t\t\tfunction: function() {\n\t\t\t\treturn Promise.resolve(ResolveIOServer.getMongoManager().collections().map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t}\n\t\t},\n\t\tcollectionListRB: {\n\t\t\tfunction: function() {\n\t\t\t\treturn Promise.resolve(ResolveIOServer.getMongoManager().collections().filter(a => a.useRB).map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t}\n\t\t},\n\t\t// Query database for any collection and query\n\t\tfindOne: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query = {}) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find One Collection: Invalid collection');\n\t\t\t\t}\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).findOne(query);\n\t\t\t}\n\t\t},\n\t\tfind: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsort: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query = {}, sortQuery = {}) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).find(query, {sort: sortQuery});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\ttype: PaginationOptionsSchema\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, options: PaginationOptions) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find With Options Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet optionsQuery = {};\n\n\t\t\t\t\tif (options.fields && Object.keys(options.fields).length) {\n\t\t\t\t\t\toptionsQuery['projection'] = options.fields;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.sort && Object.keys(options.sort).length) {\n\t\t\t\t\t\toptionsQuery['sort'] = options.sort;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.limit) {\n\t\t\t\t\t\toptionsQuery['limit'] = options.limit;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.skip) {\n\t\t\t\t\t\toptionsQuery['skip'] = options.skip;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).find(query, optionsQuery);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Insert Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\tdocument['__v'] = 0;\n\n\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).insertOne(document);\n\t\t\t\t\treturn id;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertManyDocuments: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocuments: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'documents.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, documents: Object[]) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Insert Many Documents Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdocuments.forEach(document => {\n\t\t\t\t\t\tdocument['_id'] = objectIdHexString();\n\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t});\n\n\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).insertMany(documents);\n\t\t\t\t\treturn documents.map(a => a['_id']);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update\n\t\tupdateDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, f_document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document);\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentProps: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, doc_id: string, updateParams: any[], doc__v?: number) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Props Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id});\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (!doc__v || modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: doc__v\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error In Update Document Props Collections: Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error In Update Document Props Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Props Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tupdateDocumentOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, f_document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Offline Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: f_document['_id']});\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\tlet oldDocV = f_document['__v'];\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: newCurrDocId,\n\t\t\t\t\t\t\t\t\t\t__v: oldDocV\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + oldDocV);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentPropsOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, doc_id: string, updateParams: any[], doc__v: number) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}, null, true);\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: doc__v\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Removes 1 document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (deleted), res = 0 (not deleted), err = not deleted\n\t\t// Search for doc, if found then try and remove\n\t\tremoveDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, doc_id: string) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).deleteOne({_id: doc_id});\n\t\t\t}\n\t\t},\n\t\tremoveDocumentWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Document With Query Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).deleteOne(query);\n\t\t\t}\n\t\t},\n\t\tremoveDocumentsWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Documents With Query Collections: Invalid Collection');\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).deleteMany(query);\n\t\t\t}\n\t\t}\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/collections.ts"],"names":["simpl_schema_1","require","pagination_model_1","resolveio_server_app_1","common_1","loadCollectionMethods","methodManager","methods","collectionListAll","function","Promise","resolve","ResolveIOServer","getMongoManager","collections","map","a","collectionName","sort","b","localeCompare","collectionListRB","filter","useRB","findOne","check","default","collection","type","String","query","Object","blackbox","Error","find","optional","sortQuery","findWithOptions","options","PaginationOptionsSchema","optionsQuery","fields","keys","length","limit","skip","insertDocument","document","id","objectIdHexString","insertOne","_a","sent","insertManyDocuments","documents","Array","documents.$","forEach","insertMany","updateDocument","f_document","replaceOne","_id","updateDocumentProps","doc_id","updateParams","updateParams.$","doc__v","Number","currDoc","modifiedDoc_1","deepCopy","data","prop","__v","console","log","Date","oldDoc","newCurrDocId","newCurrDocV","updatedDoc","getMongoMergeUpdatedDoc","updateDocumentOffline","oldDocV","updateDocumentPropsOffline","modifiedDoc_2","removeDocument","deleteOne","removeDocumentWithQuery","removeDocumentsWithQuery","deleteMany","exports"],"mappings":"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","file":"collections.js","sourcesContent":["import SimpleSchema from 'simpl-schema';\nimport { MethodManager } from '../managers/method.manager';\nimport { PaginationOptions, PaginationOptionsSchema } from '../models/pagination.model';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { deepCopy, getMongoMergeUpdatedDoc, objectIdHexString } from '../util/common';\n\nexport function loadCollectionMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tcollectionListAll: {\n\t\t\tfunction: function() {\n\t\t\t\treturn Promise.resolve(ResolveIOServer.getMongoManager().collections().map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t}\n\t\t},\n\t\tcollectionListRB: {\n\t\t\tfunction: function() {\n\t\t\t\treturn Promise.resolve(ResolveIOServer.getMongoManager().collections().filter(a => a.useRB).map(a => a.collectionName).sort((a, b) => a.localeCompare(b)));\n\t\t\t}\n\t\t},\n\t\t// Query database for any collection and query\n\t\tfindOne: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query = {}) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find One Collection: Invalid collection');\n\t\t\t\t}\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).findOne(query);\n\t\t\t}\n\t\t},\n\t\tfind: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tsort: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query = {}, sortQuery = {}) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).find(query, {sort: sortQuery});\n\t\t\t}\n\t\t},\n\t\tfindWithOptions: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\toptions: {\n\t\t\t\t\ttype: PaginationOptionsSchema\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(collection: string, query: Object, options: PaginationOptions) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Find With Options Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet optionsQuery = {};\n\n\t\t\t\t\tif (options.fields && Object.keys(options.fields).length) {\n\t\t\t\t\t\toptionsQuery['projection'] = options.fields;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.sort && Object.keys(options.sort).length) {\n\t\t\t\t\t\toptionsQuery['sort'] = options.sort;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.limit) {\n\t\t\t\t\t\toptionsQuery['limit'] = options.limit;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (options.skip) {\n\t\t\t\t\t\toptionsQuery['skip'] = options.skip;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).find(query, optionsQuery);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocument: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Insert Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet id = objectIdHexString();\n\t\t\t\t\tdocument['_id'] = id;\n\t\t\t\t\tdocument['__v'] = 0;\n\n\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).insertOne(document);\n\t\t\t\t\treturn id;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Insert 1 document\n\t\t// @Inputs: collection, document\n\t\t// @Outputs: res = _id of new document, err = not inserted\n\t\tinsertManyDocuments: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdocuments: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'documents.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, documents: Object[]) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Insert Many Documents Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdocuments.forEach(document => {\n\t\t\t\t\t\tdocument['_id'] = objectIdHexString();\n\t\t\t\t\t\tdocument['__v'] = 0;\n\t\t\t\t\t});\n\n\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).insertMany(documents);\n\t\t\t\t\treturn documents.map(a => a['_id']);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t// Replaces 1 document with new document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (updated 1), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update\n\t\tupdateDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, f_document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document);\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentProps: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, doc_id: string, updateParams: any[], doc__v?: number) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Props Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id});\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (!doc__v || modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log(new Date(), 'invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: doc__v\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error In Update Document Props Collections: Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error In Update Document Props Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Props Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tupdateDocumentOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tf_document: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, f_document: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Offline Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: f_document['_id']});\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tif (currDoc.__v === f_document['__v']) {\n\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: f_document['_id']}, f_document, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, f_document['__v']);\n\n\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\tlet oldDocV = f_document['__v'];\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: newCurrDocId,\n\t\t\t\t\t\t\t\t\t\t__v: oldDocV\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(f_document, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + oldDocV);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Offline Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\t// Updates 1 document's props (from _id)\n\t\t// @Inputs: collection, document id, document version, update paramters ({prop: 'xxx', data: 'yyy})\n\t\t// @Outputs: res = 1 (updated 1), res = 0 (not updated), err = not updated/wrong version\n\t\t// Search for doc, check version, if found then try and update props\n\t\tupdateDocumentPropsOffline: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tupdateParams: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'updateParams.$': {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t},\n\t\t\t\tdoc__v: {\n\t\t\t\t\ttype: Number\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, doc_id: string, updateParams: any[], doc__v: number) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet currDoc = await ResolveIOServer.getMongoManager().collection(collection).findOne({_id: doc_id}, null, true);\n\t\t\t\t\tif (currDoc) {\n\t\t\t\t\t\tlet modifiedDoc = deepCopy(currDoc);\n\n\t\t\t\t\t\tupdateParams.forEach(data => {\n\t\t\t\t\t\t\tmodifiedDoc[data.prop] = data.data;\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (modifiedDoc.__v === doc__v) {\n\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: modifiedDoc._id}, modifiedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('OFFLINE - invalid version - ' + collection, currDoc.__v, doc__v);\n\n\t\t\t\t\t\t\tlet newCurrDocId = currDoc._id;\n\t\t\t\t\t\t\tlet newCurrDocV = currDoc.__v;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (ResolveIOServer.getMongoManager().collection(collection + '.versions')) {\n\t\t\t\t\t\t\t\tlet oldDoc = await ResolveIOServer.getMongoManager().collection(collection + '.versions').findOne({\n\t\t\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\t\t\t_id: currDoc._id,\n\t\t\t\t\t\t\t\t\t\t__v: doc__v\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif (oldDoc) {\n\t\t\t\t\t\t\t\t\tlet updatedDoc = getMongoMergeUpdatedDoc(modifiedDoc, currDoc, oldDoc);\n\t\t\t\t\t\t\t\t\tupdatedDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tupdatedDoc.__v = newCurrDocV;\n\t\t\t\t\t\t\t\t\tcurrDoc._id = newCurrDocId;\n\t\t\t\t\t\t\t\t\tcurrDoc.__v = newCurrDocV;\n\n\t\t\t\t\t\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).replaceOne({_id: newCurrDocId}, updatedDoc, {}, false, false, currDoc);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: OFFLINE - Invalid Version And Could Not Find History Props - DB: ' + newCurrDocV + ', Trying to update with :' + doc__v);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: Invalid Version And We Are NOT Using Versions On This Collection!');\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\telse {\n\t\t\t\t\t\tthrow new Error('Error in Update Document Props Offline Collections: No Document');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\t// Removes 1 document (from _id)\n\t\t// @Inputs: collection, document id\n\t\t// @Outputs: res = 1 (deleted), res = 0 (not deleted), err = not deleted\n\t\t// Search for doc, if found then try and remove\n\t\tremoveDocument: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tdoc_id: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, doc_id: string) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Document Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).deleteOne({_id: doc_id});\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tremoveDocumentWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, query: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Document With Query Collection: Invalid collection');\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).deleteOne(query);\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t},\n\t\tremoveDocumentsWithQuery: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tcollection: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tquery: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tblackbox: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(collection: string, query: Object) {\n\t\t\t\tif (!ResolveIOServer.getMongoManager().collection(collection)) {\n\t\t\t\t\tthrow new Error('Error in Remove Documents With Query Collections: Invalid Collection');\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tawait ResolveIOServer.getMongoManager().collection(collection).deleteMany(query);\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t});\n}"]}
|
package/methods/pdf.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(t,a,r,i){return new(r=r||Promise)(function(n,e){function fulfilled(t){try{step(i.next(t))}catch(t){e(t)}}function rejected(t){try{step(i.throw(t))}catch(t){e(t)}}function step(t){var e;t.done?n(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(fulfilled,rejected)}step((i=i.apply(t,a||[])).next())})},__generator=this&&this.__generator||function(a,r){var i,s,o,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},f={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function verb(n){return function(t){var e=[n,t];if(i)throw new TypeError("Generator is already executing.");for(;l=f&&e[f=0]?0:l;)try{if(i=1,s&&(o=2&e[0]?s.return:e[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,e[1])).done)return o;switch(s=0,(e=o?[2&e[0],o.value]:e)[0]){case 0:case 1:o=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,s=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(o=0<(o=l.trys).length&&o[o.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!o||e[1]>o[0]&&e[1]<o[3]))l.label=e[1];else if(6===e[0]&&l.label<o[1])l.label=o[1],o=e;else{if(!(o&&l.label<o[2])){o[2]&&l.ops.pop(),l.trys.pop();continue}l.label=o[2],l.ops.push(e)}}e=r.call(a,l)}catch(t){e=[6,t],s=0}finally{i=o=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},fs=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadPDFMethods=void 0,require("fs")),path=require("path"),pdf_lib_1=require("pdf-lib"),puppeteer=require("puppeteer"),simpl_schema_1=require("simpl-schema"),flag_collection_1=require("../collections/flag.collection"),pdfCnt=0;function loadPDFMethods(t){t.methods({generatePDF:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(p,g,u,h,b,w,m){return void 0===u&&(u="portrait"),void 0===h&&(h="12px"),void 0===b&&(b=!1),void 0===w&&(w=-1),void 0===m&&(m=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d;return __generator(this,function(t){switch(t.label){case 0:return e=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],n=null,[4,flag_collection_1.Flags.findOne({type:"Enable Debug PDF"})];case 1:return(a=t.sent())&&a.value?[4,puppeteer.launch({headless:!1,devtools:!0,args:e,ignoreDefaultArgs:["--disable-extensions"]})]:[3,3];case 2:return n=t.sent(),[3,5];case 3:return[4,puppeteer.launch({headless:!0,devtools:!1,args:e,ignoreDefaultArgs:["--disable-extensions"]})];case 4:n=t.sent(),t.label=5;case 5:return[4,n.newPage()];case 6:return r=t.sent(),o="",o=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",l="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-bold.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-italic.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(o+"dejavuserif-bolditalic.woff").buffer).toString("base64"),l='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+l+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(h||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+p.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,r.setContent(l,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 7:return t.sent(),[4,r.evaluateHandle("document.fonts.ready")];case 8:return t.sent(),f=pdfCnt+++"-"+g.replace(new RegExp(/[^0-9\.a-zA-Z]/g),""),[4,r.pdf({scale:1,landscape:"portrait"!==u,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\tPage <span class="pageNumber"></span> of <span class="totalPages"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,f),timeout:0})];case 9:return(t.sent(),a&&a.value)?"landscape"!==u?[3,11]:[4,r.setViewport({width:1100,height:850})]:[3,13];case 10:return t.sent(),[3,13];case 11:return[4,r.setViewport({width:850,height:1100})];case 12:t.sent(),t.label=13;case 13:return[4,n.close()];case 14:if(t.sent(),!fs.existsSync(path.join(__dirname,f)))throw console.log("No tmp file ",f),new Error("Error in Generate PDF: No tmp file");try{return c=fs.readFileSync(path.join(__dirname,f)),fs.unlinkSync(path.join(__dirname,f)),b?(d="data:application/pdf;base64,"+Buffer.from(c).toString("base64"),[2,this.callMethod("uploadFileAndSave",g,d,4*Math.ceil(d.length/3),null!==w?w:-1,m,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(c).toString("base64")]}catch(t){throw t.message="Error in Generate PDF: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},generatePDFNoPageNumber:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(d,p,g,u,h,b,w){return void 0===g&&(g="portrait"),void 0===u&&(u="12px"),void 0===h&&(h=!1),void 0===b&&(b=-1),void 0===w&&(w=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c;return __generator(this,function(t){switch(t.label){case 0:return a=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],[4,puppeteer.launch({headless:!0,devtools:!1,args:a,ignoreDefaultArgs:["--disable-extensions"]})];case 1:return[4,(e=t.sent()).newPage()];case 2:return n=t.sent(),a="",a=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif.woff").buffer).toString("base64"),r="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bold.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-italic.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bolditalic.woff").buffer).toString("base64"),o='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+r+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(u||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+d.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,n.setContent(o,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 3:return t.sent(),[4,n.evaluateHandle("document.fonts.ready")];case 4:return t.sent(),l=pdfCnt+++"-"+p.replace(new RegExp(/[^0-9\.a-zA-Z]/g),""),[4,n.pdf({scale:1,landscape:"portrait"!==g,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,l),timeout:0})];case 5:return t.sent(),[4,e.close()];case 6:if(t.sent(),!fs.existsSync(path.join(__dirname,l)))throw console.log("No tmp file ",l),new Error("Error in Generate PDF No Page Number: No tmp file");try{return f=fs.readFileSync(path.join(__dirname,l)),fs.unlinkSync(path.join(__dirname,l)),h?(c="data:application/pdf;base64,"+Buffer.from(f).toString("base64"),[2,this.callMethod("uploadFileAndSave",p,c,4*Math.ceil(c.length/3),null!==b?b:-1,w,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(f).toString("base64")]}catch(t){throw t.message="Error in Generate PDF No Page Number: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},mergePDFResolve:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(g,u,h){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,25,,26]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return s=t.sent(),[4,a.copyPages(s,s.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(s=t.sent()).embedJpg(i)];case 10:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(s=t.sent()).embedPng(i)];case 14:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:throw console.log("Error - unsupported!!",i.slice(0,60)),new Error("Error in Merge PDF Resolve: Unsupported document type - "+i.slice(0,60));case 17:return[3,19];case 18:throw c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c.message),c.message="Error in Merge PDF Resolve: Error processing fileData: ".concat(i.slice(0,60)," - ").concat(c.message),c;case 19:return[3,21];case 20:throw console.log("Error - no filedata!!",i),new Error("Error in Merge PDF Resolve: No File Data");case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),d="data:application/pdf;base64,"+Buffer.from(d).toString("base64"),[2,this.callMethod("uploadFileAndSave",u,d,4*Math.ceil(d.length/3),-1,h,!1)];case 24:return[3,26];case 25:throw(d=t.sent()).message="Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - "+d.message,d;case 26:return[2]}})})},workerTaskWeight:2},mergePDFResolveNoSave:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String}}),function:function(g){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,26,,27]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return s=t.sent(),[4,a.copyPages(s,s.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(s=t.sent()).embedJpg(i)];case 10:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(s=t.sent()).embedPng(i)];case 14:return o=t.sent(),l=s.addPage(),f=o.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(o,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(s,s.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:console.log("Error - unsupported!!",i.slice(0,60)),t.label=17;case 17:return[3,19];case 18:return c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c),[3,19];case 19:return[3,21];case 20:console.log("Error - no filedata!!",i),t.label=21;case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),[2,"data:application/pdf;base64,"+Buffer.from(d).toString("base64")];case 24:throw new Error("Error in Merge PDF Resolve No Save: No signed urls");case 25:return[3,27];case 26:throw(d=t.sent()).message="Error in Merge PDF Resolve: ".concat(d.message),d;case 27:return[2]}})})},workerTaskWeight:2},mergePDFResolveHtml:{check:new simpl_schema_1.default({htmls:{type:Array},"htmls.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0},save:{type:Boolean,optional:!0}}),function:function(c,d,p,g){return void 0===g&&(g=!0),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,s,o,l,f;return __generator(this,function(t){switch(t.label){case 0:return[4,pdf_lib_1.PDFDocument.create()];case 1:e=t.sent(),n=0,t.label=2;case 2:if(!(n<c.length))return[3,20];if(!(a=c[n]))return[3,18];t.label=3;case 3:return(t.trys.push([3,16,,17]),a.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(a,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,6];case 4:return r=t.sent(),[4,e.copyPages(r,r.getPageIndices())];case 5:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 6:return a.startsWith("data:image/jpeg;base64,/9j/")||a.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,10];case 7:return[4,(r=t.sent()).embedJpg(a)];case 8:return i=t.sent(),s=r.addPage(),o=i.scaleToFit(.75*s.getWidth(),.75*s.getHeight()),s.drawImage(i,{x:s.getWidth()/2-o.width/2,y:s.getHeight()/2-o.height/2,width:o.width,height:o.height}),[4,e.copyPages(r,r.getPageIndices())];case 9:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 10:return a.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,14];case 11:return[4,(r=t.sent()).embedPng(a)];case 12:return i=t.sent(),s=r.addPage(),o=i.scaleToFit(.75*s.getWidth(),.75*s.getHeight()),s.drawImage(i,{x:s.getWidth()/2-o.width/2,y:s.getHeight()/2-o.height/2,width:o.width,height:o.height}),[4,e.copyPages(r,r.getPageIndices())];case 13:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 14:throw console.log("Error - unsupported!!",a.slice(0,60)),new Error("Error in Merge PDF Resolve HTML: Unsupported file - "+a.slice(0,60));case 15:return[3,17];case 16:throw l=t.sent(),console.log("Error processing fileData:",a.slice(0,60),l),l.message="Error in Merge PDF Resolve HTML: Error processing filedata - ".concat(l.message),l;case 17:return[3,19];case 18:throw console.log("Error - no filedata!!",a),new Error("Error in Merge PDF Resolve HTML: No File data");case 19:return n++,[3,2];case 20:return[4,e.save()];case 21:return l=t.sent(),f="data:application/pdf;base64,"+Buffer.from(l).toString("base64"),g?[2,this.callMethod("uploadFileAndSave",d,f,4*Math.ceil(f.length/3),-1,p,!1)]:[2,f]}})})},workerTaskWeight:2}})}exports.loadPDFMethods=loadPDFMethods;
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(t,a,r,i){return new(r=r||Promise)(function(n,e){function fulfilled(t){try{step(i.next(t))}catch(t){e(t)}}function rejected(t){try{step(i.throw(t))}catch(t){e(t)}}function step(t){var e;t.done?n(t.value):((e=t.value)instanceof r?e:new r(function(t){t(e)})).then(fulfilled,rejected)}step((i=i.apply(t,a||[])).next())})},__generator=this&&this.__generator||function(a,r){var i,o,s,l={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]},f={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(f[Symbol.iterator]=function(){return this}),f;function verb(n){return function(t){var e=[n,t];if(i)throw new TypeError("Generator is already executing.");for(;l=f&&e[f=0]?0:l;)try{if(i=1,o&&(s=2&e[0]?o.return:e[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,e[1])).done)return s;switch(o=0,(e=s?[2&e[0],s.value]:e)[0]){case 0:case 1:s=e;break;case 4:return l.label++,{value:e[1],done:!1};case 5:l.label++,o=e[1],e=[0];continue;case 7:e=l.ops.pop(),l.trys.pop();continue;default:if(!(s=0<(s=l.trys).length&&s[s.length-1])&&(6===e[0]||2===e[0])){l=0;continue}if(3===e[0]&&(!s||e[1]>s[0]&&e[1]<s[3]))l.label=e[1];else if(6===e[0]&&l.label<s[1])l.label=s[1],s=e;else{if(!(s&&l.label<s[2])){s[2]&&l.ops.pop(),l.trys.pop();continue}l.label=s[2],l.ops.push(e)}}e=r.call(a,l)}catch(t){e=[6,t],o=0}finally{i=s=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}}},fs=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadPDFMethods=void 0,require("fs")),path=require("path"),pdf_lib_1=require("pdf-lib"),puppeteer=require("puppeteer"),simpl_schema_1=require("simpl-schema"),flag_collection_1=require("../collections/flag.collection"),common_1=require("../util/common");function loadPDFMethods(t){t.methods({generatePDF:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(p,g,u,h,b,m,w){return void 0===u&&(u="portrait"),void 0===h&&(h="12px"),void 0===b&&(b=!1),void 0===m&&(m=-1),void 0===w&&(w=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d;return __generator(this,function(t){switch(t.label){case 0:return e=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],n=null,[4,flag_collection_1.Flags.findOne({type:"Enable Debug PDF"})];case 1:return(a=t.sent())&&a.value?[4,puppeteer.launch({headless:!1,devtools:!0,args:e,ignoreDefaultArgs:["--disable-extensions"]})]:[3,3];case 2:return n=t.sent(),[3,5];case 3:return[4,puppeteer.launch({headless:!0,devtools:!1,args:e,ignoreDefaultArgs:["--disable-extensions"]})];case 4:n=t.sent(),t.label=5;case 5:return[4,n.newPage()];case 6:return r=t.sent(),s="",s=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",l="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-bold.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-italic.woff").buffer).toString("base64"),s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(s+"dejavuserif-bolditalic.woff").buffer).toString("base64"),l='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+l+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(h||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+p.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,r.setContent(l,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 7:return t.sent(),[4,r.evaluateHandle("document.fonts.ready")];case 8:return t.sent(),f=(0,common_1.objectIdHexString)()+".pdf",[4,r.pdf({scale:1,landscape:"portrait"!==u,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\tPage <span class="pageNumber"></span> of <span class="totalPages"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,f),timeout:0})];case 9:return(t.sent(),a&&a.value)?"landscape"!==u?[3,11]:[4,r.setViewport({width:1100,height:850})]:[3,13];case 10:return t.sent(),[3,13];case 11:return[4,r.setViewport({width:850,height:1100})];case 12:t.sent(),t.label=13;case 13:return[4,n.close()];case 14:if(t.sent(),!fs.existsSync(path.join(__dirname,f)))throw console.log("No tmp file ",f),new Error("Error in Generate PDF: No tmp file");try{return c=fs.readFileSync(path.join(__dirname,f)),fs.unlinkSync(path.join(__dirname,f)),b?(d="data:application/pdf;base64,"+Buffer.from(c).toString("base64"),[2,this.callMethod("uploadFileAndSave",g,d,4*Math.ceil(d.length/3),null!==m?m:-1,w,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(c).toString("base64")]}catch(t){throw t.message="Error in Generate PDF: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},generatePDFNoPageNumber:{check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(d,p,g,u,h,b,m){return void 0===g&&(g="portrait"),void 0===u&&(u="12px"),void 0===h&&(h=!1),void 0===b&&(b=-1),void 0===m&&(m=""),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c;return __generator(this,function(t){switch(t.label){case 0:return a=["--disable-dev-shm-usage","--no-sandbox","--disable-setuid-sandbox","--disable-accelerated-2d-canvas","--disable-gpu","--allow-file-access-from-files","--enable-local-file-accesses","--font-render-hinting=none"],[4,puppeteer.launch({headless:!0,devtools:!1,args:a,ignoreDefaultArgs:["--disable-extensions"]})];case 1:return[4,(e=t.sent()).newPage()];case 2:return n=t.sent(),a="",a=fs.existsSync(path.join(__dirname,"../private/fonts/dejavuserif.woff"))?path.join(__dirname,"../private/fonts/"):fs.existsSync(path.join(this.clientDir,"./private/fonts/dejavuserif.woff"))?path.join(this.clientDir,"./private/fonts/"):"/usr/share/fonts/dejavu/",s="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif.woff").buffer).toString("base64"),r="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bold.woff").buffer).toString("base64"),i="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-italic.woff").buffer).toString("base64"),o="data:application/font-woff;base64,"+Buffer.from(fs.readFileSync(a+"dejavuserif-bolditalic.woff").buffer).toString("base64"),s='\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type="text/css">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: \'Dejavu Serif\';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url("'+s+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+r+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\""+i+"\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\""+o+"\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: "+(u||"12px")+";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t"+d.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>",[4,n.setContent(s,{waitUntil:["domcontentloaded","load","networkidle0"]})];case 3:return t.sent(),[4,n.evaluateHandle("document.fonts.ready")];case 4:return t.sent(),l=(0,common_1.objectIdHexString)()+".pdf",[4,n.pdf({scale:1,landscape:"portrait"!==g,format:"letter",margin:{top:"1cm",bottom:"1cm",left:"1cm",right:"1cm"},printBackground:!0,displayHeaderFooter:!0,headerTemplate:"\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t",footerTemplate:'\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style="padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t',path:path.join(__dirname,l),timeout:0})];case 5:return t.sent(),[4,e.close()];case 6:if(t.sent(),!fs.existsSync(path.join(__dirname,l)))throw console.log("No tmp file ",l),new Error("Error in Generate PDF No Page Number: No tmp file");try{return f=fs.readFileSync(path.join(__dirname,l)),fs.unlinkSync(path.join(__dirname,l)),h?(c="data:application/pdf;base64,"+Buffer.from(f).toString("base64"),[2,this.callMethod("uploadFileAndSave",p,c,4*Math.ceil(c.length/3),null!==b?b:-1,m,!1)]):[2,"data:application/pdf;base64,"+Buffer.from(f).toString("base64")]}catch(t){throw t.message="Error in Generate PDF No Page Number: No file - "+t.message,t}return[2]}})})},workerTaskWeight:2},mergePDFResolve:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(g,u,h){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,25,,26]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return o=t.sent(),[4,a.copyPages(o,o.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(o=t.sent()).embedJpg(i)];case 10:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(o=t.sent()).embedPng(i)];case 14:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:throw console.log("Error - unsupported!!",i.slice(0,60)),new Error("Error in Merge PDF Resolve: Unsupported document type - "+i.slice(0,60));case 17:return[3,19];case 18:throw c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c.message),c.message="Error in Merge PDF Resolve: Error processing fileData: ".concat(i.slice(0,60)," - ").concat(c.message),c;case 19:return[3,21];case 20:throw console.log("Error - no filedata!!",i),new Error("Error in Merge PDF Resolve: No File Data");case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),d="data:application/pdf;base64,"+Buffer.from(d).toString("base64"),[2,this.callMethod("uploadFileAndSave",u,d,4*Math.ceil(d.length/3),-1,h,!1)];case 24:return[3,26];case 25:throw(d=t.sent()).message="Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - "+d.message,d;case 26:return[2]}})})},workerTaskWeight:2},mergePDFResolveNoSave:{check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String}}),function:function(g){return __awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f,c,d,p=this;return __generator(this,function(t){switch(t.label){case 0:return t.trys.push([0,26,,27]),[4,this.callMethod("getSignedUrls",g,900)];case 1:return(c=t.sent())&&c.length?(e=[],c.forEach(function(t){e.push(p.callMethod("getDataURIfromURL",t))}),[4,Promise.all(e)]):[3,24];case 2:return n=t.sent(),[4,pdf_lib_1.PDFDocument.create()];case 3:a=t.sent(),r=0,t.label=4;case 4:if(!(r<n.length))return[3,22];if(!(i=n[r]))return[3,20];t.label=5;case 5:return(t.trys.push([5,18,,19]),i.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(i,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,8];case 6:return o=t.sent(),[4,a.copyPages(o,o.getPageIndices())];case 7:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 8:return i.startsWith("data:image/jpeg;base64,/9j/")||i.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,12];case 9:return[4,(o=t.sent()).embedJpg(i)];case 10:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 11:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 12:return i.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,16];case 13:return[4,(o=t.sent()).embedPng(i)];case 14:return s=t.sent(),l=o.addPage(),f=s.scaleToFit(.75*l.getWidth(),.75*l.getHeight()),l.drawImage(s,{x:l.getWidth()/2-f.width/2,y:l.getHeight()/2-f.height/2,width:f.width,height:f.height}),[4,a.copyPages(o,o.getPageIndices())];case 15:return t.sent().forEach(function(t){a.addPage(t)}),[3,17];case 16:console.log("Error - unsupported!!",i.slice(0,60)),t.label=17;case 17:return[3,19];case 18:return c=t.sent(),console.log("Error processing fileData:",i.slice(0,60),c),[3,19];case 19:return[3,21];case 20:console.log("Error - no filedata!!",i),t.label=21;case 21:return r++,[3,4];case 22:return[4,a.save()];case 23:return d=t.sent(),[2,"data:application/pdf;base64,"+Buffer.from(d).toString("base64")];case 24:throw new Error("Error in Merge PDF Resolve No Save: No signed urls");case 25:return[3,27];case 26:throw(d=t.sent()).message="Error in Merge PDF Resolve: ".concat(d.message),d;case 27:return[2]}})})},workerTaskWeight:2},mergePDFResolveHtml:{check:new simpl_schema_1.default({htmls:{type:Array},"htmls.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0},save:{type:Boolean,optional:!0}}),function:function(c,d,p,g){return void 0===g&&(g=!0),__awaiter(this,void 0,void 0,function(){var e,n,a,r,i,o,s,l,f;return __generator(this,function(t){switch(t.label){case 0:return[4,pdf_lib_1.PDFDocument.create()];case 1:e=t.sent(),n=0,t.label=2;case 2:if(!(n<c.length))return[3,20];if(!(a=c[n]))return[3,18];t.label=3;case 3:return(t.trys.push([3,16,,17]),a.startsWith("data:application/pdf;base64,"))?[4,pdf_lib_1.PDFDocument.load(a,{updateMetadata:!1,parseSpeed:pdf_lib_1.ParseSpeeds.Fastest,ignoreEncryption:!0})]:[3,6];case 4:return r=t.sent(),[4,e.copyPages(r,r.getPageIndices())];case 5:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 6:return a.startsWith("data:image/jpeg;base64,/9j/")||a.startsWith("data:image/png;base64,/9j/")?[4,pdf_lib_1.PDFDocument.create()]:[3,10];case 7:return[4,(r=t.sent()).embedJpg(a)];case 8:return i=t.sent(),o=r.addPage(),s=i.scaleToFit(.75*o.getWidth(),.75*o.getHeight()),o.drawImage(i,{x:o.getWidth()/2-s.width/2,y:o.getHeight()/2-s.height/2,width:s.width,height:s.height}),[4,e.copyPages(r,r.getPageIndices())];case 9:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 10:return a.startsWith("data:image/png;base64,iVBOR")?[4,pdf_lib_1.PDFDocument.create()]:[3,14];case 11:return[4,(r=t.sent()).embedPng(a)];case 12:return i=t.sent(),o=r.addPage(),s=i.scaleToFit(.75*o.getWidth(),.75*o.getHeight()),o.drawImage(i,{x:o.getWidth()/2-s.width/2,y:o.getHeight()/2-s.height/2,width:s.width,height:s.height}),[4,e.copyPages(r,r.getPageIndices())];case 13:return t.sent().forEach(function(t){e.addPage(t)}),[3,15];case 14:throw console.log("Error - unsupported!!",a.slice(0,60)),new Error("Error in Merge PDF Resolve HTML: Unsupported file - "+a.slice(0,60));case 15:return[3,17];case 16:throw l=t.sent(),console.log("Error processing fileData:",a.slice(0,60),l),l.message="Error in Merge PDF Resolve HTML: Error processing filedata - ".concat(l.message),l;case 17:return[3,19];case 18:throw console.log("Error - no filedata!!",a),new Error("Error in Merge PDF Resolve HTML: No File data");case 19:return n++,[3,2];case 20:return[4,e.save()];case 21:return l=t.sent(),f="data:application/pdf;base64,"+Buffer.from(l).toString("base64"),g?[2,this.callMethod("uploadFileAndSave",d,f,4*Math.ceil(f.length/3),-1,p,!1)]:[2,f]}})})},workerTaskWeight:2}})}exports.loadPDFMethods=loadPDFMethods;
|
|
2
2
|
//# sourceMappingURL=pdf.js.map
|
package/methods/pdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","path","pdf_lib_1","puppeteer","simpl_schema_1","flag_collection_1","pdfCnt","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","args","browser","Flags","findOne","enableDebugFlag","_a","sent","value","launch","headless","devtools","ignoreDefaultArgs","newPage","page","pathToFont","existsSync","join","__dirname","this","clientDir","dejavuserif_woff","Buffer","from","readFileSync","buffer","toString","dejavuserifBold_woff","dejavuserifItalic_woff","dejavuserifBoldItalic_woff","content","replace","RegExp","setContent","waitUntil","evaluateHandle","tmpFileName","pdf","scale","landscape","format","margin","top","bottom","left","right","printBackground","displayHeaderFooter","headerTemplate","footerTemplate","timeout","setViewport","width","height","close","console","log","Error","data","unlinkSync","fileData","callMethod","Math","ceil","length","errRead","message","workerTaskWeight","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","resSigneds","promises_1","forEach","signedUrl","push","_this","Promise","all","fileDatas","PDFDocument","create","mergedPdf_1","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","y","embedPng","slice","error_1","concat","save","mergedPDFUint8","b64PDF","err_1","mergePDFResolveNoSave","promises_2","mergedPdf_2","error_2","err_2","mergePDFResolveHtml","htmls","htmls.$","mergedPdf","error_3","exports"],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\n\nlet pdfCnt = 0;\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tlet browser = null;\n\n\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\t\t\t\t\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: false, // run in headless mode\n\t\t\t\t\t\tdevtools: true, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\targs,\n\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t}); // run browser\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\t\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: Unsupported document type - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error.message);\n\t\t\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve: Error processing fileData: ${fileData.slice(0, 60)} - ${error.message}`;\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: No File Data');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\t\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t}\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","path","pdf_lib_1","puppeteer","simpl_schema_1","flag_collection_1","common_1","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","args","browser","Flags","findOne","enableDebugFlag","_a","sent","value","launch","headless","devtools","ignoreDefaultArgs","newPage","page","pathToFont","existsSync","join","__dirname","this","clientDir","dejavuserif_woff","Buffer","from","readFileSync","buffer","toString","dejavuserifBold_woff","dejavuserifItalic_woff","dejavuserifBoldItalic_woff","content","replace","RegExp","setContent","waitUntil","evaluateHandle","tmpFileName","objectIdHexString","pdf","scale","landscape","format","margin","top","bottom","left","right","printBackground","displayHeaderFooter","headerTemplate","footerTemplate","timeout","setViewport","width","height","close","console","log","Error","data","unlinkSync","fileData","callMethod","Math","ceil","length","errRead","message","workerTaskWeight","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","resSigneds","promises_1","forEach","signedUrl","push","_this","Promise","all","fileDatas","PDFDocument","create","mergedPdf_1","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","y","embedPng","slice","error_1","concat","save","mergedPDFUint8","b64PDF","err_1","mergePDFResolveNoSave","promises_2","mergedPdf_2","error_2","err_2","mergePDFResolveHtml","htmls","htmls.$","mergedPdf","error_3","exports"],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as path from 'path';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { objectIdHexString } from '../util/common';\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tlet browser = null;\n\n\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\t\t\t\t\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: false, // run in headless mode\n\t\t\t\t\t\tdevtools: true, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tbrowser = await puppeteer.launch({\n\t\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\n\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t} \n\t\t\t\t\telse {\n\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\tconst args = [\n\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t];\n\n\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\theadless: true, // run in headless mode\n\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\targs,\n\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t}); // run browser\n\t\t\t\t\n\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\tlet pathToFont = '';\n\n\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\tlet content = `\n\t\t\t\t\t<head>\n\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t</head>\n\t\t\t\t\t<body>\n\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\n\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\t\n\t\t\t\n\t\t\t\tawait page.pdf({\n\t\t\t\t\tscale: 1,\n\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\tformat: 'letter',\n\t\t\t\t\tmargin: {\n\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t},\n\t\t\t\t\tprintBackground: true,\n\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<span></span>\n\t\t\t\t\t`,\n\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t<style>\n\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t}\n\t\t\t\t\t</style>\n\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\n\t\t\t\t\t</div>\n\t\t\t\t\t`,\n\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\ttimeout: 0\n\t\t\t\t});\n\t\t\t\tawait browser.close();\n\t\t\t\t\n\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\t\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: Unsupported document type - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error.message);\n\t\t\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve: Error processing fileData: ${fileData.slice(0, 60)} - ${error.message}`;\n\t\t\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: No File Data');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\t\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2\n\t\t}\n\t});\n}"]}
|