b5ea5dcfde90d2d6221c2adf67387c0015b47389
[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 _0xbefc=['splitSizeXlsx','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','Empty','range','num','isInteger','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','.xlsx','length','existsSync','mkdirSync','each','join','%s%d.%s','%s.%s','binary','XLSX','Completed','zip','xlsx','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','find','split'];(function(_0x8a969d,_0x339d9f){var _0x1d8dc7=function(_0x283ec0){while(--_0x283ec0){_0x8a969d['push'](_0x8a969d['shift']());}};_0x1d8dc7(++_0x339d9f);}(_0xbefc,0x195));var _0xcbef=function(_0x2a0277,_0x2dad54){_0x2a0277=_0x2a0277-0x0;var _0xac79f8=_0xbefc[_0x2a0277];return _0xac79f8;};'use strict';var util=require('util');var path=require(_0xcbef('0x0'));var _=require(_0xcbef('0x1'));var fs=require('fs');var json2xls=require(_0xcbef('0x2'));var BPromise=require(_0xcbef('0x3'));var zipdir=require(_0xcbef('0x4'));var rimraf=require(_0xcbef('0x5'));var db=require(_0xcbef('0x6'))['db'];var dbH=require(_0xcbef('0x6'))[_0xcbef('0x7')];var logger=require(_0xcbef('0x8'))(_0xcbef('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xcbef('0xa')][0x2]);var QUERY=process[_0xcbef('0xa')][0x3];var PATH=process[_0xcbef('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3137a4,_0x36eae6){var _0x3c76cd={'status':_0x3137a4};var _0x10e840={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x36eae6){_0x3c76cd[_0xcbef('0xb')]=_0x36eae6;}return db[_0xcbef('0xc')][_0xcbef('0xd')](_0x3c76cd,_0x10e840);}function main(){var _0xeea55e=0x1388;var _0x559a65;logger[_0xcbef('0xe')](util[_0xcbef('0xf')](_0xcbef('0x10'),EXTRACTED_REPORT_ID,'XLSX'));return db['Setting'][_0xcbef('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xcbef('0x12'),_0xcbef('0x13')]})[_0xcbef('0x14')](function(_0x2fab8b){if(_0x2fab8b){_0x559a65=_0x2fab8b;_0xeea55e=_0x559a65[_0xcbef('0x13')]||0x1388;}})[_0xcbef('0x14')](function(){return dbH['sequelize'][_0xcbef('0x15')](util[_0xcbef('0xf')](_0xcbef('0x16'),QUERY),{'type':dbH[_0xcbef('0x17')][_0xcbef('0x18')][_0xcbef('0x19')]});})[_0xcbef('0x14')](function(_0x48f677){if(!_0x48f677[0x0]['num']){return analyticExtractedReport(_0xcbef('0x1a'));}var _0x202d25=[];var _0x38ddc2=0x0;if(_0x559a65['split']){if(_0x48f677&&_0x48f677['length']){var _0x79d2fb=_[_0xcbef('0x1b')](_0x48f677[0x0][_0xcbef('0x1c')]/_0xeea55e);var _0x5b02be=Number[_0xcbef('0x1d')](_0x48f677[0x0][_0xcbef('0x1c')]/_0xeea55e)?_0x48f677[0x0]['num']%_0xeea55e:0x0;_0x79d2fb[_0xcbef('0x1e')](function(_0x325cf6){if(_0x325cf6>0x0){_0x38ddc2+=_0xeea55e;}_0x202d25['push'](dbH['sequelize'][_0xcbef('0x15')](util[_0xcbef('0xf')](_0xcbef('0x1f'),QUERY,_0xeea55e,_0x38ddc2),{'type':dbH['sequelize'][_0xcbef('0x18')][_0xcbef('0x19')]}));});if(_0x5b02be>0x0){_0x38ddc2+=_0xeea55e;_0x202d25[_0xcbef('0x20')](dbH['sequelize'][_0xcbef('0x15')](util[_0xcbef('0xf')](_0xcbef('0x1f'),QUERY,_0x5b02be,_0x38ddc2),{'type':dbH['sequelize'][_0xcbef('0x18')][_0xcbef('0x19')]}));}}}else{_0x202d25[_0xcbef('0x20')](dbH[_0xcbef('0x17')][_0xcbef('0x15')](QUERY,{'type':dbH['sequelize'][_0xcbef('0x18')][_0xcbef('0x19')]}));}var _0x38be1f=path[_0xcbef('0x21')](PATH);var _0x119443=path['basename'](PATH,_0xcbef('0x22'));var _0x4e046c=_0x559a65[_0xcbef('0x12')]&&_0x202d25[_0xcbef('0x23')]>0x1;var _0xaaa05a=[];if(!fs[_0xcbef('0x24')](path['join'](_0x38be1f,_0x119443))&&_0x4e046c){fs[_0xcbef('0x25')](path['join'](_0x38be1f,_0x119443));}return BPromise[_0xcbef('0x26')](_0x202d25,function(_0x13f718){_0xaaa05a[_0xcbef('0x20')](_0x13f718);})[_0xcbef('0x14')](function(){for(var _0x5ef8ce=0x0;_0x5ef8ce<_0xaaa05a[_0xcbef('0x23')];_0x5ef8ce+=0x1){var _0x2ca2a7;var _0xd8a003=_0xaaa05a[_0x5ef8ce];if(_0x4e046c){_0x2ca2a7=path[_0xcbef('0x27')](_0x38be1f,_0x119443,util[_0xcbef('0xf')](_0xcbef('0x28'),_0x119443,_0x5ef8ce,'xlsx'));}else{_0x2ca2a7=path[_0xcbef('0x27')](_0x38be1f,util['format'](_0xcbef('0x29'),_0x119443,'xlsx'));}fs['writeFileSync'](_0x2ca2a7,json2xls(_0xd8a003),_0xcbef('0x2a'));}})[_0xcbef('0x14')](function(){if(_0x4e046c){return new Promise(function(_0x131a36){zipdir(path['join'](_0x38be1f,_0x119443),{'saveTo':path['join'](_0x38be1f,util[_0xcbef('0xf')](_0xcbef('0x29'),_0x119443,'zip'))},function(_0x2b53df,_0x55cb64){rimraf(path[_0xcbef('0x27')](_0x38be1f,_0x119443),function(){});_0x131a36('zip\x20finished');});});}})[_0xcbef('0x14')](function(){logger['info'](util[_0xcbef('0xf')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xcbef('0x2b')));return analyticExtractedReport(_0xcbef('0x2c'),_0x4e046c?util[_0xcbef('0xf')](_0xcbef('0x29'),_0x119443,_0x4e046c?_0xcbef('0x2d'):_0xcbef('0x2e')):null);});})[_0xcbef('0x2f')](function(_0x90d83f){logger[_0xcbef('0xe')](util['format'](_0xcbef('0x30'),EXTRACTED_REPORT_ID,_0xcbef('0x2b')),util[_0xcbef('0x31')](_0x90d83f,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xcbef('0x32'));})[_0xcbef('0x33')](function(){process[_0xcbef('0x34')](EXIT_CODE);});}main();