@resolveio/server-lib 22.2.57 → 22.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/http/auth.js +9 -6
- package/http/auth.js.map +1 -1
- package/managers/mongo.manager.d.ts +12 -10
- package/managers/mongo.manager.js +2 -2
- package/managers/mongo.manager.js.map +1 -1
- package/managers/subscription.manager.js +59 -53
- package/managers/subscription.manager.js.map +1 -1
- package/methods/monitor.js +2 -2
- package/methods/monitor.js.map +1 -1
- package/methods/pdf.js.map +1 -1
- package/package.json +67 -67
- package/server-app.d.ts +54 -0
- package/server-app.js +643 -45
- package/server-app.js.map +1 -1
package/methods/monitor.js
CHANGED
|
@@ -446,10 +446,10 @@ function loadMonitorMethods(methodManager) {
|
|
|
446
446
|
}
|
|
447
447
|
];
|
|
448
448
|
if (client) {
|
|
449
|
-
query[0]['$match'].$and.push({
|
|
449
|
+
query[0]['$match'].$and.push({ 'metadata.client': client });
|
|
450
450
|
}
|
|
451
451
|
if (instance) {
|
|
452
|
-
query[0]['$match'].$and.push({
|
|
452
|
+
query[0]['$match'].$and.push({ 'metadata.instance': instance });
|
|
453
453
|
}
|
|
454
454
|
var firstGroupId = (0, common_1.deepCopy)(groupId);
|
|
455
455
|
firstGroupId['client'] = '$metadata.client';
|
package/methods/monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/monitor.ts"],"names":[],"mappings":"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","file":"monitor.js","sourcesContent":["import { MonitorCPUs } from '../collections/monitor-cpu.collection';\nimport { MonitorMemorys } from '../collections/monitor-memory.collection';\nimport { MonitorMongos } from '../collections/monitor-mongo.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { deepCopy } from '../util/common';\n\nexport function loadMonitorMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n superadminMonitorGraphData: {\n function: async function(date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string) {\n\t\t\t\tlet groupId = {};\n\t\t\t\tlet groupDate = {};\n\n\t\t\t\tif (graphInterval === 'seconds') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tsecond: {\n\t\t\t\t\t\t\t$second: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute',\n\t\t\t\t\t\t'second': '$_id.second'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'minutes') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'hours') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet query = <any>[\n\t\t\t\t\t{\n\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdate: {$gte: date_start}\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\tdate: {$lte: date_end}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\tif (client) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.client': client});\n\t\t\t\t}\n\n\t\t\t\tif (instance) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.instance': instance});\n\t\t\t\t}\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t\t[variable]: variableType === 'count' ? {$sum: 1} : {\n\t\t\t\t\t\t\t\t['$' + variableType]: '$' + variable\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: groupDate,\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$push: {k: {$concat: ['$_id.client', ' - ', '$_id.instance']}, v: '$' + variable}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$addFields: {\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$arrayToObject: '$data'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$replaceRoot: {\n\t\t\t\t\t\t\tnewRoot: {\n\t\t\t\t\t\t\t\t$mergeObjects: ['$data', '$$ROOT']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$project: {\n\t\t\t\t\t\t\tdata: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).aggregate(query, {allowDiskUse: true, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n\t\t\t},\n\t\t\tskipValidation: true\n },\n\t\tsuperadminMonitorTableData: {\n // eslint-disable-next-line no-unused-vars\n function: function(date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string) {\n\t\t\t\tlet groupId = {};\n\t\t\t\tlet groupDate = {};\n\n\t\t\t\tif (collection !== 'monitor-mongos') {\n\t\t\t\t\tthrow new Error('Error in Super Admin Monitor Table Data: No monitor-mongos collection');\n\t\t\t\t}\n\n\t\t\t\tif (graphInterval === 'seconds') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tsecond: {\n\t\t\t\t\t\t\t$second: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute',\n\t\t\t\t\t\t'second': '$_id.second'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'minutes') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'hours') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet query = <any>[\n\t\t\t\t\t{\n\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdate: {$gte: date_start}\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\tdate: {$lte: date_end}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\tif (client) {\n\t\t\t\t\tquery[0]['$match'].$and.push({client: 'metadata.client'});\n\t\t\t\t}\n\n\t\t\t\tif (instance) {\n\t\t\t\t\tquery[0]['$match'].$and.push({instance: 'metadata.instance'});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet firstGroupId = deepCopy(groupId);\n\t\t\t\tfirstGroupId['client'] = '$metadata.client';\n\t\t\t\tfirstGroupId['instance'] = '$metadata.instance';\n\t\t\t\tfirstGroupId[variable] = '$' + variable;\n\t\t\t\t\n\t\t\t\tgroupDate[variable] = '$' + variable;\n\t\t\t\tgroupDate['date'] = '$date';\n\t\t\t\tgroupDate['data'] = '$data';\n\n\t\t\t\tgroupId['client'] = '$_id.client';\n\t\t\t\tgroupId['instance'] = '$_id.instance';\n\t\t\t\t\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: firstGroupId,\n\t\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t\t'$sum': 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[variable + '_name']: {\n\t\t\t\t\t\t\t\t$first: '$' + [variable]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdate: {\n\t\t\t\t\t\t\t\t$first: '$date'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$addFields: {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t[variable]: '$' + variable,\n\t\t\t\t\t\t\t[variable + '_name']: '$' + variable + '_name'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$group: {\n\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t'$sum': '$data.' + variable\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: {\n\t\t\t\t\t\t\t$first: '$date'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t$push: '$data'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$addFields: {\n\t\t\t\t\t\t[variable]: groupDate\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\tclient: '$_id.client',\n\t\t\t\t\t\t\t\tinstance: '$_id.instance'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$push: '$' + variable\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t\t$sum: '$' + variable + '.' + variable\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).aggregate(query, {allowDiskUse: true, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n\t\t\t},\n\t\t\tskipValidation: true\n },\n monitorMongos: {\n function: function() {\n return MonitorMongos.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n },\n monitorCPUs: {\n function: function() {\n return MonitorCPUs.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n },\n monitorMemorys: {\n function: function() {\n return MonitorMemorys.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n }\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/monitor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,gDAohBC;AA3hBD,gFAAoE;AACpE,sFAA0E;AAC1E,oFAAwE;AAExE,gEAA0D;AAC1D,yCAA0C;AAE1C,SAAgB,kBAAkB,CAAC,aAA4B;IAC9D,aAAa,CAAC,OAAO,CAAC;QACf,0BAA0B,EAAE;YACxB,QAAQ,EAAE,UAAe,UAAgB,EAAE,QAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAqB,EAAE,QAAgB,EAAE,YAAoB;;;;;wBAClL,OAAO,GAAG,EAAE,CAAC;wBACb,SAAS,GAAG,EAAE,CAAC;wBAEnB,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;4BACjC,OAAO,GAAG;gCACT,MAAM,EAAE;oCACP,OAAO,EAAE;wCACR,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,MAAM,EAAE;oCACP,OAAO,EAAE;wCACR,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,GAAG,EAAE;oCACJ,WAAW,EAAE;wCACZ,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,KAAK,EAAE;oCACN,MAAM,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,MAAM,EAAE,kBAAkB;gCAC1B,QAAQ,EAAE,oBAAoB;6BAC9B,CAAC;4BAEF,SAAS,GAAG;gCACX,MAAM,EAAE,WAAW;gCACnB,OAAO,EAAE,YAAY;gCACrB,KAAK,EAAE,UAAU;gCACjB,MAAM,EAAE,WAAW;gCACnB,QAAQ,EAAE,aAAa;gCACvB,QAAQ,EAAE,aAAa;6BACvB,CAAC;wBACH,CAAC;6BACI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;4BACtC,OAAO,GAAG;gCACT,MAAM,EAAE;oCACP,OAAO,EAAE;wCACR,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,GAAG,EAAE;oCACJ,WAAW,EAAE;wCACZ,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,KAAK,EAAE;oCACN,MAAM,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,MAAM,EAAE,kBAAkB;gCAC1B,QAAQ,EAAE,oBAAoB;6BAC9B,CAAC;4BAEF,SAAS,GAAG;gCACX,MAAM,EAAE,WAAW;gCACnB,OAAO,EAAE,YAAY;gCACrB,KAAK,EAAE,UAAU;gCACjB,MAAM,EAAE,WAAW;gCACnB,QAAQ,EAAE,aAAa;6BACvB,CAAC;wBACH,CAAC;6BACI,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;4BACpC,OAAO,GAAG;gCACT,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,GAAG,EAAE;oCACJ,WAAW,EAAE;wCACZ,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,KAAK,EAAE;oCACN,MAAM,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,MAAM,EAAE,kBAAkB;gCAC1B,QAAQ,EAAE,oBAAoB;6BAC9B,CAAC;4BAEF,SAAS,GAAG;gCACX,MAAM,EAAE,WAAW;gCACnB,OAAO,EAAE,YAAY;gCACrB,KAAK,EAAE,UAAU;gCACjB,MAAM,EAAE,WAAW;6BACnB,CAAC;wBACH,CAAC;6BACI,CAAC;4BACL,OAAO,GAAG;gCACT,GAAG,EAAE;oCACJ,WAAW,EAAE;wCACZ,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,KAAK,EAAE;oCACN,MAAM,EAAE;wCACP,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,IAAI,EAAE;oCACL,KAAK,EAAE;wCACN,IAAI,EAAE,OAAO;wCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;qCACpD;iCACD;gCACD,MAAM,EAAE,kBAAkB;gCAC1B,QAAQ,EAAE,oBAAoB;6BAC9B,CAAC;4BAEF,SAAS,GAAG;gCACX,MAAM,EAAE,WAAW;gCACnB,OAAO,EAAE,YAAY;gCACrB,KAAK,EAAE,UAAU;6BACjB,CAAC;wBACH,CAAC;wBAEG,KAAK,GAAQ;4BAChB;gCACC,MAAM,EAAE;oCACP,IAAI,EAAE;wCACL;4CACC,IAAI,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;yCACxB;wCACD;4CACC,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;yCACtB;qCACD;iCACD;6BACD;yBACD,CAAC;wBAEF,IAAI,MAAM,EAAE,CAAC;4BACZ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,iBAAiB,EAAE,MAAM,EAAC,CAAC,CAAC;wBAC3D,CAAC;wBAED,IAAI,QAAQ,EAAE,CAAC;4BACd,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,mBAAmB,EAAE,QAAQ,EAAC,CAAC,CAAC;wBAC/D,CAAC;wBAED,KAAK,CAAC,IAAI,CACT;4BACC,MAAM;oCACL,GAAG,EAAE,OAAO;;gCACZ,GAAC,QAAQ,IAAG,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;oCACjD,GAAC,GAAG,GAAG,YAAY,IAAG,GAAG,GAAG,QAAQ;uCACpC;mCACD;yBACD,CACD,CAAC;wBAEF,KAAK,CAAC,IAAI,CACT;4BACC,MAAM,EAAE;gCACP,GAAG,EAAE,SAAS;gCACd,IAAI,EAAE;oCACL,KAAK,EAAE,EAAC,CAAC,EAAE,EAAC,OAAO,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,eAAe,CAAC,EAAC,EAAE,CAAC,EAAE,GAAG,GAAG,QAAQ,EAAC;iCACjF;6BACD;yBACD,CACD,CAAC;wBAEF,KAAK,CAAC,IAAI,CACT;4BACC,UAAU,EAAE;gCACX,IAAI,EAAE;oCACL,cAAc,EAAE,OAAO;iCACvB;6BACD;yBACD,CACD,CAAC;wBAEF,KAAK,CAAC,IAAI,CACT;4BACC,YAAY,EAAE;gCACb,OAAO,EAAE;oCACR,aAAa,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;iCAClC;6BACD;yBACD,CACD,CAAC;wBAEF,KAAK,CAAC,IAAI,CACT;4BACC,QAAQ,EAAE;gCACT,IAAI,EAAE,CAAC;6BACP;yBACD,CACD,CAAC;wBAEF,sBAAO,sCAAe,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAC,EAAE,IAAI,CAAC,EAAC;;;aAClN;YACD,cAAc,EAAE,IAAI;SACd;QACP,0BAA0B,EAAE;YAClB,0CAA0C;YAC1C,QAAQ,EAAE,UAAS,UAAgB,EAAE,QAAc,EAAE,UAAkB,EAAE,QAAgB,EAAE,MAAc,EAAE,aAAqB,EAAE,QAAgB,EAAE,YAAoB;;gBAChL,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,SAAS,GAAG,EAAE,CAAC;gBAEnB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;gBAC1F,CAAC;gBAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBACjC,OAAO,GAAG;wBACT,MAAM,EAAE;4BACP,OAAO,EAAE;gCACR,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,MAAM,EAAE;4BACP,OAAO,EAAE;gCACR,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,GAAG,EAAE;4BACJ,WAAW,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,KAAK,EAAE;4BACN,MAAM,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;qBAED,CAAC;oBAEF,SAAS,GAAG;wBACX,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,aAAa;wBACvB,QAAQ,EAAE,aAAa;qBACvB,CAAC;gBACH,CAAC;qBACI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,GAAG;wBACT,MAAM,EAAE;4BACP,OAAO,EAAE;gCACR,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,GAAG,EAAE;4BACJ,WAAW,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,KAAK,EAAE;4BACN,MAAM,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;qBACD,CAAC;oBAEF,SAAS,GAAG;wBACX,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,aAAa;qBACvB,CAAC;gBACH,CAAC;qBACI,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;oBACpC,OAAO,GAAG;wBACT,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,GAAG,EAAE;4BACJ,WAAW,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,KAAK,EAAE;4BACN,MAAM,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;qBACD,CAAC;oBAEF,SAAS,GAAG;wBACX,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,UAAU;wBACjB,MAAM,EAAE,WAAW;qBACnB,CAAC;gBACH,CAAC;qBACI,CAAC;oBACL,OAAO,GAAG;wBACT,GAAG,EAAE;4BACJ,WAAW,EAAE;gCACZ,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,KAAK,EAAE;4BACN,MAAM,EAAE;gCACP,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;wBACD,IAAI,EAAE;4BACL,KAAK,EAAE;gCACN,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,iBAAiB;6BACpD;yBACD;qBACD,CAAC;oBAEF,SAAS,GAAG;wBACX,MAAM,EAAE,WAAW;wBACnB,OAAO,EAAE,YAAY;wBACrB,KAAK,EAAE,UAAU;qBACjB,CAAC;gBACH,CAAC;gBAED,IAAI,KAAK,GAAQ;oBAChB;wBACC,MAAM,EAAE;4BACP,IAAI,EAAE;gCACL;oCACC,IAAI,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC;iCACxB;gCACD;oCACC,IAAI,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;iCACtB;6BACD;yBACD;qBACD;iBACD,CAAC;gBAEF,IAAI,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,iBAAiB,EAAE,MAAM,EAAC,CAAC,CAAC;gBAC3D,CAAC;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACd,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,mBAAmB,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC/D,CAAC;gBAED,IAAI,YAAY,GAAG,IAAA,iBAAQ,EAAC,OAAO,CAAC,CAAC;gBACrC,YAAY,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC;gBAC5C,YAAY,CAAC,UAAU,CAAC,GAAG,oBAAoB,CAAC;gBAChD,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;gBAExC,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;gBACrC,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBAC5B,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;gBAE5B,OAAO,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;gBAClC,OAAO,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC;gBAEtC,KAAK,CAAC,IAAI,CACT;oBACC,MAAM;4BACL,GAAG,EAAE,YAAY;;wBACjB,GAAC,QAAQ,IAAG;4BACX,MAAM,EAAE,CAAC;yBACT;wBACD,GAAC,QAAQ,GAAG,OAAO,IAAG;4BACrB,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;yBACxB;wBACD,OAAI,GAAE;4BACL,MAAM,EAAE,OAAO;yBACf;2BACD;iBACD,CACD,CAAC;gBAEF,KAAK,CAAC,IAAI,CAAC;oBACV,UAAU,EAAE;wBACX,IAAI;4BACH,GAAC,QAAQ,IAAG,GAAG,GAAG,QAAQ;4BAC1B,GAAC,QAAQ,GAAG,OAAO,IAAG,GAAG,GAAG,QAAQ,GAAG,OAAO;+BAC9C;qBACD;iBACD,CAAC,CAAC;gBAEH,KAAK,CAAC,IAAI,CAAC;oBACV,MAAM;4BACL,GAAG,EAAE,OAAO;;wBACZ,GAAC,QAAQ,IAAG;4BACX,MAAM,EAAE,QAAQ,GAAG,QAAQ;yBAC3B;wBACD,OAAI,GAAE;4BACL,MAAM,EAAE,OAAO;yBACf;wBACD,OAAI,GAAE;4BACL,KAAK,EAAE,OAAO;yBACd;2BACD;iBACD,CAAC,CAAC;gBAEH,KAAK,CAAC,IAAI,CAAC;oBACV,UAAU;wBACT,GAAC,QAAQ,IAAG,SAAS;2BACrB;iBACD,CAAC,CAAC;gBAEH,KAAK,CAAC,IAAI,CACT;oBACC,MAAM;4BACL,GAAG,EAAE;gCACJ,MAAM,EAAE,aAAa;gCACrB,QAAQ,EAAE,eAAe;6BACzB;4BACD,IAAI,EAAE;gCACL,KAAK,EAAE,GAAG,GAAG,QAAQ;6BACrB;;wBACD,GAAC,QAAQ,IAAG;4BACX,IAAI,EAAE,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ;yBACrC;2BACD;iBACD,CACD,CAAC;gBAEF,OAAO,sCAAe,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,EAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAC,EAAE,IAAI,CAAC,CAAC;YACnN,CAAC;YACD,cAAc,EAAE,IAAI;SACd;QACD,aAAa,EAAE;YACX,QAAQ,EAAE;gBACN,OAAO,wCAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAC,EAAE,IAAI,CAAC,CAAC;YAC/I,CAAC;SACJ;QACD,WAAW,EAAE;YACT,QAAQ,EAAE;gBACN,OAAO,oCAAW,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAC,EAAE,IAAI,CAAC,CAAC;YAC7I,CAAC;SACJ;QACD,cAAc,EAAE;YACZ,QAAQ,EAAE;gBACN,OAAO,0CAAc,CAAC,IAAI,CAAC,EAAE,EAAE,EAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EAAC,EAAE,IAAI,CAAC,CAAC;YAChJ,CAAC;SACJ;KACP,CAAC,CAAC;AACJ,CAAC","file":"monitor.js","sourcesContent":["import { MonitorCPUs } from '../collections/monitor-cpu.collection';\nimport { MonitorMemorys } from '../collections/monitor-memory.collection';\nimport { MonitorMongos } from '../collections/monitor-mongo.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { ResolveIOServer } from '../resolveio-server-app';\nimport { deepCopy } from '../util/common';\n\nexport function loadMonitorMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n superadminMonitorGraphData: {\n function: async function(date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string) {\n\t\t\t\tlet groupId = {};\n\t\t\t\tlet groupDate = {};\n\n\t\t\t\tif (graphInterval === 'seconds') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tsecond: {\n\t\t\t\t\t\t\t$second: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute',\n\t\t\t\t\t\t'second': '$_id.second'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'minutes') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'hours') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tclient: '$metadata.client',\n\t\t\t\t\t\tinstance: '$metadata.instance'\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet query = <any>[\n\t\t\t\t\t{\n\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdate: {$gte: date_start}\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\tdate: {$lte: date_end}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\tif (client) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.client': client});\n\t\t\t\t}\n\n\t\t\t\tif (instance) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.instance': instance});\n\t\t\t\t}\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t\t[variable]: variableType === 'count' ? {$sum: 1} : {\n\t\t\t\t\t\t\t\t['$' + variableType]: '$' + variable\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: groupDate,\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$push: {k: {$concat: ['$_id.client', ' - ', '$_id.instance']}, v: '$' + variable}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$addFields: {\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$arrayToObject: '$data'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$replaceRoot: {\n\t\t\t\t\t\t\tnewRoot: {\n\t\t\t\t\t\t\t\t$mergeObjects: ['$data', '$$ROOT']\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$project: {\n\t\t\t\t\t\t\tdata: 0\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).aggregate(query, {allowDiskUse: true, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n\t\t\t},\n\t\t\tskipValidation: true\n },\n\t\tsuperadminMonitorTableData: {\n // eslint-disable-next-line no-unused-vars\n function: function(date_start: Date, date_end: Date, collection: string, instance: string, client: string, graphInterval: string, variable: string, variableType: string) {\n\t\t\t\tlet groupId = {};\n\t\t\t\tlet groupDate = {};\n\n\t\t\t\tif (collection !== 'monitor-mongos') {\n\t\t\t\t\tthrow new Error('Error in Super Admin Monitor Table Data: No monitor-mongos collection');\n\t\t\t\t}\n\n\t\t\t\tif (graphInterval === 'seconds') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tsecond: {\n\t\t\t\t\t\t\t$second: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute',\n\t\t\t\t\t\t'second': '$_id.second'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'minutes') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tminute: {\n\t\t\t\t\t\t\t$minute: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour',\n\t\t\t\t\t\t'minute': '$_id.minute'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse if (graphInterval === 'hours') {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\thour: {\n\t\t\t\t\t\t\t$hour: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day',\n\t\t\t\t\t\t'hour': '$_id.hour'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tgroupId = {\n\t\t\t\t\t\tday: {\n\t\t\t\t\t\t\t$dayOfMonth: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tmonth: {\n\t\t\t\t\t\t\t$month: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t},\n\t\t\t\t\t\tyear: {\n\t\t\t\t\t\t\t$year: {\n\t\t\t\t\t\t\t\tdate: '$date',\n\t\t\t\t\t\t\t\ttimezone: process.env.TZ_CLIENT || 'America/Chicago'\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\tgroupDate = {\n\t\t\t\t\t\t'year': '$_id.year',\n\t\t\t\t\t\t'month': '$_id.month',\n\t\t\t\t\t\t'day': '$_id.day'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tlet query = <any>[\n\t\t\t\t\t{\n\t\t\t\t\t\t$match: {\n\t\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tdate: {$gte: date_start}\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\tdate: {$lte: date_end}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t];\n\n\t\t\t\tif (client) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.client': client});\n\t\t\t\t}\n\n\t\t\t\tif (instance) {\n\t\t\t\t\tquery[0]['$match'].$and.push({'metadata.instance': instance});\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet firstGroupId = deepCopy(groupId);\n\t\t\t\tfirstGroupId['client'] = '$metadata.client';\n\t\t\t\tfirstGroupId['instance'] = '$metadata.instance';\n\t\t\t\tfirstGroupId[variable] = '$' + variable;\n\t\t\t\t\n\t\t\t\tgroupDate[variable] = '$' + variable;\n\t\t\t\tgroupDate['date'] = '$date';\n\t\t\t\tgroupDate['data'] = '$data';\n\n\t\t\t\tgroupId['client'] = '$_id.client';\n\t\t\t\tgroupId['instance'] = '$_id.instance';\n\t\t\t\t\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: firstGroupId,\n\t\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t\t'$sum': 1\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[variable + '_name']: {\n\t\t\t\t\t\t\t\t$first: '$' + [variable]\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdate: {\n\t\t\t\t\t\t\t\t$first: '$date'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$addFields: {\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t[variable]: '$' + variable,\n\t\t\t\t\t\t\t[variable + '_name']: '$' + variable + '_name'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$group: {\n\t\t\t\t\t\t_id: groupId,\n\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t'$sum': '$data.' + variable\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdate: {\n\t\t\t\t\t\t\t$first: '$date'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t$push: '$data'\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push({\n\t\t\t\t\t$addFields: {\n\t\t\t\t\t\t[variable]: groupDate\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tquery.push(\n\t\t\t\t\t{\n\t\t\t\t\t\t$group: {\n\t\t\t\t\t\t\t_id: {\n\t\t\t\t\t\t\t\tclient: '$_id.client',\n\t\t\t\t\t\t\t\tinstance: '$_id.instance'\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t$push: '$' + variable\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t[variable]: {\n\t\t\t\t\t\t\t\t$sum: '$' + variable + '.' + variable\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\treturn ResolveIOServer.getMongoManager().collection(collection).aggregate(query, {allowDiskUse: true, readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n\t\t\t},\n\t\t\tskipValidation: true\n },\n monitorMongos: {\n function: function() {\n return MonitorMongos.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n },\n monitorCPUs: {\n function: function() {\n return MonitorCPUs.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n },\n monitorMemorys: {\n function: function() {\n return MonitorMemorys.find({}, {readPreference: this.serverConfig['ROOT_URL'] !== 'http://localhost:4200' ? 'secondary' : 'primary'}, true);\n }\n }\n\t});\n}\n"]}
|
package/methods/pdf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":[],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as os from 'os';\nimport * as path from 'path';\nimport axios from 'axios';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { objectIdHexString } from '../util/common';\n\nconst PUPPETEER_ARGS = [\n\t'--disable-dev-shm-usage',\n\t'--no-sandbox',\n\t'--disable-setuid-sandbox',\n\t'--disable-accelerated-2d-canvas',\n\t'--disable-gpu',\n\t'--allow-file-access-from-files',\n\t'--enable-local-file-accesses',\n\t'--font-render-hinting=none',\n\t'--disable-breakpad',\n\t'--no-zygote'\n];\n\nconst LOW_RESOURCE_PUPPETEER_ARGS = [\n\t'--single-process',\n\t'--renderer-process-limit=1',\n\t'--disable-extensions',\n\t'--disable-features=AudioServiceOutOfProcess'\n];\n\nlet cachedExecutablePath: string = null;\nlet cachedTmpExecutablePath: string = null;\n\nfunction getBrowserConnectUrl() {\n\tlet browserUrl = process.env.PUPPETEER_BROWSER_URL || process.env.PDF_PUPPETEER_BROWSER_URL || process.env.BROWSER_WS_URL;\n\n\tif (!browserUrl || typeof browserUrl !== 'string') {\n\t\treturn null;\n\t}\n\n\treturn browserUrl.trim() || null;\n}\n\nfunction envMs(name: string, fallback: number) {\n\tlet raw = process.env[name];\n\tif (!raw) {\n\t\treturn fallback;\n\t}\n\n\tlet parsed = parseInt(raw, 10);\n\tif (!Number.isFinite(parsed) || parsed <= 0) {\n\t\treturn fallback;\n\t}\n\n\treturn parsed;\n}\n\nconst PDF_LAUNCH_TIMEOUT_MS = envMs('PDF_LAUNCH_TIMEOUT_MS', 60000);\nconst PDF_CONTENT_TIMEOUT_MS = envMs('PDF_CONTENT_TIMEOUT_MS', 60000);\nconst PDF_FONTS_TIMEOUT_MS = envMs('PDF_FONTS_TIMEOUT_MS', 30000);\nconst PDF_IMAGES_TIMEOUT_MS = envMs('PDF_IMAGES_TIMEOUT_MS', 15000);\nconst PDF_RENDER_TIMEOUT_MS = envMs('PDF_RENDER_TIMEOUT_MS', 120000);\nconst PDF_PROTOCOL_TIMEOUT_MS = envMs('PDF_PROTOCOL_TIMEOUT_MS', 120000);\nconst PDF_OVERALL_TIMEOUT_MS = envMs('PDF_OVERALL_TIMEOUT_MS', 240000);\n\nclass PdfTimeoutError extends Error {\n\tstep: string;\n\ttimeoutMs: number;\n\n\tconstructor(step: string, timeoutMs: number) {\n\t\tsuper(`PDF step timed out after ${timeoutMs}ms: ${step}`);\n\t\tthis.name = 'PdfTimeoutError';\n\t\tthis.step = step;\n\t\tthis.timeoutMs = timeoutMs;\n\t}\n}\n\nfunction withTimeout<T>(promise: Promise<T>, timeoutMs: number, step: string): Promise<T> {\n\tif (!timeoutMs || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tlet timeoutHandle: NodeJS.Timeout = null;\n\n\t// eslint-disable-next-line no-restricted-syntax\n\treturn new Promise<T>((resolve, reject) => {\n\t\ttimeoutHandle = setTimeout(() => {\n\t\t\treject(new PdfTimeoutError(step, timeoutMs));\n\t\t}, timeoutMs);\n\n\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\tpromise.then(resolve, reject).finally(() => {\n\t\t\tif (timeoutHandle) {\n\t\t\t\tclearTimeout(timeoutHandle);\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction getEnvExecutablePath() {\n\tlet envExecutablePath = process.env.PUPPETEER_EXECUTABLE_PATH || process.env.CHROME_EXECUTABLE_PATH || process.env.CHROME_PATH;\n\n\tif (envExecutablePath && fs.existsSync(envExecutablePath)) {\n\t\treturn envExecutablePath;\n\t}\n\n\treturn null;\n}\n\nfunction shouldRetryBrowserLaunch(err: any) {\n\tif (!err) {\n\t\treturn false;\n\t}\n\n\tlet message = err.message || '';\n\tlet stderr = err.stderr ? err.stderr.toString() : '';\n\n\treturn message.includes('chrome_crashpad_handler') || message.includes('Operation not permitted') || message.includes('Resource temporarily unavailable') || stderr.includes('pthread_create') || stderr.includes('Resource temporarily unavailable') || stderr.includes('Failed to connect to the bus');\n}\n\nfunction prepareExecutableFallback(executablePath?: string) {\n\ttry {\n\t\tlet currentExecutablePath = executablePath || cachedExecutablePath || puppeteer.executablePath();\n\n\t\tif (!currentExecutablePath) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Avoid copying if we're already running from a tmp dir.\n\t\tif (currentExecutablePath.startsWith(os.tmpdir())) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Retry from a tmp location when the packaged Chromium cannot be executed (e.g. noexec home dirs).\n\t\tlet chromiumDir = path.dirname(currentExecutablePath);\n\t\tlet tmpRoot = path.join(os.tmpdir(), 'puppeteer-chromium');\n\t\tlet tmpChromiumDir = path.join(tmpRoot, path.basename(chromiumDir));\n\t\tlet tmpExecutablePath = path.join(tmpChromiumDir, path.basename(currentExecutablePath));\n\n\t\tif (!fs.existsSync(tmpExecutablePath)) {\n\t\t\tfs.mkdirSync(tmpChromiumDir, { recursive: true });\n\t\t\tfs.cpSync(chromiumDir, tmpChromiumDir, { recursive: true, force: true });\n\t\t}\n\n\t\tcachedTmpExecutablePath = tmpExecutablePath;\n\t\treturn tmpExecutablePath;\n\t}\n\tcatch (errCopy) {\n\t\tconsole.error(new Date(), 'Failed to prepare Chromium fallback', errCopy);\n\t\treturn null;\n\t}\n}\n\nfunction sanitizeLaunchEnv(env?: NodeJS.ProcessEnv) {\n\tlet launchEnv: NodeJS.ProcessEnv = { ...process.env, ...env };\n\n\tif (launchEnv.DBUS_SESSION_BUS_ADDRESS && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('unix:') && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('tcp:')) {\n\t\tdelete launchEnv.DBUS_SESSION_BUS_ADDRESS;\n\t}\n\n\treturn launchEnv;\n}\n\nfunction applyLowResourceLaunchTweaks(options: puppeteer.LaunchOptions): puppeteer.LaunchOptions {\n\tlet mergedArgs = [...(options.args || [])];\n\n\tLOW_RESOURCE_PUPPETEER_ARGS.forEach((arg) => {\n\t\tif (!mergedArgs.includes(arg)) {\n\t\t\tmergedArgs.push(arg);\n\t\t}\n\t});\n\n\treturn {\n\t\t...options,\n\t\targs: mergedArgs,\n\t\tignoreDefaultArgs: undefined,\n\t\tenv: sanitizeLaunchEnv(options.env)\n\t};\n}\n\nasync function safeCloseBrowser(browser: puppeteer.Browser) {\n\tif (!browser) {\n\t\treturn;\n\t}\n\n\tlet proc: any = null;\n\tlet isConnectedBrowser = false;\n\n\ttry {\n\t\tproc = typeof browser.process === 'function' ? browser.process() : null;\n\t\tisConnectedBrowser = !proc && browser.connected;\n\t}\n\tcatch {\n\t\tproc = null;\n\t\tisConnectedBrowser = false;\n\t}\n\n\ttry {\n\t\tif (isConnectedBrowser) {\n\t\t\tawait Promise.resolve(browser.disconnect());\n\t\t}\n\t\telse {\n\t\t\tawait withTimeout(browser.close(), 5000, 'browser.close');\n\t\t}\n\t}\n\tcatch (errClose) {\n\t\tconsole.error(new Date(), 'Puppeteer close failed, forcing kill', errClose && errClose.message ? errClose.message : errClose);\n\t}\n\tfinally {\n\t\tlet needsKill = proc && proc.exitCode === null && proc.signalCode === null;\n\n\t\tif (needsKill) {\n\t\t\ttry {\n\t\t\t\tproc.kill('SIGKILL');\n\t\t\t}\n\t\t\tcatch (errKill: any) {\n\t\t\t\tif (!errKill || errKill.code !== 'ESRCH') {\n\t\t\t\t\tconsole.error(new Date(), 'Failed to kill Puppeteer process', errKill);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nasync function launchPDFBrowser(headless: boolean, devtools: boolean) {\n\tlet browserUrl = getBrowserConnectUrl();\n\n\tif (browserUrl) {\n\t\treturn await puppeteer.connect({\n\t\t\tbrowserURL: browserUrl,\n\t\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS,\n\t\t\tdefaultViewport: null\n\t\t});\n\t}\n\n\tlet envExecutablePath = getEnvExecutablePath();\n\n\tif (!cachedExecutablePath) {\n\t\tcachedExecutablePath = envExecutablePath || puppeteer.executablePath();\n\t}\n\n\tlet launchOptions: puppeteer.LaunchOptions = {\n\t\theadless,\n\t\tdevtools,\n\t\targs: [...PUPPETEER_ARGS],\n\t\tignoreDefaultArgs: ['--disable-extensions'],\n\t\tenv: sanitizeLaunchEnv(),\n\t\ttimeout: PDF_LAUNCH_TIMEOUT_MS,\n\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS\n\t};\n\n\tif (cachedExecutablePath) {\n\t\tlaunchOptions.executablePath = cachedExecutablePath;\n\t}\n\n\ttry {\n\t\treturn await puppeteer.launch(launchOptions);\n\t}\n\tcatch (errLaunch) {\n\t\tif (!shouldRetryBrowserLaunch(errLaunch)) {\n\t\t\tthrow errLaunch;\n\t\t}\n\n\t\tlet fallbackExecutablePath = cachedTmpExecutablePath || prepareExecutableFallback(launchOptions.executablePath);\n\n\t\tlet retryOptions: puppeteer.LaunchOptions = applyLowResourceLaunchTweaks({\n\t\t\t...launchOptions,\n\t\t\texecutablePath: fallbackExecutablePath || launchOptions.executablePath\n\t\t});\n\n\t\tif (fallbackExecutablePath) {\n\t\t\tcachedExecutablePath = fallbackExecutablePath;\n\t\t}\n\n\t\tconsole.warn(new Date(), 'Retrying Puppeteer launch with low-resource args');\n\n\t\treturn await puppeteer.launch(retryOptions);\n\t}\n}\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tbypassSession: true,\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\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\n\t\t\t\t\tlet enableDebug = !!(enableDebugFlag && enableDebugFlag.value);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(!enableDebug, enableDebug), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\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\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\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\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\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\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\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\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\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\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\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\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\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t\t<body>\n\t\t\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\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDF timed out waiting for images', { fileName, attempt });\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\tthrow errImages;\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\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\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\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\n\t\t\t\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\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\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\tthrow errRead;\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('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDF after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDF overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(true, false), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\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\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\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\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\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\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\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\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\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\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\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\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\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\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\t<body>\n\t\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\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDFNoPageNumber timed out waiting for images', { fileName, attempt });\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\tthrow errImages;\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\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf'; \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\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\t\t\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\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\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDFNoPageNumber after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDFNoPageNumber overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\tlet resSigneds = null;\n\n\t\t\t\ttry {\n\t\t\t\t\tresSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\n\t\t\t\tif (!resSigneds || !resSigneds.length) {\n\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: PDF Merge - No signed urls');\n\t\t\t\t}\n\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < resSigneds.length; i++) {\n\t\t\t\t\tlet signedUrl = resSigneds[i];\n\t\t\t\t\tlet fileKey = fileKeys && fileKeys[i] ? fileKeys[i] : '';\n\n\t\t\t\t\tlet response = null;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = await axios.get(signedUrl, {\n\t\t\t\t\t\t\tresponseType: 'arraybuffer'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!response || response.status !== 200) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - status: ${response ? response.status : 'unknown'}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet contentTypeHeader = response.headers ? response.headers['content-type'] : '';\n\t\t\t\t\tlet contentType = (contentTypeHeader ? String(contentTypeHeader) : '').toLowerCase().split(';')[0].trim();\n\n\t\t\t\t\tlet responseData = response.data;\n\t\t\t\t\tlet fileDataBuffer = Buffer.isBuffer(responseData) ? responseData : Buffer.from(responseData);\n\n\t\t\t\t\tif (!fileDataBuffer) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - No file data returned (${fileKey || 'unknown key'})`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet fileKeyLower = fileKey ? fileKey.toLowerCase() : '';\n\t\t\t\t\tlet isPdf = contentType === 'application/pdf' || contentType === 'application/x-pdf' || fileKeyLower.endsWith('.pdf');\n\t\t\t\t\tlet isJpg = contentType === 'image/jpeg' || contentType === 'image/jpg' || fileKeyLower.endsWith('.jpg') || fileKeyLower.endsWith('.jpeg');\n\t\t\t\t\tlet isPng = contentType === 'image/png' || fileKeyLower.endsWith('.png');\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (isPdf) {\n\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileDataBuffer as any, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\tlet pageCount = pdf.getPageCount();\n\n\t\t\t\t\t\t\tfor (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, [pageIndex]);\n\t\t\t\t\t\t\t\tmergedPdf.addPage(copiedPages[0]);\n\n\t\t\t\t\t\t\t\tif (pageIndex > 0 && pageIndex % 25 === 0) {\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\t\tawait new Promise(resolve => setImmediate(resolve));\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 if (isJpg) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedJpg(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\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\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (isPng) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedPng(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\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\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\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 - unsupported!!', { fileKey, contentType });\n\t\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: Unsupported document type (${contentType || 'unknown content-type'})`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Error processing file (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t\tfinally {\n\t\t\t\t\t\tresponse = null;\n\t\t\t\t\t\tresponseData = null;\n\t\t\t\t\t\tfileDataBuffer = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\t\t\t\tlet mergedPDFBuffer = Buffer.from(mergedPDFUint8.buffer, mergedPDFUint8.byteOffset, mergedPDFUint8.byteLength);\n\n\t\t\t\treturn this.callMethod('uploadPDFBufferAndSave', fileName, mergedPDFBuffer, mergedPDFBuffer.byteLength, -1, fileType || 'pdf');\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t}\n\t});\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":[],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport * as os from 'os';\nimport * as path from 'path';\nimport axios from 'axios';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport SimpleSchema from 'simpl-schema';\nimport { Flags } from '../collections/flag.collection';\nimport { MethodManager } from '../managers/method.manager';\nimport { objectIdHexString } from '../util/common';\n\nconst PUPPETEER_ARGS = [\n\t'--disable-dev-shm-usage',\n\t'--no-sandbox',\n\t'--disable-setuid-sandbox',\n\t'--disable-accelerated-2d-canvas',\n\t'--disable-gpu',\n\t'--allow-file-access-from-files',\n\t'--enable-local-file-accesses',\n\t'--font-render-hinting=none',\n\t'--disable-breakpad',\n\t'--no-zygote'\n];\n\nconst LOW_RESOURCE_PUPPETEER_ARGS = [\n\t'--single-process',\n\t'--renderer-process-limit=1',\n\t'--disable-extensions',\n\t'--disable-features=AudioServiceOutOfProcess'\n];\n\nlet cachedExecutablePath: string = null;\nlet cachedTmpExecutablePath: string = null;\n\nfunction getBrowserConnectUrl() {\n\tlet browserUrl = process.env.PUPPETEER_BROWSER_URL || process.env.PDF_PUPPETEER_BROWSER_URL || process.env.BROWSER_WS_URL;\n\n\tif (!browserUrl || typeof browserUrl !== 'string') {\n\t\treturn null;\n\t}\n\n\treturn browserUrl.trim() || null;\n}\n\nfunction envMs(name: string, fallback: number) {\n\tlet raw = process.env[name];\n\tif (!raw) {\n\t\treturn fallback;\n\t}\n\n\tlet parsed = parseInt(raw, 10);\n\tif (!Number.isFinite(parsed) || parsed <= 0) {\n\t\treturn fallback;\n\t}\n\n\treturn parsed;\n}\n\nconst PDF_LAUNCH_TIMEOUT_MS = envMs('PDF_LAUNCH_TIMEOUT_MS', 60000);\nconst PDF_CONTENT_TIMEOUT_MS = envMs('PDF_CONTENT_TIMEOUT_MS', 60000);\nconst PDF_FONTS_TIMEOUT_MS = envMs('PDF_FONTS_TIMEOUT_MS', 30000);\nconst PDF_IMAGES_TIMEOUT_MS = envMs('PDF_IMAGES_TIMEOUT_MS', 15000);\nconst PDF_RENDER_TIMEOUT_MS = envMs('PDF_RENDER_TIMEOUT_MS', 120000);\nconst PDF_PROTOCOL_TIMEOUT_MS = envMs('PDF_PROTOCOL_TIMEOUT_MS', 120000);\nconst PDF_OVERALL_TIMEOUT_MS = envMs('PDF_OVERALL_TIMEOUT_MS', 240000);\n\nclass PdfTimeoutError extends Error {\n\tstep: string;\n\ttimeoutMs: number;\n\n\tconstructor(step: string, timeoutMs: number) {\n\t\tsuper(`PDF step timed out after ${timeoutMs}ms: ${step}`);\n\t\tthis.name = 'PdfTimeoutError';\n\t\tthis.step = step;\n\t\tthis.timeoutMs = timeoutMs;\n\t}\n}\n\nfunction withTimeout<T>(promise: Promise<T>, timeoutMs: number, step: string): Promise<T> {\n\tif (!timeoutMs || timeoutMs <= 0) {\n\t\treturn promise;\n\t}\n\n\tlet timeoutHandle: NodeJS.Timeout = null;\n\n\t// eslint-disable-next-line no-restricted-syntax\n\treturn new Promise<T>((resolve, reject) => {\n\t\ttimeoutHandle = setTimeout(() => {\n\t\t\treject(new PdfTimeoutError(step, timeoutMs));\n\t\t}, timeoutMs);\n\n\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\tpromise.then(resolve, reject).finally(() => {\n\t\t\tif (timeoutHandle) {\n\t\t\t\tclearTimeout(timeoutHandle);\n\t\t\t}\n\t\t});\n\t});\n}\n\nfunction getEnvExecutablePath() {\n\tlet envExecutablePath = process.env.PUPPETEER_EXECUTABLE_PATH || process.env.CHROME_EXECUTABLE_PATH || process.env.CHROME_PATH;\n\n\tif (envExecutablePath && fs.existsSync(envExecutablePath)) {\n\t\treturn envExecutablePath;\n\t}\n\n\treturn null;\n}\n\nfunction shouldRetryBrowserLaunch(err: any) {\n\tif (!err) {\n\t\treturn false;\n\t}\n\n\tlet message = err.message || '';\n\tlet stderr = err.stderr ? err.stderr.toString() : '';\n\n\treturn message.includes('chrome_crashpad_handler') || message.includes('Operation not permitted') || message.includes('Resource temporarily unavailable') || stderr.includes('pthread_create') || stderr.includes('Resource temporarily unavailable') || stderr.includes('Failed to connect to the bus');\n}\n\nfunction prepareExecutableFallback(executablePath?: string) {\n\ttry {\n\t\tlet currentExecutablePath = executablePath || cachedExecutablePath || puppeteer.executablePath();\n\n\t\tif (!currentExecutablePath) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Avoid copying if we're already running from a tmp dir.\n\t\tif (currentExecutablePath.startsWith(os.tmpdir())) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Retry from a tmp location when the packaged Chromium cannot be executed (e.g. noexec home dirs).\n\t\tlet chromiumDir = path.dirname(currentExecutablePath);\n\t\tlet tmpRoot = path.join(os.tmpdir(), 'puppeteer-chromium');\n\t\tlet tmpChromiumDir = path.join(tmpRoot, path.basename(chromiumDir));\n\t\tlet tmpExecutablePath = path.join(tmpChromiumDir, path.basename(currentExecutablePath));\n\n\t\tif (!fs.existsSync(tmpExecutablePath)) {\n\t\t\tfs.mkdirSync(tmpChromiumDir, { recursive: true });\n\t\t\tfs.cpSync(chromiumDir, tmpChromiumDir, { recursive: true, force: true });\n\t\t}\n\n\t\tcachedTmpExecutablePath = tmpExecutablePath;\n\t\treturn tmpExecutablePath;\n\t}\n\tcatch (errCopy) {\n\t\tconsole.error(new Date(), 'Failed to prepare Chromium fallback', errCopy);\n\t\treturn null;\n\t}\n}\n\nfunction sanitizeLaunchEnv(env?: NodeJS.ProcessEnv) {\n\tlet launchEnv: NodeJS.ProcessEnv = { ...process.env, ...env };\n\n\tif (launchEnv.DBUS_SESSION_BUS_ADDRESS && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('unix:') && !launchEnv.DBUS_SESSION_BUS_ADDRESS.startsWith('tcp:')) {\n\t\tdelete launchEnv.DBUS_SESSION_BUS_ADDRESS;\n\t}\n\n\treturn launchEnv;\n}\n\nfunction applyLowResourceLaunchTweaks(options: puppeteer.LaunchOptions): puppeteer.LaunchOptions {\n\tlet mergedArgs = [...(options.args || [])];\n\n\tLOW_RESOURCE_PUPPETEER_ARGS.forEach((arg) => {\n\t\tif (!mergedArgs.includes(arg)) {\n\t\t\tmergedArgs.push(arg);\n\t\t}\n\t});\n\n\treturn {\n\t\t...options,\n\t\targs: mergedArgs,\n\t\tignoreDefaultArgs: undefined,\n\t\tenv: sanitizeLaunchEnv(options.env)\n\t};\n}\n\nasync function safeCloseBrowser(browser: puppeteer.Browser) {\n\tif (!browser) {\n\t\treturn;\n\t}\n\n\tlet proc: any = null;\n\tlet isConnectedBrowser = false;\n\n\ttry {\n\t\tproc = typeof browser.process === 'function' ? browser.process() : null;\n\t\tisConnectedBrowser = !proc && browser.connected;\n\t}\n\tcatch {\n\t\tproc = null;\n\t\tisConnectedBrowser = false;\n\t}\n\n\ttry {\n\t\tif (isConnectedBrowser) {\n\t\t\tawait Promise.resolve(browser.disconnect());\n\t\t}\n\t\telse {\n\t\t\tawait withTimeout(browser.close(), 5000, 'browser.close');\n\t\t}\n\t}\n\tcatch (errClose) {\n\t\tconsole.error(new Date(), 'Puppeteer close failed, forcing kill', errClose && errClose.message ? errClose.message : errClose);\n\t}\n\tfinally {\n\t\tlet needsKill = proc && proc.exitCode === null && proc.signalCode === null;\n\n\t\tif (needsKill) {\n\t\t\ttry {\n\t\t\t\tproc.kill('SIGKILL');\n\t\t\t}\n\t\t\tcatch (errKill: any) {\n\t\t\t\tif (!errKill || errKill.code !== 'ESRCH') {\n\t\t\t\t\tconsole.error(new Date(), 'Failed to kill Puppeteer process', errKill);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nasync function launchPDFBrowser(headless: boolean, devtools: boolean) {\n\tlet browserUrl = getBrowserConnectUrl();\n\n\tif (browserUrl) {\n\t\treturn await puppeteer.connect({\n\t\t\tbrowserURL: browserUrl,\n\t\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS,\n\t\t\tdefaultViewport: null\n\t\t});\n\t}\n\n\tlet envExecutablePath = getEnvExecutablePath();\n\n\tif (!cachedExecutablePath) {\n\t\tcachedExecutablePath = envExecutablePath || puppeteer.executablePath();\n\t}\n\n\tlet launchOptions: puppeteer.LaunchOptions = {\n\t\theadless,\n\t\tdevtools,\n\t\targs: [...PUPPETEER_ARGS],\n\t\tignoreDefaultArgs: ['--disable-extensions'],\n\t\tenv: sanitizeLaunchEnv(),\n\t\ttimeout: PDF_LAUNCH_TIMEOUT_MS,\n\t\tprotocolTimeout: PDF_PROTOCOL_TIMEOUT_MS\n\t};\n\n\tif (cachedExecutablePath) {\n\t\tlaunchOptions.executablePath = cachedExecutablePath;\n\t}\n\n\ttry {\n\t\treturn await puppeteer.launch(launchOptions);\n\t}\n\tcatch (errLaunch) {\n\t\tif (!shouldRetryBrowserLaunch(errLaunch)) {\n\t\t\tthrow errLaunch;\n\t\t}\n\n\t\tlet fallbackExecutablePath = cachedTmpExecutablePath || prepareExecutableFallback(launchOptions.executablePath);\n\n\t\tlet retryOptions: puppeteer.LaunchOptions = applyLowResourceLaunchTweaks({\n\t\t\t...launchOptions,\n\t\t\texecutablePath: fallbackExecutablePath || launchOptions.executablePath\n\t\t});\n\n\t\tif (fallbackExecutablePath) {\n\t\t\tcachedExecutablePath = fallbackExecutablePath;\n\t\t}\n\n\t\tconsole.warn(new Date(), 'Retrying Puppeteer launch with low-resource args');\n\n\t\treturn await puppeteer.launch(retryOptions);\n\t}\n}\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tbypassSession: true,\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\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tlet enableDebugFlag = await Flags.findOne({type: 'Enable Debug PDF'});\n\n\t\t\t\t\tlet enableDebug = !!(enableDebugFlag && enableDebugFlag.value);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(!enableDebug, enableDebug), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\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\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\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\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\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\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\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\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\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\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\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\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\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t\t</head>\n\t\t\t\t\t\t\t\t<body>\n\t\t\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\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDF timed out waiting for images', { fileName, attempt });\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\tthrow errImages;\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\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf';\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\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\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\n\t\t\t\t\t\t\tif (enableDebugFlag && enableDebugFlag.value) {\n\t\t\t\t\t\t\t\t// Set viewport dimensions based on orientation\n\t\t\t\t\t\t\t\tif (orientation === 'landscape') {\n\t\t\t\t\t\t\t\t\tawait page.setViewport({ width: 1100, height: 850 });\n\t\t\t\t\t\t\t} \n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tawait page.setViewport({ width: 850, height: 1100 });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\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\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\tthrow errRead;\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('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF: No tmp file');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDF after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDF failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDF overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst maxAttempts = 2;\n\t\t\t\t\tlet lastError: any = null;\n\n\t\t\t\t\tfor (let attempt = 1; attempt <= maxAttempts; attempt++) {\n\t\t\t\t\t\tlet browser: puppeteer.Browser = null;\n\t\t\t\t\t\tlet page: puppeteer.Page = null;\n\t\t\t\t\t\tlet overallTimedOut = false;\n\t\t\t\t\t\tlet overallTimeoutHandle: NodeJS.Timeout = null;\n\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tbrowser = await withTimeout(launchPDFBrowser(true, false), PDF_LAUNCH_TIMEOUT_MS, 'launchPDFBrowser');\n\n\t\t\t\t\t\t\toverallTimeoutHandle = setTimeout(() => {\n\t\t\t\t\t\t\t\toverallTimedOut = true;\n\t\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber overall timeout hit', { fileName, attempt });\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax, promise/prefer-await-to-then\n\t\t\t\t\t\t\t\tsafeCloseBrowser(browser).catch(() => {});\n\t\t\t\t\t\t\t}, PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tpage = await browser.newPage(); // create new tab\n\t\t\t\t\t\t\tpage.setDefaultTimeout(PDF_CONTENT_TIMEOUT_MS);\n\n\t\t\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\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\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\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\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\t\tlet content = `\n\t\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\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\tbody {\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\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\t.box {\n\t\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\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\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\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\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\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\t<body>\n\t\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\t\t\tawait withTimeout(page.setContent(content, { waitUntil: ['domcontentloaded'], timeout: PDF_CONTENT_TIMEOUT_MS }), PDF_CONTENT_TIMEOUT_MS, 'page.setContent');\n\t\t\t\t\t\t\tawait withTimeout(page.evaluateHandle('document.fonts.ready'), PDF_FONTS_TIMEOUT_MS, 'document.fonts.ready');\n\n\t\t\t\t\t\t\tif (PDF_IMAGES_TIMEOUT_MS > 0) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tawait withTimeout(\n\t\t\t\t\t\t\t\t\t\tpage.waitForFunction(() => Array.from(document.images).every((img: any) => img.complete), { timeout: 0 }),\n\t\t\t\t\t\t\t\t\t\tPDF_IMAGES_TIMEOUT_MS,\n\t\t\t\t\t\t\t\t\t\t'waitForImages'\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errImages) {\n\t\t\t\t\t\t\t\t\tif (errImages instanceof PdfTimeoutError) {\n\t\t\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'generatePDFNoPageNumber timed out waiting for images', { fileName, attempt });\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\tthrow errImages;\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\t\n\t\t\t\t\t\t\tlet tmpFileName = objectIdHexString() + '.pdf'; \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tawait withTimeout(page.pdf({\n\t\t\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</style>\n\t\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\t\t\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\t\t\ttimeout: PDF_RENDER_TIMEOUT_MS\n\t\t\t\t\t\t\t}), PDF_RENDER_TIMEOUT_MS, 'page.pdf');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tlet data = fs.readFileSync(path.join(__dirname, (tmpFileName)))\n\t\t\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\t\treturn 'data:application/pdf;base64,' + data.toString('base64');\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\tlet fileData = 'data:application/pdf;base64,' + data.toString('base64');\n\t\t\t\t\t\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (errRead) {\n\t\t\t\t\t\t\t\t\terrRead.message = 'Error in Generate PDF No Page Number: No file - ' + errRead.message;\n\t\t\t\t\t\t\t\t\tthrow errRead;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t\t\t\tthrow new Error('Error in Generate PDF No Page Number: No tmp file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\t\tlastError = err;\n\n\t\t\t\t\t\t\tif (browser) {\n\t\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (attempt < maxAttempts) {\n\t\t\t\t\t\t\t\tconsole.warn(new Date(), 'Retry generatePDFNoPageNumber after error', {\n\t\t\t\t\t\t\t\t\tattempt,\n\t\t\t\t\t\t\t\t\tmessage: err && err.message ? err.message : err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconsole.error(new Date(), 'generatePDFNoPageNumber failed', { fileName, attempt, message: err && err.message ? err.message : err });\n\t\t\t\t\t\t\tthrow err;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfinally {\n\t\t\t\t\t\t\tif (overallTimeoutHandle) {\n\t\t\t\t\t\t\t\tclearTimeout(overallTimeoutHandle);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (page) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\tawait page.close().catch(() => {});\n\t\t\t\t\t\t\t\tpage = null;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tawait safeCloseBrowser(browser);\n\t\t\t\t\t\t\tbrowser = null;\n\n\t\t\t\t\t\t\tif (overallTimedOut) {\n\t\t\t\t\t\t\t\tthrow new PdfTimeoutError('generatePDFNoPageNumber overall', PDF_OVERALL_TIMEOUT_MS);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthrow lastError;\n\t\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\tlet resSigneds = null;\n\n\t\t\t\ttry {\n\t\t\t\t\tresSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = 'Error in Merge PDF Resolve: PDF Merge - Get Signed URLs - ' + err.message;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\n\t\t\t\tif (!resSigneds || !resSigneds.length) {\n\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve: PDF Merge - No signed urls');\n\t\t\t\t}\n\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < resSigneds.length; i++) {\n\t\t\t\t\tlet signedUrl = resSigneds[i];\n\t\t\t\t\tlet fileKey = fileKeys && fileKeys[i] ? fileKeys[i] : '';\n\n\t\t\t\t\tlet response = null;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresponse = await axios.get(signedUrl, {\n\t\t\t\t\t\t\tresponseType: 'arraybuffer'\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!response || response.status !== 200) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - Download failed (${fileKey || 'unknown key'}) - status: ${response ? response.status : 'unknown'}`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet contentTypeHeader = response.headers ? response.headers['content-type'] : '';\n\t\t\t\t\tlet contentType = (contentTypeHeader ? String(contentTypeHeader) : '').toLowerCase().split(';')[0].trim();\n\n\t\t\t\t\tlet responseData = response.data;\n\t\t\t\t\tlet fileDataBuffer = Buffer.isBuffer(responseData) ? responseData : Buffer.from(responseData);\n\n\t\t\t\t\tif (!fileDataBuffer) {\n\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: PDF Merge - No file data returned (${fileKey || 'unknown key'})`);\n\t\t\t\t\t}\n\n\t\t\t\t\tlet fileKeyLower = fileKey ? fileKey.toLowerCase() : '';\n\t\t\t\t\tlet isPdf = contentType === 'application/pdf' || contentType === 'application/x-pdf' || fileKeyLower.endsWith('.pdf');\n\t\t\t\t\tlet isJpg = contentType === 'image/jpeg' || contentType === 'image/jpg' || fileKeyLower.endsWith('.jpg') || fileKeyLower.endsWith('.jpeg');\n\t\t\t\t\tlet isPng = contentType === 'image/png' || fileKeyLower.endsWith('.png');\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (isPdf) {\n\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileDataBuffer as any, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\tlet pageCount = pdf.getPageCount();\n\n\t\t\t\t\t\t\tfor (let pageIndex = 0; pageIndex < pageCount; pageIndex++) {\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, [pageIndex]);\n\t\t\t\t\t\t\t\tmergedPdf.addPage(copiedPages[0]);\n\n\t\t\t\t\t\t\t\tif (pageIndex > 0 && pageIndex % 25 === 0) {\n\t\t\t\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\t\t\t\tawait new Promise(resolve => setImmediate(resolve));\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 if (isJpg) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedJpg(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\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\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if (isPng) {\n\t\t\t\t\t\t\tconst img = await mergedPdf.embedPng(fileDataBuffer as any);\n\t\t\t\t\t\t\tconst page = mergedPdf.addPage();\n\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\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\theight: imgDim.height,\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 - unsupported!!', { fileKey, contentType });\n\t\t\t\t\t\t\tthrow new Error(`Error in Merge PDF Resolve: Unsupported document type (${contentType || 'unknown content-type'})`);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcatch (err) {\n\t\t\t\t\t\terr.message = `Error in Merge PDF Resolve: PDF Merge - Error processing file (${fileKey || 'unknown key'}) - ${err.message}`;\n\t\t\t\t\t\tthrow err;\n\t\t\t\t\t}\n\t\t\t\t\tfinally {\n\t\t\t\t\t\tresponse = null;\n\t\t\t\t\t\tresponseData = null;\n\t\t\t\t\t\tfileDataBuffer = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\t\t\t\tlet mergedPDFBuffer = Buffer.from(mergedPDFUint8.buffer, mergedPDFUint8.byteOffset, mergedPDFUint8.byteLength);\n\n\t\t\t\treturn this.callMethod('uploadPDFBufferAndSave', fileName, mergedPDFBuffer, mergedPDFBuffer.byteLength, -1, fileType || 'pdf');\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\t\t\n\t\tmergePDFResolveNoSave: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(fileKeys: string[]) {\n\t\t\t\ttry {\n\t\t\t\t\tlet resSigneds = await this.callMethod('getSignedUrls', fileKeys, 900);\n\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\tlet promises: any[] = [];\n\n\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\tpromises.push(this.callMethod('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\t\t\tlet fileDatas = await Promise.all(promises);\n\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn b64PDF;\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve No Save: No signed urls');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcatch (err) {\n\t\t\t\t\terr.message = `Error in Merge PDF Resolve: ${err.message}`;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tbypassSession: true,\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: async function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: Unsupported file - ' + fileData.slice(0, 60));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcatch (error) {\n\t\t\t\t\t\t\tconsole.log('Error processing fileData:', fileData.slice(0, 60), error);\n\t\t\t\t\t\t\terror.message = `Error in Merge PDF Resolve HTML: Error processing filedata - ${error.message}`;\n\t\t\t\t\t\t\tthrow error;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\tthrow new Error('Error in Merge PDF Resolve HTML: No File data');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\tif (save) {\n\t\t\t\t\treturn this.callMethod('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn b64PDF;\n\t\t\t\t}\n\t\t\t},\n\t\t\tworkerTaskWeight: 2,\n\t\t\tmaxConcurrency: 1,\n\t\t\ttimeoutOverride: 300000\n\t\t}\n\t});\n}\n"]}
|