Built motion from commit dbf3a7e2.|2.6.30
[motion2.git] / server / components / export / csv.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 _0xb0c9=['dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','splitSizeCsv','then','sequelize','QueryTypes','SELECT','num','Empty','length','isInteger','forEach','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','.csv','existsSync','join','mkdirSync','%s%d.%s','csv','writeFileSync','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','util','path','lodash','to-csv','bluebird','zip-dir','../../mysqldb'];(function(_0x4997d3,_0x22bf80){var _0x38fcc9=function(_0x3a9427){while(--_0x3a9427){_0x4997d3['push'](_0x4997d3['shift']());}};_0x38fcc9(++_0x22bf80);}(_0xb0c9,0x1bb));var _0x9b0c=function(_0x59e8c6,_0x847c24){_0x59e8c6=_0x59e8c6-0x0;var _0x4e6c5b=_0xb0c9[_0x59e8c6];return _0x4e6c5b;};'use strict';var util=require(_0x9b0c('0x0'));var path=require(_0x9b0c('0x1'));var _=require(_0x9b0c('0x2'));var csv=require(_0x9b0c('0x3'));var fs=require('fs');var BPromise=require(_0x9b0c('0x4'));var zipdir=require(_0x9b0c('0x5'));var rimraf=require('rimraf');var db=require(_0x9b0c('0x6'))['db'];var dbH=require(_0x9b0c('0x6'))[_0x9b0c('0x7')];var logger=require(_0x9b0c('0x8'))(_0x9b0c('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x9b0c('0xa')][0x2]);var QUERY=process[_0x9b0c('0xa')][0x3];var PATH=process[_0x9b0c('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x1423d4,_0x1b26a1){var _0x5f2702={'status':_0x1423d4};var _0x51251c={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1b26a1){_0x5f2702[_0x9b0c('0xb')]=_0x1b26a1;}return db[_0x9b0c('0xc')][_0x9b0c('0xd')](_0x5f2702,_0x51251c);}function main(){var _0x26eba4=0x1388;var _0x3bc63b;logger[_0x9b0c('0xe')](util[_0x9b0c('0xf')](_0x9b0c('0x10'),EXTRACTED_REPORT_ID,_0x9b0c('0x11')));return db[_0x9b0c('0x12')][_0x9b0c('0x13')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x9b0c('0x14'),'splitSizeCsv']})['then'](function(_0x3037de){if(_0x3037de){_0x3bc63b=_0x3037de;_0x26eba4=_0x3bc63b[_0x9b0c('0x15')]||0x1388;}})[_0x9b0c('0x16')](function(){return dbH[_0x9b0c('0x17')]['query'](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x9b0c('0x17')][_0x9b0c('0x18')][_0x9b0c('0x19')]});})[_0x9b0c('0x16')](function(_0x2801d6){if(!_0x2801d6[0x0][_0x9b0c('0x1a')]){return analyticExtractedReport(_0x9b0c('0x1b'));}var _0x24639b=[];var _0x12c295=0x0;if(_0x3bc63b[_0x9b0c('0x14')]){if(_0x2801d6&&_0x2801d6[_0x9b0c('0x1c')]){var _0x47c616=_['range'](_0x2801d6[0x0][_0x9b0c('0x1a')]/_0x26eba4);var _0x901f0a=Number[_0x9b0c('0x1d')](_0x2801d6[0x0]['num']/_0x26eba4)?_0x2801d6[0x0][_0x9b0c('0x1a')]%_0x26eba4:0x0;_0x47c616[_0x9b0c('0x1e')](function(_0x305b0e){if(_0x305b0e>0x0){_0x12c295+=_0x26eba4;}_0x24639b[_0x9b0c('0x1f')](dbH[_0x9b0c('0x17')][_0x9b0c('0x20')](util[_0x9b0c('0xf')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x26eba4,_0x12c295),{'type':dbH[_0x9b0c('0x17')]['QueryTypes']['SELECT']}));});if(_0x901f0a>0x0){_0x12c295+=_0x26eba4;_0x24639b[_0x9b0c('0x1f')](dbH[_0x9b0c('0x17')]['query'](util[_0x9b0c('0xf')](_0x9b0c('0x21'),QUERY,_0x901f0a,_0x12c295),{'type':dbH[_0x9b0c('0x17')]['QueryTypes'][_0x9b0c('0x19')]}));}}}else{_0x24639b[_0x9b0c('0x1f')](dbH['sequelize']['query'](QUERY,{'type':dbH['sequelize'][_0x9b0c('0x18')]['SELECT']}));}var _0x4a240b=path['dirname'](PATH);var _0x3b8081=path['basename'](PATH,_0x9b0c('0x22'));var _0x2c0297=_0x3bc63b[_0x9b0c('0x14')]&&_0x24639b[_0x9b0c('0x1c')]>0x1;var _0xf46567=[];if(!fs[_0x9b0c('0x23')](path[_0x9b0c('0x24')](_0x4a240b,_0x3b8081))&&_0x2c0297){fs[_0x9b0c('0x25')](path[_0x9b0c('0x24')](_0x4a240b,_0x3b8081));}return BPromise['each'](_0x24639b,function(_0x10bf25){_0xf46567['push'](_0x10bf25);})[_0x9b0c('0x16')](function(){for(var _0x17eb66=0x0;_0x17eb66<_0xf46567[_0x9b0c('0x1c')];_0x17eb66+=0x1){var _0x24403f;var _0x53d9b8=_0xf46567[_0x17eb66];if(_0x2c0297){_0x24403f=path['join'](_0x4a240b,_0x3b8081,util[_0x9b0c('0xf')](_0x9b0c('0x26'),_0x3b8081,_0x17eb66,_0x9b0c('0x27')));}else{_0x24403f=path[_0x9b0c('0x24')](_0x4a240b,util['format']('%s.%s',_0x3b8081,_0x9b0c('0x27')));}fs[_0x9b0c('0x28')](_0x24403f,csv(_0x53d9b8));}})[_0x9b0c('0x16')](function(){if(_0x2c0297){return new Promise(function(_0x18c151){zipdir(path[_0x9b0c('0x24')](_0x4a240b,_0x3b8081),{'saveTo':path[_0x9b0c('0x24')](_0x4a240b,util[_0x9b0c('0xf')](_0x9b0c('0x29'),_0x3b8081,_0x9b0c('0x2a')))},function(_0x2f1083,_0x271051){rimraf(path[_0x9b0c('0x24')](_0x4a240b,_0x3b8081),function(){});_0x18c151(_0x9b0c('0x2b'));});});}})[_0x9b0c('0x16')](function(){logger[_0x9b0c('0xe')](util['format'](_0x9b0c('0x2c'),EXTRACTED_REPORT_ID,_0x9b0c('0x11')));return analyticExtractedReport('Completed',_0x2c0297?util[_0x9b0c('0xf')](_0x9b0c('0x29'),_0x3b8081,_0x2c0297?_0x9b0c('0x2a'):'csv'):null);});})[_0x9b0c('0x2d')](function(_0x556c2c){logger[_0x9b0c('0xe')](util['format'](_0x9b0c('0x2e'),EXTRACTED_REPORT_ID,'CSV'),util[_0x9b0c('0x2f')](_0x556c2c,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x9b0c('0x30'));})[_0x9b0c('0x31')](function(){process['exit'](EXIT_CODE);});}main();