Built motion from commit 994c64e1.|2.6.1
[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 _0x16e8=['info','format','CSV','find','split','splitSizeCsv','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','mkdirSync','join','each','%s%d.%s','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','inspect','Failed','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update'];(function(_0x29022b,_0x123c2f){var _0x358211=function(_0x1d4e50){while(--_0x1d4e50){_0x29022b['push'](_0x29022b['shift']());}};_0x358211(++_0x123c2f);}(_0x16e8,0x189));var _0x816e=function(_0x42e7ad,_0x3eaae2){_0x42e7ad=_0x42e7ad-0x0;var _0x33caf0=_0x16e8[_0x42e7ad];return _0x33caf0;};'use strict';var util=require(_0x816e('0x0'));var path=require(_0x816e('0x1'));var _=require(_0x816e('0x2'));var csv=require(_0x816e('0x3'));var fs=require('fs');var BPromise=require(_0x816e('0x4'));var zipdir=require(_0x816e('0x5'));var rimraf=require(_0x816e('0x6'));var db=require(_0x816e('0x7'))['db'];var dbH=require(_0x816e('0x7'))[_0x816e('0x8')];var logger=require(_0x816e('0x9'))(_0x816e('0xa'));var EXTRACTED_REPORT_ID=Number(process[_0x816e('0xb')][0x2]);var QUERY=process[_0x816e('0xb')][0x3];var PATH=process[_0x816e('0xb')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3f633b,_0x439b84){var _0x10d2dd={'status':_0x3f633b};var _0x3f1775={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x439b84){_0x10d2dd[_0x816e('0xc')]=_0x439b84;}return db[_0x816e('0xd')][_0x816e('0xe')](_0x10d2dd,_0x3f1775);}function main(){var _0x304f09=0x1388;var _0x415ef6;logger[_0x816e('0xf')](util[_0x816e('0x10')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x816e('0x11')));return db['Setting'][_0x816e('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x816e('0x13'),_0x816e('0x14')]})['then'](function(_0x4dd9ee){if(_0x4dd9ee){_0x415ef6=_0x4dd9ee;_0x304f09=_0x415ef6[_0x816e('0x14')]||0x1388;}})[_0x816e('0x15')](function(){return dbH['sequelize'][_0x816e('0x16')](util[_0x816e('0x10')](_0x816e('0x17'),QUERY),{'type':dbH[_0x816e('0x18')][_0x816e('0x19')][_0x816e('0x1a')]});})[_0x816e('0x15')](function(_0x274480){if(!_0x274480[0x0][_0x816e('0x1b')]){return analyticExtractedReport('Empty');}var _0x8a571f=[];var _0x504773=0x0;if(_0x415ef6[_0x816e('0x13')]){if(_0x274480&&_0x274480[_0x816e('0x1c')]){var _0x1e007f=_[_0x816e('0x1d')](_0x274480[0x0]['num']/_0x304f09);var _0x462cf6=Number[_0x816e('0x1e')](_0x274480[0x0][_0x816e('0x1b')]/_0x304f09)?_0x274480[0x0][_0x816e('0x1b')]%_0x304f09:0x0;_0x1e007f[_0x816e('0x1f')](function(_0x251b97){if(_0x251b97>0x0){_0x504773+=_0x304f09;}_0x8a571f[_0x816e('0x20')](dbH[_0x816e('0x18')][_0x816e('0x16')](util[_0x816e('0x10')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x304f09,_0x504773),{'type':dbH[_0x816e('0x18')]['QueryTypes'][_0x816e('0x1a')]}));});if(_0x462cf6>0x0){_0x504773+=_0x304f09;_0x8a571f['push'](dbH[_0x816e('0x18')][_0x816e('0x16')](util[_0x816e('0x10')](_0x816e('0x21'),QUERY,_0x462cf6,_0x504773),{'type':dbH[_0x816e('0x18')][_0x816e('0x19')]['SELECT']}));}}}else{_0x8a571f[_0x816e('0x20')](dbH[_0x816e('0x18')]['query'](QUERY,{'type':dbH[_0x816e('0x18')][_0x816e('0x19')]['SELECT']}));}var _0x1439ad=path[_0x816e('0x22')](PATH);var _0xfd31a0=path[_0x816e('0x23')](PATH,_0x816e('0x24'));var _0x534334=_0x415ef6[_0x816e('0x13')]&&_0x8a571f[_0x816e('0x1c')]>0x1;var _0x3a7e48=[];if(!fs[_0x816e('0x25')](path['join'](_0x1439ad,_0xfd31a0))&&_0x534334){fs[_0x816e('0x26')](path[_0x816e('0x27')](_0x1439ad,_0xfd31a0));}return BPromise[_0x816e('0x28')](_0x8a571f,function(_0x513cd0){_0x3a7e48[_0x816e('0x20')](_0x513cd0);})[_0x816e('0x15')](function(){for(var _0x24b9f7=0x0;_0x24b9f7<_0x3a7e48[_0x816e('0x1c')];_0x24b9f7+=0x1){var _0x136d1e;var _0x3c0e73=_0x3a7e48[_0x24b9f7];if(_0x534334){_0x136d1e=path[_0x816e('0x27')](_0x1439ad,_0xfd31a0,util[_0x816e('0x10')](_0x816e('0x29'),_0xfd31a0,_0x24b9f7,'csv'));}else{_0x136d1e=path[_0x816e('0x27')](_0x1439ad,util[_0x816e('0x10')](_0x816e('0x2a'),_0xfd31a0,'csv'));}fs[_0x816e('0x2b')](_0x136d1e,csv(_0x3c0e73));}})[_0x816e('0x15')](function(){if(_0x534334){return new Promise(function(_0x3cbae5){zipdir(path[_0x816e('0x27')](_0x1439ad,_0xfd31a0),{'saveTo':path[_0x816e('0x27')](_0x1439ad,util[_0x816e('0x10')](_0x816e('0x2a'),_0xfd31a0,_0x816e('0x2c')))},function(_0x56108d,_0x38541f){rimraf(path[_0x816e('0x27')](_0x1439ad,_0xfd31a0),function(){});_0x3cbae5(_0x816e('0x2d'));});});}})[_0x816e('0x15')](function(){logger[_0x816e('0xf')](util[_0x816e('0x10')](_0x816e('0x2e'),EXTRACTED_REPORT_ID,_0x816e('0x11')));return analyticExtractedReport('Completed',_0x534334?util['format'](_0x816e('0x2a'),_0xfd31a0,_0x534334?_0x816e('0x2c'):'csv'):null);});})[_0x816e('0x2f')](function(_0x34656d){logger[_0x816e('0xf')](util['format']('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x816e('0x11')),util[_0x816e('0x30')](_0x34656d,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x816e('0x31'));})['finally'](function(){process[_0x816e('0x32')](EXIT_CODE);});}main();