9e21c253f425a0dbecec0efa938f7d4ec4977954
[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 _0xa7fa=['inspect','exit','util','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','Setting','find','then','splitSizeXlsx','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','num','Empty','split','length','range','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','push','dirname','existsSync','mkdirSync','each','join','%s%d.%s','xlsx','%s.%s','binary','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch'];(function(_0x593952,_0x5e87e3){var _0x1fd3b1=function(_0x2295fc){while(--_0x2295fc){_0x593952['push'](_0x593952['shift']());}};_0x1fd3b1(++_0x5e87e3);}(_0xa7fa,0xfc));var _0xaa7f=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xa7fa[_0x14add3];return _0x4a174f;};'use strict';var util=require(_0xaa7f('0x0'));var path=require('path');var _=require('lodash');var fs=require('fs');var json2xls=require(_0xaa7f('0x1'));var BPromise=require(_0xaa7f('0x2'));var zipdir=require(_0xaa7f('0x3'));var rimraf=require(_0xaa7f('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0xaa7f('0x5'))[_0xaa7f('0x6')];var logger=require(_0xaa7f('0x7'))(_0xaa7f('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xaa7f('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x50bab6,_0x3898a3){var _0x506a91={'status':_0x50bab6};var _0x3ac236={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3898a3){_0x506a91[_0xaa7f('0xa')]=_0x3898a3;}return db[_0xaa7f('0xb')][_0xaa7f('0xc')](_0x506a91,_0x3ac236);}function main(){var _0x5de597=0x1388;var _0x38c907;logger[_0xaa7f('0xd')](util['format'](_0xaa7f('0xe'),EXTRACTED_REPORT_ID,_0xaa7f('0xf')));return db[_0xaa7f('0x10')][_0xaa7f('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeXlsx']})[_0xaa7f('0x12')](function(_0x7e736){if(_0x7e736){_0x38c907=_0x7e736;_0x5de597=_0x38c907[_0xaa7f('0x13')]||0x1388;}})[_0xaa7f('0x12')](function(){return dbH[_0xaa7f('0x14')][_0xaa7f('0x15')](util[_0xaa7f('0x16')](_0xaa7f('0x17'),QUERY),{'type':dbH[_0xaa7f('0x14')]['QueryTypes'][_0xaa7f('0x18')]});})['then'](function(_0x3c1615){if(!_0x3c1615[0x0][_0xaa7f('0x19')]){return analyticExtractedReport(_0xaa7f('0x1a'));}var _0x48844f=[];var _0x7276be=0x0;if(_0x38c907[_0xaa7f('0x1b')]){if(_0x3c1615&&_0x3c1615[_0xaa7f('0x1c')]){var _0x2f09e1=_[_0xaa7f('0x1d')](_0x3c1615[0x0][_0xaa7f('0x19')]/_0x5de597);var _0x2c17c4=Number['isInteger'](_0x3c1615[0x0][_0xaa7f('0x19')]/_0x5de597)?_0x3c1615[0x0][_0xaa7f('0x19')]%_0x5de597:0x0;_0x2f09e1[_0xaa7f('0x1e')](function(_0x2a0171){if(_0x2a0171>0x0){_0x7276be+=_0x5de597;}_0x48844f['push'](dbH['sequelize'][_0xaa7f('0x15')](util['format'](_0xaa7f('0x1f'),QUERY,_0x5de597,_0x7276be),{'type':dbH[_0xaa7f('0x14')]['QueryTypes'][_0xaa7f('0x18')]}));});if(_0x2c17c4>0x0){_0x7276be+=_0x5de597;_0x48844f['push'](dbH[_0xaa7f('0x14')][_0xaa7f('0x15')](util[_0xaa7f('0x16')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x2c17c4,_0x7276be),{'type':dbH[_0xaa7f('0x14')][_0xaa7f('0x20')][_0xaa7f('0x18')]}));}}}else{_0x48844f[_0xaa7f('0x21')](dbH['sequelize']['query'](QUERY,{'type':dbH[_0xaa7f('0x14')][_0xaa7f('0x20')][_0xaa7f('0x18')]}));}var _0x246a18=path[_0xaa7f('0x22')](PATH);var _0x1bd627=path['basename'](PATH,'.xlsx');var _0x525df7=_0x38c907[_0xaa7f('0x1b')]&&_0x48844f['length']>0x1;var _0xbff8a0=[];if(!fs[_0xaa7f('0x23')](path['join'](_0x246a18,_0x1bd627))&&_0x525df7){fs[_0xaa7f('0x24')](path['join'](_0x246a18,_0x1bd627));}return BPromise[_0xaa7f('0x25')](_0x48844f,function(_0xa26af){_0xbff8a0[_0xaa7f('0x21')](_0xa26af);})[_0xaa7f('0x12')](function(){for(var _0x223321=0x0;_0x223321<_0xbff8a0['length'];_0x223321+=0x1){var _0x1541e1;var _0x3e0223=_0xbff8a0[_0x223321];if(_0x525df7){_0x1541e1=path[_0xaa7f('0x26')](_0x246a18,_0x1bd627,util['format'](_0xaa7f('0x27'),_0x1bd627,_0x223321,_0xaa7f('0x28')));}else{_0x1541e1=path[_0xaa7f('0x26')](_0x246a18,util[_0xaa7f('0x16')](_0xaa7f('0x29'),_0x1bd627,_0xaa7f('0x28')));}fs['writeFileSync'](_0x1541e1,json2xls(_0x3e0223),_0xaa7f('0x2a'));}})[_0xaa7f('0x12')](function(){if(_0x525df7){return new Promise(function(_0x48f099){zipdir(path[_0xaa7f('0x26')](_0x246a18,_0x1bd627),{'saveTo':path[_0xaa7f('0x26')](_0x246a18,util[_0xaa7f('0x16')](_0xaa7f('0x29'),_0x1bd627,_0xaa7f('0x2b')))},function(_0x1c9199,_0x279d9c){rimraf(path[_0xaa7f('0x26')](_0x246a18,_0x1bd627),function(){});_0x48f099(_0xaa7f('0x2c'));});});}})[_0xaa7f('0x12')](function(){logger[_0xaa7f('0xd')](util[_0xaa7f('0x16')](_0xaa7f('0x2d'),EXTRACTED_REPORT_ID,_0xaa7f('0xf')));return analyticExtractedReport(_0xaa7f('0x2e'),_0x525df7?util['format'](_0xaa7f('0x29'),_0x1bd627,_0x525df7?'zip':_0xaa7f('0x28')):null);});})[_0xaa7f('0x2f')](function(_0x496344){logger[_0xaa7f('0xd')](util[_0xaa7f('0x16')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xaa7f('0xf')),util[_0xaa7f('0x30')](_0x496344,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process[_0xaa7f('0x31')](EXIT_CODE);});}main();