@resolveio/server-lib 20.0.28 → 20.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/client-server-app.js +1 -1
  2. package/client-server-app.js.map +1 -1
  3. package/cron/cron.js +1 -1
  4. package/cron/cron.js.map +1 -1
  5. package/fixtures/cron-jobs.js +1 -1
  6. package/fixtures/cron-jobs.js.map +1 -1
  7. package/fixtures/init.js +1 -1
  8. package/fixtures/init.js.map +1 -1
  9. package/http/auth.js +1 -1
  10. package/http/auth.js.map +1 -1
  11. package/index.js +1 -1
  12. package/index.js.map +1 -1
  13. package/managers/cron.manager.js +1 -1
  14. package/managers/cron.manager.js.map +1 -1
  15. package/managers/method.manager.js +1 -1
  16. package/managers/method.manager.js.map +1 -1
  17. package/managers/mongo.manager.js +1 -1
  18. package/managers/mongo.manager.js.map +1 -1
  19. package/managers/monitor.manager.js +1 -1
  20. package/managers/monitor.manager.js.map +1 -1
  21. package/managers/subscription.manager.js +1 -1
  22. package/managers/subscription.manager.js.map +1 -1
  23. package/methods/accounts.js +1 -1
  24. package/methods/accounts.js.map +1 -1
  25. package/methods/aws.js +1 -1
  26. package/methods/aws.js.map +1 -1
  27. package/methods/counters.js +1 -1
  28. package/methods/counters.js.map +1 -1
  29. package/methods/cron-jobs.js +1 -1
  30. package/methods/cron-jobs.js.map +1 -1
  31. package/methods/logs.js +1 -1
  32. package/methods/logs.js.map +1 -1
  33. package/methods/monitor.js +1 -1
  34. package/methods/monitor.js.map +1 -1
  35. package/methods/pdf.js +1 -1
  36. package/methods/pdf.js.map +1 -1
  37. package/methods/report-builder.js +1 -1
  38. package/methods/report-builder.js.map +1 -1
  39. package/methods/support.js +1 -1
  40. package/methods/support.js.map +1 -1
  41. package/methods.ts +34 -0
  42. package/package.json +1 -1
  43. package/publications/report-builder-libraries.js +1 -1
  44. package/publications/report-builder-libraries.js.map +1 -1
  45. package/publications.ts +31 -0
  46. package/server-app.js +1 -1
  47. package/server-app.js.map +1 -1
  48. package/util/schema-report-builder.js +1 -1
  49. package/util/schema-report-builder.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","simpl_schema_1","pdf_lib_1","puppeteer","path","pdfCnt","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","_this","this","Promise","resolve","reject","__awaiter","args","launch","headless","devtools","ignoreHTTPSErrors","ignoreDefaultArgs","browser","_a","sent","newPage","page","pathToFont","existsSync","join","__dirname","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","close","readFile","errRead","data","unlinkSync","fileData","callMethodInternal","Math","ceil","length","err","res","console","log","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","errSigneds","resSigneds","promises_1","forEach","signedUrl","push","all","then","fileDatas","PDFDocument","create","mergedPdf","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","width","y","height","embedPng","slice","error_1","save","mergedPDFUint8","b64PDF","errUp","resUp","mergePDFResolveNoSave","promises_2","error_2","mergePDFResolveHtml","htmls","htmls.$","error_3","exports"],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport { MethodManager } from '../managers/method.manager';\nimport SimpleSchema from 'simpl-schema';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport * as path from 'path';\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: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\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\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\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\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\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\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\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\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\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\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\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\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\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\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\t\tPage&nbsp;<span class=\"pageNumber\"></span>&nbsp;of&nbsp;<span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\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\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\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\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\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: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\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\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\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\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\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\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\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\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\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\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\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\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\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\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\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\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\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\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\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\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: function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\t\t\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\t\t\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\t\t\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\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\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\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\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\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 - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\t\t\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\n\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\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: function(fileKeys: string[]) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\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\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\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\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\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 - no filedata!!', fileData);\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 mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\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: function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\n\t\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\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\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\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\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\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\tpage.drawImage(img, {\n\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\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t});\n\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\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\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\tpage.drawImage(img, {\n\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\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t});\n\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\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\telse {\n\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (error) {\n\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}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\tif (save) {\n\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\tresolve(resUp);\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\tresolve(b64PDF);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
