@medicus.ai/medicus-report-pdf-generator 1.0.242 → 1.0.244

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/index.js CHANGED
@@ -2,8 +2,6 @@ const {generateHTMLStaging, generatePDF, generatePatientQR} = require("./lib/pdf
2
2
  const {generateHTMLWellbeingReport, generatePDFWellbeingReport} = require("./lib/wellbeing_report_generator");
3
3
  const {generateSanusXReport, generateHTMLSanusXReport} = require("./lib/sanusx_report_generator");
4
4
  const fs = require('fs');
5
- const {fork} = require('child_process');
6
- const {join} = require('path');
7
5
  const {sendNascoEmail, sendEmailNotification} = require('./lib/sendEmail')
8
6
  const {generatePDFCorporateReport, generateHTMLCorporateReport} = require('./lib/corporate_report_generator')
9
7
  module.exports = {
@@ -93,7 +91,9 @@ module.exports = {
93
91
  let LOGS = '';
94
92
  let LOGS_FILE_PATH = __dirname + '/output/LOGS.txt';
95
93
  let PDF_FILE_PATH = __dirname + '/output/nasco-sample.pdf';
96
-
94
+ if (reportData.client === 'sanusx') {
95
+ PDF_FILE_PATH = __dirname + '/output/sanusx-sample.pdf';
96
+ }
97
97
  let mailConfig = {
98
98
  host: reportData.host,
99
99
  port: reportData.port,
@@ -133,30 +133,14 @@ module.exports = {
133
133
  LOGS += '3: save decoded json' + '\n' + '=============' + '\n';
134
134
  LOGS += decodedJSON + '\n\n\n';
135
135
  }
136
- let html = await generateHTMLSanusXReport(decodedJSON, isDebugging, reportData.client, reportData.language);
137
-
138
-
139
- console.log("shouldSendEmail", shouldSendEmail)
140
- // 3: save PDF buffer
141
- let fileBuffer = await generateSanusXReport(html);
142
-
143
- if (isDebugging) {
144
- console.log('3: save PDF buffer')
145
- LOGS += '3: save PDF buffer' + '\n' + '=============' + '\n';
146
- LOGS += fileBuffer + '\n\n\n';
147
- }
148
-
149
- console.log("PDF_FILE_PATH", PDF_FILE_PATH)
150
- fs.writeFileSync(PDF_FILE_PATH, fileBuffer, 'utf8');
151
-
152
- // 4: save encoded base64
153
- const base64data = Buffer.from(fileBuffer, 'utf8').toString('base64');
154
- if (isDebugging) {
155
- console.log('4: save encoded base64');
156
- LOGS += '4: save encoded base64' + '\n' + '=============' + '\n';
157
- LOGS += base64data + '\n\n\n';
136
+ let html
137
+ if (reportData.client === 'sanusx') {
138
+ html = await generateHTMLSanusXReport(decodedJSON, isDebugging, reportData.client, reportData.language);
139
+ } else {
140
+ html = await generateHTMLWellbeingReport(decodedJSON, isDebugging, reportData.client, reportData.language);
158
141
  }
159
142
 
143
+ console.log("shouldSendEmail", shouldSendEmail)
160
144
 
161
145
  // 5: save logs to file
162
146
  fs.writeFileSync(LOGS_FILE_PATH, LOGS, 'utf8');
@@ -165,7 +149,7 @@ module.exports = {
165
149
  }
166
150
 
167
151
  if (isDownloadable) {
168
- return fileBuffer;
152
+ return html;
169
153
  } else {
170
154
  if (shouldSendEmail)
171
155
  return await sendNascoEmail(decodedJSON, PDF_FILE_PATH, mailConfig, reportData.client)
@@ -93,18 +93,11 @@ let generateHTMLSanusXReport = async (data, isDebugging, clientName, language) =
93
93
 
94
94
 
95
95
  let client = clientName ? clientName : 'default'
96
- let pathFile = path.resolve(__dirname + '/../config/' + client + '.json');
97
- let defaultConfig = require('../config/default.json');
98
- if (fs.existsSync(pathFile)) {
99
- defaultConfig = require('../config/' + client + '.json');
100
- }
101
-
96
+ let defaultConfig = require('../config/sanusx.json');
102
97
  logo = defaultConfig['logo'];
103
- // language='de'
104
98
 
105
99
  /*check if the language is an RTL language*/
106
100
  localeService.setLocale(language);
107
- console.log("localeService.getLocales()",localeService.getLocales())
108
101
  debugLog("pdf language:", language);
109
102
 
110
103
  /*choose the right template*/
@@ -272,7 +265,6 @@ let generateHTMLSanusXReport = async (data, isDebugging, clientName, language) =
272
265
  let mindTips = []
273
266
  let bodyTips = []
274
267
  tips.map((tip, index) => {
275
- console.log("index tip", index)
276
268
  if (index === 0) {
277
269
  lifeStyleTips.push(tip)
278
270
  }
@@ -346,13 +338,6 @@ let generateHTMLSanusXReport = async (data, isDebugging, clientName, language) =
346
338
  }
347
339
  await promisify(fs.writeFile)(OUT_FILE, dom.serialize());
348
340
 
349
-
350
- let REQUEST_OUTPUT_DIRECTORY = path.resolve(`${__dirname}/../output/request`);
351
- if (!fs.existsSync(REQUEST_OUTPUT_DIRECTORY)) {
352
- fs.mkdirSync(REQUEST_OUTPUT_DIRECTORY)
353
- }
354
-
355
- console.log("OUT_FILE", OUT_FILE)
356
341
  return {
357
342
  "html": dom.serialize(),
358
343
  "outputFile": OUT_FILE,
@@ -420,66 +405,11 @@ let generateSanusXReport = async (data) => {
420
405
  }
421
406
  };
422
407
 
423
- const isEmpty = (obj) => {
424
- for (let key in obj) {
425
- if (obj.hasOwnProperty(key))
426
- return false;
427
- }
428
- return true;
429
- }
430
408
 
431
409
  const empty = (value) => {
432
410
  return (typeof value === "undefined" || typeof value === 'undefined' || typeof value === undefined || value === null || value === '' || value === "" || value.length === 0 || value === 'undefined');
433
411
  }
434
412
 
435
- const renderDetails = (list) => {
436
- if (list.length === 1 && empty(list[0].children)) {
437
- return (
438
- `<li>${list[0].content.substring(list[0].sepCount, list[0].content.length + 1)}</li>`
439
- )
440
- }
441
-
442
- let columns = []
443
- let isParent = false
444
-
445
- list.map((child, index) => {
446
- if (child.parent_id === "0")
447
- isParent = true
448
-
449
- let div = '';
450
- if (empty(child.children)) {
451
- div = `<li>`
452
- +
453
- `${child.content.substring(child.sepCount, child.content.length + 1)}`
454
- +
455
- `</li>`
456
- } else {
457
- div = `<li>`
458
- +
459
- `${child.content.substring(child.sepCount, child.content.length + 1)}`
460
- +
461
- `</li>`
462
- +
463
- `<ul>` +
464
- `${renderDetails(child.children)}`
465
- + `</ul>`
466
- }
467
-
468
-
469
- if (!empty(div))
470
- columns.push(
471
- div
472
- )
473
-
474
- })
475
-
476
- let results = ''
477
- columns.map((tabel) => {
478
- if (!empty(tabel))
479
- results += tabel
480
- })
481
- return !empty(columns) ? `${results}` : null
482
- }
483
413
 
484
414
  let renderInsightTips = (tips, elementScores) => {
485
415
  let lifeHighScore, bodyHighScore, mindHighScore
@@ -492,7 +422,6 @@ let renderInsightTips = (tips, elementScores) => {
492
422
  tips.map((tip, index) => {
493
423
  let tipTitle = ''
494
424
  let insightClass = '';
495
- let tipsTextClass = ''
496
425
  let score = 0
497
426
  let name = tip[0]['icon'].split(".png", [1]);
498
427
  let tipImage = icons[name];
@@ -515,7 +444,7 @@ let renderInsightTips = (tips, elementScores) => {
515
444
  let roundScore = Math.round(score / 2)
516
445
  let score_segments = Math.round(score / 2) + "/5"; // get score between 1 and 5
517
446
  let line1Class, line2Class, line3Class, line4Class, line5Class = ''
518
- console.log("roundScore", roundScore)
447
+
519
448
  if (roundScore === 1 || roundScore > 1) {
520
449
  line1Class = 'highlighted highlight-1'
521
450
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@medicus.ai/medicus-report-pdf-generator",
3
- "version": "1.0.242",
3
+ "version": "1.0.244",
4
4
  "description": "Nasco corporate report - latest update in 5/3/2023 - New design for SanusX PDF",
5
5
  "main": "index.js",
6
6
  "scripts": {