Built motion from commit 5b761a7b.|2.5.36
[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 _0x41da=['exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','splitSizeCsv','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','SELECT','num','Empty','split','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','.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','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally'];(function(_0x19ff9c,_0x6894db){var _0x170a25=function(_0x144443){while(--_0x144443){_0x19ff9c['push'](_0x19ff9c['shift']());}};_0x170a25(++_0x6894db);}(_0x41da,0x17b));var _0xa41d=function(_0x186020,_0x1fc7f9){_0x186020=_0x186020-0x0;var _0x30380a=_0x41da[_0x186020];return _0x30380a;};'use strict';var util=require(_0xa41d('0x0'));var path=require(_0xa41d('0x1'));var _=require(_0xa41d('0x2'));var csv=require(_0xa41d('0x3'));var fs=require('fs');var BPromise=require(_0xa41d('0x4'));var zipdir=require(_0xa41d('0x5'));var rimraf=require(_0xa41d('0x6'));var db=require('../../mysqldb')['db'];var dbH=require(_0xa41d('0x7'))[_0xa41d('0x8')];var logger=require('../../config/logger')(_0xa41d('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xa41d('0xa')][0x2]);var QUERY=process[_0xa41d('0xa')][0x3];var PATH=process[_0xa41d('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x26a1ef,_0x29353e){var _0x39024c={'status':_0x26a1ef};var _0x55e8b9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x29353e){_0x39024c[_0xa41d('0xb')]=_0x29353e;}return db[_0xa41d('0xc')]['update'](_0x39024c,_0x55e8b9);}function main(){var _0x23eba1=0x1388;var _0x160c40;logger[_0xa41d('0xd')](util[_0xa41d('0xe')](_0xa41d('0xf'),EXTRACTED_REPORT_ID,_0xa41d('0x10')));return db[_0xa41d('0x11')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xa41d('0x12')]})[_0xa41d('0x13')](function(_0x282653){if(_0x282653){_0x160c40=_0x282653;_0x23eba1=_0x160c40[_0xa41d('0x12')]||0x1388;}})[_0xa41d('0x13')](function(){return dbH['sequelize'][_0xa41d('0x14')](util[_0xa41d('0xe')](_0xa41d('0x15'),QUERY),{'type':dbH[_0xa41d('0x16')]['QueryTypes'][_0xa41d('0x17')]});})[_0xa41d('0x13')](function(_0x2241e1){if(!_0x2241e1[0x0][_0xa41d('0x18')]){return analyticExtractedReport(_0xa41d('0x19'));}var _0x50326e=[];var _0x4005e2=0x0;if(_0x160c40[_0xa41d('0x1a')]){if(_0x2241e1&&_0x2241e1[_0xa41d('0x1b')]){var _0x4aae1b=_[_0xa41d('0x1c')](_0x2241e1[0x0][_0xa41d('0x18')]/_0x23eba1);var _0x1ce24d=Number[_0xa41d('0x1d')](_0x2241e1[0x0][_0xa41d('0x18')]/_0x23eba1)?_0x2241e1[0x0][_0xa41d('0x18')]%_0x23eba1:0x0;_0x4aae1b[_0xa41d('0x1e')](function(_0x2c8a97){if(_0x2c8a97>0x0){_0x4005e2+=_0x23eba1;}_0x50326e[_0xa41d('0x1f')](dbH[_0xa41d('0x16')][_0xa41d('0x14')](util[_0xa41d('0xe')](_0xa41d('0x20'),QUERY,_0x23eba1,_0x4005e2),{'type':dbH[_0xa41d('0x16')][_0xa41d('0x21')][_0xa41d('0x17')]}));});if(_0x1ce24d>0x0){_0x4005e2+=_0x23eba1;_0x50326e['push'](dbH[_0xa41d('0x16')][_0xa41d('0x14')](util[_0xa41d('0xe')](_0xa41d('0x20'),QUERY,_0x1ce24d,_0x4005e2),{'type':dbH[_0xa41d('0x16')][_0xa41d('0x21')][_0xa41d('0x17')]}));}}}else{_0x50326e[_0xa41d('0x1f')](dbH['sequelize'][_0xa41d('0x14')](QUERY,{'type':dbH[_0xa41d('0x16')]['QueryTypes']['SELECT']}));}var _0x4b9d31=path[_0xa41d('0x22')](PATH);var _0x924fa8=path['basename'](PATH,_0xa41d('0x23'));var _0x3c2a5e=_0x160c40[_0xa41d('0x1a')]&&_0x50326e[_0xa41d('0x1b')]>0x1;var _0x3be8a3=[];if(!fs[_0xa41d('0x24')](path[_0xa41d('0x25')](_0x4b9d31,_0x924fa8))&&_0x3c2a5e){fs[_0xa41d('0x26')](path[_0xa41d('0x25')](_0x4b9d31,_0x924fa8));}return BPromise[_0xa41d('0x27')](_0x50326e,function(_0x2ac63b){_0x3be8a3[_0xa41d('0x1f')](_0x2ac63b);})[_0xa41d('0x13')](function(){for(var _0x17bc8e=0x0;_0x17bc8e<_0x3be8a3[_0xa41d('0x1b')];_0x17bc8e+=0x1){var _0x39aaff;var _0xc04554=_0x3be8a3[_0x17bc8e];if(_0x3c2a5e){_0x39aaff=path[_0xa41d('0x25')](_0x4b9d31,_0x924fa8,util[_0xa41d('0xe')](_0xa41d('0x28'),_0x924fa8,_0x17bc8e,_0xa41d('0x29')));}else{_0x39aaff=path['join'](_0x4b9d31,util[_0xa41d('0xe')](_0xa41d('0x2a'),_0x924fa8,'csv'));}fs[_0xa41d('0x2b')](_0x39aaff,csv(_0xc04554));}})[_0xa41d('0x13')](function(){if(_0x3c2a5e){return new Promise(function(_0xbf21f0){zipdir(path[_0xa41d('0x25')](_0x4b9d31,_0x924fa8),{'saveTo':path[_0xa41d('0x25')](_0x4b9d31,util[_0xa41d('0xe')](_0xa41d('0x2a'),_0x924fa8,_0xa41d('0x2c')))},function(_0x320b68,_0x41e73e){rimraf(path['join'](_0x4b9d31,_0x924fa8),function(){});_0xbf21f0(_0xa41d('0x2d'));});});}})['then'](function(){logger[_0xa41d('0xd')](util[_0xa41d('0xe')](_0xa41d('0x2e'),EXTRACTED_REPORT_ID,_0xa41d('0x10')));return analyticExtractedReport(_0xa41d('0x2f'),_0x3c2a5e?util[_0xa41d('0xe')](_0xa41d('0x2a'),_0x924fa8,_0x3c2a5e?_0xa41d('0x2c'):'csv'):null);});})[_0xa41d('0x30')](function(_0x3bad93){logger['info'](util['format'](_0xa41d('0x31'),EXTRACTED_REPORT_ID,_0xa41d('0x10')),util[_0xa41d('0x32')](_0x3bad93,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xa41d('0x33'));})[_0xa41d('0x34')](function(){process[_0xa41d('0x35')](EXIT_CODE);});}main();