Built motion from commit (unavailable).|2.4.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 _0xdfbd=['endDate','landscape','header','black','toString','body','content','/fonts/Roboto-Medium.ttf','/fonts/Roboto-Italic.ttf','createPdfKitDocument','%s%d.%s','pdf','createWriteStream','error','log','err','end','%s.%s','zip','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','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','catch','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','lodash','bluebird','util','moment','pdfmake/src/printer','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','hasOwnProperty','push','num','basename','.pdf','Setting','find','splitSizePdf','then','length','split','sequelize','QueryTypes','SELECT','existsSync','join','mkdirSync','each','format','startDate'];(function(_0x542e84,_0x2cbc4f){var _0x528afe=function(_0x531c34){while(--_0x531c34){_0x542e84['push'](_0x542e84['shift']());}};_0x528afe(++_0x2cbc4f);}(_0xdfbd,0x1e6));var _0xddfb=function(_0x5668a3,_0x310b28){_0x5668a3=_0x5668a3-0x0;var _0x134627=_0xdfbd[_0x5668a3];return _0x134627;};'use strict';var _=require(_0xddfb('0x0'));var fs=require('fs');var BPromise=require(_0xddfb('0x1'));var util=require(_0xddfb('0x2'));var path=require('path');var moment=require(_0xddfb('0x3'));var PdfPrinter=require(_0xddfb('0x4'));var zipdir=require(_0xddfb('0x5'));var rimraf=require(_0xddfb('0x6'));var db=require(_0xddfb('0x7'))['db'];var dbH=require(_0xddfb('0x7'))[_0xddfb('0x8')];var logger=require(_0xddfb('0x9'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0xddfb('0xa')][0x2]);var QUERY=process[_0xddfb('0xa')][0x3];var PATH=process['argv'][0x4];var NAME=process[_0xddfb('0xa')][0x5];var FORMAT='MMMM\x20Do\x20YYYY,\x20h:mm:ss\x20a';var _extractedReport;function analyticExtractedReport(_0x47e7a4,_0x23f168){var _0x1b4d7f={'status':_0x47e7a4};var _0x228bed={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x23f168){_0x1b4d7f[_0xddfb('0xb')]=_0x23f168;}return db[_0xddfb('0xc')][_0xddfb('0xd')](_0x1b4d7f,_0x228bed);}function getHeader(_0x593919){var _0x3a3ba9=[];for(var _0x3c4f56 in _0x593919){if(_0x593919[_0xddfb('0xe')](_0x3c4f56)){_0x3a3ba9[_0xddfb('0xf')]({'text':_0x3c4f56,'style':'tableHeader'});}}return _0x3a3ba9;}function extractReport(_0x40dc76){var _0x3fec5d=0x1388;var _0x114a05;if(!_0x40dc76[0x0][_0xddfb('0x10')]){return analyticExtractedReport('Empty');}var _0x1c5e96=[];var _0x322f53=0x0;var _0x195cb9=!![];var _0x2c8026=path['dirname'](PATH);var _0x4e7c27=path[_0xddfb('0x11')](PATH,_0xddfb('0x12'));var _0x12ae5f=![];var _0x25a6ed=[];return db[_0xddfb('0x13')][_0xddfb('0x14')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xddfb('0x15')]})[_0xddfb('0x16')](function(_0x2b7d97){if(_0x2b7d97){_0x114a05=_0x2b7d97;_0x3fec5d=_0x114a05['splitSizePdf']||0x3e8;}})[_0xddfb('0x16')](function(){if(_0x40dc76&&_0x40dc76[_0xddfb('0x17')]){var _0x36d4cc=_0x40dc76[0x0][_0xddfb('0x10')]%(_0x322f53+_0x3fec5d);if(_0x114a05[_0xddfb('0x18')]){for(;_0x195cb9;_0x322f53+=_0x3fec5d,_0x36d4cc=_0x40dc76[0x0][_0xddfb('0x10')]%(_0x322f53+_0x3fec5d)){if(_0x36d4cc==0x0||_0x36d4cc==_0x40dc76[0x0][_0xddfb('0x10')]){_0x195cb9=![];}_0x1c5e96['push'](dbH[_0xddfb('0x19')]['query'](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x3fec5d,_0x322f53),{'type':dbH[_0xddfb('0x19')][_0xddfb('0x1a')][_0xddfb('0x1b')]}));}}else{_0x1c5e96['push'](dbH[_0xddfb('0x19')]['query'](QUERY,{'type':dbH[_0xddfb('0x19')][_0xddfb('0x1a')]['SELECT']}));}}_0x12ae5f=_0x114a05[_0xddfb('0x18')]&&_0x1c5e96[_0xddfb('0x17')]>0x1;if(!fs[_0xddfb('0x1c')](path[_0xddfb('0x1d')](_0x2c8026,_0x4e7c27))&&_0x12ae5f){fs[_0xddfb('0x1e')](path[_0xddfb('0x1d')](_0x2c8026,_0x4e7c27));}return BPromise[_0xddfb('0x1f')](_0x1c5e96,function(_0x40f07c){_0x25a6ed[_0xddfb('0xf')](_0x40f07c);});})[_0xddfb('0x16')](function(){return BPromise[_0xddfb('0x1f')](_0x1c5e96,function(_0x59e45a,_0x29b94c){var _0x47cadc;var _0x1033ae=util[_0xddfb('0x20')]('Name:\x20%s\x0aReport:\x20%s\x0aFrom:\x20%s\x20To:\x20%s',NAME,_extractedReport['name'],moment(_extractedReport[_0xddfb('0x21')])[_0xddfb('0x20')](FORMAT),moment(_extractedReport[_0xddfb('0x22')])[_0xddfb('0x20')](FORMAT));var _0x4672a0={'pageSize':'A4','pageOrientation':_0xddfb('0x23'),'content':[{'text':_0x1033ae,'style':_0xddfb('0x24')}],'styles':{'header':{'fontSize':0x12,'bold':!![],'margin':[0x0,0x0,0x0,0xa]},'tableHeader':{'bold':!![],'fontSize':0xd,'color':_0xddfb('0x25')}}};var _0x4982db={'headerRows':0x1,'body':[]};_0x4982db['body']['push'](getHeader(_0x59e45a[0x0]));var _0x15d094;for(var _0x4048cc=0x0;_0x4048cc<_0x59e45a[_0xddfb('0x17')];_0x4048cc+=0x1){_0x15d094=[];for(var _0xf28a8d in _0x59e45a[_0x4048cc]){if(_0x59e45a[_0x4048cc][_0xddfb('0xe')](_0xf28a8d)){_0x15d094[_0xddfb('0xf')](_0x59e45a[_0x4048cc][_0xf28a8d]?_[_0xddfb('0x26')](_0x59e45a[_0x4048cc][_0xf28a8d]):'');}}_0x4982db[_0xddfb('0x27')][_0xddfb('0xf')](_0x15d094);}_0x4672a0[_0xddfb('0x28')]['push']({'table':_0x4982db});return new BPromise(function(_0x54d6a0,_0x499a61){var _0x5e0b01=new PdfPrinter({'Roboto':{'normal':__dirname+'/fonts/Roboto-Regular.ttf','bold':__dirname+_0xddfb('0x29'),'italics':__dirname+_0xddfb('0x2a'),'bolditalics':__dirname+'/fonts/Roboto-MediumItalic.ttf'}});var _0x268903=_0x5e0b01[_0xddfb('0x2b')](_0x4672a0);if(_0x12ae5f){_0x47cadc=path['join'](_0x2c8026,_0x4e7c27,util[_0xddfb('0x20')](_0xddfb('0x2c'),_0x4e7c27,_0x29b94c,_0xddfb('0x2d')));}else{_0x47cadc=path['join'](_0x2c8026,util[_0xddfb('0x20')]('%s.%s',_0x4e7c27,_0xddfb('0x2d')));}var _0x478c0b=_0x268903['pipe'](fs[_0xddfb('0x2e')](_0x47cadc));_0x478c0b['on']('finish',function(){_0x54d6a0();});_0x478c0b['on'](_0xddfb('0x2f'),function(_0x241055){console[_0xddfb('0x30')](_0xddfb('0x31'),_0x241055);_0x499a61(_0x241055);});_0x268903[_0xddfb('0x32')]();});});})['then'](function(){if(_0x12ae5f){return new BPromise(function(_0x46f172,_0x31184a){zipdir(path[_0xddfb('0x1d')](_0x2c8026,_0x4e7c27),{'saveTo':path[_0xddfb('0x1d')](_0x2c8026,util[_0xddfb('0x20')](_0xddfb('0x33'),_0x4e7c27,_0xddfb('0x34')))},function(_0x49a35a){if(_0x49a35a){_0x31184a(_0x49a35a);}else{_0x46f172();}});});}})[_0xddfb('0x16')](function(){if(_0x12ae5f){rimraf(path[_0xddfb('0x1d')](_0x2c8026,_0x4e7c27),function(){});}})[_0xddfb('0x16')](function(){logger['info'](util['format'](_0xddfb('0x35'),EXTRACTED_REPORT_ID,_0xddfb('0x36')));return analyticExtractedReport('Completed',_0x12ae5f?util[_0xddfb('0x20')](_0xddfb('0x33'),_0x4e7c27,_0x12ae5f?_0xddfb('0x34'):_0xddfb('0x2d')):null);});}function main(){logger['info'](util[_0xddfb('0x20')](_0xddfb('0x37'),EXTRACTED_REPORT_ID,_0xddfb('0x38')));return db[_0xddfb('0xc')][_0xddfb('0x39')]({'where':{'id':EXTRACTED_REPORT_ID}})[_0xddfb('0x16')](function(_0x220084){_extractedReport=_0x220084;return dbH['sequelize'][_0xddfb('0x3a')](util[_0xddfb('0x20')](_0xddfb('0x3b'),QUERY),{'type':dbH[_0xddfb('0x19')][_0xddfb('0x1a')][_0xddfb('0x1b')]});})['then'](extractReport)[_0xddfb('0x3c')](function(_0x3cac76){logger[_0xddfb('0x3d')](util[_0xddfb('0x20')](_0xddfb('0x3e'),EXTRACTED_REPORT_ID,'PDF'),util[_0xddfb('0x3f')](_0x3cac76,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xddfb('0x40'));});}main();