Built motion from commit 85328c08.|2.5.50
[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 _0x83ca=['%s.%s','csv','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','util','path','lodash','to-csv','bluebird','zip-dir','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','split','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','length','range','num','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','mkdirSync','each','%s%d.%s'];(function(_0x185767,_0x21ad80){var _0x9842a2=function(_0x3d39e6){while(--_0x3d39e6){_0x185767['push'](_0x185767['shift']());}};_0x9842a2(++_0x21ad80);}(_0x83ca,0xd2));var _0xa83c=function(_0x3531fd,_0x50c302){_0x3531fd=_0x3531fd-0x0;var _0x2db543=_0x83ca[_0x3531fd];return _0x2db543;};'use strict';var util=require(_0xa83c('0x0'));var path=require(_0xa83c('0x1'));var _=require(_0xa83c('0x2'));var csv=require(_0xa83c('0x3'));var fs=require('fs');var BPromise=require(_0xa83c('0x4'));var zipdir=require(_0xa83c('0x5'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0xa83c('0x6')];var logger=require(_0xa83c('0x7'))(_0xa83c('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xa83c('0x9')][0x2]);var QUERY=process['argv'][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xd1ccb0,_0x43a528){var _0x5e8db7={'status':_0xd1ccb0};var _0x3fe164={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x43a528){_0x5e8db7[_0xa83c('0xa')]=_0x43a528;}return db[_0xa83c('0xb')]['update'](_0x5e8db7,_0x3fe164);}function main(){var _0x559407=0x1388;var _0xfd8c71;logger[_0xa83c('0xc')](util[_0xa83c('0xd')](_0xa83c('0xe'),EXTRACTED_REPORT_ID,_0xa83c('0xf')));return db[_0xa83c('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xa83c('0x11'),'splitSizeCsv']})[_0xa83c('0x12')](function(_0x5916a9){if(_0x5916a9){_0xfd8c71=_0x5916a9;_0x559407=_0xfd8c71['splitSizeCsv']||0x1388;}})[_0xa83c('0x12')](function(){return dbH[_0xa83c('0x13')][_0xa83c('0x14')](util[_0xa83c('0xd')](_0xa83c('0x15'),QUERY),{'type':dbH['sequelize'][_0xa83c('0x16')][_0xa83c('0x17')]});})[_0xa83c('0x12')](function(_0x329dc2){if(!_0x329dc2[0x0]['num']){return analyticExtractedReport(_0xa83c('0x18'));}var _0x252d8b=[];var _0x28c6ed=0x0;if(_0xfd8c71[_0xa83c('0x11')]){if(_0x329dc2&&_0x329dc2[_0xa83c('0x19')]){var _0x2bd5c8=_[_0xa83c('0x1a')](_0x329dc2[0x0][_0xa83c('0x1b')]/_0x559407);var _0x520cd4=Number[_0xa83c('0x1c')](_0x329dc2[0x0]['num']/_0x559407)?_0x329dc2[0x0][_0xa83c('0x1b')]%_0x559407:0x0;_0x2bd5c8[_0xa83c('0x1d')](function(_0x13d782){if(_0x13d782>0x0){_0x28c6ed+=_0x559407;}_0x252d8b[_0xa83c('0x1e')](dbH['sequelize'][_0xa83c('0x14')](util[_0xa83c('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x559407,_0x28c6ed),{'type':dbH[_0xa83c('0x13')]['QueryTypes'][_0xa83c('0x17')]}));});if(_0x520cd4>0x0){_0x28c6ed+=_0x559407;_0x252d8b[_0xa83c('0x1e')](dbH[_0xa83c('0x13')][_0xa83c('0x14')](util[_0xa83c('0xd')](_0xa83c('0x1f'),QUERY,_0x520cd4,_0x28c6ed),{'type':dbH[_0xa83c('0x13')]['QueryTypes'][_0xa83c('0x17')]}));}}}else{_0x252d8b[_0xa83c('0x1e')](dbH[_0xa83c('0x13')][_0xa83c('0x14')](QUERY,{'type':dbH[_0xa83c('0x13')][_0xa83c('0x16')][_0xa83c('0x17')]}));}var _0x380913=path[_0xa83c('0x20')](PATH);var _0x2322f9=path[_0xa83c('0x21')](PATH,_0xa83c('0x22'));var _0x1aa43f=_0xfd8c71[_0xa83c('0x11')]&&_0x252d8b[_0xa83c('0x19')]>0x1;var _0x5257d8=[];if(!fs[_0xa83c('0x23')](path[_0xa83c('0x24')](_0x380913,_0x2322f9))&&_0x1aa43f){fs[_0xa83c('0x25')](path[_0xa83c('0x24')](_0x380913,_0x2322f9));}return BPromise[_0xa83c('0x26')](_0x252d8b,function(_0x4881a5){_0x5257d8['push'](_0x4881a5);})[_0xa83c('0x12')](function(){for(var _0x3b0c2e=0x0;_0x3b0c2e<_0x5257d8[_0xa83c('0x19')];_0x3b0c2e+=0x1){var _0x144521;var _0x54662d=_0x5257d8[_0x3b0c2e];if(_0x1aa43f){_0x144521=path[_0xa83c('0x24')](_0x380913,_0x2322f9,util[_0xa83c('0xd')](_0xa83c('0x27'),_0x2322f9,_0x3b0c2e,'csv'));}else{_0x144521=path[_0xa83c('0x24')](_0x380913,util['format'](_0xa83c('0x28'),_0x2322f9,_0xa83c('0x29')));}fs[_0xa83c('0x2a')](_0x144521,csv(_0x54662d));}})['then'](function(){if(_0x1aa43f){return new Promise(function(_0x34f437){zipdir(path[_0xa83c('0x24')](_0x380913,_0x2322f9),{'saveTo':path[_0xa83c('0x24')](_0x380913,util[_0xa83c('0xd')](_0xa83c('0x28'),_0x2322f9,_0xa83c('0x2b')))},function(_0x28ca08,_0x15a93f){rimraf(path[_0xa83c('0x24')](_0x380913,_0x2322f9),function(){});_0x34f437(_0xa83c('0x2c'));});});}})[_0xa83c('0x12')](function(){logger[_0xa83c('0xc')](util[_0xa83c('0xd')](_0xa83c('0x2d'),EXTRACTED_REPORT_ID,_0xa83c('0xf')));return analyticExtractedReport('Completed',_0x1aa43f?util[_0xa83c('0xd')](_0xa83c('0x28'),_0x2322f9,_0x1aa43f?'zip':_0xa83c('0x29')):null);});})['catch'](function(_0x32a932){logger['info'](util['format'](_0xa83c('0x2e'),EXTRACTED_REPORT_ID,'CSV'),util[_0xa83c('0x2f')](_0x32a932,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xa83c('0x30'));})[_0xa83c('0x31')](function(){process['exit'](EXIT_CODE);});}main();