Built motion from commit (unavailable).|2.5.15
[motion2.git] / server / components / export / xlsx.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 _0xa613=['lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','find','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','num','split','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','SELECT','dirname','basename','.xlsx','existsSync','join','%s%d.%s','xlsx','%s.%s','binary','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','path'];(function(_0x5305dc,_0x3a0acc){var _0x47b203=function(_0x53f023){while(--_0x53f023){_0x5305dc['push'](_0x5305dc['shift']());}};_0x47b203(++_0x3a0acc);}(_0xa613,0x18b));var _0x3a61=function(_0x36641f,_0x1de996){_0x36641f=_0x36641f-0x0;var _0x264197=_0xa613[_0x36641f];return _0x264197;};'use strict';var util=require('util');var path=require(_0x3a61('0x0'));var _=require(_0x3a61('0x1'));var fs=require('fs');var json2xls=require('json2xls');var BPromise=require(_0x3a61('0x2'));var zipdir=require(_0x3a61('0x3'));var rimraf=require(_0x3a61('0x4'));var db=require(_0x3a61('0x5'))['db'];var dbH=require(_0x3a61('0x5'))[_0x3a61('0x6')];var logger=require(_0x3a61('0x7'))(_0x3a61('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x3a61('0x9')][0x3];var PATH=process[_0x3a61('0x9')][0x4];function analyticExtractedReport(_0x3ccaf8,_0x56c4a5){var _0x149a77={'status':_0x3ccaf8};var _0x459882={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x56c4a5){_0x149a77['savename']=_0x56c4a5;}return db['AnalyticExtractedReport'][_0x3a61('0xa')](_0x149a77,_0x459882);}function main(){var _0x37516e=0x1388;var _0x421e82;logger[_0x3a61('0xb')](util[_0x3a61('0xc')](_0x3a61('0xd'),EXTRACTED_REPORT_ID,_0x3a61('0xe')));return db['Setting'][_0x3a61('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x3a61('0x10')]})[_0x3a61('0x11')](function(_0x42fdba){if(_0x42fdba){_0x421e82=_0x42fdba;_0x37516e=_0x421e82[_0x3a61('0x10')]||0x1388;}})['then'](function(){return dbH[_0x3a61('0x12')][_0x3a61('0x13')](util[_0x3a61('0xc')](_0x3a61('0x14'),QUERY),{'type':dbH['sequelize']['QueryTypes']['SELECT']});})[_0x3a61('0x11')](function(_0xac3fa5){if(!_0xac3fa5[0x0][_0x3a61('0x15')]){return analyticExtractedReport('Empty');}var _0x1f6fcb=[];var _0xb604e0=0x0;var _0x1f34f2=!![];if(_0x421e82[_0x3a61('0x16')]){if(_0xac3fa5&&_0xac3fa5[_0x3a61('0x17')]){var _0x34f511=_0xac3fa5[0x0][_0x3a61('0x15')]%(_0xb604e0+_0x37516e);for(;_0x1f34f2;_0xb604e0+=_0x37516e,_0x34f511=_0xac3fa5[0x0][_0x3a61('0x15')]%(_0xb604e0+_0x37516e)){if(_0x34f511==0x0||_0x34f511==_0xac3fa5[0x0][_0x3a61('0x15')]){_0x1f34f2=![];}_0x1f6fcb[_0x3a61('0x18')](dbH[_0x3a61('0x12')][_0x3a61('0x13')](util['format'](_0x3a61('0x19'),QUERY,_0x37516e,_0xb604e0),{'type':dbH['sequelize'][_0x3a61('0x1a')][_0x3a61('0x1b')]}));}}}else{_0x1f6fcb[_0x3a61('0x18')](dbH[_0x3a61('0x12')][_0x3a61('0x13')](QUERY,{'type':dbH[_0x3a61('0x12')]['QueryTypes']['SELECT']}));}var _0x2d9e1e=path[_0x3a61('0x1c')](PATH);var _0x33278b=path[_0x3a61('0x1d')](PATH,_0x3a61('0x1e'));var _0x3cd39d=_0x421e82['split']&&_0x1f6fcb[_0x3a61('0x17')]>0x1;var _0x4d50ae=[];if(!fs[_0x3a61('0x1f')](path['join'](_0x2d9e1e,_0x33278b))&&_0x3cd39d){fs['mkdirSync'](path[_0x3a61('0x20')](_0x2d9e1e,_0x33278b));}return BPromise['each'](_0x1f6fcb,function(_0x161551){_0x4d50ae[_0x3a61('0x18')](_0x161551);})[_0x3a61('0x11')](function(){for(var _0x4ad106=0x0;_0x4ad106<_0x4d50ae['length'];_0x4ad106+=0x1){var _0x4d3fff;var _0x5841bd=_0x4d50ae[_0x4ad106];if(_0x3cd39d){_0x4d3fff=path['join'](_0x2d9e1e,_0x33278b,util['format'](_0x3a61('0x21'),_0x33278b,_0x4ad106,_0x3a61('0x22')));}else{_0x4d3fff=path[_0x3a61('0x20')](_0x2d9e1e,util[_0x3a61('0xc')](_0x3a61('0x23'),_0x33278b,_0x3a61('0x22')));}fs['writeFileSync'](_0x4d3fff,json2xls(_0x5841bd),_0x3a61('0x24'));}})[_0x3a61('0x11')](function(){if(_0x3cd39d){zipdir(path[_0x3a61('0x20')](_0x2d9e1e,_0x33278b),{'saveTo':path[_0x3a61('0x20')](_0x2d9e1e,util[_0x3a61('0xc')](_0x3a61('0x23'),_0x33278b,'zip'))},function(_0x4af9cc,_0x26053d){});rimraf(path[_0x3a61('0x20')](_0x2d9e1e,_0x33278b),function(){});}})[_0x3a61('0x11')](function(){logger[_0x3a61('0xb')](util[_0x3a61('0xc')](_0x3a61('0x25'),EXTRACTED_REPORT_ID,_0x3a61('0xe')));return analyticExtractedReport(_0x3a61('0x26'),_0x3cd39d?util[_0x3a61('0xc')](_0x3a61('0x23'),_0x33278b,_0x3cd39d?_0x3a61('0x27'):_0x3a61('0x22')):null);});})[_0x3a61('0x28')](function(_0x290392){logger['info'](util['format'](_0x3a61('0x29'),EXTRACTED_REPORT_ID,_0x3a61('0xe')),util[_0x3a61('0x2a')](_0x290392,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x3a61('0x2b'));});}main();