Built motion from commit (unavailable).|2.3.4
[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 _0xbdf4=['Empty','basename','.pdf','find','split','splitSizePdf','then','length','push','sequelize','query','format','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','SELECT','existsSync','join','mkdirSync','each','Name:\x20%s\x0aReport:\x20%s\x0aFrom:\x20%s\x20To:\x20%s','name','startDate','landscape','header','black','body','hasOwnProperty','toString','content','/fonts/Roboto-Regular.ttf','/fonts/Roboto-Medium.ttf','/fonts/Roboto-Italic.ttf','%s%d.%s','pdf','%s.%s','pipe','createWriteStream','error','log','end','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','PDF','findOne','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','inspect','Failed','lodash','util','path','moment','pdfmake/src/printer','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','MMMM\x20Do\x20YYYY,\x20h:mm:ss\x20a','savename','AnalyticExtractedReport','tableHeader','num'];(function(_0x40e7cf,_0x387cce){var _0x4ed4d7=function(_0x309ac6){while(--_0x309ac6){_0x40e7cf['push'](_0x40e7cf['shift']());}};_0x4ed4d7(++_0x387cce);}(_0xbdf4,0xf7));var _0x4bdf=function(_0x231e16,_0x67347b){_0x231e16=_0x231e16-0x0;var _0x570a7c=_0xbdf4[_0x231e16];return _0x570a7c;};'use strict';var _=require(_0x4bdf('0x0'));var fs=require('fs');var BPromise=require('bluebird');var util=require(_0x4bdf('0x1'));var path=require(_0x4bdf('0x2'));var moment=require(_0x4bdf('0x3'));var PdfPrinter=require(_0x4bdf('0x4'));var zipdir=require(_0x4bdf('0x5'));var rimraf=require(_0x4bdf('0x6'));var db=require(_0x4bdf('0x7'))['db'];var dbH=require(_0x4bdf('0x7'))[_0x4bdf('0x8')];var logger=require(_0x4bdf('0x9'))(_0x4bdf('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x4bdf('0xb')][0x2]);var QUERY=process[_0x4bdf('0xb')][0x3];var PATH=process[_0x4bdf('0xb')][0x4];var NAME=process[_0x4bdf('0xb')][0x5];var FORMAT=_0x4bdf('0xc');var _extractedReport;function analyticExtractedReport(_0x3d4ba5,_0x1526e9){var _0x45406c={'status':_0x3d4ba5};var _0x236eeb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1526e9){_0x45406c[_0x4bdf('0xd')]=_0x1526e9;}return db[_0x4bdf('0xe')]['update'](_0x45406c,_0x236eeb);}function getHeader(_0x2333e1){var _0x3a8ad4=[];for(var _0x451a98 in _0x2333e1){if(_0x2333e1['hasOwnProperty'](_0x451a98)){_0x3a8ad4['push']({'text':_0x451a98,'style':_0x4bdf('0xf')});}}return _0x3a8ad4;}function extractReport(_0x4906eb){var _0x12333a=0x1388;var _0x31aa34;if(!_0x4906eb[0x0][_0x4bdf('0x10')]){return analyticExtractedReport(_0x4bdf('0x11'));}var _0x5338cc=[];var _0x1f303f=0x0;var _0x39b3c7=!![];var _0x442f0e=path['dirname'](PATH);var _0x43cfb4=path[_0x4bdf('0x12')](PATH,_0x4bdf('0x13'));var _0x495a40=![];var _0xac5fbf=[];return db['Setting'][_0x4bdf('0x14')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x4bdf('0x15'),_0x4bdf('0x16')]})[_0x4bdf('0x17')](function(_0x1544f0){if(_0x1544f0){_0x31aa34=_0x1544f0;_0x12333a=_0x31aa34[_0x4bdf('0x16')]||0x3e8;}})[_0x4bdf('0x17')](function(){if(_0x4906eb&&_0x4906eb[_0x4bdf('0x18')]){var _0x3f2562=_0x4906eb[0x0]['num']%(_0x1f303f+_0x12333a);if(_0x31aa34[_0x4bdf('0x15')]){for(;_0x39b3c7;_0x1f303f+=_0x12333a,_0x3f2562=_0x4906eb[0x0]['num']%(_0x1f303f+_0x12333a)){if(_0x3f2562==0x0||_0x3f2562==_0x4906eb[0x0][_0x4bdf('0x10')]){_0x39b3c7=![];}_0x5338cc[_0x4bdf('0x19')](dbH[_0x4bdf('0x1a')][_0x4bdf('0x1b')](util[_0x4bdf('0x1c')](_0x4bdf('0x1d'),QUERY,_0x12333a,_0x1f303f),{'type':dbH[_0x4bdf('0x1a')]['QueryTypes']['SELECT']}));}}else{_0x5338cc[_0x4bdf('0x19')](dbH['sequelize'][_0x4bdf('0x1b')](QUERY,{'type':dbH[_0x4bdf('0x1a')][_0x4bdf('0x1e')][_0x4bdf('0x1f')]}));}}_0x495a40=_0x31aa34[_0x4bdf('0x15')]&&_0x5338cc[_0x4bdf('0x18')]>0x1;if(!fs[_0x4bdf('0x20')](path[_0x4bdf('0x21')](_0x442f0e,_0x43cfb4))&&_0x495a40){fs[_0x4bdf('0x22')](path[_0x4bdf('0x21')](_0x442f0e,_0x43cfb4));}return BPromise['each'](_0x5338cc,function(_0x1f81fe){_0xac5fbf['push'](_0x1f81fe);});})['then'](function(){return BPromise[_0x4bdf('0x23')](_0x5338cc,function(_0x402e0a,_0x1997b5){var _0x363b1f;var _0x43dbef=util[_0x4bdf('0x1c')](_0x4bdf('0x24'),NAME,_extractedReport[_0x4bdf('0x25')],moment(_extractedReport[_0x4bdf('0x26')])[_0x4bdf('0x1c')](FORMAT),moment(_extractedReport['endDate'])[_0x4bdf('0x1c')](FORMAT));var _0x1e728b={'pageSize':'A4','pageOrientation':_0x4bdf('0x27'),'content':[{'text':_0x43dbef,'style':_0x4bdf('0x28')}],'styles':{'header':{'fontSize':0x12,'bold':!![],'margin':[0x0,0x0,0x0,0xa]},'tableHeader':{'bold':!![],'fontSize':0xd,'color':_0x4bdf('0x29')}}};var _0x2f9876={'headerRows':0x1,'body':[]};_0x2f9876[_0x4bdf('0x2a')][_0x4bdf('0x19')](getHeader(_0x402e0a[0x0]));var _0x40a81d;for(var _0xfa68cb=0x0;_0xfa68cb<_0x402e0a['length'];_0xfa68cb+=0x1){_0x40a81d=[];for(var _0x527b9d in _0x402e0a[_0xfa68cb]){if(_0x402e0a[_0xfa68cb][_0x4bdf('0x2b')](_0x527b9d)){_0x40a81d[_0x4bdf('0x19')](_0x402e0a[_0xfa68cb][_0x527b9d]?_[_0x4bdf('0x2c')](_0x402e0a[_0xfa68cb][_0x527b9d]):'');}}_0x2f9876[_0x4bdf('0x2a')][_0x4bdf('0x19')](_0x40a81d);}_0x1e728b[_0x4bdf('0x2d')][_0x4bdf('0x19')]({'table':_0x2f9876});return new BPromise(function(_0x5cdfd9,_0x56493f){var _0x35bf5=new PdfPrinter({'Roboto':{'normal':__dirname+_0x4bdf('0x2e'),'bold':__dirname+_0x4bdf('0x2f'),'italics':__dirname+_0x4bdf('0x30'),'bolditalics':__dirname+'/fonts/Roboto-MediumItalic.ttf'}});var _0x13600c=_0x35bf5['createPdfKitDocument'](_0x1e728b);if(_0x495a40){_0x363b1f=path[_0x4bdf('0x21')](_0x442f0e,_0x43cfb4,util[_0x4bdf('0x1c')](_0x4bdf('0x31'),_0x43cfb4,_0x1997b5,_0x4bdf('0x32')));}else{_0x363b1f=path[_0x4bdf('0x21')](_0x442f0e,util[_0x4bdf('0x1c')](_0x4bdf('0x33'),_0x43cfb4,_0x4bdf('0x32')));}var _0x2d4eb5=_0x13600c[_0x4bdf('0x34')](fs[_0x4bdf('0x35')](_0x363b1f));_0x2d4eb5['on']('finish',function(){_0x5cdfd9();});_0x2d4eb5['on'](_0x4bdf('0x36'),function(_0x17edc6){console[_0x4bdf('0x37')]('err',_0x17edc6);_0x56493f(_0x17edc6);});_0x13600c[_0x4bdf('0x38')]();});});})[_0x4bdf('0x17')](function(){if(_0x495a40){return new BPromise(function(_0xce6b6b,_0x43b1c0){zipdir(path[_0x4bdf('0x21')](_0x442f0e,_0x43cfb4),{'saveTo':path[_0x4bdf('0x21')](_0x442f0e,util[_0x4bdf('0x1c')](_0x4bdf('0x33'),_0x43cfb4,'zip'))},function(_0x4f25d2){if(_0x4f25d2){_0x43b1c0(_0x4f25d2);}else{_0xce6b6b();}});});}})[_0x4bdf('0x17')](function(){if(_0x495a40){rimraf(path['join'](_0x442f0e,_0x43cfb4),function(){});}})['then'](function(){logger[_0x4bdf('0x39')](util[_0x4bdf('0x1c')](_0x4bdf('0x3a'),EXTRACTED_REPORT_ID,_0x4bdf('0x3b')));return analyticExtractedReport('Completed',_0x495a40?util[_0x4bdf('0x1c')](_0x4bdf('0x33'),_0x43cfb4,_0x495a40?'zip':_0x4bdf('0x32')):null);});}function main(){logger[_0x4bdf('0x39')](util[_0x4bdf('0x1c')](_0x4bdf('0x3c'),EXTRACTED_REPORT_ID,_0x4bdf('0x3d')));return db[_0x4bdf('0xe')][_0x4bdf('0x3e')]({'where':{'id':EXTRACTED_REPORT_ID}})[_0x4bdf('0x17')](function(_0x2975b5){_extractedReport=_0x2975b5;return dbH[_0x4bdf('0x1a')][_0x4bdf('0x1b')](util[_0x4bdf('0x1c')](_0x4bdf('0x3f'),QUERY),{'type':dbH[_0x4bdf('0x1a')]['QueryTypes']['SELECT']});})[_0x4bdf('0x17')](extractReport)['catch'](function(_0x5de30f){logger[_0x4bdf('0x39')](util[_0x4bdf('0x1c')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x4bdf('0x3d')),util[_0x4bdf('0x40')](_0x5de30f,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x4bdf('0x41'));});}main();