Built motion from commit 97153652.|2.6.26
[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 _0x4ac0=['Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','lodash','to-csv','bluebird','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','split','splitSizeCsv','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','length','isInteger','push','%s\x20limit\x20%d\x20OFFSET\x20%d','.csv','existsSync','mkdirSync','join','%s%d.%s','csv','writeFileSync','%s.%s','zip','zip\x20finished','catch'];(function(_0x48b981,_0x40da15){var _0x1e386f=function(_0x517755){while(--_0x517755){_0x48b981['push'](_0x48b981['shift']());}};_0x1e386f(++_0x40da15);}(_0x4ac0,0x119));var _0x04ac=function(_0x311c35,_0x534915){_0x311c35=_0x311c35-0x0;var _0x5cc50c=_0x4ac0[_0x311c35];return _0x5cc50c;};'use strict';var util=require('util');var path=require(_0x04ac('0x0'));var _=require(_0x04ac('0x1'));var csv=require(_0x04ac('0x2'));var fs=require('fs');var BPromise=require(_0x04ac('0x3'));var zipdir=require('zip-dir');var rimraf=require('rimraf');var db=require(_0x04ac('0x4'))['db'];var dbH=require(_0x04ac('0x4'))[_0x04ac('0x5')];var logger=require(_0x04ac('0x6'))(_0x04ac('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x04ac('0x8')][0x2]);var QUERY=process[_0x04ac('0x8')][0x3];var PATH=process[_0x04ac('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x53d0b0,_0x3ad0e8){var _0x2719e2={'status':_0x53d0b0};var _0x486511={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3ad0e8){_0x2719e2[_0x04ac('0x9')]=_0x3ad0e8;}return db[_0x04ac('0xa')][_0x04ac('0xb')](_0x2719e2,_0x486511);}function main(){var _0x499df2=0x1388;var _0x53bc8e;logger[_0x04ac('0xc')](util[_0x04ac('0xd')](_0x04ac('0xe'),EXTRACTED_REPORT_ID,_0x04ac('0xf')));return db[_0x04ac('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x04ac('0x11'),_0x04ac('0x12')]})[_0x04ac('0x13')](function(_0x41e214){if(_0x41e214){_0x53bc8e=_0x41e214;_0x499df2=_0x53bc8e['splitSizeCsv']||0x1388;}})[_0x04ac('0x13')](function(){return dbH['sequelize'][_0x04ac('0x14')](util[_0x04ac('0xd')](_0x04ac('0x15'),QUERY),{'type':dbH[_0x04ac('0x16')][_0x04ac('0x17')][_0x04ac('0x18')]});})[_0x04ac('0x13')](function(_0x3dae41){if(!_0x3dae41[0x0][_0x04ac('0x19')]){return analyticExtractedReport('Empty');}var _0x27e4c9=[];var _0x3cace6=0x0;if(_0x53bc8e['split']){if(_0x3dae41&&_0x3dae41[_0x04ac('0x1a')]){var _0x47ded8=_['range'](_0x3dae41[0x0][_0x04ac('0x19')]/_0x499df2);var _0x548d94=Number[_0x04ac('0x1b')](_0x3dae41[0x0][_0x04ac('0x19')]/_0x499df2)?_0x3dae41[0x0][_0x04ac('0x19')]%_0x499df2:0x0;_0x47ded8['forEach'](function(_0x225207){if(_0x225207>0x0){_0x3cace6+=_0x499df2;}_0x27e4c9[_0x04ac('0x1c')](dbH['sequelize'][_0x04ac('0x14')](util[_0x04ac('0xd')](_0x04ac('0x1d'),QUERY,_0x499df2,_0x3cace6),{'type':dbH[_0x04ac('0x16')]['QueryTypes'][_0x04ac('0x18')]}));});if(_0x548d94>0x0){_0x3cace6+=_0x499df2;_0x27e4c9['push'](dbH['sequelize'][_0x04ac('0x14')](util[_0x04ac('0xd')](_0x04ac('0x1d'),QUERY,_0x548d94,_0x3cace6),{'type':dbH[_0x04ac('0x16')][_0x04ac('0x17')]['SELECT']}));}}}else{_0x27e4c9[_0x04ac('0x1c')](dbH[_0x04ac('0x16')][_0x04ac('0x14')](QUERY,{'type':dbH[_0x04ac('0x16')][_0x04ac('0x17')][_0x04ac('0x18')]}));}var _0x14d9b3=path['dirname'](PATH);var _0x5c9698=path['basename'](PATH,_0x04ac('0x1e'));var _0x2f4731=_0x53bc8e[_0x04ac('0x11')]&&_0x27e4c9[_0x04ac('0x1a')]>0x1;var _0x3dd87c=[];if(!fs[_0x04ac('0x1f')](path['join'](_0x14d9b3,_0x5c9698))&&_0x2f4731){fs[_0x04ac('0x20')](path[_0x04ac('0x21')](_0x14d9b3,_0x5c9698));}return BPromise['each'](_0x27e4c9,function(_0x103c0c){_0x3dd87c[_0x04ac('0x1c')](_0x103c0c);})['then'](function(){for(var _0x3bc710=0x0;_0x3bc710<_0x3dd87c[_0x04ac('0x1a')];_0x3bc710+=0x1){var _0xa457ab;var _0x12cedb=_0x3dd87c[_0x3bc710];if(_0x2f4731){_0xa457ab=path['join'](_0x14d9b3,_0x5c9698,util['format'](_0x04ac('0x22'),_0x5c9698,_0x3bc710,_0x04ac('0x23')));}else{_0xa457ab=path[_0x04ac('0x21')](_0x14d9b3,util['format']('%s.%s',_0x5c9698,_0x04ac('0x23')));}fs[_0x04ac('0x24')](_0xa457ab,csv(_0x12cedb));}})[_0x04ac('0x13')](function(){if(_0x2f4731){return new Promise(function(_0x20cd25){zipdir(path['join'](_0x14d9b3,_0x5c9698),{'saveTo':path[_0x04ac('0x21')](_0x14d9b3,util[_0x04ac('0xd')](_0x04ac('0x25'),_0x5c9698,_0x04ac('0x26')))},function(_0x1dbfe8,_0x40731c){rimraf(path['join'](_0x14d9b3,_0x5c9698),function(){});_0x20cd25(_0x04ac('0x27'));});});}})[_0x04ac('0x13')](function(){logger[_0x04ac('0xc')](util[_0x04ac('0xd')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport('Completed',_0x2f4731?util[_0x04ac('0xd')](_0x04ac('0x25'),_0x5c9698,_0x2f4731?'zip':_0x04ac('0x23')):null);});})[_0x04ac('0x28')](function(_0x4f1651){logger[_0x04ac('0xc')](util[_0x04ac('0xd')](_0x04ac('0x29'),EXTRACTED_REPORT_ID,'CSV'),util[_0x04ac('0x2a')](_0x4f1651,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x04ac('0x2b'));})[_0x04ac('0x2c')](function(){process[_0x04ac('0x2d')](EXIT_CODE);});}main();