1dfeabebee3e8b0972e462c944d45a1373a510cd
[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 _0x0489=['%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.csv','existsSync','join','mkdirSync','each','then','%s.%s','csv','writeFileSync','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','exit','util','path','to-csv','bluebird','zip-dir','rimraf','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','find','split','splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','num','Empty','length','isInteger','forEach','push','format','QueryTypes'];(function(_0x13cdb5,_0x37b6f6){var _0x1def8c=function(_0x22cbb8){while(--_0x22cbb8){_0x13cdb5['push'](_0x13cdb5['shift']());}};_0x1def8c(++_0x37b6f6);}(_0x0489,0x1cb));var _0x9048=function(_0x56916d,_0x37b935){_0x56916d=_0x56916d-0x0;var _0x2b7f1f=_0x0489[_0x56916d];return _0x2b7f1f;};'use strict';var util=require(_0x9048('0x0'));var path=require(_0x9048('0x1'));var _=require('lodash');var csv=require(_0x9048('0x2'));var fs=require('fs');var BPromise=require(_0x9048('0x3'));var zipdir=require(_0x9048('0x4'));var rimraf=require(_0x9048('0x5'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0x9048('0x6')];var logger=require(_0x9048('0x7'))(_0x9048('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x9048('0x9')][0x3];var PATH=process[_0x9048('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x34190c,_0x32d201){var _0x114203={'status':_0x34190c};var _0x54db56={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x32d201){_0x114203[_0x9048('0xa')]=_0x32d201;}return db[_0x9048('0xb')][_0x9048('0xc')](_0x114203,_0x54db56);}function main(){var _0x25f7bc=0x1388;var _0x58a167;logger[_0x9048('0xd')](util['format'](_0x9048('0xe'),EXTRACTED_REPORT_ID,_0x9048('0xf')));return db['Setting'][_0x9048('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x9048('0x11'),_0x9048('0x12')]})['then'](function(_0x266b3c){if(_0x266b3c){_0x58a167=_0x266b3c;_0x25f7bc=_0x58a167[_0x9048('0x12')]||0x1388;}})['then'](function(){return dbH[_0x9048('0x13')][_0x9048('0x14')](util['format'](_0x9048('0x15'),QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x9048('0x16')]});})['then'](function(_0x5b3bfe){if(!_0x5b3bfe[0x0][_0x9048('0x17')]){return analyticExtractedReport(_0x9048('0x18'));}var _0x10e731=[];var _0x269ffb=0x0;if(_0x58a167[_0x9048('0x11')]){if(_0x5b3bfe&&_0x5b3bfe[_0x9048('0x19')]){var _0x9b25b=_['range'](_0x5b3bfe[0x0][_0x9048('0x17')]/_0x25f7bc);var _0x27bf9e=Number[_0x9048('0x1a')](_0x5b3bfe[0x0][_0x9048('0x17')]/_0x25f7bc)?_0x5b3bfe[0x0][_0x9048('0x17')]%_0x25f7bc:0x0;_0x9b25b[_0x9048('0x1b')](function(_0x5a9e54){if(_0x5a9e54>0x0){_0x269ffb+=_0x25f7bc;}_0x10e731[_0x9048('0x1c')](dbH[_0x9048('0x13')][_0x9048('0x14')](util[_0x9048('0x1d')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x25f7bc,_0x269ffb),{'type':dbH['sequelize'][_0x9048('0x1e')][_0x9048('0x16')]}));});if(_0x27bf9e>0x0){_0x269ffb+=_0x25f7bc;_0x10e731[_0x9048('0x1c')](dbH[_0x9048('0x13')]['query'](util['format'](_0x9048('0x1f'),QUERY,_0x27bf9e,_0x269ffb),{'type':dbH[_0x9048('0x13')][_0x9048('0x1e')][_0x9048('0x16')]}));}}}else{_0x10e731[_0x9048('0x1c')](dbH[_0x9048('0x13')][_0x9048('0x14')](QUERY,{'type':dbH[_0x9048('0x13')][_0x9048('0x1e')][_0x9048('0x16')]}));}var _0xc6638d=path[_0x9048('0x20')](PATH);var _0x263b58=path['basename'](PATH,_0x9048('0x21'));var _0x4c2ed6=_0x58a167[_0x9048('0x11')]&&_0x10e731['length']>0x1;var _0x88cf15=[];if(!fs[_0x9048('0x22')](path[_0x9048('0x23')](_0xc6638d,_0x263b58))&&_0x4c2ed6){fs[_0x9048('0x24')](path['join'](_0xc6638d,_0x263b58));}return BPromise[_0x9048('0x25')](_0x10e731,function(_0x5be6c6){_0x88cf15[_0x9048('0x1c')](_0x5be6c6);})[_0x9048('0x26')](function(){for(var _0x183cf3=0x0;_0x183cf3<_0x88cf15[_0x9048('0x19')];_0x183cf3+=0x1){var _0x66ba8c;var _0xc91be3=_0x88cf15[_0x183cf3];if(_0x4c2ed6){_0x66ba8c=path[_0x9048('0x23')](_0xc6638d,_0x263b58,util[_0x9048('0x1d')]('%s%d.%s',_0x263b58,_0x183cf3,'csv'));}else{_0x66ba8c=path['join'](_0xc6638d,util['format'](_0x9048('0x27'),_0x263b58,_0x9048('0x28')));}fs[_0x9048('0x29')](_0x66ba8c,csv(_0xc91be3));}})[_0x9048('0x26')](function(){if(_0x4c2ed6){return new Promise(function(_0x16467){zipdir(path[_0x9048('0x23')](_0xc6638d,_0x263b58),{'saveTo':path['join'](_0xc6638d,util[_0x9048('0x1d')](_0x9048('0x27'),_0x263b58,'zip'))},function(_0x5aac1c,_0xe0bffb){rimraf(path['join'](_0xc6638d,_0x263b58),function(){});_0x16467(_0x9048('0x2a'));});});}})[_0x9048('0x26')](function(){logger[_0x9048('0xd')](util[_0x9048('0x1d')](_0x9048('0x2b'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x9048('0x2c'),_0x4c2ed6?util['format'](_0x9048('0x27'),_0x263b58,_0x4c2ed6?'zip':'csv'):null);});})['catch'](function(_0x5ef0ed){logger['info'](util['format'](_0x9048('0x2d'),EXTRACTED_REPORT_ID,_0x9048('0xf')),util['inspect'](_0x5ef0ed,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x9048('0x2e'));})[_0x9048('0x2f')](function(){process[_0x9048('0x30')](EXIT_CODE);});}main();