Built motion from commit (unavailable).|2.0.74
[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 _0xe676=['existsSync','join','each','format','Name:\x20%s\x0aReport:\x20%s\x0aFrom:\x20%s\x20To:\x20%s','startDate','endDate','landscape','header','body','hasOwnProperty','toString','content','/fonts/Roboto-Regular.ttf','/fonts/Roboto-MediumItalic.ttf','createPdfKitDocument','%s%d.%s','pdf','%s.%s','pipe','createWriteStream','finish','error','log','err','Completed','zip','findOne','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','Error','lodash','util','path','moment','zip-dir','rimraf','../../mysqldb','dbH','argv','MMMM\x20Do\x20YYYY,\x20h:mm:ss\x20a','savename','AnalyticExtractedReport','update','push','tableHeader','num','Empty','dirname','basename','.pdf','Setting','find','split','splitSizePdf','then','length','%s\x20limit\x20%d\x20OFFSET\x20%d','sequelize','QueryTypes','SELECT','query'];(function(_0x3eba07,_0x35f0eb){var _0x3b4be5=function(_0x44de29){while(--_0x44de29){_0x3eba07['push'](_0x3eba07['shift']());}};_0x3b4be5(++_0x35f0eb);}(_0xe676,0x14f));var _0x6e67=function(_0x486f4a,_0x478dc7){_0x486f4a=_0x486f4a-0x0;var _0x135d99=_0xe676[_0x486f4a];return _0x135d99;};'use strict';var _=require(_0x6e67('0x0'));var fs=require('fs');var BPromise=require('bluebird');var util=require(_0x6e67('0x1'));var path=require(_0x6e67('0x2'));var moment=require(_0x6e67('0x3'));var PdfPrinter=require('pdfmake/src/printer');var zipdir=require(_0x6e67('0x4'));var rimraf=require(_0x6e67('0x5'));var db=require(_0x6e67('0x6'))['db'];var dbH=require(_0x6e67('0x6'))[_0x6e67('0x7')];var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x6e67('0x8')][0x3];var PATH=process[_0x6e67('0x8')][0x4];var NAME=process[_0x6e67('0x8')][0x5];var FORMAT=_0x6e67('0x9');var _extractedReport;function analyticExtractedReport(_0x1b252d,_0x3868e0){var _0x1b77db={'status':_0x1b252d};var _0x210439={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3868e0){_0x1b77db[_0x6e67('0xa')]=_0x3868e0;}return db[_0x6e67('0xb')][_0x6e67('0xc')](_0x1b77db,_0x210439);}function getHeader(_0x257864){var _0x1900c9=[];for(var _0x3e1bde in _0x257864){if(_0x257864['hasOwnProperty'](_0x3e1bde)){_0x1900c9[_0x6e67('0xd')]({'text':_0x3e1bde,'style':_0x6e67('0xe')});}}return _0x1900c9;}function extractReport(_0x5dc823){var _0x58274a=0x1388;var _0xebf94;if(!_0x5dc823[0x0][_0x6e67('0xf')]){return analyticExtractedReport(_0x6e67('0x10'));}var _0x30f49c=[];var _0x2431d0=0x0;var _0x30e5dd=!![];var _0xe7e1f7=path[_0x6e67('0x11')](PATH);var _0x30d6c2=path[_0x6e67('0x12')](PATH,_0x6e67('0x13'));var _0x37f28c=![];var _0x578eaf=[];return db[_0x6e67('0x14')][_0x6e67('0x15')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x6e67('0x16'),_0x6e67('0x17')]})['then'](function(_0xc259ad){if(_0xc259ad){_0xebf94=_0xc259ad;_0x58274a=_0xebf94[_0x6e67('0x17')]||0x3e8;}})[_0x6e67('0x18')](function(){if(_0x5dc823&&_0x5dc823[_0x6e67('0x19')]){var _0x330043=_0x5dc823[0x0][_0x6e67('0xf')]%(_0x2431d0+_0x58274a);if(_0xebf94[_0x6e67('0x16')]){for(;_0x30e5dd;_0x2431d0+=_0x58274a,_0x330043=_0x5dc823[0x0][_0x6e67('0xf')]%(_0x2431d0+_0x58274a)){if(_0x330043==0x0||_0x330043==_0x5dc823[0x0][_0x6e67('0xf')]){_0x30e5dd=![];}_0x30f49c[_0x6e67('0xd')](dbH['sequelize']['query'](util['format'](_0x6e67('0x1a'),QUERY,_0x58274a,_0x2431d0),{'type':dbH[_0x6e67('0x1b')][_0x6e67('0x1c')][_0x6e67('0x1d')]}));}}else{_0x30f49c[_0x6e67('0xd')](dbH[_0x6e67('0x1b')][_0x6e67('0x1e')](QUERY,{'type':dbH[_0x6e67('0x1b')][_0x6e67('0x1c')][_0x6e67('0x1d')]}));}}_0x37f28c=_0xebf94[_0x6e67('0x16')]&&_0x30f49c[_0x6e67('0x19')]>0x1;if(!fs[_0x6e67('0x1f')](path[_0x6e67('0x20')](_0xe7e1f7,_0x30d6c2))&&_0x37f28c){fs['mkdirSync'](path[_0x6e67('0x20')](_0xe7e1f7,_0x30d6c2));}return BPromise[_0x6e67('0x21')](_0x30f49c,function(_0x3dbb91){_0x578eaf['push'](_0x3dbb91);});})[_0x6e67('0x18')](function(){return BPromise['each'](_0x30f49c,function(_0x307026,_0x5da658){var _0x14f3eb;var _0x218d95=util[_0x6e67('0x22')](_0x6e67('0x23'),NAME,_extractedReport['name'],moment(_extractedReport[_0x6e67('0x24')])[_0x6e67('0x22')](FORMAT),moment(_extractedReport[_0x6e67('0x25')])[_0x6e67('0x22')](FORMAT));var _0x16efec={'pageSize':'A4','pageOrientation':_0x6e67('0x26'),'content':[{'text':_0x218d95,'style':_0x6e67('0x27')}],'styles':{'header':{'fontSize':0x12,'bold':!![],'margin':[0x0,0x0,0x0,0xa]},'tableHeader':{'bold':!![],'fontSize':0xd,'color':'black'}}};var _0x5e3c28={'headerRows':0x1,'body':[]};_0x5e3c28[_0x6e67('0x28')][_0x6e67('0xd')](getHeader(_0x307026[0x0]));var _0x1486ed;for(var _0x36fe2b=0x0;_0x36fe2b<_0x307026[_0x6e67('0x19')];_0x36fe2b+=0x1){_0x1486ed=[];for(var _0xf6bafe in _0x307026[_0x36fe2b]){if(_0x307026[_0x36fe2b][_0x6e67('0x29')](_0xf6bafe)){_0x1486ed[_0x6e67('0xd')](_0x307026[_0x36fe2b][_0xf6bafe]?_[_0x6e67('0x2a')](_0x307026[_0x36fe2b][_0xf6bafe]):'');}}_0x5e3c28[_0x6e67('0x28')][_0x6e67('0xd')](_0x1486ed);}_0x16efec[_0x6e67('0x2b')]['push']({'table':_0x5e3c28});return new BPromise(function(_0x28447f,_0x1941db){var _0x2c805d=new PdfPrinter({'Roboto':{'normal':__dirname+_0x6e67('0x2c'),'bold':__dirname+'/fonts/Roboto-Medium.ttf','italics':__dirname+'/fonts/Roboto-Italic.ttf','bolditalics':__dirname+_0x6e67('0x2d')}});var _0x59c641=_0x2c805d[_0x6e67('0x2e')](_0x16efec);if(_0x37f28c){_0x14f3eb=path[_0x6e67('0x20')](_0xe7e1f7,_0x30d6c2,util[_0x6e67('0x22')](_0x6e67('0x2f'),_0x30d6c2,_0x5da658,_0x6e67('0x30')));}else{_0x14f3eb=path['join'](_0xe7e1f7,util[_0x6e67('0x22')](_0x6e67('0x31'),_0x30d6c2,'pdf'));}var _0x3af6c4=_0x59c641[_0x6e67('0x32')](fs[_0x6e67('0x33')](_0x14f3eb));_0x3af6c4['on'](_0x6e67('0x34'),function(){_0x28447f();});_0x3af6c4['on'](_0x6e67('0x35'),function(_0x51c7aa){console[_0x6e67('0x36')](_0x6e67('0x37'),_0x51c7aa);_0x1941db(_0x51c7aa);});_0x59c641['end']();});});})[_0x6e67('0x18')](function(){if(_0x37f28c){return new BPromise(function(_0x2306d3,_0xf295a0){zipdir(path['join'](_0xe7e1f7,_0x30d6c2),{'saveTo':path[_0x6e67('0x20')](_0xe7e1f7,util[_0x6e67('0x22')](_0x6e67('0x31'),_0x30d6c2,'zip'))},function(_0x3f6f7f){if(_0x3f6f7f){_0xf295a0(_0x3f6f7f);}else{_0x2306d3();}});});}})[_0x6e67('0x18')](function(){if(_0x37f28c){rimraf(path[_0x6e67('0x20')](_0xe7e1f7,_0x30d6c2),function(){});}})[_0x6e67('0x18')](function(){return analyticExtractedReport(_0x6e67('0x38'),_0x37f28c?util['format'](_0x6e67('0x31'),_0x30d6c2,_0x37f28c?_0x6e67('0x39'):_0x6e67('0x30')):null);});}function main(){return db[_0x6e67('0xb')][_0x6e67('0x3a')]({'where':{'id':EXTRACTED_REPORT_ID}})[_0x6e67('0x18')](function(_0x27cd21){_extractedReport=_0x27cd21;return dbH[_0x6e67('0x1b')][_0x6e67('0x1e')](util[_0x6e67('0x22')](_0x6e67('0x3b'),QUERY),{'type':dbH[_0x6e67('0x1b')]['QueryTypes'][_0x6e67('0x1d')]});})[_0x6e67('0x18')](extractReport)['catch'](function(_0x4e48d2){console[_0x6e67('0x35')](_0x4e48d2);return analyticExtractedReport(_0x6e67('0x3c'));});}main();