Built motion from commit (unavailable).|2.5.26
[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 _0x6c11=['query','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','existsSync','mkdirSync','join','each','format','Name:\x20%s\x0aReport:\x20%s\x0aFrom:\x20%s\x20To:\x20%s','startDate','endDate','landscape','header','Arial','body','toString','content','/fonts/arial-regular.ttf','/fonts/arial-bold.ttf','/fonts/arial-italic.ttf','/fonts/arial-bold-italic.ttf','%s%d.%s','pdf','%s.%s','pipe','createWriteStream','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','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','PDF','inspect','lodash','bluebird','util','path','pdfmake/src/printer','zip-dir','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','hasOwnProperty','push','tableHeader','dirname','basename','.pdf','Setting','find','split','splitSizePdf','then','length','num','sequelize'];(function(_0x30ba85,_0x503490){var _0x58b533=function(_0x131acf){while(--_0x131acf){_0x30ba85['push'](_0x30ba85['shift']());}};_0x58b533(++_0x503490);}(_0x6c11,0xf5));var _0x16c1=function(_0xc73a34,_0xc7b9c7){_0xc73a34=_0xc73a34-0x0;var _0x285d38=_0x6c11[_0xc73a34];return _0x285d38;};'use strict';var _=require(_0x16c1('0x0'));var fs=require('fs');var BPromise=require(_0x16c1('0x1'));var util=require(_0x16c1('0x2'));var path=require(_0x16c1('0x3'));var moment=require('moment');var PdfPrinter=require(_0x16c1('0x4'));var zipdir=require(_0x16c1('0x5'));var rimraf=require('rimraf');var db=require(_0x16c1('0x6'))['db'];var dbH=require(_0x16c1('0x6'))[_0x16c1('0x7')];var logger=require(_0x16c1('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x16c1('0x9')][0x2]);var QUERY=process[_0x16c1('0x9')][0x3];var PATH=process[_0x16c1('0x9')][0x4];var NAME=process[_0x16c1('0x9')][0x5];var FORMAT='MMMM\x20Do\x20YYYY,\x20h:mm:ss\x20a';var _extractedReport;function analyticExtractedReport(_0xfd2a12,_0x351b8d){var _0x15b3c9={'status':_0xfd2a12};var _0x3a2cd8={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x351b8d){_0x15b3c9[_0x16c1('0xa')]=_0x351b8d;}return db[_0x16c1('0xb')][_0x16c1('0xc')](_0x15b3c9,_0x3a2cd8);}function getHeader(_0x58576b){var _0x47280a=[];for(var _0xd922a6 in _0x58576b){if(_0x58576b[_0x16c1('0xd')](_0xd922a6)){_0x47280a[_0x16c1('0xe')]({'text':_0xd922a6,'style':_0x16c1('0xf')});}}return _0x47280a;}function extractReport(_0x173484){var _0x35f97b=0x1388;var _0x28428d;if(!_0x173484[0x0]['num']){return analyticExtractedReport('Empty');}var _0x4aa738=[];var _0x4917a0=0x0;var _0x48c094=!![];var _0x46f05b=path[_0x16c1('0x10')](PATH);var _0x48a2ab=path[_0x16c1('0x11')](PATH,_0x16c1('0x12'));var _0x26d2d1=![];var _0x361cc1=[];return db[_0x16c1('0x13')][_0x16c1('0x14')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x16c1('0x15'),_0x16c1('0x16')]})[_0x16c1('0x17')](function(_0x272806){if(_0x272806){_0x28428d=_0x272806;_0x35f97b=_0x28428d[_0x16c1('0x16')]||0x3e8;}})[_0x16c1('0x17')](function(){if(_0x173484&&_0x173484[_0x16c1('0x18')]){var _0x39cfde=_0x173484[0x0]['num']%(_0x4917a0+_0x35f97b);if(_0x28428d[_0x16c1('0x15')]){for(;_0x48c094;_0x4917a0+=_0x35f97b,_0x39cfde=_0x173484[0x0][_0x16c1('0x19')]%(_0x4917a0+_0x35f97b)){if(_0x39cfde==0x0||_0x39cfde==_0x173484[0x0]['num']){_0x48c094=![];}_0x4aa738[_0x16c1('0xe')](dbH[_0x16c1('0x1a')][_0x16c1('0x1b')](util['format'](_0x16c1('0x1c'),QUERY,_0x35f97b,_0x4917a0),{'type':dbH[_0x16c1('0x1a')]['QueryTypes']['SELECT']}));}}else{_0x4aa738['push'](dbH[_0x16c1('0x1a')][_0x16c1('0x1b')](QUERY,{'type':dbH[_0x16c1('0x1a')][_0x16c1('0x1d')]['SELECT']}));}}_0x26d2d1=_0x28428d[_0x16c1('0x15')]&&_0x4aa738[_0x16c1('0x18')]>0x1;if(!fs[_0x16c1('0x1e')](path['join'](_0x46f05b,_0x48a2ab))&&_0x26d2d1){fs[_0x16c1('0x1f')](path[_0x16c1('0x20')](_0x46f05b,_0x48a2ab));}return BPromise['each'](_0x4aa738,function(_0x37c140){_0x361cc1[_0x16c1('0xe')](_0x37c140);});})['then'](function(){return BPromise[_0x16c1('0x21')](_0x4aa738,function(_0x4f8b3d,_0x3d498c){var _0x39189e;var _0x47ae86=util[_0x16c1('0x22')](_0x16c1('0x23'),NAME,_extractedReport['name'],moment(_extractedReport[_0x16c1('0x24')])[_0x16c1('0x22')](FORMAT),moment(_extractedReport[_0x16c1('0x25')])[_0x16c1('0x22')](FORMAT));var _0x233be8={'pageSize':'A4','pageOrientation':_0x16c1('0x26'),'content':[{'text':_0x47ae86,'style':_0x16c1('0x27')}],'defaultStyle':{'font':_0x16c1('0x28')},'styles':{'header':{'fontSize':0x12,'bold':!![],'margin':[0x0,0x0,0x0,0xa]},'tableHeader':{'bold':!![],'fontSize':0xd,'color':'black'}}};var _0x10ede5={'headerRows':0x1,'body':[]};_0x10ede5[_0x16c1('0x29')][_0x16c1('0xe')](getHeader(_0x4f8b3d[0x0]));var _0x18fa68;for(var _0x5a891e=0x0;_0x5a891e<_0x4f8b3d[_0x16c1('0x18')];_0x5a891e+=0x1){_0x18fa68=[];for(var _0x173c40 in _0x4f8b3d[_0x5a891e]){if(_0x4f8b3d[_0x5a891e][_0x16c1('0xd')](_0x173c40)){_0x18fa68[_0x16c1('0xe')](_0x4f8b3d[_0x5a891e][_0x173c40]?_[_0x16c1('0x2a')](_0x4f8b3d[_0x5a891e][_0x173c40]):'');}}_0x10ede5[_0x16c1('0x29')]['push'](_0x18fa68);}_0x233be8[_0x16c1('0x2b')]['push']({'table':_0x10ede5});return new BPromise(function(_0x5d6ff3,_0x39b981){var _0x771bcf=new PdfPrinter({'Arial':{'normal':__dirname+_0x16c1('0x2c'),'bold':__dirname+_0x16c1('0x2d'),'italics':__dirname+_0x16c1('0x2e'),'bolditalics':__dirname+_0x16c1('0x2f')}});var _0x1e266d=_0x771bcf['createPdfKitDocument'](_0x233be8);if(_0x26d2d1){_0x39189e=path[_0x16c1('0x20')](_0x46f05b,_0x48a2ab,util['format'](_0x16c1('0x30'),_0x48a2ab,_0x3d498c,_0x16c1('0x31')));}else{_0x39189e=path[_0x16c1('0x20')](_0x46f05b,util[_0x16c1('0x22')](_0x16c1('0x32'),_0x48a2ab,'pdf'));}var _0x2fd455=_0x1e266d[_0x16c1('0x33')](fs[_0x16c1('0x34')](_0x39189e));_0x2fd455['on']('finish',function(){_0x5d6ff3();});_0x2fd455['on']('error',function(_0x534d23){console[_0x16c1('0x35')](_0x16c1('0x36'),_0x534d23);_0x39b981(_0x534d23);});_0x1e266d[_0x16c1('0x37')]();});});})[_0x16c1('0x17')](function(){if(_0x26d2d1){return new BPromise(function(_0x3e481c,_0x11a235){zipdir(path[_0x16c1('0x20')](_0x46f05b,_0x48a2ab),{'saveTo':path[_0x16c1('0x20')](_0x46f05b,util[_0x16c1('0x22')](_0x16c1('0x32'),_0x48a2ab,_0x16c1('0x38')))},function(_0x410d19){if(_0x410d19){_0x11a235(_0x410d19);}else{_0x3e481c();}});});}})[_0x16c1('0x17')](function(){if(_0x26d2d1){rimraf(path[_0x16c1('0x20')](_0x46f05b,_0x48a2ab),function(){});}})[_0x16c1('0x17')](function(){logger[_0x16c1('0x39')](util[_0x16c1('0x22')](_0x16c1('0x3a'),EXTRACTED_REPORT_ID,_0x16c1('0x3b')));return analyticExtractedReport(_0x16c1('0x3c'),_0x26d2d1?util['format'](_0x16c1('0x32'),_0x48a2ab,_0x26d2d1?_0x16c1('0x38'):_0x16c1('0x31')):null);});}function main(){logger[_0x16c1('0x39')](util['format'](_0x16c1('0x3d'),EXTRACTED_REPORT_ID,'PDF'));return db[_0x16c1('0xb')]['findOne']({'where':{'id':EXTRACTED_REPORT_ID}})[_0x16c1('0x17')](function(_0x3b6a28){_extractedReport=_0x3b6a28;return dbH['sequelize'][_0x16c1('0x1b')](util['format'](_0x16c1('0x3e'),QUERY),{'type':dbH[_0x16c1('0x1a')]['QueryTypes'][_0x16c1('0x3f')]});})[_0x16c1('0x17')](extractReport)[_0x16c1('0x40')](function(_0x163b32){logger[_0x16c1('0x39')](util[_0x16c1('0x22')](_0x16c1('0x41'),EXTRACTED_REPORT_ID,_0x16c1('0x42')),util[_0x16c1('0x43')](_0x163b32,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();