Built motion from commit da24aabd.|2.6.20
[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 _0x0721=['Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','finally','util','lodash','to-csv','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','then','num','Empty','range','forEach','push','QueryTypes','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','.csv','length','join','mkdirSync','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch'];(function(_0x34902a,_0x4a3fb0){var _0xae1fc1=function(_0x4c736c){while(--_0x4c736c){_0x34902a['push'](_0x34902a['shift']());}};_0xae1fc1(++_0x4a3fb0);}(_0x0721,0x17a));var _0x1072=function(_0x4d934b,_0x52f8e9){_0x4d934b=_0x4d934b-0x0;var _0xc0338b=_0x0721[_0x4d934b];return _0xc0338b;};'use strict';var util=require(_0x1072('0x0'));var path=require('path');var _=require(_0x1072('0x1'));var csv=require(_0x1072('0x2'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require('zip-dir');var rimraf=require(_0x1072('0x3'));var db=require(_0x1072('0x4'))['db'];var dbH=require(_0x1072('0x4'))[_0x1072('0x5')];var logger=require(_0x1072('0x6'))(_0x1072('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x1072('0x8')][0x2]);var QUERY=process[_0x1072('0x8')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x56c303,_0x149bd6){var _0x47869e={'status':_0x56c303};var _0x26413e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x149bd6){_0x47869e[_0x1072('0x9')]=_0x149bd6;}return db[_0x1072('0xa')][_0x1072('0xb')](_0x47869e,_0x26413e);}function main(){var _0x4356a0=0x1388;var _0x4366fb;logger[_0x1072('0xc')](util[_0x1072('0xd')](_0x1072('0xe'),EXTRACTED_REPORT_ID,_0x1072('0xf')));return db[_0x1072('0x10')][_0x1072('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x1072('0x12'),_0x1072('0x13')]})['then'](function(_0xf15e8e){if(_0xf15e8e){_0x4366fb=_0xf15e8e;_0x4356a0=_0x4366fb[_0x1072('0x13')]||0x1388;}})['then'](function(){return dbH[_0x1072('0x14')][_0x1072('0x15')](util['format'](_0x1072('0x16'),QUERY),{'type':dbH[_0x1072('0x14')]['QueryTypes'][_0x1072('0x17')]});})[_0x1072('0x18')](function(_0x302f05){if(!_0x302f05[0x0][_0x1072('0x19')]){return analyticExtractedReport(_0x1072('0x1a'));}var _0x3ad41e=[];var _0x5aca51=0x0;if(_0x4366fb[_0x1072('0x12')]){if(_0x302f05&&_0x302f05['length']){var _0x407874=_[_0x1072('0x1b')](_0x302f05[0x0][_0x1072('0x19')]/_0x4356a0);var _0x10f369=Number['isInteger'](_0x302f05[0x0]['num']/_0x4356a0)?_0x302f05[0x0][_0x1072('0x19')]%_0x4356a0:0x0;_0x407874[_0x1072('0x1c')](function(_0x4e2a5c){if(_0x4e2a5c>0x0){_0x5aca51+=_0x4356a0;}_0x3ad41e[_0x1072('0x1d')](dbH[_0x1072('0x14')]['query'](util[_0x1072('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x4356a0,_0x5aca51),{'type':dbH[_0x1072('0x14')][_0x1072('0x1e')]['SELECT']}));});if(_0x10f369>0x0){_0x5aca51+=_0x4356a0;_0x3ad41e[_0x1072('0x1d')](dbH['sequelize'][_0x1072('0x15')](util[_0x1072('0xd')](_0x1072('0x1f'),QUERY,_0x10f369,_0x5aca51),{'type':dbH[_0x1072('0x14')][_0x1072('0x1e')][_0x1072('0x17')]}));}}}else{_0x3ad41e[_0x1072('0x1d')](dbH[_0x1072('0x14')][_0x1072('0x15')](QUERY,{'type':dbH[_0x1072('0x14')][_0x1072('0x1e')][_0x1072('0x17')]}));}var _0x3848a2=path['dirname'](PATH);var _0x3b3f51=path[_0x1072('0x20')](PATH,_0x1072('0x21'));var _0x1a0429=_0x4366fb[_0x1072('0x12')]&&_0x3ad41e[_0x1072('0x22')]>0x1;var _0xce89c4=[];if(!fs['existsSync'](path[_0x1072('0x23')](_0x3848a2,_0x3b3f51))&&_0x1a0429){fs[_0x1072('0x24')](path[_0x1072('0x23')](_0x3848a2,_0x3b3f51));}return BPromise[_0x1072('0x25')](_0x3ad41e,function(_0x3a84ce){_0xce89c4[_0x1072('0x1d')](_0x3a84ce);})[_0x1072('0x18')](function(){for(var _0x2e1d63=0x0;_0x2e1d63<_0xce89c4[_0x1072('0x22')];_0x2e1d63+=0x1){var _0x113b68;var _0x17c65a=_0xce89c4[_0x2e1d63];if(_0x1a0429){_0x113b68=path[_0x1072('0x23')](_0x3848a2,_0x3b3f51,util['format'](_0x1072('0x26'),_0x3b3f51,_0x2e1d63,_0x1072('0x27')));}else{_0x113b68=path['join'](_0x3848a2,util['format'](_0x1072('0x28'),_0x3b3f51,_0x1072('0x27')));}fs[_0x1072('0x29')](_0x113b68,csv(_0x17c65a));}})[_0x1072('0x18')](function(){if(_0x1a0429){return new Promise(function(_0x28ba61){zipdir(path[_0x1072('0x23')](_0x3848a2,_0x3b3f51),{'saveTo':path['join'](_0x3848a2,util['format']('%s.%s',_0x3b3f51,_0x1072('0x2a')))},function(_0x3c44da,_0x4d845a){rimraf(path[_0x1072('0x23')](_0x3848a2,_0x3b3f51),function(){});_0x28ba61('zip\x20finished');});});}})[_0x1072('0x18')](function(){logger[_0x1072('0xc')](util[_0x1072('0xd')](_0x1072('0x2b'),EXTRACTED_REPORT_ID,_0x1072('0xf')));return analyticExtractedReport('Completed',_0x1a0429?util[_0x1072('0xd')](_0x1072('0x28'),_0x3b3f51,_0x1a0429?_0x1072('0x2a'):_0x1072('0x27')):null);});})[_0x1072('0x2c')](function(_0x3adb68){logger[_0x1072('0xc')](util['format'](_0x1072('0x2d'),EXTRACTED_REPORT_ID,_0x1072('0xf')),util['inspect'](_0x3adb68,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0x1072('0x2e')](function(){process['exit'](EXIT_CODE);});}main();