@resolveio/server-lib 12.7.5 → 12.7.7
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 +5 -5
- package/http/auth.js.map +1 -1
- package/methods/pdf.js +4 -16
- package/methods/pdf.js.map +1 -1
- package/package.json +1 -1
package/http/auth.js
CHANGED
|
@@ -87,7 +87,7 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
|
|
|
87
87
|
case 2:
|
|
88
88
|
user = _a.sent();
|
|
89
89
|
if (!!user) return [3 /*break*/, 5];
|
|
90
|
-
return [4 /*yield*/, user_collection_1.Users.findOne({ email: decodedJWT['preferred_username'] })];
|
|
90
|
+
return [4 /*yield*/, user_collection_1.Users.findOne({ email: decodedJWT['preferred_username'].toLowerCase() })];
|
|
91
91
|
case 3:
|
|
92
92
|
user = _a.sent();
|
|
93
93
|
if (!user) return [3 /*break*/, 5];
|
|
@@ -107,8 +107,8 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
|
|
|
107
107
|
notifications: [],
|
|
108
108
|
miscs: []
|
|
109
109
|
},
|
|
110
|
-
username: decodedJWT['preferred_username'],
|
|
111
|
-
email: decodedJWT['preferred_username'],
|
|
110
|
+
username: decodedJWT['preferred_username'].toLowerCase(),
|
|
111
|
+
email: decodedJWT['preferred_username'].toLowerCase(),
|
|
112
112
|
fullname: decodedJWT['name'],
|
|
113
113
|
active: true,
|
|
114
114
|
phonenumber: '',
|
|
@@ -133,8 +133,8 @@ function setupAuthRoutes(mainServer, app, serverConfig) {
|
|
|
133
133
|
return [3 /*break*/, 9];
|
|
134
134
|
case 7:
|
|
135
135
|
update = false;
|
|
136
|
-
if (user.email !== decodedJWT['preferred_username']) {
|
|
137
|
-
user.email = decodedJWT['preferred_username'];
|
|
136
|
+
if (user.email !== decodedJWT['preferred_username'].toLowerCase()) {
|
|
137
|
+
user.email = decodedJWT['preferred_username'].toLowerCase();
|
|
138
138
|
update = true;
|
|
139
139
|
}
|
|
140
140
|
if (user.fullname !== decodedJWT['name']) {
|
package/http/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/http/auth.ts"],"names":[],"mappings":"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","file":"auth.js","sourcesContent":["import { Users } from '../collections/user.collection';\nimport * as jwt from 'jsonwebtoken';\nimport * as handlebars from 'handlebars';\nimport ResolveIOMainServer from '../server-app';\nimport { ResolveIOServer } from '..';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { UserModel } from '../models/user.model';\nimport SimpleSchema from 'simpl-schema';\nimport * as bodyParser from 'body-parser';\nimport jwt_decode from 'jwt-decode';\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\tapp.post('/login365', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tid_token: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/login365' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet tokenData = body.id_token.split('&');\n\t\t\tlet token = tokenData[0].split('=')[1];\n\t\t\tlet decodedJWT = jwt_decode(token);\n\n\t\t\tif (decodedJWT && decodedJWT['name'] && decodedJWT['preferred_username'] && decodedJWT['oid']) {\n\t\t\t\tlet user = await Users.findOne({'other.ms_oid': decodedJWT['oid']});\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = await Users.findOne({email: decodedJWT['preferred_username']});\n\n\t\t\t\t\tif (user) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {'other.ms_oid': decodedJWT['oid']}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = {\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\troles: {\n\t\t\t\t\t\t\tsuper_admin: false,\n\t\t\t\t\t\t\tapprovals: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\tnotifications: [],\n\t\t\t\t\t\t\tmiscs: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tusername: decodedJWT['preferred_username'],\n\t\t\t\t\t\temail: decodedJWT['preferred_username'],\n\t\t\t\t\t\tfullname: decodedJWT['name'],\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\tphonenumber: '',\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tother: {\n\t\t\t\t\t\t\tms_oid: decodedJWT['oid']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tattempts: 0,\n\t\t\t\t\t\tsalt: jwt.sign({now: (Date.now() - 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\thash: jwt.sign({now: (Date.now() + 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tlast: new Date(),\n\t\t\t\t\t\tsettings: null,\n\t\t\t\t\t\tservices: null\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\tawait Users.create(user);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet update = false;\n\n\t\t\t\t\tif (user.email !== decodedJWT['preferred_username']) {\n\t\t\t\t\t\tuser.email = decodedJWT['preferred_username'];\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (user.fullname !== decodedJWT['name']) {\n\t\t\t\t\t\tuser.fullname = decodedJWT['name'];\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (update) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {email: user.email, fullname: user.fullname}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: false,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log('ERROR - 1', tokenData, token, decodedJWT);\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Azure Token'\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t});\n\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/login' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (!user) {\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Username And Password'\n\t\t\t\t}));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet resAuth = await Users.authenticate(user, body.password);\n\n\t\t\tif (resAuth['error']) {\n\t\t\t\tif (resAuth['error'] === 'Too Many Attempts') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error'] + '. A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).then(resUp => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t}, errUp => {});\n\t\t\t\t}\n\t\t\t\telse if (resAuth['error'] === 'No Salt Value Stored') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).then(resUp => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t}, err => {});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error']\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (resAuth && resAuth['data'] && resAuth['data'].active) {\n\t\t\t\t\tawait Users.resetAttempts(resAuth['data']);\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: false,\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth['data']._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} \n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', bodyParser.json(), async function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/accessToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/accessToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findById(decoded['id_user']).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}}).then((user) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithEnrollmentToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\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\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithForgotPasswordToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}}).then((user) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithForgotPasswordToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\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\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/resetPassword', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/resetPassword)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/resetPassword' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tmainServer.getMethodManager().callMethodInternal.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);\n\t\t\t}\n\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: false,\n\t\t\t\tresult: ''\n\t\t\t}));\n\t\t}\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/http/auth.ts"],"names":[],"mappings":"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","file":"auth.js","sourcesContent":["import { Users } from '../collections/user.collection';\nimport * as jwt from 'jsonwebtoken';\nimport * as handlebars from 'handlebars';\nimport ResolveIOMainServer from '../server-app';\nimport { ResolveIOServer } from '..';\nimport { objectIdHexString } from '../managers/mongo.manager';\nimport { UserModel } from '../models/user.model';\nimport SimpleSchema from 'simpl-schema';\nimport * as bodyParser from 'body-parser';\nimport jwt_decode from 'jwt-decode';\n\nexport function setupAuthRoutes(mainServer: ResolveIOMainServer, app, serverConfig) {\n\tapp.post('/login365', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tid_token: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/login365' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet tokenData = body.id_token.split('&');\n\t\t\tlet token = tokenData[0].split('=')[1];\n\t\t\tlet decodedJWT = jwt_decode(token);\n\n\t\t\tif (decodedJWT && decodedJWT['name'] && decodedJWT['preferred_username'] && decodedJWT['oid']) {\n\t\t\t\tlet user = await Users.findOne({'other.ms_oid': decodedJWT['oid']});\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = await Users.findOne({email: decodedJWT['preferred_username'].toLowerCase()});\n\n\t\t\t\t\tif (user) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {'other.ms_oid': decodedJWT['oid']}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (!user) {\n\t\t\t\t\tuser = {\n\t\t\t\t\t\t_id: objectIdHexString(),\n\t\t\t\t\t\t__v: 0,\n\t\t\t\t\t\troles: {\n\t\t\t\t\t\t\tsuper_admin: false,\n\t\t\t\t\t\t\tapprovals: [],\n\t\t\t\t\t\t\tgroups: [],\n\t\t\t\t\t\t\tnotifications: [],\n\t\t\t\t\t\t\tmiscs: []\n\t\t\t\t\t\t},\n\t\t\t\t\t\tusername: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\temail: decodedJWT['preferred_username'].toLowerCase(),\n\t\t\t\t\t\tfullname: decodedJWT['name'],\n\t\t\t\t\t\tactive: true,\n\t\t\t\t\t\tphonenumber: '',\n\t\t\t\t\t\treadonly: false,\n\t\t\t\t\t\tother: {\n\t\t\t\t\t\t\tms_oid: decodedJWT['oid']\n\t\t\t\t\t\t},\n\t\t\t\t\t\tattempts: 0,\n\t\t\t\t\t\tsalt: jwt.sign({now: (Date.now() - 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\thash: jwt.sign({now: (Date.now() + 1000).toString()}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tlast: new Date(),\n\t\t\t\t\t\tsettings: null,\n\t\t\t\t\t\tservices: null\n\t\t\t\t\t};\n\t\t\t\t\t\n\t\t\t\t\tawait Users.create(user);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tlet update = false;\n\n\t\t\t\t\tif (user.email !== decodedJWT['preferred_username'].toLowerCase()) {\n\t\t\t\t\t\tuser.email = decodedJWT['preferred_username'].toLowerCase();\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (user.fullname !== decodedJWT['name']) {\n\t\t\t\t\t\tuser.fullname = decodedJWT['name'];\n\t\t\t\t\t\tupdate = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (update) {\n\t\t\t\t\t\tawait Users.updateOne({_id: user._id}, {$set: {email: user.email, fullname: user.fullname}});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: false,\n\t\t\t\t\tresult: {\n\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tconsole.log('ERROR - 1', tokenData, token, decodedJWT);\n\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Azure Token'\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t});\n\n\t// Login via HTTP, return refresh token if authenticated\n\tapp.post('/login', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/login)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/login' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (!user) {\n\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\terror: true,\n\t\t\t\t\tresult: 'Invalid Username And Password'\n\t\t\t\t}));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet resAuth = await Users.authenticate(user, body.password);\n\n\t\t\tif (resAuth['error']) {\n\t\t\t\tif (resAuth['error'] === 'Too Many Attempts') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error'] + '. A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).then(resUp => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t}, errUp => {});\n\t\t\t\t}\n\t\t\t\telse if (resAuth['error'] === 'No Salt Value Stored') {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'A password reset link has been sent to your email, please reset your password.'\n\t\t\t\t\t}));\n\n\t\t\t\t\tif (!user.services) {\n\t\t\t\t\t\tuser.services = {};\n\t\t\t\t\t}\n\n\t\t\t\t\tuser.services['forgot_password'] = jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET']);\n\n\t\t\t\t\tlet emailData = {\n\t\t\t\t\t\tuserToChangePassword: user.fullname,\n\t\t\t\t\t\tuserWhoResetPassword: ResolveIOServer.getClientName() + ' System',\n\t\t\t\t\t\turl: (serverConfig['ROOT_URL'] + '/forgot-password?' + encodeURIComponent(serverConfig['SERVER_URL']) + '&' + user.services['forgot_password'])\n\t\t\t\t\t};\n\n\t\t\t\t\tUsers.updateOne({_id: user._id}, {$set: {services: user.services}}).then(resUp => {\n\t\t\t\t\t\tmainServer.getMethodManager().readFile('email-templates/forgot-password.html').then(html => {\n\t\t\t\t\t\t\tlet template = handlebars.compile(html);\n\t\t\t\t\t\t\thandlebars.registerHelper('equals', (a, b) => {\n\t\t\t\t\t\t\t\treturn a === b;\n\t\t\t\t\t\t\t});\n\t\t\n\t\t\t\t\t\t\tmainServer.getMethodManager().sendEmail(user.email, 'ResolveIO (' + ResolveIOServer.getClientName() + ') - Forgot Password', '', template(emailData), null, null, '');\n\t\t\t\t\t\t}, errEmail => console.log(errEmail));\n\t\t\t\t\t}, err => {});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: resAuth['error']\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif (resAuth && resAuth['data'] && resAuth['data'].active) {\n\t\t\t\t\tawait Users.resetAttempts(resAuth['data']);\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: false,\n\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\ttoken: jwt.sign({id_user: resAuth['data']._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\texpiresIn : 90 * 24 * 60 * 60 * 1000 // 90 days\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} \n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tapp.post('/accessToken', bodyParser.json(), async function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\trefreshToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/accessToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/accessToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.refreshToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findById(decoded['id_user']).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\ttoken: jwt.sign({id_user: user._id}, serverConfig['JWT_SECRET'], {\n\t\t\t\t\t\t\t\t\t\t\texpiresIn : 3 * 24 * 60 * 60 * 1000 // 3 days\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithEnrollmentToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}}).then((user) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithEnrollmentToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tenrollmentToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithEnrollmentToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithEnrollmentToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.enrollmentToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.enrollment': body.enrollmentToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\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\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/userWithForgotPasswordToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/userWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/userWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}, {projection: {_id: 1, __v: 1, username: 1, active: 1}}).then((user) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: {\n\t\t\t\t\t\t\t\t\t\tuser: user\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/setUserWithForgotPasswordToken', bodyParser.json(), function (request, response) {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_URL'] && request.headers.origin !== serverConfig['RESOLVEIO_SECONDARY_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tforgotPasswordToken: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tpassword: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/setUserWithForgotPasswordToken)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/setUserWithForgotPasswordToken' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tjwt.verify(body.forgotPasswordToken, serverConfig['JWT_SECRET'], async (err, decoded) => {\n\t\t\t\tif (err) {\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Token'\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tUsers.findOne({\n\t\t\t\t\t\t$and: [\n\t\t\t\t\t\t\t{_id: decoded['id_user']},\n\t\t\t\t\t\t\t{'services.forgot_password': body.forgotPasswordToken}\n\t\t\t\t\t\t]\n\t\t\t\t\t}).then(async (user: UserModel) => {\n\t\t\t\t\t\tif (user) {\n\t\t\t\t\t\t\tif (user.active) {\n\t\t\t\t\t\t\t\tawait Users.setPassword(user, body.password);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: false,\n\t\t\t\t\t\t\t\t\tresult: true\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\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\t\tresult: 'Account is Disabled'\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\t\tresult: 'Invalid User'\n\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t}\n\t\t\t\t\t}, error => {\n\t\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tresult: 'Invalid Mongo Get User'\n\t\t\t\t\t\t}));\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t});\n\n\tapp.post('/resetPassword', bodyParser.json(), async (request, response) => {\n\t\tif (request.headers.origin !== serverConfig['ROOT_URL'] && request.headers.origin !== serverConfig['SEC_ROOT_URL']) {\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: true,\n\t\t\t\tresult: 'Invalid header'\n\t\t\t}));\n\t\t}\n\t\telse {\n\t\t\tlet body = request.body;\n\n\t\t\tlet schema = new SimpleSchema({\n\t\t\t\tusername: {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t});\n\t\n\t\t\ttry {\n\t\t\t\tschema.validate(body);\n\t\t\t}\n\t\t\tcatch (errors) {\n\t\t\t\tif (errors) {\n\t\t\t\t\tconsole.error(new Date(), 'Error in HTTP Check (/resetPassword)', errors);\n\t\n\t\t\t\t\tResolveIOServer.getMainServer().getMethodManager().sendEmail('dev@resolveio.com', ResolveIOServer.getClientName() + 'HTTP - Error Detected', 'Match Error On HTTP ' + '/resetPassword' + '\\n\\nData Being Checked\\n' + JSON.stringify(body, null, 2) + '\\n\\nErrors\\n' + JSON.stringify(errors, null, 2));\n\t\n\t\t\t\t\tresponse.send(JSON.stringify({\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\tresult: 'Invalid Parameters'\n\t\t\t\t\t}));\n\t\t\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet user = await Users.findOne({username: body.username});\n\n\t\t\tif (!user) {\n\t\t\t\tuser = await Users.findOne({email: body.username});\n\t\t\t}\n\t\t\t\n\t\t\tif (user) {\n\t\t\t\tmainServer.getMethodManager().callMethodInternal.call(mainServer.getMethodManager(), 'resetUserPassword', user._id);\n\t\t\t}\n\n\t\t\tresponse.send(JSON.stringify({\n\t\t\t\terror: false,\n\t\t\t\tresult: ''\n\t\t\t}));\n\t\t}\n\t});\n}"]}
|
package/methods/pdf.js
CHANGED
|
@@ -82,7 +82,7 @@ function loadPDFMethods(methodManager) {
|
|
|
82
82
|
if (uploadFileOrder === void 0) { uploadFileOrder = -1; }
|
|
83
83
|
if (uploadFileType === void 0) { uploadFileType = ''; }
|
|
84
84
|
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
85
|
-
var args, browser, page, pathToFont, dejavuserif_woff, dejavuserifBold_woff, dejavuserifItalic_woff, dejavuserifBoldItalic_woff,
|
|
85
|
+
var args, browser, page, pathToFont, dejavuserif_woff, dejavuserifBold_woff, dejavuserifItalic_woff, dejavuserifBoldItalic_woff, content, tmpFileName;
|
|
86
86
|
var _this = this;
|
|
87
87
|
return __generator(this, function (_a) {
|
|
88
88
|
switch (_a.label) {
|
|
@@ -125,13 +125,7 @@ function loadPDFMethods(methodManager) {
|
|
|
125
125
|
dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');
|
|
126
126
|
dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');
|
|
127
127
|
dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');
|
|
128
|
-
|
|
129
|
-
; // Assuming Font Awesome is in the same directory
|
|
130
|
-
fontAwesome_v4_compat_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-v4compatibility.woff2').buffer).toString('base64');
|
|
131
|
-
fontAwesome_regular_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-regular-400.woff2').buffer).toString('base64');
|
|
132
|
-
fontAwesome_solid_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-solid-900.woff2').buffer).toString('base64');
|
|
133
|
-
fontAwesomeCSS = fs.readFileSync(pathToFontAwesome + 'fa.min.css', 'utf8');
|
|
134
|
-
content = "\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserif_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBold_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBoldItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_regular_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_solid_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_v4_compat_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t<!-- Link to the Font Awesome CSS file -->\n \t\t\t\t\t\t\t".concat(fontAwesomeCSS, "\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ") + (fontSize ? fontSize : '12px') + ";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t" + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';
|
|
128
|
+
content = "\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserif_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBold_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBoldItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: " + (fontSize ? fontSize : '12px') + ";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t" + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';
|
|
135
129
|
return [4 /*yield*/, page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] })];
|
|
136
130
|
case 3:
|
|
137
131
|
_a.sent();
|
|
@@ -232,7 +226,7 @@ function loadPDFMethods(methodManager) {
|
|
|
232
226
|
if (uploadFileOrder === void 0) { uploadFileOrder = -1; }
|
|
233
227
|
if (uploadFileType === void 0) { uploadFileType = ''; }
|
|
234
228
|
return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
|
235
|
-
var args, browser, page, pathToFont, dejavuserif_woff, dejavuserifBold_woff, dejavuserifItalic_woff, dejavuserifBoldItalic_woff,
|
|
229
|
+
var args, browser, page, pathToFont, dejavuserif_woff, dejavuserifBold_woff, dejavuserifItalic_woff, dejavuserifBoldItalic_woff, content, tmpFileName;
|
|
236
230
|
var _this = this;
|
|
237
231
|
return __generator(this, function (_a) {
|
|
238
232
|
switch (_a.label) {
|
|
@@ -275,13 +269,7 @@ function loadPDFMethods(methodManager) {
|
|
|
275
269
|
dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');
|
|
276
270
|
dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');
|
|
277
271
|
dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');
|
|
278
|
-
|
|
279
|
-
; // Assuming Font Awesome is in the same directory
|
|
280
|
-
fontAwesome_v4_compat_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-v4compatibility.woff2').buffer).toString('base64');
|
|
281
|
-
fontAwesome_regular_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-regular-400.woff2').buffer).toString('base64');
|
|
282
|
-
fontAwesome_solid_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-solid-900.woff2').buffer).toString('base64');
|
|
283
|
-
fontAwesomeCSS = fs.readFileSync(pathToFontAwesome + 'fa.min.css', 'utf8');
|
|
284
|
-
content = "\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserif_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBold_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBoldItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_regular_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_solid_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + fontAwesome_v4_compat_woff2 + "\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t<!-- Link to the Font Awesome CSS file -->\n \t\t\t\t\t\t\t".concat(fontAwesomeCSS, "\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ") + (fontSize ? fontSize : '12px') + ";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t" + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';
|
|
272
|
+
content = "\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserif_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBold_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"" + dejavuserifBoldItalic_woff + "\") format('woff');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: " + (fontSize ? fontSize : '12px') + ";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t" + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';
|
|
285
273
|
return [4 /*yield*/, page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] })];
|
|
286
274
|
case 3:
|
|
287
275
|
_a.sent();
|
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 { MethodManager } from '../managers/method.manager';\nimport SimpleSchema from 'simpl-schema';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport * as path from 'path';\n\nlet pdfCnt = 0;\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\tlet pathToFontAwesome= path.join(__dirname, ('../private/fonts/'));; // Assuming Font Awesome is in the same directory\n\t\t\t\t\tlet fontAwesome_v4_compat_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-v4compatibility.woff2').buffer).toString('base64');\n\t\t\t\t\tlet fontAwesome_regular_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-regular-400.woff2').buffer).toString('base64');\n\t\t\t\t\tlet fontAwesome_solid_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-solid-900.woff2').buffer).toString('base64');\n\n\t\t\t\t\tlet fontAwesomeCSS = fs.readFileSync(pathToFontAwesome + 'fa.min.css', 'utf8');\n\n\t\t\t\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_regular_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_solid_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_v4_compat_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t<!-- Link to the Font Awesome CSS file -->\n \t\t\t\t\t\t\t${fontAwesomeCSS}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\tlet pathToFontAwesome= path.join(__dirname, ('../private/fonts/'));; // Assuming Font Awesome is in the same directory\n\t\t\t\t\tlet fontAwesome_v4_compat_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-v4compatibility.woff2').buffer).toString('base64');\n\t\t\t\t\tlet fontAwesome_regular_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-regular-400.woff2').buffer).toString('base64');\n\t\t\t\t\tlet fontAwesome_solid_woff2 = 'data:font/woff2;base64,' + Buffer.from(fs.readFileSync(pathToFontAwesome + 'fa-solid-900.woff2').buffer).toString('base64');\n\n\t\t\t\t\tlet fontAwesomeCSS = fs.readFileSync(pathToFontAwesome + 'fa.min.css', 'utf8');\n\n\t\t\t\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_regular_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_solid_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'FontAwesome';\n\t\t\t\t\t\t\t\t\tfont-display: block;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + fontAwesome_v4_compat_woff2 + `\") format('woff2');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t<!-- Link to the Font Awesome CSS file -->\n \t\t\t\t\t\t\t${fontAwesomeCSS}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileKeys: string[]) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\n\t\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\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}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\tif (save) {\n\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/methods/pdf.ts"],"names":[],"mappings":"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","file":"pdf.js","sourcesContent":["import * as fs from 'fs';\nimport { MethodManager } from '../managers/method.manager';\nimport SimpleSchema from 'simpl-schema';\nimport { ParseSpeeds, PDFDocument } from 'pdf-lib';\nimport * as puppeteer from 'puppeteer';\nimport * as path from 'path';\n\nlet pdfCnt = 0;\n\nexport function loadPDFMethods(methodManager: MethodManager) {\n\tmethodManager.methods({\n\t\tgeneratePDF: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\tPage <span class=\"pageNumber\"></span> of <span class=\"totalPages\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tgeneratePDFNoPageNumber: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtml: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\torientation: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tfontSize: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tupload: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileOrder: {\n\t\t\t\t\ttype: Number,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tuploadFileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(html, fileName, orientation = 'portrait', fontSize = '12px', upload = false, uploadFileOrder = -1, uploadFileType = '') {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\t// console.log(new Date(), 'GENERATE PDF CALL', fileName, orientation, fontSize, upload);\n\n\t\t\t\t\tconst args = [\n\t\t\t\t\t\t\"--disable-dev-shm-usage\",\n\t\t\t\t\t\t\"--no-sandbox\",\n\t\t\t\t\t\t\"--disable-setuid-sandbox\",\n\t\t\t\t\t\t\"--disable-accelerated-2d-canvas\",\n\t\t\t\t\t\t\"--disable-gpu\",\n\t\t\t\t\t\t\"--allow-file-access-from-files\", \n\t\t\t\t\t\t\"--enable-local-file-accesses\",\n\t\t\t\t\t\t'--font-render-hinting=none'\n\t\t\t\t\t];\n\n\t\t\t\t\tconst browser = await puppeteer.launch({\n\t\t\t\t\t\theadless: 'new', // run in headless mode\n\t\t\t\t\t\tdevtools: false, // run with dev tools\n\t\t\t\t\t\tignoreHTTPSErrors: true, // ignore https error\n\t\t\t\t\t\targs,\n\t\t\t\t\t\tignoreDefaultArgs: [\"--disable-extensions\"]\n\t\t\t\t\t}); // run browser\n\t\t\t\t\t\n\t\t\t\t\tconst page = await browser.newPage(); // create new tab\n\n\t\t\t\t\tlet pathToFont = '';\n\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, ('../private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\tpathToFont = path.join(__dirname, ('../private/fonts/'));\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (fs.existsSync(path.join(this.clientDir, ('./private/fonts/dejavuserif.woff')))) {\n\t\t\t\t\t\t\tpathToFont = path.join(this.clientDir, ('./private/fonts/'));\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tpathToFont = '/usr/share/fonts/dejavu/';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet dejavuserif_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBold_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bold.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-italic.woff').buffer).toString('base64');\n\t\t\t\t\tlet dejavuserifBoldItalic_woff = 'data:application/font-woff;base64,' + Buffer.from(fs.readFileSync(pathToFont + 'dejavuserif-bolditalic.woff').buffer).toString('base64');\n\n\t\t\t\t\tlet content = `\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style type=\"text/css\">\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserif_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBold_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif';\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"` + dejavuserifBoldItalic_woff + `\") format('woff');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: ` + (fontSize ? fontSize : '12px') + `;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t\tpage-break-inside: avoid !important;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tpadding-top: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif'; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<meta charset=\"UTF-8\">\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t` + html.replace(new RegExp('flex-basis:', 'g'), '-webkit-flex-basis:').replace(new RegExp('flex:', 'g'), '-webkit-flex:') + '</body>';\n\n\t\t\t\t\tawait page.setContent(content, { waitUntil: ['domcontentloaded', 'load', 'networkidle0'] });\n\t\t\t\t\tawait page.evaluateHandle('document.fonts.ready');\n\t\t\t\t\t\n\t\t\t\t\tlet tmpFileName = (pdfCnt++) + '-' + fileName.replace(new RegExp(/[^0-9\\.a-zA-Z]/g), '');\t\n\t\t\t\t\n\t\t\t\t\tawait page.pdf({\n\t\t\t\t\t\tscale: 1,\n\t\t\t\t\t\tlandscape: orientation === 'portrait' ? false : true,\n\t\t\t\t\t\tformat: 'letter',\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\ttop: '1cm',\n\t\t\t\t\t\t\tbottom: '1cm',\n\t\t\t\t\t\t\tleft: '1cm',\n\t\t\t\t\t\t\tright: '1cm'\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprintBackground: true,\n\t\t\t\t\t\tdisplayHeaderFooter: true,\n\t\t\t\t\t\theaderTemplate: `\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t#header { \n\t\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t\t<span></span>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tfooterTemplate: `\n\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t#footer { \n\t\t\t\t\t\t\t\tpadding: 0 0 10px 10px !important;\n\t\t\t\t\t\t\t\tfont-size: 10px;\n\t\t\t\t\t\t\t\tfont-family: san-serif;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</style>\n\t\t\t\t\t\t<div style=\"padding-bottom: 2px; padding-right: 15px; text-align: right; width: 100%;\">\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t`,\n\t\t\t\t\t\tpath: path.join(__dirname, (tmpFileName)),\n\t\t\t\t\t\ttimeout: 0\n\t\t\t\t\t});\n\t\t\t\t\tawait browser.close();\n\t\t\t\t\t\n\t\t\t\t\tif (fs.existsSync(path.join(__dirname, (tmpFileName)))) {\n\t\t\t\t\t\tfs.readFile(path.join(__dirname, (tmpFileName)), (errRead, data) => {\n\t\t\t\t\t\t\tif (!errRead) {\n\t\t\t\t\t\t\t\tfs.unlinkSync(path.join(__dirname, (tmpFileName)));\n\t\t\t\t\t\t\t\tif (!upload) {\n\t\t\t\t\t\t\t\t\tresolve('data:application/pdf;base64,' + Buffer.from(data).toString('base64'));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\tlet fileData = 'data:application/pdf;base64,' + Buffer.from(data).toString('base64');\n\t\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, fileData, (4 * Math.ceil(fileData.length / 3)), uploadFileOrder !== null ? uploadFileOrder : -1, uploadFileType, false, (err, res) => {\n\t\t\t\t\t\t\t\t\t\tif (err) {\n\t\t\t\t\t\t\t\t\t\t\treject(err);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\treject('No file');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\treject('No tmp file');\n\t\t\t\t\t\tconsole.log('No tmp file ', tmpFileName);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolve: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileKeys: string[], fileName: string, fileType?: string) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true });\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolveNoSave: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\tfileKeys: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'fileKeys.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(fileKeys: string[]) {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.callMethodInternal('getSignedUrls', fileKeys, 900, (errSigneds, resSigneds) => {\n\t\t\t\t\t\tif (resSigneds && resSigneds.length) {\n\t\t\t\t\t\t\tlet promises = [];\n\n\t\t\t\t\t\t\tresSigneds.forEach((signedUrl) => {\n\t\t\t\t\t\t\t\tpromises.push(this.callMethodInternal('getDataURIfromURL', signedUrl));\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPromise.all(promises).then(async (fileDatas) => {\n\t\t\t\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\t\t\t\tfor (let i = 0; i < fileDatas.length; i++) {\n\n\t\t\t\t\t\t\t\t\tlet fileData = fileDatas[i];\n\n\t\t\t\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\t\t\t\tif (fileData.startsWith('data:application/pdf;base64,')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.load(fileData, { updateMetadata: false, parseSpeed: ParseSpeeds.Fastest, ignoreEncryption: true});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/jpeg;base64,/9j/') || fileData.startsWith('data:image/png;base64,/9j/')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedJpg(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse if (fileData.startsWith('data:image/png;base64,iVBOR')) {\n\t\t\t\t\t\t\t\t\t\t\tconst pdf = await PDFDocument.create();\n\t\t\t\t\t\t\t\t\t\t\tconst img = await pdf.embedPng(fileData);\n\t\t\t\t\t\t\t\t\t\t\tconst page = pdf.addPage();\n\t\t\t\t\t\t\t\t\t\t\tlet imgDim = img.scaleToFit(page.getWidth() * 0.75, page.getHeight() * 0.75);\n\t\t\t\t\t\t\t\t\t\t\tpage.drawImage(img, {\n\t\t\t\t\t\t\t\t\t\t\t\tx: page.getWidth() / 2 - imgDim.width / 2,\n\t\t\t\t\t\t\t\t\t\t\t\ty: page.getHeight() / 2 - imgDim.height / 2,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: imgDim.width,\n\t\t\t\t\t\t\t\t\t\t\t\theight: imgDim.height,\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\tconst copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices());\n\t\t\t\t\t\t\t\t\t\t\tcopiedPages.forEach((page) => {\n\t\t\t\t\t\t\t\t\t\t\t\tmergedPdf.addPage(page);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('Error - unsupported!!', fileData.slice(0, 60));\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tthis.callMethodInternal('insertErrorLog', 'PDF Merge - getSignedUrls', [\n\t\t\t\t\t\t\t\tfileKeys,\n\t\t\t\t\t\t\t\terrSigneds\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\treject(errSigneds);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmergePDFResolveHtml: {\n\t\t\tcheck: new SimpleSchema({\n\t\t\t\thtmls: {\n\t\t\t\t\ttype: Array\n\t\t\t\t},\n\t\t\t\t'htmls.$': {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileName: {\n\t\t\t\t\ttype: String\n\t\t\t\t},\n\t\t\t\tfileType: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\toptional: true\n\t\t\t\t},\n\t\t\t\tsave: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\toptional: true\n\t\t\t\t}\n\t\t\t}),\n\t\t\tfunction: function(htmls: string[], fileName: string, fileType?: string, save = true) {\n\t\t\t\treturn new Promise(async (resolve, reject) => {\n\t\t\t\t\tconst mergedPdf = await PDFDocument.create();\n\n\t\t\t\t\tfor (let i = 0; i < htmls.length; i++) {\n\n\t\t\t\t\t\tlet fileData = htmls[i];\n\n\t\t\t\t\t\tif (fileData) {\n\t\t\t\t\t\t\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}\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tconsole.log('Error - no filedata!!', fileData);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tlet mergedPDFUint8 = await mergedPdf.save();\n\n\t\t\t\t\tconst b64PDF = 'data:application/pdf;base64,' + Buffer.from(mergedPDFUint8).toString('base64');\n\n\t\t\t\t\tif (save) {\n\t\t\t\t\t\tthis.callMethodInternal('uploadFileAndSave', fileName, b64PDF, (4 * Math.ceil(b64PDF.length / 3)), -1, fileType, false, (errUp, resUp) => {\n\t\t\t\t\t\t\tresolve(resUp);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tresolve(b64PDF);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}"]}
|