Built motion from commit bab6f49e.|2.6.17
[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 _0x8dc9=['../../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','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','then','num','length','range','push','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','.csv','existsSync','join','mkdirSync','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH'];(function(_0x587fb5,_0x59cb3b){var _0x551105=function(_0x5bbef4){while(--_0x5bbef4){_0x587fb5['push'](_0x587fb5['shift']());}};_0x551105(++_0x59cb3b);}(_0x8dc9,0x1b9));var _0x98dc=function(_0x3e7fcd,_0x581cc3){_0x3e7fcd=_0x3e7fcd-0x0;var _0x31272e=_0x8dc9[_0x3e7fcd];return _0x31272e;};'use strict';var util=require(_0x98dc('0x0'));var path=require(_0x98dc('0x1'));var _=require(_0x98dc('0x2'));var csv=require(_0x98dc('0x3'));var fs=require('fs');var BPromise=require(_0x98dc('0x4'));var zipdir=require(_0x98dc('0x5'));var rimraf=require(_0x98dc('0x6'));var db=require(_0x98dc('0x7'))['db'];var dbH=require(_0x98dc('0x7'))[_0x98dc('0x8')];var logger=require(_0x98dc('0x9'))(_0x98dc('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x98dc('0xb')][0x2]);var QUERY=process[_0x98dc('0xb')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xef23ea,_0x329ea3){var _0x2e255c={'status':_0xef23ea};var _0x58b34f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x329ea3){_0x2e255c[_0x98dc('0xc')]=_0x329ea3;}return db[_0x98dc('0xd')][_0x98dc('0xe')](_0x2e255c,_0x58b34f);}function main(){var _0x2402ff=0x1388;var _0x2a2bd2;logger[_0x98dc('0xf')](util[_0x98dc('0x10')](_0x98dc('0x11'),EXTRACTED_REPORT_ID,_0x98dc('0x12')));return db[_0x98dc('0x13')][_0x98dc('0x14')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x98dc('0x15'),_0x98dc('0x16')]})['then'](function(_0x103a02){if(_0x103a02){_0x2a2bd2=_0x103a02;_0x2402ff=_0x2a2bd2[_0x98dc('0x16')]||0x1388;}})['then'](function(){return dbH['sequelize'][_0x98dc('0x17')](util[_0x98dc('0x10')](_0x98dc('0x18'),QUERY),{'type':dbH[_0x98dc('0x19')][_0x98dc('0x1a')][_0x98dc('0x1b')]});})[_0x98dc('0x1c')](function(_0x1924ce){if(!_0x1924ce[0x0][_0x98dc('0x1d')]){return analyticExtractedReport('Empty');}var _0x107362=[];var _0x25a459=0x0;if(_0x2a2bd2[_0x98dc('0x15')]){if(_0x1924ce&&_0x1924ce[_0x98dc('0x1e')]){var _0x25bd7c=_[_0x98dc('0x1f')](_0x1924ce[0x0][_0x98dc('0x1d')]/_0x2402ff);var _0x7e1441=Number['isInteger'](_0x1924ce[0x0][_0x98dc('0x1d')]/_0x2402ff)?_0x1924ce[0x0][_0x98dc('0x1d')]%_0x2402ff:0x0;_0x25bd7c['forEach'](function(_0x83331e){if(_0x83331e>0x0){_0x25a459+=_0x2402ff;}_0x107362[_0x98dc('0x20')](dbH['sequelize']['query'](util[_0x98dc('0x10')](_0x98dc('0x21'),QUERY,_0x2402ff,_0x25a459),{'type':dbH[_0x98dc('0x19')]['QueryTypes'][_0x98dc('0x1b')]}));});if(_0x7e1441>0x0){_0x25a459+=_0x2402ff;_0x107362[_0x98dc('0x20')](dbH['sequelize'][_0x98dc('0x17')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x7e1441,_0x25a459),{'type':dbH['sequelize']['QueryTypes'][_0x98dc('0x1b')]}));}}}else{_0x107362['push'](dbH[_0x98dc('0x19')]['query'](QUERY,{'type':dbH[_0x98dc('0x19')][_0x98dc('0x1a')][_0x98dc('0x1b')]}));}var _0xbf712a=path['dirname'](PATH);var _0x45db3d=path[_0x98dc('0x22')](PATH,_0x98dc('0x23'));var _0x2bffe7=_0x2a2bd2[_0x98dc('0x15')]&&_0x107362[_0x98dc('0x1e')]>0x1;var _0x191d26=[];if(!fs[_0x98dc('0x24')](path[_0x98dc('0x25')](_0xbf712a,_0x45db3d))&&_0x2bffe7){fs[_0x98dc('0x26')](path[_0x98dc('0x25')](_0xbf712a,_0x45db3d));}return BPromise[_0x98dc('0x27')](_0x107362,function(_0x6a52aa){_0x191d26[_0x98dc('0x20')](_0x6a52aa);})[_0x98dc('0x1c')](function(){for(var _0x52f1f7=0x0;_0x52f1f7<_0x191d26[_0x98dc('0x1e')];_0x52f1f7+=0x1){var _0xcee51;var _0x588b98=_0x191d26[_0x52f1f7];if(_0x2bffe7){_0xcee51=path[_0x98dc('0x25')](_0xbf712a,_0x45db3d,util[_0x98dc('0x10')](_0x98dc('0x28'),_0x45db3d,_0x52f1f7,_0x98dc('0x29')));}else{_0xcee51=path['join'](_0xbf712a,util[_0x98dc('0x10')](_0x98dc('0x2a'),_0x45db3d,_0x98dc('0x29')));}fs[_0x98dc('0x2b')](_0xcee51,csv(_0x588b98));}})[_0x98dc('0x1c')](function(){if(_0x2bffe7){return new Promise(function(_0x4781ab){zipdir(path[_0x98dc('0x25')](_0xbf712a,_0x45db3d),{'saveTo':path[_0x98dc('0x25')](_0xbf712a,util[_0x98dc('0x10')](_0x98dc('0x2a'),_0x45db3d,_0x98dc('0x2c')))},function(_0x4ffc46,_0x3fd3fe){rimraf(path[_0x98dc('0x25')](_0xbf712a,_0x45db3d),function(){});_0x4781ab(_0x98dc('0x2d'));});});}})[_0x98dc('0x1c')](function(){logger[_0x98dc('0xf')](util[_0x98dc('0x10')](_0x98dc('0x2e'),EXTRACTED_REPORT_ID,_0x98dc('0x12')));return analyticExtractedReport('Completed',_0x2bffe7?util[_0x98dc('0x10')](_0x98dc('0x2a'),_0x45db3d,_0x2bffe7?_0x98dc('0x2c'):'csv'):null);});})[_0x98dc('0x2f')](function(_0x32f475){logger[_0x98dc('0xf')](util[_0x98dc('0x10')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'),util['inspect'](_0x32f475,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0x98dc('0x30')](function(){process[_0x98dc('0x31')](EXIT_CODE);});}main();