ea98b01489172a3e9e63be08dd96d26b5b36daa0
[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 _0x4049=['then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','num','Empty','split','length','isInteger','forEach','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename','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','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','exit','util','path','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','CSV','Setting','find','splitSizeCsv'];(function(_0x32bd4a,_0x5bd0be){var _0x124d98=function(_0x1d55a3){while(--_0x1d55a3){_0x32bd4a['push'](_0x32bd4a['shift']());}};_0x124d98(++_0x5bd0be);}(_0x4049,0xb5));var _0x9404=function(_0x28ac0e,_0x1b2592){_0x28ac0e=_0x28ac0e-0x0;var _0x10a35e=_0x4049[_0x28ac0e];return _0x10a35e;};'use strict';var util=require(_0x9404('0x0'));var path=require(_0x9404('0x1'));var _=require('lodash');var csv=require(_0x9404('0x2'));var fs=require('fs');var BPromise=require(_0x9404('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x9404('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0x9404('0x5'))[_0x9404('0x6')];var logger=require(_0x9404('0x7'))(_0x9404('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x9404('0x9')][0x2]);var QUERY=process[_0x9404('0x9')][0x3];var PATH=process[_0x9404('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x22ff55,_0x3a5359){var _0x591762={'status':_0x22ff55};var _0x1445ee={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3a5359){_0x591762[_0x9404('0xa')]=_0x3a5359;}return db[_0x9404('0xb')][_0x9404('0xc')](_0x591762,_0x1445ee);}function main(){var _0x52d040=0x1388;var _0x42c143;logger[_0x9404('0xd')](util[_0x9404('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x9404('0xf')));return db[_0x9404('0x10')][_0x9404('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x9404('0x12')]})[_0x9404('0x13')](function(_0x134e0d){if(_0x134e0d){_0x42c143=_0x134e0d;_0x52d040=_0x42c143[_0x9404('0x12')]||0x1388;}})[_0x9404('0x13')](function(){return dbH[_0x9404('0x14')]['query'](util[_0x9404('0xe')](_0x9404('0x15'),QUERY),{'type':dbH[_0x9404('0x14')]['QueryTypes'][_0x9404('0x16')]});})['then'](function(_0x537635){if(!_0x537635[0x0][_0x9404('0x17')]){return analyticExtractedReport(_0x9404('0x18'));}var _0x24f700=[];var _0x110f97=0x0;if(_0x42c143[_0x9404('0x19')]){if(_0x537635&&_0x537635[_0x9404('0x1a')]){var _0x26ad29=_['range'](_0x537635[0x0][_0x9404('0x17')]/_0x52d040);var _0x40cb44=Number[_0x9404('0x1b')](_0x537635[0x0][_0x9404('0x17')]/_0x52d040)?_0x537635[0x0][_0x9404('0x17')]%_0x52d040:0x0;_0x26ad29[_0x9404('0x1c')](function(_0x294e79){if(_0x294e79>0x0){_0x110f97+=_0x52d040;}_0x24f700[_0x9404('0x1d')](dbH[_0x9404('0x14')][_0x9404('0x1e')](util[_0x9404('0xe')](_0x9404('0x1f'),QUERY,_0x52d040,_0x110f97),{'type':dbH['sequelize']['QueryTypes'][_0x9404('0x16')]}));});if(_0x40cb44>0x0){_0x110f97+=_0x52d040;_0x24f700[_0x9404('0x1d')](dbH[_0x9404('0x14')][_0x9404('0x1e')](util[_0x9404('0xe')](_0x9404('0x1f'),QUERY,_0x40cb44,_0x110f97),{'type':dbH[_0x9404('0x14')][_0x9404('0x20')][_0x9404('0x16')]}));}}}else{_0x24f700[_0x9404('0x1d')](dbH['sequelize'][_0x9404('0x1e')](QUERY,{'type':dbH[_0x9404('0x14')]['QueryTypes']['SELECT']}));}var _0x4898bd=path[_0x9404('0x21')](PATH);var _0x43d8cc=path[_0x9404('0x22')](PATH,'.csv');var _0xc35746=_0x42c143['split']&&_0x24f700['length']>0x1;var _0x1c8b9e=[];if(!fs[_0x9404('0x23')](path[_0x9404('0x24')](_0x4898bd,_0x43d8cc))&&_0xc35746){fs[_0x9404('0x25')](path[_0x9404('0x24')](_0x4898bd,_0x43d8cc));}return BPromise[_0x9404('0x26')](_0x24f700,function(_0x51448b){_0x1c8b9e['push'](_0x51448b);})['then'](function(){for(var _0x815371=0x0;_0x815371<_0x1c8b9e[_0x9404('0x1a')];_0x815371+=0x1){var _0x22b7ba;var _0xed73a0=_0x1c8b9e[_0x815371];if(_0xc35746){_0x22b7ba=path[_0x9404('0x24')](_0x4898bd,_0x43d8cc,util[_0x9404('0xe')](_0x9404('0x27'),_0x43d8cc,_0x815371,_0x9404('0x28')));}else{_0x22b7ba=path[_0x9404('0x24')](_0x4898bd,util[_0x9404('0xe')](_0x9404('0x29'),_0x43d8cc,_0x9404('0x28')));}fs[_0x9404('0x2a')](_0x22b7ba,csv(_0xed73a0));}})[_0x9404('0x13')](function(){if(_0xc35746){return new Promise(function(_0x4ca1d1){zipdir(path[_0x9404('0x24')](_0x4898bd,_0x43d8cc),{'saveTo':path[_0x9404('0x24')](_0x4898bd,util['format']('%s.%s',_0x43d8cc,_0x9404('0x2b')))},function(_0x59e43d,_0x14aa21){rimraf(path['join'](_0x4898bd,_0x43d8cc),function(){});_0x4ca1d1(_0x9404('0x2c'));});});}})[_0x9404('0x13')](function(){logger[_0x9404('0xd')](util[_0x9404('0xe')](_0x9404('0x2d'),EXTRACTED_REPORT_ID,_0x9404('0xf')));return analyticExtractedReport('Completed',_0xc35746?util['format'](_0x9404('0x29'),_0x43d8cc,_0xc35746?'zip':'csv'):null);});})[_0x9404('0x2e')](function(_0x292461){logger[_0x9404('0xd')](util[_0x9404('0xe')](_0x9404('0x2f'),EXTRACTED_REPORT_ID,'CSV'),util['inspect'](_0x292461,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x9404('0x30'));})['finally'](function(){process[_0x9404('0x31')](EXIT_CODE);});}main();