1
+ {"version":3,"sources":["../../src/methods/pdf.ts"],"names":["fs","require","simpl_schema_1","pdf_lib_1","puppeteer","path","pdfCnt","loadPDFMethods","methodManager","methods","generatePDF","check","default","html","type","String","fileName","orientation","optional","fontSize","upload","Boolean","uploadFileOrder","Number","uploadFileType","function","_this","this","Promise","resolve","reject","__awaiter","args","launch","headless","devtools","ignoreHTTPSErrors","ignoreDefaultArgs","browser","_a","sent","newPage","page","pathToFont","existsSync","join","__dirname","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","close","readFile","errRead","data","unlinkSync","fileData","callMethodInternal","Math","ceil","length","err","res","console","log","generatePDFNoPageNumber","mergePDFResolve","fileKeys","Array","fileKeys.$","fileType","errSigneds","resSigneds","promises_1","forEach","signedUrl","push","all","then","fileDatas","PDFDocument","create","mergedPdf","i","startsWith","load","updateMetadata","parseSpeed","ParseSpeeds","Fastest","ignoreEncryption","copyPages","getPageIndices","addPage","embedJpg","img","imgDim","scaleToFit","getWidth","getHeight","drawImage","x","width","y","height","embedPng","slice","error_1","save","mergedPDFUint8","b64PDF","errUp","resUp","mergePDFResolveNoSave","promises_2","error_2","mergePDFResolveHtml","htmls","htmls.$","error_3","exports"],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport { MethodManager } from '../managers/method.manager';\nimport SimpleSchema from 'simpl-schema';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport * as path from 'path';\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: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\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\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\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\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\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\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\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\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\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\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\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\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\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\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\t\tPage&nbsp;<span class=\"pageNumber\"></span>&nbsp;of&nbsp;<span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\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\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\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\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\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: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\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\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\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\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\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\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\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\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\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\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\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\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\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\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\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\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\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\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\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\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: function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\t\t\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\t\t\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\t\t\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\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\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\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\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\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 - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\t\t\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\n\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\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: function(fileKeys: string[]) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\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\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\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\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\t\t\tconst pdf = await PDFDocument.create();\n\t\t\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\t\t\tconst page = pdf.addPage();\n\t\t\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\t\t\tpage.drawImage(img, {\n\t\t\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\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\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\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\telse {\n\t\t\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\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\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\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 - no filedata!!', fileData);\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 mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\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: function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\n\t\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\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\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\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\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\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\tpage.drawImage(img, {\n\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\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t});\n\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\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\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\tpage.drawImage(img, {\n\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\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t});\n\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\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\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\telse {\n\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}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (error) {\n\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}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\tif (save) {\n\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\tresolve(resUp);\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\tresolve(b64PDF);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
@@ -1,2 +1,2 @@
1
- "use strict";var __awaiter=this&&this.__awaiter||function(e,o,a,u){return new(a=a||Promise)(function(l,i){function r(e){try{n(u.next(e))}catch(e){i(e)}}function t(e){try{n(u.throw(e))}catch(e){i(e)}}function n(e){var i;e.done?l(e.value):((i=e.value)instanceof a?i:new a(function(e){e(i)})).then(r,t)}n((u=u.apply(e,o||[])).next())})},__generator=this&&this.__generator||function(r,t){var n,o,a,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},d={next:e(0),throw:e(1),return:e(2)};return"function"==typeof Symbol&&(d[Symbol.iterator]=function(){return this}),d;function e(l){return function(e){var i=[l,e];if(n)throw new TypeError("Generator is already executing.");for(;u=d&&i[d=0]?0:u;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,(i=a?[2&i[0],a.value]:i)[0]){case 0:case 1:a=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,o=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(a=0<(a=u.trys).length&&a[a.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3]))u.label=i[1];else if(6===i[0]&&u.label<a[1])u.label=a[1],a=i;else{if(!(a&&u.label<a[2])){a[2]&&u.ops.pop(),u.trys.pop();continue}u.label=a[2],u.ops.push(i)}}i=t.call(r,u)}catch(e){i=[6,e],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}},simpl_schema_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadReportBuilderMethods=void 0,require("simpl-schema")),pagination_model_1=require("../models/pagination.model"),index_1=require("../index"),schema_report_builder_1=require("../util/schema-report-builder");function loadReportBuilderMethods(e){e.methods({reportBuilderBuildTree:{check:new simpl_schema_1.default({collection_root:{type:String}}),function:function(l){var r=this;return new Promise(function(i,e){return __awaiter(r,void 0,void 0,function(){var r,t,n;return __generator(this,function(e){return r=(0,schema_report_builder_1.getReportLookupSchemas)(l).sort(function(e,i){return e.collection_name.localeCompare(i.collection_name)}),t=r.filter(function(e){return!0===e.is_root})[0].tree,n=(0,schema_report_builder_1.buildTree)(l,t),Object.keys(t).filter(function(e){return e.endsWith("(Lookup)")}).forEach(function(i){var e=i.split("."),l=null;e.forEach(function(i){l=(l?l.children.filter(function(e){return e.fieldName===i}):n.filter(function(e){return e.fieldName===i}))[0]}),l.children=(0,schema_report_builder_1.buildTree)(t[i].lookup_collection,r.filter(function(e){return e.collection_name===t[i].lookup_collection})[0].tree,l)}),i({isLeaf:!1,children:n}),[2]})})})}},reportBuilderGetDistinctValue:{check:new simpl_schema_1.default({treeLeaf:{type:Object,blackbox:!0}}),function:function(t){var i=this;return new Promise(function(r,e){return __awaiter(i,void 0,void 0,function(){var i,l;return __generator(this,function(e){switch(e.label){case 0:return"String"!==t.fieldType?[3,5]:t.fieldPath.includes("(Lookup)")?(i=r,[4,(0,schema_report_builder_1.mongoCommand)("distinct",t.collection_name,t.fieldPath.replace(/^.+\(.+\) \(Lookup\)\.\$\./g,"").replace(/\.\$/g,""))]):[3,2];case 1:return i.apply(void 0,[e.sent()]),[3,4];case 2:return l=r,[4,(0,schema_report_builder_1.mongoCommand)("distinct",t.collection_name,t.fieldPath.replace(/\.\$/g,""))];case 3:l.apply(void 0,[e.sent()]),e.label=4;case 4:return[3,6];case 5:r([]),e.label=6;case 6:return[2]}})})})}},reportBuilderGetResults:{check:new simpl_schema_1.default({reportType:{type:String},rootCollectionName:{type:String},options:{type:pagination_model_1.PaginationOptionsSchema},filters:{type:Array,optional:!0},"filters.$":{type:Object,blackbox:!0,optional:!0},filterArrays:{type:Array,optional:!0},"filterArrays.$":{type:Object,blackbox:!0,optional:!0},filterArrayFields:{type:Array,optional:!0},"filterArrayFields.$":{type:Object,blackbox:!0,optional:!0},selectedFields:{type:Array,optional:!0},"selectedFields.$":{type:Object,optional:!0,blackbox:!0},customFields:{type:Array,optional:!0},"customFields.$":{type:Object,optional:!0,blackbox:!0},groupsRow:{type:Array},"groupsRow.$":{type:Object,blackbox:!0},fieldsTotal:{type:Array},"fieldsTotal.$":{type:Object,blackbox:!0},fieldsLink:{type:Array},"fieldsLink.$":{type:Object,blackbox:!0},date_field:{type:String,optional:!0},date_interval:{type:String,optional:!0},displayType:{type:String,optional:!0}}),function:function(g,m,y,v,k,T,F,I,E,b,C,A,z,N){var e=this;return void 0===v&&(v=[]),void 0===k&&(k=[]),void 0===T&&(T=[]),void 0===F&&(F=[]),void 0===I&&(I=[]),void 0===E&&(E=[]),void 0===b&&(b=[]),void 0===C&&(C=[]),void 0===A&&(A=""),void 0===z&&(z=""),void 0===N&&(N=""),new Promise(function(h,_){return __awaiter(e,void 0,void 0,function(){var i,u,l,o,r,t,n,a,d,c,s,p,f,$;return __generator(this,function(e){switch(e.label){case 0:return(i=index_1.ResolveIOServer.getMongoManager().collection(m))?[3,1]:(_("Invalid collection"),[3,6]);case 1:if(u=[],l={$and:[]},v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).forEach(function(e){l.$and.push(e)}),v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&u.push({$match:l}),u.push({$addFields:{count:{$sum:1}}}),o=[],T.filter(function(e){return e.fieldPath}).forEach(function(i){for(var e,l=i.fieldPath.split(".$"),r="",t=0;t<l.length-1;t++)(r+=l[t]).split(".$")[r.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.lookup_as.replace(/\.\$/g,"")})||(u.push({$lookup:{from:i.lookup_collection,localField:i.lookup_local_key,foreignField:i.lookup_foreign_key,as:i.lookup_as.replace(/\.\$/g,"")}}),o.push(i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+r.replace(/\./g,"_"))})||(o.push(r.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+r.replace(/\./g,"_")]={$size:{$ifNull:["$"+r,[]]}},e)}),u.push({$unwind:{path:"$"+r,preserveNullAndEmptyArrays:!0}}))}),E.forEach(function(i){var e;if(i.field.includes("$"))for(var l=i.field.split(".$"),r="",t=0;t<l.length-1;t++)(r+=l[t]).split(".$")[r.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.treeItem.lookup_as.replace(/\.\$/g,"")})||(u.push({$lookup:{from:i.treeItem.lookup_collection,localField:i.treeItem.lookup_local_key,foreignField:i.treeItem.lookup_foreign_key,as:i.treeItem.lookup_as.replace(/\.\$/g,"")}}),o.push(i.treeItem.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.treeItem.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.treeItem.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.treeItem.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+r.replace(/\./g,"_"))})||(o.push(r.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+r.replace(/\./g,"_")]={$size:{$ifNull:["$"+r,[]]}},e)}),u.push({$unwind:{path:"$"+r,preserveNullAndEmptyArrays:!0}}))}),F.forEach(function(i){var e,l;if(i.fieldPath.includes("$"))for(var r=i.fieldPath.split(".$"),t="",n=0;n<r.length-1;n++)(t+=r[n]).split(".$")[t.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.lookup_as.replace(/\.\$/g,"")})?r[n].includes("(Lookup)")||u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+t.replace(/\./g,"_"))})||(o.push(t.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+t.replace(/\./g,"_")]={$size:{$ifNull:["$"+t,[]]}},e)}),u.push({$unwind:{path:"$"+t,preserveNullAndEmptyArrays:!0}})):(u.push({$lookup:{from:i.lookup_collection,localField:i.lookup_local_key,foreignField:i.lookup_foreign_key,as:i.lookup_as.replace(/\.\$/g,"")}}),o.push(i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):(u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+t.replace(/\./g,"_"))})||(o.push(t.replace(/\./g,"_")),u.push({$addFields:((l={})["size_"+t.replace(/\./g,"_")]={$size:{$ifNull:["$"+t,[]]}},l)})),"Count"===i.leafValueType||u.some(function(e){return e.$unwind&&e.$unwind.path==="$"+t})||u.push({$unwind:{path:"$"+t,preserveNullAndEmptyArrays:!0}}))}),r={$addFields:{}},b.filter(function(e){return"sum"===e.type}).forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i=[];e.fieldPath.includes(".$")?o.filter(function(i){return!e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)&&!T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})&&!C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}):o.forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length?"Count"===e.leafValueType?r.$addFields[l.id+"_"+e.id]={$divide:["$count",{$multiply:i}]}:r.$addFields[l.id+"_"+e.id]={$divide:["$"+e.fieldPath.replace(/\.\$/g,""),{$multiply:i}]}:"Count"===e.leafValueType?r.$addFields[l.id+"_"+e.id]="$count":r.$addFields[l.id+"_"+e.id]="$"+e.fieldPath.replace(/\.\$/g,"")})}),F.filter(function(e){return"Number"===e.fieldType&&"Sum"===e.leafValueType}).forEach(function(e){var i=[];o.filter(function(i){return!(e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||E.some(function(e){return e.field.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)}))}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length&&(r.$addFields[e.fieldPath.replace(/\.\$/g,"")]={$divide:["$"+e.fieldPath.replace(/\.\$/g,""),{$multiply:i}]})}),F.filter(function(e){return"Count"===e.leafValueType}).forEach(function(l){var i=[];o.filter(function(i){return!(l.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||E.some(function(e){return e.field.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)}))}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length?r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]={$divide:["$count",{$multiply:i}]}:"Dated"!==g&&o.filter(function(e){return l.fieldPath.replace(/\.\$\./g,"_").includes(e)}).length?o.filter(function(e){return l.fieldPath.replace(/\.\$\./g,"_").includes(e)}).forEach(function(e){r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]="$size_"+e}):r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]="$count"}),b.filter(function(e){return"avg"===e.type}).forEach(function(i){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){r.$addFields[i.id+"_"+e.id]="$"+e.fieldPath.replace(/\.\$/g,"")})}),0<Object.keys(r.$addFields).length&&u.push(r),C.filter(function(e){return e.field_first&&e.field_second}).forEach(function(e){var i;u.push({$addFields:((i={})[e.id]={$cmp:["$"+e.field_first.replace(/\.\$/g,""),"$"+e.field_second.replace(/\.\$/g,"")]},i)}),u.push({$match:((i={})[e.id]=0,i)})}),I.forEach(function(a){a.operations.filter(function(e){return e.operation&&!e.fields.some(function(e){return(null===e.field||""===e.field)&&null===e.value})}).forEach(function(i,e){var l,r,t,n,o={};"divide"===i.operation?(r=[],i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?(r.push({$eq:["$"+e.field.replace(/\.\$/g,""),0]}),r.push({$eq:["$"+e.field.replace(/\.\$/g,""),null]})):(r.push({$eq:[e.value,0]}),r.push({$eq:[e.value,null]}))}),0<e&&(r.push({$eq:["$"+a.selFieldId,0]}),r.push({$eq:["$"+a.selFieldId,null]})),t=[],0<e&&t.push("$"+a.selFieldId),i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?t.push("$"+e.field.replace(/\.\$/g,"")):t.push(e.value)}),o[a.selFieldId]={$cond:{if:{$or:r},then:0,else:((l={})["$"+i.operation]=t,l)}}):(o[a.selFieldId]=((l={})["$"+i.operation]=[],l),0<e&&o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$eq:["$"+a.selFieldId,null]},then:0,else:"$"+a.selFieldId}}),n=[],i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?n.push({$eq:["$"+e.field.replace(/\.\$/g,""),null]}):n.push({$eq:[e.value,null]})}),i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$or:n},then:0,else:"$"+e.field.replace(/\.\$/g,"")}}):o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$or:n},then:0,else:e.value}})})),u.push({$addFields:o})})}),b.forEach(function(l){I.forEach(function(e){var i;u.push({$addFields:((i={})[l.id+"_"+e.selFieldId]="$"+e.selFieldId,i)})})}),t={$and:[]},v.filter(function(e){return!e.$or&&Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&v.filter(function(e){return!e.$or&&Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).forEach(function(e){t.$and.push(e)}),k.forEach(function(e){t.$and.push(e)}),t.$and.length&&u.push({$match:t}),n={_id:{}},E.length||!N||"grouped"===N?(E.length?y.sort&&(a={},Object.keys(y.sort).forEach(function(i){var e=F.filter(function(e){return e.id===i})[0];e&&(a[e.fieldPath.replace(/\.\$/g,"")]=y.sort[i])}),0<Object.keys(a).length)&&u.push({$sort:a}):n._id="$_id",E.forEach(function(e){n._id[e.id]="$"+e.field.replace(/\.\$/g,""),A&&z&&("Seconds"===z?(n._id.second={$second:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.minute={$minute:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Minutes"===z?(n._id.minute={$minute:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Hours"===z?(n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Daily"===z?(n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Weekly"===z?(n._id.week={$isoWeek:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$isoWeekYear:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Monthly"===z||"Quarterly"===z?(n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Yearly"===z&&(n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}))}),F.forEach(function(e){"Average"===e.leafValueType?n[e.id]={$avg:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Sum"===e.leafValueType?n[e.id]={$sum:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Count"===e.leafValueType?n[e.id]={$sum:"$count_"+e.fieldPath.replace(/\.\$/g,"")}:"Minimum"===e.leafValueType?n[e.id]={$min:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Maximum"===e.leafValueType?n[e.id]={$max:"$"+e.fieldPath.replace(/\.\$/g,"")}:"First"===e.leafValueType?n[e.id]={$first:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Last"===e.leafValueType?n[e.id]={$last:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Unique"===e.leafValueType?n[e.id]={$addToSet:"$"+e.fieldPath.replace(/\.\$/g,"")}:n[e.id]={$push:{$ifNull:["$"+e.fieldPath.replace(/\.\$/g,""),null]}}}),I.forEach(function(e){"Average"===e.leafValueType?n[e.selFieldId]={$avg:"$"+e.selFieldId}:"Sum"===e.leafValueType?n[e.selFieldId]={$sum:"$"+e.selFieldId}:"Count"===e.leafValueType?n[e.selFieldId]="Dated"===g?{$sum:"$count_"+e.selFieldId}:{$push:"$count_"+e.selFieldId}:"Minimum"===e.leafValueType?n[e.selFieldId]={$min:"$"+e.selFieldId}:"Maximum"===e.leafValueType?n[e.selFieldId]={$max:"$"+e.selFieldId}:"First"===e.leafValueType?n[e.selFieldId]={$first:"$"+e.selFieldId}:"Last"===e.leafValueType?n[e.selFieldId]={$last:"$"+e.selFieldId}:"Unique"===e.leafValueType?n[e.selFieldId]={$addToSet:"$"+e.selFieldId}:n[e.selFieldId]={$push:{$ifNull:["$"+e.selFieldId,null]}}}),b.length&&b.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;n[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),I.forEach(function(e){var i;n[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$group:n})):(d={_id:1},F.forEach(function(e){"Average"===e.leafValueType?d[e.id]={$avg:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Sum"===e.leafValueType?d[e.id]={$sum:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Count"===e.leafValueType?d[e.id]={$sum:1}:"Minimum"===e.leafValueType?d[e.id]={$min:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Maximum"===e.leafValueType?d[e.id]={$max:"$"+e.fieldPath.replace(/\.\$/g,"")}:d[e.id]="$"+e.fieldPath.replace(/\.\$/g,"")}),I.forEach(function(e){d[e.selFieldId]="Average"===e?{$avg:"$"+e.selFieldId}:"Sum"===e?{$sum:"$"+e.selFieldId}:"Count"===e?{$sum:1}:"Minimum"===e?{$min:"$"+e.selFieldId}:"Maximum"===e?{$max:"$"+e.selFieldId}:"$"+e.selFieldId}),!b.length||"List"!==g&&"Dated"!==g||b.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;d[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),I.forEach(function(e){var i;d[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$project:d})),y.sort&&u.push({$sort:y.sort}),"Group"===g&&1<E.length)for(c=function(l){for(var e,r,t,n,o={_id:1},a=(o[E[l].id]={_id:((e={})[E[l].id]="$_id."+E[l].id,e)},l===E.length-1?(F.forEach(function(e){o[E[l].id][e.id]="$"+e.id}),I.forEach(function(e){o[E[l].id][e.selFieldId]="$"+e.selFieldId})):o[E[l].id][E[l+1].id]="$"+E[l+1].id,b.forEach(function(i){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){o[i.id+"_"+e.id]=1,o[E[l].id][i.id+"_"+e.id]="$"+i.id+"_"+e.id}),I.forEach(function(e){o[E[l].id][i.id+"_"+e.selFieldId]="$"+i.id+"_"+e.selFieldId})}),u.push({$project:o}),{_id:{}}),i=0;i<l;i++)a._id[E[i].id]="$_id."+E[i].id;a[E[l].id]={$push:"$"+E[l].id},b.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;a[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),I.forEach(function(e){var i;a[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$group:a}),y.sort&&(r=Object.keys(y.sort),t={},n="",E.forEach(function(e,i){0<i&&(n+="gr_"+(i+1)+"."),r.includes("_id.gr_"+(i+1))?t[n+"_id.gr_"+(i+1)]=y.sort["_id.gr_"+(i+1)]:t[n+"_id.gr_"+(i+1)]=1}),r.filter(function(e){return!e.startsWith("_id.gr_")}).forEach(function(e){t[n+e]=y.sort[e]}),u.push({$sort:t}))},s=E.length-1;1<=s;s--)c(s);p=null,e.label=2;case 2:return e.trys.push([2,4,,5]),[4,i.aggregate(u,{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 3:return p=e.sent(),[3,5];case 4:return $=e.sent(),console.log($),[3,5];case 5:f={},p&&b.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(i){"sum"===l.type?f[l.id+"_"+i.id]=p.map(function(e){return e[l.id+"_"+i.id]||0}).reduce(function(e,i){return e+i},0):"avg"===l.type&&(f[l.id+"_"+i.id]=Math.round(p.map(function(e){return e[l.id+"_"+i.id]||0}).reduce(function(e,i){return e+i},0)/p.length))}),I.forEach(function(i){"sum"===l.type?f[l.id+"_"+i.selFieldId]=p.map(function(e){return e[l.id+"_"+i.selFieldId]||0}).reduce(function(e,i){return e+i},0):"avg"===l.type&&(f[l.id+"_"+i.selFieldId]=Math.round(p.map(function(e){return e[l.id+"_"+i.selFieldId]||0}).reduce(function(e,i){return e+i},0)/p.length))})}),$=[{count:p?p.length:0,results:p?y.limit?p.splice(0,y.limit):p:[],totals:f}],h($),e.label=6;case 6:return[2]}})})})}}})}exports.loadReportBuilderMethods=loadReportBuilderMethods;
1
+ "use strict";var __awaiter=this&&this.__awaiter||function(e,r,t,n){return new(t=t||Promise)(function(l,i){function fulfilled(e){try{step(n.next(e))}catch(e){i(e)}}function rejected(e){try{step(n.throw(e))}catch(e){i(e)}}function step(e){var i;e.done?l(e.value):((i=e.value)instanceof t?i:new t(function(e){e(i)})).then(fulfilled,rejected)}step((n=n.apply(e,r||[])).next())})},__generator=this&&this.__generator||function(r,t){var n,o,a,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},d={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(d[Symbol.iterator]=function(){return this}),d;function verb(l){return function(e){var i=[l,e];if(n)throw new TypeError("Generator is already executing.");for(;u=d&&i[d=0]?0:u;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,(i=a?[2&i[0],a.value]:i)[0]){case 0:case 1:a=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,o=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(a=0<(a=u.trys).length&&a[a.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3]))u.label=i[1];else if(6===i[0]&&u.label<a[1])u.label=a[1],a=i;else{if(!(a&&u.label<a[2])){a[2]&&u.ops.pop(),u.trys.pop();continue}u.label=a[2],u.ops.push(i)}}i=t.call(r,u)}catch(e){i=[6,e],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}},simpl_schema_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.loadReportBuilderMethods=void 0,require("simpl-schema")),pagination_model_1=require("../models/pagination.model"),index_1=require("../index"),schema_report_builder_1=require("../util/schema-report-builder");function loadReportBuilderMethods(e){e.methods({reportBuilderBuildTree:{check:new simpl_schema_1.default({collection_root:{type:String}}),function:function(l){var r=this;return new Promise(function(i,e){return __awaiter(r,void 0,void 0,function(){var r,t,n;return __generator(this,function(e){return r=(0,schema_report_builder_1.getReportLookupSchemas)(l).sort(function(e,i){return e.collection_name.localeCompare(i.collection_name)}),t=r.filter(function(e){return!0===e.is_root})[0].tree,n=(0,schema_report_builder_1.buildTree)(l,t),Object.keys(t).filter(function(e){return e.endsWith("(Lookup)")}).forEach(function(i){var e=i.split("."),l=null;e.forEach(function(i){l=(l?l.children.filter(function(e){return e.fieldName===i}):n.filter(function(e){return e.fieldName===i}))[0]}),l.children=(0,schema_report_builder_1.buildTree)(t[i].lookup_collection,r.filter(function(e){return e.collection_name===t[i].lookup_collection})[0].tree,l)}),i({isLeaf:!1,children:n}),[2]})})})}},reportBuilderGetDistinctValue:{check:new simpl_schema_1.default({treeLeaf:{type:Object,blackbox:!0}}),function:function(t){var i=this;return new Promise(function(r,e){return __awaiter(i,void 0,void 0,function(){var i,l;return __generator(this,function(e){switch(e.label){case 0:return"String"!==t.fieldType?[3,5]:t.fieldPath.includes("(Lookup)")?(i=r,[4,(0,schema_report_builder_1.mongoCommand)("distinct",t.collection_name,t.fieldPath.replace(/^.+\(.+\) \(Lookup\)\.\$\./g,"").replace(/\.\$/g,""))]):[3,2];case 1:return i.apply(void 0,[e.sent()]),[3,4];case 2:return l=r,[4,(0,schema_report_builder_1.mongoCommand)("distinct",t.collection_name,t.fieldPath.replace(/\.\$/g,""))];case 3:l.apply(void 0,[e.sent()]),e.label=4;case 4:return[3,6];case 5:r([]),e.label=6;case 6:return[2]}})})})}},reportBuilderGetResults:{check:new simpl_schema_1.default({reportType:{type:String},rootCollectionName:{type:String},options:{type:pagination_model_1.PaginationOptionsSchema},filters:{type:Array,optional:!0},"filters.$":{type:Object,blackbox:!0,optional:!0},filterArrays:{type:Array,optional:!0},"filterArrays.$":{type:Object,blackbox:!0,optional:!0},filterArrayFields:{type:Array,optional:!0},"filterArrayFields.$":{type:Object,blackbox:!0,optional:!0},selectedFields:{type:Array,optional:!0},"selectedFields.$":{type:Object,optional:!0,blackbox:!0},customFields:{type:Array,optional:!0},"customFields.$":{type:Object,optional:!0,blackbox:!0},groupsRow:{type:Array},"groupsRow.$":{type:Object,blackbox:!0},fieldsTotal:{type:Array},"fieldsTotal.$":{type:Object,blackbox:!0},fieldsLink:{type:Array},"fieldsLink.$":{type:Object,blackbox:!0},date_field:{type:String,optional:!0},date_interval:{type:String,optional:!0},displayType:{type:String,optional:!0}}),function:function(g,m,y,v,k,T,F,b,I,E,C,A,z,N){var e=this;return void 0===v&&(v=[]),void 0===k&&(k=[]),void 0===T&&(T=[]),void 0===F&&(F=[]),void 0===b&&(b=[]),void 0===I&&(I=[]),void 0===E&&(E=[]),void 0===C&&(C=[]),void 0===A&&(A=""),void 0===z&&(z=""),void 0===N&&(N=""),new Promise(function(h,_){return __awaiter(e,void 0,void 0,function(){var i,u,l,o,r,t,n,a,d,c,s,p,f,$;return __generator(this,function(e){switch(e.label){case 0:return(i=index_1.ResolveIOServer.getMongoManager().collection(m))?[3,1]:(_("Invalid collection"),[3,6]);case 1:if(u=[],l={$and:[]},v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).forEach(function(e){l.$and.push(e)}),v.filter(function(e){return!e.$or&&!Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&!e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&u.push({$match:l}),u.push({$addFields:{count:{$sum:1}}}),o=[],T.filter(function(e){return e.fieldPath}).forEach(function(i){for(var e,l=i.fieldPath.split(".$"),r="",t=0;t<l.length-1;t++)(r+=l[t]).split(".$")[r.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.lookup_as.replace(/\.\$/g,"")})||(u.push({$lookup:{from:i.lookup_collection,localField:i.lookup_local_key,foreignField:i.lookup_foreign_key,as:i.lookup_as.replace(/\.\$/g,"")}}),o.push(i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+r.replace(/\./g,"_"))})||(o.push(r.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+r.replace(/\./g,"_")]={$size:{$ifNull:["$"+r,[]]}},e)}),u.push({$unwind:{path:"$"+r,preserveNullAndEmptyArrays:!0}}))}),I.forEach(function(i){var e;if(i.field.includes("$"))for(var l=i.field.split(".$"),r="",t=0;t<l.length-1;t++)(r+=l[t]).split(".$")[r.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.treeItem.lookup_as.replace(/\.\$/g,"")})||(u.push({$lookup:{from:i.treeItem.lookup_collection,localField:i.treeItem.lookup_local_key,foreignField:i.treeItem.lookup_foreign_key,as:i.treeItem.lookup_as.replace(/\.\$/g,"")}}),o.push(i.treeItem.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.treeItem.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.treeItem.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.treeItem.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+r.replace(/\./g,"_"))})||(o.push(r.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+r.replace(/\./g,"_")]={$size:{$ifNull:["$"+r,[]]}},e)}),u.push({$unwind:{path:"$"+r,preserveNullAndEmptyArrays:!0}}))}),F.forEach(function(i){var e,l;if(i.fieldPath.includes("$"))for(var r=i.fieldPath.split(".$"),t="",n=0;n<r.length-1;n++)(t+=r[n]).split(".$")[t.split(".$").length-1].includes("(Lookup)")?u.some(function(e){return e.$lookup&&e.$lookup.as===i.lookup_as.replace(/\.\$/g,"")})?r[n].includes("(Lookup)")||u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+t.replace(/\./g,"_"))})||(o.push(t.replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+t.replace(/\./g,"_")]={$size:{$ifNull:["$"+t,[]]}},e)}),u.push({$unwind:{path:"$"+t,preserveNullAndEmptyArrays:!0}})):(u.push({$lookup:{from:i.lookup_collection,localField:i.lookup_local_key,foreignField:i.lookup_foreign_key,as:i.lookup_as.replace(/\.\$/g,"")}}),o.push(i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")),u.push({$addFields:((e={})["size_"+i.lookup_as.replace(/\.\$\./g,"_").replace(/\./g,"_")]={$size:{$ifNull:["$"+i.lookup_as.replace(/\.\$/g,"").replace(/\./g,"_"),[]]}},e)}),u.push({$unwind:{path:"$"+i.lookup_as.replace(/\.\$/g,""),preserveNullAndEmptyArrays:!0}})):(u.some(function(e){return e.$addFields&&Object.keys(e.$addFields).includes("size_"+t.replace(/\./g,"_"))})||(o.push(t.replace(/\./g,"_")),u.push({$addFields:((l={})["size_"+t.replace(/\./g,"_")]={$size:{$ifNull:["$"+t,[]]}},l)})),"Count"===i.leafValueType||u.some(function(e){return e.$unwind&&e.$unwind.path==="$"+t})||u.push({$unwind:{path:"$"+t,preserveNullAndEmptyArrays:!0}}))}),r={$addFields:{}},E.filter(function(e){return"sum"===e.type}).forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i=[];e.fieldPath.includes(".$")?o.filter(function(i){return!e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)&&!T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})&&!C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}):o.forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length?"Count"===e.leafValueType?r.$addFields[l.id+"_"+e.id]={$divide:["$count",{$multiply:i}]}:r.$addFields[l.id+"_"+e.id]={$divide:["$"+e.fieldPath.replace(/\.\$/g,""),{$multiply:i}]}:"Count"===e.leafValueType?r.$addFields[l.id+"_"+e.id]="$count":r.$addFields[l.id+"_"+e.id]="$"+e.fieldPath.replace(/\.\$/g,"")})}),F.filter(function(e){return"Number"===e.fieldType&&"Sum"===e.leafValueType}).forEach(function(e){var i=[];o.filter(function(i){return!(e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||I.some(function(e){return e.field.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)}))}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length&&(r.$addFields[e.fieldPath.replace(/\.\$/g,"")]={$divide:["$"+e.fieldPath.replace(/\.\$/g,""),{$multiply:i}]})}),F.filter(function(e){return"Count"===e.leafValueType}).forEach(function(l){var i=[];o.filter(function(i){return!(l.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||I.some(function(e){return e.field.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||T.filter(function(e){return e.fieldPath}).some(function(e){return e.fieldPath.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)})||C.some(function(e){return e.field_first.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)||e.field_second.replace(/\.\$\./g,"_").replace(/\./g,"_").includes(i)}))}).forEach(function(e){i.push({$cond:{if:{$gt:["$size_"+e,0]},then:"$size_"+e,else:1}})}),i.length?r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]={$divide:["$count",{$multiply:i}]}:"Dated"!==g&&o.filter(function(e){return l.fieldPath.replace(/\.\$\./g,"_").includes(e)}).length?o.filter(function(e){return l.fieldPath.replace(/\.\$\./g,"_").includes(e)}).forEach(function(e){r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]="$size_"+e}):r.$addFields["count_"+l.fieldPath.replace(/\.\$/g,"")]="$count"}),E.filter(function(e){return"avg"===e.type}).forEach(function(i){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){r.$addFields[i.id+"_"+e.id]="$"+e.fieldPath.replace(/\.\$/g,"")})}),0<Object.keys(r.$addFields).length&&u.push(r),C.filter(function(e){return e.field_first&&e.field_second}).forEach(function(e){var i;u.push({$addFields:((i={})[e.id]={$cmp:["$"+e.field_first.replace(/\.\$/g,""),"$"+e.field_second.replace(/\.\$/g,"")]},i)}),u.push({$match:((i={})[e.id]=0,i)})}),b.forEach(function(a){a.operations.filter(function(e){return e.operation&&!e.fields.some(function(e){return(null===e.field||""===e.field)&&null===e.value})}).forEach(function(i,e){var l,r,t,n,o={};"divide"===i.operation?(r=[],i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?(r.push({$eq:["$"+e.field.replace(/\.\$/g,""),0]}),r.push({$eq:["$"+e.field.replace(/\.\$/g,""),null]})):(r.push({$eq:[e.value,0]}),r.push({$eq:[e.value,null]}))}),0<e&&(r.push({$eq:["$"+a.selFieldId,0]}),r.push({$eq:["$"+a.selFieldId,null]})),t=[],0<e&&t.push("$"+a.selFieldId),i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?t.push("$"+e.field.replace(/\.\$/g,"")):t.push(e.value)}),o[a.selFieldId]={$cond:{if:{$or:r},then:0,else:((l={})["$"+i.operation]=t,l)}}):(o[a.selFieldId]=((l={})["$"+i.operation]=[],l),0<e&&o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$eq:["$"+a.selFieldId,null]},then:0,else:"$"+a.selFieldId}}),n=[],i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?n.push({$eq:["$"+e.field.replace(/\.\$/g,""),null]}):n.push({$eq:[e.value,null]})}),i.fields.filter(function(e){return e.field||null!==e.value}).forEach(function(e){e.field?o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$or:n},then:0,else:"$"+e.field.replace(/\.\$/g,"")}}):o[a.selFieldId]["$"+i.operation].push({$cond:{if:{$or:n},then:0,else:e.value}})})),u.push({$addFields:o})})}),E.forEach(function(l){b.forEach(function(e){var i;u.push({$addFields:((i={})[l.id+"_"+e.selFieldId]="$"+e.selFieldId,i)})})}),t={$and:[]},v.filter(function(e){return!e.$or&&Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).length&&v.filter(function(e){return!e.$or&&Object.keys(e).some(function(e){return e.includes("(Lookup)")})||e.$or&&e.$or.some(function(e){return Object.keys(e).some(function(e){return e.includes("(Lookup)")})})}).forEach(function(e){t.$and.push(e)}),k.forEach(function(e){t.$and.push(e)}),t.$and.length&&u.push({$match:t}),n={_id:{}},I.length||!N||"grouped"===N?(I.length?y.sort&&(a={},Object.keys(y.sort).forEach(function(i){var e=F.filter(function(e){return e.id===i})[0];e&&(a[e.fieldPath.replace(/\.\$/g,"")]=y.sort[i])}),0<Object.keys(a).length)&&u.push({$sort:a}):n._id="$_id",I.forEach(function(e){n._id[e.id]="$"+e.field.replace(/\.\$/g,""),A&&z&&("Seconds"===z?(n._id.second={$second:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.minute={$minute:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Minutes"===z?(n._id.minute={$minute:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Hours"===z?(n._id.hour={$hour:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Daily"===z?(n._id.day={$dayOfMonth:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Weekly"===z?(n._id.week={$isoWeek:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$isoWeekYear:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Monthly"===z||"Quarterly"===z?(n._id.month={$month:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}},n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}):"Yearly"===z&&(n._id.year={$year:{date:"$"+A.replace(/\.\$/g,""),timezone:process.env.TZ_CLIENT||"America/Chicago"}}))}),F.forEach(function(e){"Average"===e.leafValueType?n[e.id]={$avg:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Sum"===e.leafValueType?n[e.id]={$sum:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Count"===e.leafValueType?n[e.id]={$sum:"$count_"+e.fieldPath.replace(/\.\$/g,"")}:"Minimum"===e.leafValueType?n[e.id]={$min:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Maximum"===e.leafValueType?n[e.id]={$max:"$"+e.fieldPath.replace(/\.\$/g,"")}:"First"===e.leafValueType?n[e.id]={$first:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Last"===e.leafValueType?n[e.id]={$last:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Unique"===e.leafValueType?n[e.id]={$addToSet:"$"+e.fieldPath.replace(/\.\$/g,"")}:n[e.id]={$push:{$ifNull:["$"+e.fieldPath.replace(/\.\$/g,""),null]}}}),b.forEach(function(e){"Average"===e.leafValueType?n[e.selFieldId]={$avg:"$"+e.selFieldId}:"Sum"===e.leafValueType?n[e.selFieldId]={$sum:"$"+e.selFieldId}:"Count"===e.leafValueType?n[e.selFieldId]="Dated"===g?{$sum:"$count_"+e.selFieldId}:{$push:"$count_"+e.selFieldId}:"Minimum"===e.leafValueType?n[e.selFieldId]={$min:"$"+e.selFieldId}:"Maximum"===e.leafValueType?n[e.selFieldId]={$max:"$"+e.selFieldId}:"First"===e.leafValueType?n[e.selFieldId]={$first:"$"+e.selFieldId}:"Last"===e.leafValueType?n[e.selFieldId]={$last:"$"+e.selFieldId}:"Unique"===e.leafValueType?n[e.selFieldId]={$addToSet:"$"+e.selFieldId}:n[e.selFieldId]={$push:{$ifNull:["$"+e.selFieldId,null]}}}),E.length&&E.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;n[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),b.forEach(function(e){var i;n[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$group:n})):(d={_id:1},F.forEach(function(e){"Average"===e.leafValueType?d[e.id]={$avg:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Sum"===e.leafValueType?d[e.id]={$sum:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Count"===e.leafValueType?d[e.id]={$sum:1}:"Minimum"===e.leafValueType?d[e.id]={$min:"$"+e.fieldPath.replace(/\.\$/g,"")}:"Maximum"===e.leafValueType?d[e.id]={$max:"$"+e.fieldPath.replace(/\.\$/g,"")}:d[e.id]="$"+e.fieldPath.replace(/\.\$/g,"")}),b.forEach(function(e){d[e.selFieldId]="Average"===e?{$avg:"$"+e.selFieldId}:"Sum"===e?{$sum:"$"+e.selFieldId}:"Count"===e?{$sum:1}:"Minimum"===e?{$min:"$"+e.selFieldId}:"Maximum"===e?{$max:"$"+e.selFieldId}:"$"+e.selFieldId}),!E.length||"List"!==g&&"Dated"!==g||E.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;d[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),b.forEach(function(e){var i;d[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$project:d})),y.sort&&u.push({$sort:y.sort}),"Group"===g&&1<I.length)for(c=function(l){for(var e,r,t,n,o={_id:1},a=(o[I[l].id]={_id:((e={})[I[l].id]="$_id."+I[l].id,e)},l===I.length-1?(F.forEach(function(e){o[I[l].id][e.id]="$"+e.id}),b.forEach(function(e){o[I[l].id][e.selFieldId]="$"+e.selFieldId})):o[I[l].id][I[l+1].id]="$"+I[l+1].id,E.forEach(function(i){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){o[i.id+"_"+e.id]=1,o[I[l].id][i.id+"_"+e.id]="$"+i.id+"_"+e.id}),b.forEach(function(e){o[I[l].id][i.id+"_"+e.selFieldId]="$"+i.id+"_"+e.selFieldId})}),u.push({$project:o}),{_id:{}}),i=0;i<l;i++)a._id[I[i].id]="$_id."+I[i].id;a[I[l].id]={$push:"$"+I[l].id},E.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(e){var i;a[l.id+"_"+e.id]=((i={})["$"+l.type]="$"+l.id+"_"+e.id,i)}),b.forEach(function(e){var i;a[l.id+"_"+e.selFieldId]=((i={})["$"+l.type]="$"+l.id+"_"+e.selFieldId,i)})}),u.push({$group:a}),y.sort&&(r=Object.keys(y.sort),t={},n="",I.forEach(function(e,i){0<i&&(n+="gr_"+(i+1)+"."),r.includes("_id.gr_"+(i+1))?t[n+"_id.gr_"+(i+1)]=y.sort["_id.gr_"+(i+1)]:t[n+"_id.gr_"+(i+1)]=1}),r.filter(function(e){return!e.startsWith("_id.gr_")}).forEach(function(e){t[n+e]=y.sort[e]}),u.push({$sort:t}))},s=I.length-1;1<=s;s--)c(s);p=null,e.label=2;case 2:return e.trys.push([2,4,,5]),[4,i.aggregate(u,{allowDiskUse:!0,readPreference:"http://localhost:4200"!==this.serverConfig.ROOT_URL?"secondary":"primary"},!0)];case 3:return p=e.sent(),[3,5];case 4:return $=e.sent(),console.log($),[3,5];case 5:f={},p&&E.forEach(function(l){F.filter(function(e){return"Number"===e.fieldType||"Count"===e.leafValueType}).forEach(function(i){"sum"===l.type?f[l.id+"_"+i.id]=p.map(function(e){return e[l.id+"_"+i.id]||0}).reduce(function(e,i){return e+i},0):"avg"===l.type&&(f[l.id+"_"+i.id]=Math.round(p.map(function(e){return e[l.id+"_"+i.id]||0}).reduce(function(e,i){return e+i},0)/p.length))}),b.forEach(function(i){"sum"===l.type?f[l.id+"_"+i.selFieldId]=p.map(function(e){return e[l.id+"_"+i.selFieldId]||0}).reduce(function(e,i){return e+i},0):"avg"===l.type&&(f[l.id+"_"+i.selFieldId]=Math.round(p.map(function(e){return e[l.id+"_"+i.selFieldId]||0}).reduce(function(e,i){return e+i},0)/p.length))})}),$=[{count:p?p.length:0,results:p?y.limit?p.splice(0,y.limit):p:[],totals:f}],h($),e.label=6;case 6:return[2]}})})})}}})}exports.loadReportBuilderMethods=loadReportBuilderMethods;
2
2
  //# sourceMappingURL=report-builder.js.map