Built motion from commit 598073ad.|2.5.44
[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 _0xdce9=['CSV','find','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','split','length','range','num','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','writeFileSync','%s.%s','zip','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','util','path','lodash','bluebird','zip-dir','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format'];(function(_0x263a74,_0xc31414){var _0x2aa86c=function(_0x382896){while(--_0x382896){_0x263a74['push'](_0x263a74['shift']());}};_0x2aa86c(++_0xc31414);}(_0xdce9,0x1bd));var _0x9dce=function(_0x39d785,_0x46f1fb){_0x39d785=_0x39d785-0x0;var _0x477f7d=_0xdce9[_0x39d785];return _0x477f7d;};'use strict';var util=require(_0x9dce('0x0'));var path=require(_0x9dce('0x1'));var _=require(_0x9dce('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x9dce('0x3'));var zipdir=require(_0x9dce('0x4'));var rimraf=require('rimraf');var db=require(_0x9dce('0x5'))['db'];var dbH=require(_0x9dce('0x5'))[_0x9dce('0x6')];var logger=require(_0x9dce('0x7'))(_0x9dce('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x9dce('0x9')][0x3];var PATH=process[_0x9dce('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xb05cab,_0x773e1){var _0x3619ca={'status':_0xb05cab};var _0x13157b={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x773e1){_0x3619ca[_0x9dce('0xa')]=_0x773e1;}return db[_0x9dce('0xb')][_0x9dce('0xc')](_0x3619ca,_0x13157b);}function main(){var _0x31e222=0x1388;var _0x4288bf;logger[_0x9dce('0xd')](util[_0x9dce('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x9dce('0xf')));return db['Setting'][_0x9dce('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x9dce('0x11')]})[_0x9dce('0x12')](function(_0x48dee8){if(_0x48dee8){_0x4288bf=_0x48dee8;_0x31e222=_0x4288bf[_0x9dce('0x11')]||0x1388;}})[_0x9dce('0x12')](function(){return dbH[_0x9dce('0x13')][_0x9dce('0x14')](util[_0x9dce('0xe')](_0x9dce('0x15'),QUERY),{'type':dbH[_0x9dce('0x13')][_0x9dce('0x16')][_0x9dce('0x17')]});})[_0x9dce('0x12')](function(_0x3fdf86){if(!_0x3fdf86[0x0]['num']){return analyticExtractedReport(_0x9dce('0x18'));}var _0x5161d3=[];var _0x307963=0x0;if(_0x4288bf[_0x9dce('0x19')]){if(_0x3fdf86&&_0x3fdf86[_0x9dce('0x1a')]){var _0x488215=_[_0x9dce('0x1b')](_0x3fdf86[0x0][_0x9dce('0x1c')]/_0x31e222);var _0x5017e2=Number['isInteger'](_0x3fdf86[0x0][_0x9dce('0x1c')]/_0x31e222)?_0x3fdf86[0x0][_0x9dce('0x1c')]%_0x31e222:0x0;_0x488215[_0x9dce('0x1d')](function(_0x567322){if(_0x567322>0x0){_0x307963+=_0x31e222;}_0x5161d3[_0x9dce('0x1e')](dbH[_0x9dce('0x13')][_0x9dce('0x14')](util[_0x9dce('0xe')](_0x9dce('0x1f'),QUERY,_0x31e222,_0x307963),{'type':dbH['sequelize'][_0x9dce('0x16')][_0x9dce('0x17')]}));});if(_0x5017e2>0x0){_0x307963+=_0x31e222;_0x5161d3['push'](dbH[_0x9dce('0x13')][_0x9dce('0x14')](util[_0x9dce('0xe')](_0x9dce('0x1f'),QUERY,_0x5017e2,_0x307963),{'type':dbH[_0x9dce('0x13')][_0x9dce('0x16')][_0x9dce('0x17')]}));}}}else{_0x5161d3[_0x9dce('0x1e')](dbH['sequelize'][_0x9dce('0x14')](QUERY,{'type':dbH[_0x9dce('0x13')][_0x9dce('0x16')]['SELECT']}));}var _0x2b08e8=path[_0x9dce('0x20')](PATH);var _0x2103af=path[_0x9dce('0x21')](PATH,_0x9dce('0x22'));var _0x4825e4=_0x4288bf[_0x9dce('0x19')]&&_0x5161d3['length']>0x1;var _0x52356c=[];if(!fs[_0x9dce('0x23')](path[_0x9dce('0x24')](_0x2b08e8,_0x2103af))&&_0x4825e4){fs['mkdirSync'](path[_0x9dce('0x24')](_0x2b08e8,_0x2103af));}return BPromise['each'](_0x5161d3,function(_0x55aa55){_0x52356c['push'](_0x55aa55);})[_0x9dce('0x12')](function(){for(var _0x38f8d7=0x0;_0x38f8d7<_0x52356c[_0x9dce('0x1a')];_0x38f8d7+=0x1){var _0x173aa7;var _0x12ceee=_0x52356c[_0x38f8d7];if(_0x4825e4){_0x173aa7=path[_0x9dce('0x24')](_0x2b08e8,_0x2103af,util['format']('%s%d.%s',_0x2103af,_0x38f8d7,'csv'));}else{_0x173aa7=path[_0x9dce('0x24')](_0x2b08e8,util['format']('%s.%s',_0x2103af,'csv'));}fs[_0x9dce('0x25')](_0x173aa7,csv(_0x12ceee));}})[_0x9dce('0x12')](function(){if(_0x4825e4){return new Promise(function(_0x26f6a0){zipdir(path[_0x9dce('0x24')](_0x2b08e8,_0x2103af),{'saveTo':path[_0x9dce('0x24')](_0x2b08e8,util['format'](_0x9dce('0x26'),_0x2103af,_0x9dce('0x27')))},function(_0x4c121f,_0x50f4d6){rimraf(path[_0x9dce('0x24')](_0x2b08e8,_0x2103af),function(){});_0x26f6a0('zip\x20finished');});});}})['then'](function(){logger[_0x9dce('0xd')](util[_0x9dce('0xe')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x9dce('0xf')));return analyticExtractedReport(_0x9dce('0x28'),_0x4825e4?util[_0x9dce('0xe')]('%s.%s',_0x2103af,_0x4825e4?'zip':'csv'):null);});})['catch'](function(_0x312468){logger[_0x9dce('0xd')](util[_0x9dce('0xe')](_0x9dce('0x29'),EXTRACTED_REPORT_ID,_0x9dce('0xf')),util[_0x9dce('0x2a')](_0x312468,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x9dce('0x2b'));})[_0x9dce('0x2c')](function(){process[_0x9dce('0x2d')](EXIT_CODE);});}main();