Built motion from commit 7158bc59.|2.5.42
[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 _0x0405=['splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','then','num','Empty','split','range','isInteger','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','length','existsSync','mkdirSync','join','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting'];(function(_0x1e1c3c,_0x29fbff){var _0x231987=function(_0x17d05f){while(--_0x17d05f){_0x1e1c3c['push'](_0x1e1c3c['shift']());}};_0x231987(++_0x29fbff);}(_0x0405,0x16e));var _0x5040=function(_0x1d1e5b,_0x11c6c0){_0x1d1e5b=_0x1d1e5b-0x0;var _0x3458c5=_0x0405[_0x1d1e5b];return _0x3458c5;};'use strict';var util=require(_0x5040('0x0'));var path=require(_0x5040('0x1'));var _=require(_0x5040('0x2'));var csv=require(_0x5040('0x3'));var fs=require('fs');var BPromise=require(_0x5040('0x4'));var zipdir=require(_0x5040('0x5'));var rimraf=require(_0x5040('0x6'));var db=require(_0x5040('0x7'))['db'];var dbH=require('../../mysqldb')[_0x5040('0x8')];var logger=require(_0x5040('0x9'))(_0x5040('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x5040('0xb')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x5040('0xb')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xcde922,_0x40f996){var _0x30770f={'status':_0xcde922};var _0x5124f6={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x40f996){_0x30770f[_0x5040('0xc')]=_0x40f996;}return db['AnalyticExtractedReport'][_0x5040('0xd')](_0x30770f,_0x5124f6);}function main(){var _0x419018=0x1388;var _0x2ec416;logger[_0x5040('0xe')](util[_0x5040('0xf')](_0x5040('0x10'),EXTRACTED_REPORT_ID,_0x5040('0x11')));return db[_0x5040('0x12')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeCsv']})['then'](function(_0x1af360){if(_0x1af360){_0x2ec416=_0x1af360;_0x419018=_0x2ec416[_0x5040('0x13')]||0x1388;}})['then'](function(){return dbH[_0x5040('0x14')][_0x5040('0x15')](util[_0x5040('0xf')](_0x5040('0x16'),QUERY),{'type':dbH['sequelize'][_0x5040('0x17')][_0x5040('0x18')]});})[_0x5040('0x19')](function(_0x27a264){if(!_0x27a264[0x0][_0x5040('0x1a')]){return analyticExtractedReport(_0x5040('0x1b'));}var _0xbc766d=[];var _0x133983=0x0;if(_0x2ec416[_0x5040('0x1c')]){if(_0x27a264&&_0x27a264['length']){var _0x1da2ad=_[_0x5040('0x1d')](_0x27a264[0x0][_0x5040('0x1a')]/_0x419018);var _0xbcc7c9=Number[_0x5040('0x1e')](_0x27a264[0x0][_0x5040('0x1a')]/_0x419018)?_0x27a264[0x0]['num']%_0x419018:0x0;_0x1da2ad['forEach'](function(_0x44dc50){if(_0x44dc50>0x0){_0x133983+=_0x419018;}_0xbc766d[_0x5040('0x1f')](dbH[_0x5040('0x14')][_0x5040('0x15')](util['format'](_0x5040('0x20'),QUERY,_0x419018,_0x133983),{'type':dbH[_0x5040('0x14')][_0x5040('0x17')][_0x5040('0x18')]}));});if(_0xbcc7c9>0x0){_0x133983+=_0x419018;_0xbc766d[_0x5040('0x1f')](dbH[_0x5040('0x14')][_0x5040('0x15')](util[_0x5040('0xf')](_0x5040('0x20'),QUERY,_0xbcc7c9,_0x133983),{'type':dbH[_0x5040('0x14')]['QueryTypes'][_0x5040('0x18')]}));}}}else{_0xbc766d[_0x5040('0x1f')](dbH[_0x5040('0x14')]['query'](QUERY,{'type':dbH[_0x5040('0x14')]['QueryTypes'][_0x5040('0x18')]}));}var _0x29fd1e=path[_0x5040('0x21')](PATH);var _0x405711=path[_0x5040('0x22')](PATH,_0x5040('0x23'));var _0x588b02=_0x2ec416[_0x5040('0x1c')]&&_0xbc766d[_0x5040('0x24')]>0x1;var _0x4e1912=[];if(!fs[_0x5040('0x25')](path['join'](_0x29fd1e,_0x405711))&&_0x588b02){fs[_0x5040('0x26')](path[_0x5040('0x27')](_0x29fd1e,_0x405711));}return BPromise[_0x5040('0x28')](_0xbc766d,function(_0x46e0ef){_0x4e1912[_0x5040('0x1f')](_0x46e0ef);})[_0x5040('0x19')](function(){for(var _0x23f808=0x0;_0x23f808<_0x4e1912[_0x5040('0x24')];_0x23f808+=0x1){var _0x363088;var _0x5f1efc=_0x4e1912[_0x23f808];if(_0x588b02){_0x363088=path[_0x5040('0x27')](_0x29fd1e,_0x405711,util[_0x5040('0xf')](_0x5040('0x29'),_0x405711,_0x23f808,_0x5040('0x2a')));}else{_0x363088=path['join'](_0x29fd1e,util[_0x5040('0xf')](_0x5040('0x2b'),_0x405711,_0x5040('0x2a')));}fs[_0x5040('0x2c')](_0x363088,csv(_0x5f1efc));}})[_0x5040('0x19')](function(){if(_0x588b02){return new Promise(function(_0x5baca1){zipdir(path[_0x5040('0x27')](_0x29fd1e,_0x405711),{'saveTo':path[_0x5040('0x27')](_0x29fd1e,util[_0x5040('0xf')]('%s.%s',_0x405711,_0x5040('0x2d')))},function(_0x4877b0,_0x34b042){rimraf(path[_0x5040('0x27')](_0x29fd1e,_0x405711),function(){});_0x5baca1(_0x5040('0x2e'));});});}})[_0x5040('0x19')](function(){logger[_0x5040('0xe')](util[_0x5040('0xf')](_0x5040('0x2f'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x5040('0x30'),_0x588b02?util[_0x5040('0xf')](_0x5040('0x2b'),_0x405711,_0x588b02?_0x5040('0x2d'):_0x5040('0x2a')):null);});})[_0x5040('0x31')](function(_0x7b338e){logger[_0x5040('0xe')](util[_0x5040('0xf')](_0x5040('0x32'),EXTRACTED_REPORT_ID,_0x5040('0x11')),util[_0x5040('0x33')](_0x7b338e,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x5040('0x34'));})[_0x5040('0x35')](function(){process[_0x5040('0x36')](EXIT_CODE);});}main();