@measurequick/measurequick-report-generator 1.4.31 → 1.4.34

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@measurequick/measurequick-report-generator",
3
- "version": "1.4.31",
3
+ "version": "1.4.34",
4
4
  "description": "Generates PDF documents for various MeasureQuick applications.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -6,10 +6,9 @@ import * as util from '../util.js';
6
6
 
7
7
  export async function getReport(payload) {
8
8
  try {
9
- const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(payload.meta.base64));
10
- const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
11
- return pdfBase64;
12
- } catch (e) {
13
- return false;
14
- }
9
+ const pdfDoc = await PDFDocument.load(util._base64ToArrayBuffer(payload.meta.base64));
10
+ return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
11
+ } catch (error) {
12
+ return { status: 400, data: error };
13
+ }
15
14
  }
@@ -3980,9 +3980,9 @@ export async function getReport(payload) {
3980
3980
  printText('The cooling efficiency is verified to test your unit’s actual electrical consumption compared to the relative efficiency of properly installed modern cooling equipment.', y, 'normal', fs);
3981
3981
  }
3982
3982
 
3983
- return await doc.output('datauristring');
3983
+ return { status: 200, data: await doc.output('datauristring') };
3984
3984
  } catch (error) {
3985
- return error;
3985
+ return { status: 400, data: error };
3986
3986
  }
3987
3987
  }
3988
3988
 
@@ -25,7 +25,7 @@ export async function getReport(payload) {
25
25
  /******** COVER SHEET (1 PAGE) *********/
26
26
  try {
27
27
  let coverPageBase64 = payload.meta.pdf_settings.includeCoverPage ? await coverPage.getReport(payload) : false;
28
- const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64)) : false;
28
+ const coverPageDoc = coverPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(coverPageBase64.data)) : false;
29
29
  const [_coverPageDoc] = coverPageDoc ? await coreDoc.copyPages(coverPageDoc, [0]) : false;
30
30
  if (_coverPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _coverPageDoc);
31
31
  } catch (error) {
@@ -37,7 +37,7 @@ export async function getReport(payload) {
37
37
  if (payload.meta.report_mode == "goettl") {
38
38
  if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
39
39
  let vitalsReportBase64 = await vitalsCoolingReport.getReport(payload, payload.tests[0]);
40
- const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
40
+ const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
41
41
  const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
42
42
  const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
43
43
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
@@ -45,7 +45,7 @@ export async function getReport(payload) {
45
45
  }
46
46
  if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
47
47
  let vitalsReportBase64_ = payload.meta.report_mode == "goettl" ? await vitalsHeatingReport.getReport(payload, payload.tests[1]) : await vitalsCoolingReport.getReport(payload, payload.tests[1]);
48
- const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_));
48
+ const vitalsReportDoc_ = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64_.data));
49
49
  const [_vitalsReportPg1_] = await coreDoc.copyPages(vitalsReportDoc_, [0]);
50
50
  const [_vitalsReportPg2_] = await coreDoc.copyPages(vitalsReportDoc_, [1]);
51
51
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1_);
@@ -54,7 +54,7 @@ export async function getReport(payload) {
54
54
  } else if (payload.tests && payload.tests[0] && payload.tests[0].testInfo && payload.tests[0].testInfo && payload.tests[0].testInfo.mode !== 'efficiency-nist') {
55
55
  payload.meta.header = "Test In A/C Vitals";
56
56
  let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload) : await vitalsHeatingReport.getReport(payload);
57
- const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
57
+ const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
58
58
  const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
59
59
  const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
60
60
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
@@ -68,7 +68,7 @@ export async function getReport(payload) {
68
68
  try {
69
69
  // TODO: investigate bug, reading 'title1' of undefined
70
70
  let measurementDetailsBase64 = await measurementDetails.getReport(payload);
71
- const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
71
+ const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64.data)) : false;
72
72
  const [_measurementDetailsDoc] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [0]) : false;
73
73
  if (_measurementDetailsDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDoc);
