201e0a59940aa9c9c3b56c98dd1bf0cd62acc5e5
[motion2.git] / server / components / export / pdf.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x09cf=['inspect','Failed','bluebird','util','path','moment','pdfmake/src/printer','zip-dir','rimraf','../../mysqldb','dbH','argv','MMMM\x20Do\x20YYYY,\x20h:mm:ss\x20a','AnalyticExtractedReport','update','tableHeader','num','Empty','.pdf','Setting','find','split','splitSizePdf','then','length','push','format','sequelize','SELECT','QueryTypes','existsSync','mkdirSync','join','each','Name:\x20%s\x0aReport:\x20%s\x0aFrom:\x20%s\x20To:\x20%s','name','startDate','endDate','landscape','header','black','body','hasOwnProperty','toString','content','/fonts/Roboto-Regular.ttf','%s%d.%s','pdf','%s.%s','pipe','finish','error','log','err','end','zip','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','PDF','findOne','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t'];(function(_0x5de7f2,_0x358f95){var _0x1095d3=function(_0xc6093c){while(--_0xc6093c){_0x5de7f2['push'](_0x5de7f2['shift']());}};_0x1095d3(++_0x358f95);}(_0x09cf,0x84));var _0xf09c=function(_0x69cfb1,_0xc3c5be){_0x69cfb1=_0x69cfb1-0x0;var _0x1029ba=_0x09cf[_0x69cfb1];return _0x1029ba;};'use strict';var _=require('lodash');var fs=require('fs');var BPromise=require(_0xf09c('0x0'));var util=require(_0xf09c('0x1'));var path=require(_0xf09c('0x2'));var moment=require(_0xf09c('0x3'));var PdfPrinter=require(_0xf09c('0x4'));var zipdir=require(_0xf09c('0x5'));var rimraf=require(_0xf09c('0x6'));var db=require(_0xf09c('0x7'))['db'];var dbH=require(_0xf09c('0x7'))[_0xf09c('0x8')];var logger=require('../../config/logger')('analytics');var EXTRACTED_REPORT_ID=Number(process[_0xf09c('0x9')][0x2]);var QUERY=process[_0xf09c('0x9')][0x3];var PATH=process[_0xf09c('0x9')][0x4];var NAME=process[_0xf09c('0x9')][0x5];var FORMAT=_0xf09c('0xa');var _extractedReport;function analyticExtractedReport(_0x7ba970,_0x45154c){var _0x34b644={'status':_0x7ba970};var _0x2f37cd={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x45154c){_0x34b644['savename']=_0x45154c;}return db[_0xf09c('0xb')][_0xf09c('0xc')](_0x34b644,_0x2f37cd);}function getHeader(_0x540d22){var _0x58579f=[];for(var _0x72fda6 in _0x540d22){if(_0x540d22['hasOwnProperty'](_0x72fda6)){_0x58579f['push']({'text':_0x72fda6,'style':_0xf09c('0xd')});}}return _0x58579f;}function extractReport(_0x2666a5){var _0x5c366d=0x1388;var _0xe71369;if(!_0x2666a5[0x0][_0xf09c('0xe')]){return analyticExtractedReport(_0xf09c('0xf'));}var _0x2b4f4b=[];var _0x16152f=0x0;var _0x5e166c=!![];var _0x2c34a3=path['dirname'](PATH);var _0x24b272=path['basename'](PATH,_0xf09c('0x10'));var _0x44894c=![];var _0x49c96a=[];return db[_0xf09c('0x11')][_0xf09c('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xf09c('0x13'),_0xf09c('0x14')]})[_0xf09c('0x15')](function(_0x24d9ae){if(_0x24d9ae){_0xe71369=_0x24d9ae;_0x5c366d=_0xe71369[_0xf09c('0x14')]||0x3e8;}})[_0xf09c('0x15')](function(){if(_0x2666a5&&_0x2666a5[_0xf09c('0x16')]){var _0x33b771=_0x2666a5[0x0]['num']%(_0x16152f+_0x5c366d);if(_0xe71369['split']){for(;_0x5e166c;_0x16152f+=_0x5c366d,_0x33b771=_0x2666a5[0x0][_0xf09c('0xe')]%(_0x16152f+_0x5c366d)){if(_0x33b771==0x0||_0x33b771==_0x2666a5[0x0][_0xf09c('0xe')]){_0x5e166c=![];}_0x2b4f4b[_0xf09c('0x17')](dbH['sequelize']['query'](util[_0xf09c('0x18')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x5c366d,_0x16152f),{'type':dbH[_0xf09c('0x19')]['QueryTypes'][_0xf09c('0x1a')]}));}}else{_0x2b4f4b[_0xf09c('0x17')](dbH[_0xf09c('0x19')]['query'](QUERY,{'type':dbH[_0xf09c('0x19')][_0xf09c('0x1b')][_0xf09c('0x1a')]}));}}_0x44894c=_0xe71369['split']&&_0x2b4f4b[_0xf09c('0x16')]>0x1;if(!fs[_0xf09c('0x1c')](path['join'](_0x2c34a3,_0x24b272))&&_0x44894c){fs[_0xf09c('0x1d')](path[_0xf09c('0x1e')](_0x2c34a3,_0x24b272));}return BPromise[_0xf09c('0x1f')](_0x2b4f4b,function(_0x17cad6){_0x49c96a[_0xf09c('0x17')](_0x17cad6);});})[_0xf09c('0x15')](function(){return BPromise[_0xf09c('0x1f')](_0x2b4f4b,function(_0x2eeb32,_0x4aff38){var _0x4a03e8;var _0x35aee6=util['format'](_0xf09c('0x20'),NAME,_extractedReport[_0xf09c('0x21')],moment(_extractedReport[_0xf09c('0x22')])['format'](FORMAT),moment(_extractedReport[_0xf09c('0x23')])['format'](FORMAT));var _0x4f61a0={'pageSize':'A4','pageOrientation':_0xf09c('0x24'),'content':[{'text':_0x35aee6,'style':_0xf09c('0x25')}],'styles':{'header':{'fontSize':0x12,'bold':!![],'margin':[0x0,0x0,0x0,0xa]},'tableHeader':{'bold':!![],'fontSize':0xd,'color':_0xf09c('0x26')}}};var _0x2e13f7={'headerRows':0x1,'body':[]};_0x2e13f7[_0xf09c('0x27')][_0xf09c('0x17')](getHeader(_0x2eeb32[0x0]));var _0x40dcf6;for(var _0x40fd16=0x0;_0x40fd16<_0x2eeb32[_0xf09c('0x16')];_0x40fd16+=0x1){_0x40dcf6=[];for(var _0x51c5ac in _0x2eeb32[_0x40fd16]){if(_0x2eeb32[_0x40fd16][_0xf09c('0x28')](_0x51c5ac)){_0x40dcf6[_0xf09c('0x17')](_0x2eeb32[_0x40fd16][_0x51c5ac]?_[_0xf09c('0x29')](_0x2eeb32[_0x40fd16][_0x51c5ac]):'');}}_0x2e13f7[_0xf09c('0x27')]['push'](_0x40dcf6);}_0x4f61a0[_0xf09c('0x2a')][_0xf09c('0x17')]({'table':_0x2e13f7});return new BPromise(function(_0xe0093d,_0x26a7a0){var _0x17afe4=new PdfPrinter({'Roboto':{'normal':__dirname+_0xf09c('0x2b'),'bold':__dirname+'/fonts/Roboto-Medium.ttf','italics':__dirname+'/fonts/Roboto-Italic.ttf','bolditalics':__dirname+'/fonts/Roboto-MediumItalic.ttf'}});var _0x5b85ce=_0x17afe4['createPdfKitDocument'](_0x4f61a0);if(_0x44894c){_0x4a03e8=path['join'](_0x2c34a3,_0x24b272,util[_0xf09c('0x18')](_0xf09c('0x2c'),_0x24b272,_0x4aff38,_0xf09c('0x2d')));}else{_0x4a03e8=path[_0xf09c('0x1e')](_0x2c34a3,util[_0xf09c('0x18')](_0xf09c('0x2e'),_0x24b272,_0xf09c('0x2d')));}var _0x37e85d=_0x5b85ce[_0xf09c('0x2f')](fs['createWriteStream'](_0x4a03e8));_0x37e85d['on'](_0xf09c('0x30'),function(){_0xe0093d();});_0x37e85d['on'](_0xf09c('0x31'),function(_0x459fbe){console[_0xf09c('0x32')](_0xf09c('0x33'),_0x459fbe);_0x26a7a0(_0x459fbe);});_0x5b85ce[_0xf09c('0x34')]();});});})['then'](function(){if(_0x44894c){return new BPromise(function(_0x4784b2,_0x46f00c){zipdir(path['join'](_0x2c34a3,_0x24b272),{'saveTo':path[_0xf09c('0x1e')](_0x2c34a3,util[_0xf09c('0x18')](_0xf09c('0x2e'),_0x24b272,_0xf09c('0x35')))},function(_0x3fe804){if(_0x3fe804){_0x46f00c(_0x3fe804);}else{_0x4784b2();}});});}})[_0xf09c('0x15')](function(){if(_0x44894c){rimraf(path['join'](_0x2c34a3,_0x24b272),function(){});}})[_0xf09c('0x15')](function(){logger[_0xf09c('0x36')](util['format'](_0xf09c('0x37'),EXTRACTED_REPORT_ID,_0xf09c('0x38')));return analyticExtractedReport(_0xf09c('0x39'),_0x44894c?util[_0xf09c('0x18')](_0xf09c('0x2e'),_0x24b272,_0x44894c?_0xf09c('0x35'):_0xf09c('0x2d')):null);});}function main(){logger[_0xf09c('0x36')](util['format'](_0xf09c('0x3a'),EXTRACTED_REPORT_ID,_0xf09c('0x3b')));return db[_0xf09c('0xb')][_0xf09c('0x3c')]({'where':{'id':EXTRACTED_REPORT_ID}})[_0xf09c('0x15')](function(_0x50b69a){_extractedReport=_0x50b69a;return dbH[_0xf09c('0x19')][_0xf09c('0x3d')](util[_0xf09c('0x18')](_0xf09c('0x3e'),QUERY),{'type':dbH[_0xf09c('0x19')]['QueryTypes'][_0xf09c('0x1a')]});})[_0xf09c('0x15')](extractReport)['catch'](function(_0xf44d7a){logger[_0xf09c('0x36')](util[_0xf09c('0x18')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xf09c('0x3b')),util[_0xf09c('0x3f')](_0xf44d7a,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xf09c('0x40'));});}main();