Built motion from commit (unavailable).|2.5.2
[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 _0xe8fc=['rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','splitSizeXlsx','then','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','length','num','sequelize','%s\x20limit\x20%d\x20OFFSET\x20%d','push','.xlsx','split','join','mkdirSync','%s%d.%s','xlsx','writeFileSync','binary','%s.%s','zip','Completed','catch','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','path','lodash','json2xls','bluebird','zip-dir'];(function(_0x24f1ff,_0x4014c9){var _0x349109=function(_0x253267){while(--_0x253267){_0x24f1ff['push'](_0x24f1ff['shift']());}};_0x349109(++_0x4014c9);}(_0xe8fc,0x144));var _0xce8f=function(_0x121309,_0x3de68a){_0x121309=_0x121309-0x0;var _0x542514=_0xe8fc[_0x121309];return _0x542514;};'use strict';var util=require('util');var path=require(_0xce8f('0x0'));var _=require(_0xce8f('0x1'));var fs=require('fs');var json2xls=require(_0xce8f('0x2'));var BPromise=require(_0xce8f('0x3'));var zipdir=require(_0xce8f('0x4'));var rimraf=require(_0xce8f('0x5'));var db=require(_0xce8f('0x6'))['db'];var dbH=require(_0xce8f('0x6'))[_0xce8f('0x7')];var logger=require(_0xce8f('0x8'))(_0xce8f('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xce8f('0xa')][0x4];function analyticExtractedReport(_0x1d0e4c,_0x31d6e1){var _0x2add4d={'status':_0x1d0e4c};var _0x423fd9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x31d6e1){_0x2add4d[_0xce8f('0xb')]=_0x31d6e1;}return db[_0xce8f('0xc')][_0xce8f('0xd')](_0x2add4d,_0x423fd9);}function main(){var _0xeb06d6=0x1388;var _0xc03bb2;logger['info'](util['format'](_0xce8f('0xe'),EXTRACTED_REPORT_ID,_0xce8f('0xf')));return db[_0xce8f('0x10')][_0xce8f('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xce8f('0x12')]})['then'](function(_0x49c86c){if(_0x49c86c){_0xc03bb2=_0x49c86c;_0xeb06d6=_0xc03bb2[_0xce8f('0x12')]||0x1388;}})[_0xce8f('0x13')](function(){return dbH['sequelize'][_0xce8f('0x14')](util[_0xce8f('0x15')](_0xce8f('0x16'),QUERY),{'type':dbH['sequelize'][_0xce8f('0x17')][_0xce8f('0x18')]});})['then'](function(_0x5ebf39){if(!_0x5ebf39[0x0]['num']){return analyticExtractedReport(_0xce8f('0x19'));}var _0x20a4c9=[];var _0x1d0f83=0x0;var _0x4e81bc=!![];if(_0xc03bb2['split']){if(_0x5ebf39&&_0x5ebf39[_0xce8f('0x1a')]){var _0x47547a=_0x5ebf39[0x0][_0xce8f('0x1b')]%(_0x1d0f83+_0xeb06d6);for(;_0x4e81bc;_0x1d0f83+=_0xeb06d6,_0x47547a=_0x5ebf39[0x0][_0xce8f('0x1b')]%(_0x1d0f83+_0xeb06d6)){if(_0x47547a==0x0||_0x47547a==_0x5ebf39[0x0][_0xce8f('0x1b')]){_0x4e81bc=![];}_0x20a4c9['push'](dbH[_0xce8f('0x1c')]['query'](util[_0xce8f('0x15')](_0xce8f('0x1d'),QUERY,_0xeb06d6,_0x1d0f83),{'type':dbH[_0xce8f('0x1c')]['QueryTypes']['SELECT']}));}}}else{_0x20a4c9[_0xce8f('0x1e')](dbH['sequelize']['query'](QUERY,{'type':dbH[_0xce8f('0x1c')][_0xce8f('0x17')][_0xce8f('0x18')]}));}var _0x3955d7=path['dirname'](PATH);var _0xb48e06=path['basename'](PATH,_0xce8f('0x1f'));var _0x386bc6=_0xc03bb2[_0xce8f('0x20')]&&_0x20a4c9[_0xce8f('0x1a')]>0x1;var _0x1f436b=[];if(!fs['existsSync'](path[_0xce8f('0x21')](_0x3955d7,_0xb48e06))&&_0x386bc6){fs[_0xce8f('0x22')](path['join'](_0x3955d7,_0xb48e06));}return BPromise['each'](_0x20a4c9,function(_0x13db67){_0x1f436b[_0xce8f('0x1e')](_0x13db67);})[_0xce8f('0x13')](function(){for(var _0x4d078f=0x0;_0x4d078f<_0x1f436b[_0xce8f('0x1a')];_0x4d078f+=0x1){var _0x5101d9;var _0x3cea1f=_0x1f436b[_0x4d078f];if(_0x386bc6){_0x5101d9=path[_0xce8f('0x21')](_0x3955d7,_0xb48e06,util[_0xce8f('0x15')](_0xce8f('0x23'),_0xb48e06,_0x4d078f,_0xce8f('0x24')));}else{_0x5101d9=path[_0xce8f('0x21')](_0x3955d7,util[_0xce8f('0x15')]('%s.%s',_0xb48e06,_0xce8f('0x24')));}fs[_0xce8f('0x25')](_0x5101d9,json2xls(_0x3cea1f),_0xce8f('0x26'));}})[_0xce8f('0x13')](function(){if(_0x386bc6){zipdir(path['join'](_0x3955d7,_0xb48e06),{'saveTo':path[_0xce8f('0x21')](_0x3955d7,util['format'](_0xce8f('0x27'),_0xb48e06,_0xce8f('0x28')))},function(_0x5cc566,_0x1b275d){});rimraf(path[_0xce8f('0x21')](_0x3955d7,_0xb48e06),function(){});}})[_0xce8f('0x13')](function(){logger['info'](util[_0xce8f('0x15')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xce8f('0xf')));return analyticExtractedReport(_0xce8f('0x29'),_0x386bc6?util['format']('%s.%s',_0xb48e06,_0x386bc6?_0xce8f('0x28'):_0xce8f('0x24')):null);});})[_0xce8f('0x2a')](function(_0x59e636){logger[_0xce8f('0x2b')](util[_0xce8f('0x15')](_0xce8f('0x2c'),EXTRACTED_REPORT_ID,_0xce8f('0xf')),util[_0xce8f('0x2d')](_0x59e636,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xce8f('0x2e'));});}main();