74
74
  } catch (error) {
@@ -79,7 +79,7 @@ export async function getReport(payload) {
79
79
  try {
80
80
  if (payload.acca) {
81
81
  let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
82
- const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
82
+ const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64.data)) : false;
83
83
  const [_measurementDetailsAccaDoc] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [0]) : false;
84
84
  if (_measurementDetailsAccaDoc) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDoc);
85
85
  }
@@ -92,7 +92,7 @@ export async function getReport(payload) {
92
92
  if (payload.tests && payload.tests[1] && payload.tests[1].testInfo && payload.tests[1].testInfo.mode !== 'efficiency-nist') {
93
93
  payload.meta.header = "Test Out A/C Vitals";
94
94
  let vitalsReportBase64 = payload.meta.report_mode == "cooling" ? await vitalsCoolingReport.getReport(payload, payload.tests[1]) : await vitalsHeatingReport.getReport(payload, payload.tests[1]);
95
- const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64));
95
+ const vitalsReportDoc = await PDFDocument.load(util._base64ToArrayBuffer(vitalsReportBase64.data));
96
96
  const [_vitalsReportPg1] = await coreDoc.copyPages(vitalsReportDoc, [0]);
97
97
  const [_vitalsReportPg2] = await coreDoc.copyPages(vitalsReportDoc, [1]);
98
98
  coreDoc.insertPage(coreDoc.getPages().length, _vitalsReportPg1);
@@ -106,7 +106,7 @@ export async function getReport(payload) {
106
106
  try {
107
107
  if (payload.tests.length > 1) {
108
108
  let measurementDetailsBase64 = await measurementDetails.getReport(payload);
109
- const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64)) : false;
109
+ const measurementDetailsDoc = measurementDetailsBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsBase64.data)) : false;
110
110
  const [_measurementDetailsDocPg2] = measurementDetailsDoc ? await coreDoc.copyPages(measurementDetailsDoc, [1]) : false;
111
111
  if (_measurementDetailsDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsDocPg2);
112
112
  }
@@ -118,7 +118,7 @@ export async function getReport(payload) {
118
118
  try {
119
119
  if (payload.acca && payload.tests.length > 1) {
120
120
  let measurementDetailsAccaBase64 = await measurementDetailsAcca.getReport(payload);
121
- const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64)) : false;
121
+ const measurementDetailsAccaDoc = measurementDetailsAccaBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(measurementDetailsAccaBase64.data)) : false;
122
122
  const [_measurementDetailsAccaDocPg2] = measurementDetailsAccaDoc ? await coreDoc.copyPages(measurementDetailsAccaDoc, [1]) : false;
123
123
  if (_measurementDetailsAccaDocPg2) coreDoc.insertPage(coreDoc.getPages().length, _measurementDetailsAccaDocPg2);
124
124
  }
@@ -131,12 +131,12 @@ export async function getReport(payload) {
131
131
  if (payload.acca && payload.equipment.certificates) {
132
132
  if (payload.equipment.certificates.esvi) {
133
133
  let energyStarCertificateBase64 = await energyStarCertificate.getReport(payload);
134
- const energyStarCertificateDoc = energyStarCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(energyStarCertificateBase64)) : false;
134
+ const energyStarCertificateDoc = energyStarCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(energyStarCertificateBase64.data)) : false;
135
135
  const [_energyStarCertificateDoc] = accaCertificateDoc ? await coreDoc.copyPages(energyStarCertificateDoc, [1]) : false;
136
136
  if (_energyStarCertificateDoc) coreDoc.insertPage(coreDoc.getPages().length, _energyStarCertificateDoc);
137
137
  } else if (payload.equipment.certificates.acca_qi || payload.equipment.certificates.acca_veo) {
138
138
  let accaCertificateBase64 = await accaCertificate.getReport(payload);
139
- const accaCertificateDoc = accaCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(accaCertificateBase64)) : false;
139
+ const accaCertificateDoc = accaCertificateBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(accaCertificateBase64.data)) : false;
140
140
  const [_accaCertificateDoc] = accaCertificateDoc ? await coreDoc.copyPages(accaCertificateDoc, [1]) : false;
141
141
  if (_accaCertificateDoc) coreDoc.insertPage(coreDoc.getPages().length, _accaCertificateDoc);
142
142
  }
@@ -149,7 +149,7 @@ export async function getReport(payload) {
149
149
  if (payload.project.evacuation_pdf && payload.meta.pdf_settings.includeBluvacReport) {
150
150
  try {
151
151
  let bluvacReportBase64 = payload.project.evacuation_pdf;
152
- const bluvacReportDoc = bluvacReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(bluvacReportBase64)) : false;
152
+ const bluvacReportDoc = bluvacReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(bluvacReportBase64.data)) : false;
153
153
  const [_bluvacReportDoc] = bluvacReportDoc ? await coreDoc.copyPages(bluvacReportDoc, [0]) : false;
154
154
  if (_bluvacReportDoc) coreDoc.insertPage(coreDoc.getPages().length, _bluvacReportDoc);
155
155
  } catch (error) {
@@ -161,7 +161,7 @@ export async function getReport(payload) {
161
161
  if (!util.projectIsGoettl(payload.project)) {
162
162
  try {
163
163
  let correctiveMeasuresBase64 = await correctiveMeasures.getReport(payload);
164
- const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64)) : false;
164
+ const correctiveMeasuresDoc = correctiveMeasuresBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(correctiveMeasuresBase64.data)) : false;
165
165
  const [_correctiveMeasuresDoc] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [0]) : false;
166
166
  if (correctiveMeasuresDoc.getPages().length > 1) {
167
167
  const [_correctiveMeasuresDocPage2] = correctiveMeasuresDoc ? await coreDoc.copyPages(correctiveMeasuresDoc, [1]) : false;
@@ -177,7 +177,7 @@ export async function getReport(payload) {
177
177
  try {
178
178
  let selectedPhotosReport = payload.meta.origin == 'virtuoso' ? photosReportS3 : photosReport;
179
179
  let photosReportBase64 = (payload.meta.pdf_settings.includePhotos && payload.meta.photo_count > 0) ? await selectedPhotosReport.getReport(payload) : false;
180
- const photosReportDoc = photosReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(photosReportBase64)) : false;
180
+ const photosReportDoc = photosReportBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(photosReportBase64.data)) : false;
181
181
  for (let i = 0; (photosReportDoc && i < photosReportDoc.getPages().length); i++) {
182
182
  const [_photosReport] = await coreDoc.copyPages(photosReportDoc, [i]);
183
183
  coreDoc.insertPage(coreDoc.getPages().length, _photosReport);
@@ -189,7 +189,7 @@ export async function getReport(payload) {
189
189
  /******** SYSTEM INFO (1 PAGE) *********/
190
190
  try {
191
191
  let systemInfoPageBase64 = await systemInfoPage.getReport(payload);
192
- const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64)) : false;
192
+ const systemInfoPageDoc = systemInfoPageBase64 ? await PDFDocument.load(util._base64ToArrayBuffer(systemInfoPageBase64.data)) : false;
193
193
  const [_systemInfoPageDoc] = systemInfoPageDoc ? await coreDoc.copyPages(systemInfoPageDoc, [0]) : false;
194
194
  if (_systemInfoPageDoc) coreDoc.insertPage(coreDoc.getPages().length, _systemInfoPageDoc);
195
195
  } catch (error) {
@@ -7,17 +7,18 @@ import * as util from '../util.js';
7
7
 
8
8
  export async function getReport(payload) {
9
9
 
10
- const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
10
+ try {
11
+ const mqLogoBytes = util._base64ToArrayBuffer(base64.mqLogo);
11
12
  let maxPhotosPerPage = payload.meta.pdf_settings.maxPhotosPerPage ? payload.meta.pdf_settings.maxPhotosPerPage : 2;
12
13
 
13
14
  // Layout Configuration
14
15
  let docs = [], forms = [], page = photos6, pSize = "Small";
15
16
  if (maxPhotosPerPage == 4) {
16
- page = photos4;
17
- pSize = "Mid";
17
+ page = photos4;
18
+ pSize = "Mid";
18
19
  } else if (maxPhotosPerPage == 2) {
19
- page = photos2;
20
- pSize = "Large";
20
+ page = photos2;
21
+ pSize = "Large";
21
22
  }
22
23
 
23
24
  // Process All Photos
@@ -49,8 +50,8 @@ export async function getReport(payload) {
49
50
  }
50
51
  let imageToSet;
51
52
  if (photo && photo.base64 && typeof photo.base64 == 'string') {
52
- if (photo.base64 && photo.base64.includes("image/jpeg")) imageToSet = await docs[docIndex].embedJpg(util._base64ToArrayBuffer(photo.base64));
53
- else if (photo.base64 && photo.base64.includes("image/png")) imageToSet = await docs[docIndex].embedPng(util._base64ToArrayBuffer(photo.base64));
53
+ if (photo.base64 && photo.base64.includes("image/jpeg")) imageToSet = await docs[docIndex].embedJpg(util._base64ToArrayBuffer(photo.base64));
54
+ else if (photo.base64 && photo.base64.includes("image/png")) imageToSet = await docs[docIndex].embedPng(util._base64ToArrayBuffer(photo.base64));
54
55
  }
55
56
  if (imageToSet) forms[docIndex].getButton(`photo${pSize}${photoPosition}`).setImage(imageToSet);
56
57
  let caption = photo.section;
@@ -66,8 +67,11 @@ export async function getReport(payload) {
66
67
  forms.forEach(form => { form.flatten() });
67
68
  let pdfDoc = await PDFDocument.create();
68
69
  for (let i = 0; i < docs.length; i++) {
69
- const [nextPage] = await pdfDoc.copyPages(docs[i], [0]);
70
- pdfDoc.insertPage(i, nextPage);
70
+ const [nextPage] = await pdfDoc.copyPages(docs[i], [0]);
71
+ pdfDoc.insertPage(i, nextPage);
71
72
  }
72
- return await pdfDoc.saveAsBase64({ dataUri: true });
73
+ return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
74
+ } catch (error) {
75
+ return { status: 400, data: error };
76
+ }
73
77
  }
@@ -134,9 +134,10 @@ export async function getReport(payload) {
134
134
  pdfDoc.insertPage(i, nextPage);
135
135
  }
136
136
  return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
137
+ } else {
138
+ return { status: 400, data: 'No photos to print on report' };
137
139
  }
138
- else {
139
- return false;
140
- }
141
- } catch (error) { }
140
+ } catch (error) {
141
+ return { status: 400, data: error };
142
+ }
142
143
  }
@@ -3,24 +3,27 @@ import * as pdf from '../base-64/ptcs-heat-pump.js';
3
3
  import * as util from '../util.js';
4
4
 
5
5
  export async function getReport(payload) {
6
- const formPdfBytes = util._base64ToArrayBuffer(pdf.base64);
7
- const pdfDoc = await PDFDocument.load(formPdfBytes);
8
- const photoBytesStripHeat = util._base64ToArrayBuffer(payload.images.imageStripHeatBase64);
9
- const photoBytesHpThermostat = util._base64ToArrayBuffer(payload.images.imageHpThermostatBase64);
10
- var imageStripHeat;
11
- var imageHpThermostat;
12
- if (photoBytesStripHeat) imageStripHeat = await pdfDoc.embedJpg(photoBytesStripHeat);
13
- if (photoBytesHpThermostat) imageHpThermostat = await pdfDoc.embedJpg(photoBytesHpThermostat);
14
- const form = pdfDoc.getForm();
15
- Object.keys(payload.textFields).forEach(fieldKey => {
16
- if (payload.textFields[fieldKey]) form.getTextField(fieldKey).setText(`${payload.textFields[fieldKey]}`);
17
- });
18
- Object.keys(payload.checkFields).forEach(fieldKey => {
19
- if (payload.checkFields[fieldKey]) form.getCheckBox(`${payload.checkFields[fieldKey]}`).check();
20
- });
21
- if (imageStripHeat) form.getButton("customImage1").setImage(imageStripHeat);
22
- if (imageHpThermostat) form.getButton("customImage2").setImage(imageHpThermostat);
23
- form.flatten();
24
- const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
25
- return pdfBase64;
6
+ try {
7
+ const formPdfBytes = util._base64ToArrayBuffer(pdf.base64);
8
+ const pdfDoc = await PDFDocument.load(formPdfBytes);
9
+ const photoBytesStripHeat = util._base64ToArrayBuffer(payload.images.imageStripHeatBase64);
10
+ const photoBytesHpThermostat = util._base64ToArrayBuffer(payload.images.imageHpThermostatBase64);
11
+ var imageStripHeat;
12
+ var imageHpThermostat;
13
+ if (photoBytesStripHeat) imageStripHeat = await pdfDoc.embedJpg(photoBytesStripHeat);
14
+ if (photoBytesHpThermostat) imageHpThermostat = await pdfDoc.embedJpg(photoBytesHpThermostat);
15
+ const form = pdfDoc.getForm();
16
+ Object.keys(payload.textFields).forEach(fieldKey => {
17
+ if (payload.textFields[fieldKey]) form.getTextField(fieldKey).setText(`${payload.textFields[fieldKey]}`);
18
+ });
19
+ Object.keys(payload.checkFields).forEach(fieldKey => {
20
+ if (payload.checkFields[fieldKey]) form.getCheckBox(`${payload.checkFields[fieldKey]}`).check();
21
+ });
22
+ if (imageStripHeat) form.getButton("customImage1").setImage(imageStripHeat);
23
+ if (imageHpThermostat) form.getButton("customImage2").setImage(imageHpThermostat);
24
+ form.flatten();
25
+ return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
26
+ } catch (error) {
27
+ return { status: 400, data: error };
28
+ }
26
29
  }
@@ -5,18 +5,21 @@ import * as termsConditionsArkansas from '../base-64/terms-arkansas-thermostat.j
5
5
  import * as util from '../util.js';
6
6
 
7
7
  export async function getReport(payload) {
8
- let termsConditionsBase64 = getPdfBase64(payload.meta.signature_type);
9
- if (termsConditionsBase64) {
10
- const formPdfBytes = util._base64ToArrayBuffer(termsConditionsBase64);
11
- const pdfDoc = await PDFDocument.load(formPdfBytes);
12
- const signatureBytes = util._base64ToArrayBuffer(payload.signatureBase64);
13
- const signature = await pdfDoc.embedPng(signatureBytes);
14
- const form = pdfDoc.getForm();
15
- form.getButton("SignatureCustomer").setImage(signature);
16
- form.flatten();
17
- const pdfBase64 = await pdfDoc.saveAsBase64({ dataUri: true });
18
- return pdfBase64;
19
- } else return false;
8
+ try {
9
+ let termsConditionsBase64 = getPdfBase64(payload.meta.signature_type);
10
+ if (termsConditionsBase64) {
11
+ const formPdfBytes = util._base64ToArrayBuffer(termsConditionsBase64);
12
+ const pdfDoc = await PDFDocument.load(formPdfBytes);
13
+ const signatureBytes = util._base64ToArrayBuffer(payload.signatureBase64);
14
+ const signature = await pdfDoc.embedPng(signatureBytes);
15
+ const form = pdfDoc.getForm();
16
+ form.getButton("SignatureCustomer").setImage(signature);
17
+ form.flatten();
18
+ return { status: 200, data: await pdfDoc.saveAsBase64({ dataUri: true }) };
19
+ } else return { status: 400, data: 'Could not load base document to apply signature' };
20
+ } catch (error) {
21
+ return { status: 400, data: error };
22
+ }
20
23
  }
21
24
 
22
25
  function getPdfBase64(reportType) {