Built motion from commit f67b3b02.|2.6.31
[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 _0xce76=['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','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','splitSizeCsv','then','sequelize','query','QueryTypes','SELECT','Empty','length','range','isInteger','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','.csv','mkdirSync','join','each','%s%d.%s','csv','%s.%s','writeFileSync','zip'];(function(_0x1b5050,_0x202c5e){var _0x388e48=function(_0x1019e2){while(--_0x1019e2){_0x1b5050['push'](_0x1b5050['shift']());}};_0x388e48(++_0x202c5e);}(_0xce76,0xd0));var _0x6ce7=function(_0x2b42bf,_0x2f1463){_0x2b42bf=_0x2b42bf-0x0;var _0x23c423=_0xce76[_0x2b42bf];return _0x23c423;};'use strict';var util=require(_0x6ce7('0x0'));var path=require(_0x6ce7('0x1'));var _=require(_0x6ce7('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x6ce7('0x3'));var zipdir=require(_0x6ce7('0x4'));var rimraf=require(_0x6ce7('0x5'));var db=require(_0x6ce7('0x6'))['db'];var dbH=require(_0x6ce7('0x6'))['dbH'];var logger=require(_0x6ce7('0x7'))(_0x6ce7('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x6ce7('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3db1fb,_0x263259){var _0xec2cd7={'status':_0x3db1fb};var _0x36250b={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x263259){_0xec2cd7[_0x6ce7('0xa')]=_0x263259;}return db[_0x6ce7('0xb')]['update'](_0xec2cd7,_0x36250b);}function main(){var _0x3953de=0x1388;var _0x157adc;logger[_0x6ce7('0xc')](util[_0x6ce7('0xd')](_0x6ce7('0xe'),EXTRACTED_REPORT_ID,_0x6ce7('0xf')));return db[_0x6ce7('0x10')][_0x6ce7('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x6ce7('0x12'),_0x6ce7('0x13')]})[_0x6ce7('0x14')](function(_0x2256e){if(_0x2256e){_0x157adc=_0x2256e;_0x3953de=_0x157adc['splitSizeCsv']||0x1388;}})[_0x6ce7('0x14')](function(){return dbH[_0x6ce7('0x15')][_0x6ce7('0x16')](util[_0x6ce7('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x6ce7('0x15')][_0x6ce7('0x17')][_0x6ce7('0x18')]});})['then'](function(_0x6cca75){if(!_0x6cca75[0x0]['num']){return analyticExtractedReport(_0x6ce7('0x19'));}var _0x506232=[];var _0x4c295c=0x0;if(_0x157adc[_0x6ce7('0x12')]){if(_0x6cca75&&_0x6cca75[_0x6ce7('0x1a')]){var _0x473f13=_[_0x6ce7('0x1b')](_0x6cca75[0x0]['num']/_0x3953de);var _0x551f9=Number[_0x6ce7('0x1c')](_0x6cca75[0x0][_0x6ce7('0x1d')]/_0x3953de)?_0x6cca75[0x0][_0x6ce7('0x1d')]%_0x3953de:0x0;_0x473f13['forEach'](function(_0x528da3){if(_0x528da3>0x0){_0x4c295c+=_0x3953de;}_0x506232[_0x6ce7('0x1e')](dbH[_0x6ce7('0x15')][_0x6ce7('0x16')](util[_0x6ce7('0xd')](_0x6ce7('0x1f'),QUERY,_0x3953de,_0x4c295c),{'type':dbH[_0x6ce7('0x15')][_0x6ce7('0x17')][_0x6ce7('0x18')]}));});if(_0x551f9>0x0){_0x4c295c+=_0x3953de;_0x506232[_0x6ce7('0x1e')](dbH['sequelize']['query'](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x551f9,_0x4c295c),{'type':dbH[_0x6ce7('0x15')]['QueryTypes'][_0x6ce7('0x18')]}));}}}else{_0x506232[_0x6ce7('0x1e')](dbH['sequelize'][_0x6ce7('0x16')](QUERY,{'type':dbH[_0x6ce7('0x15')][_0x6ce7('0x17')]['SELECT']}));}var _0x572b3e=path['dirname'](PATH);var _0x596a5e=path[_0x6ce7('0x20')](PATH,_0x6ce7('0x21'));var _0x144ccb=_0x157adc[_0x6ce7('0x12')]&&_0x506232[_0x6ce7('0x1a')]>0x1;var _0x282b7f=[];if(!fs['existsSync'](path['join'](_0x572b3e,_0x596a5e))&&_0x144ccb){fs[_0x6ce7('0x22')](path[_0x6ce7('0x23')](_0x572b3e,_0x596a5e));}return BPromise[_0x6ce7('0x24')](_0x506232,function(_0x2f1d02){_0x282b7f[_0x6ce7('0x1e')](_0x2f1d02);})['then'](function(){for(var _0x323483=0x0;_0x323483<_0x282b7f[_0x6ce7('0x1a')];_0x323483+=0x1){var _0x7dd749;var _0xf7356c=_0x282b7f[_0x323483];if(_0x144ccb){_0x7dd749=path['join'](_0x572b3e,_0x596a5e,util[_0x6ce7('0xd')](_0x6ce7('0x25'),_0x596a5e,_0x323483,_0x6ce7('0x26')));}else{_0x7dd749=path[_0x6ce7('0x23')](_0x572b3e,util[_0x6ce7('0xd')](_0x6ce7('0x27'),_0x596a5e,_0x6ce7('0x26')));}fs[_0x6ce7('0x28')](_0x7dd749,csv(_0xf7356c));}})[_0x6ce7('0x14')](function(){if(_0x144ccb){return new Promise(function(_0x164b2d){zipdir(path['join'](_0x572b3e,_0x596a5e),{'saveTo':path[_0x6ce7('0x23')](_0x572b3e,util[_0x6ce7('0xd')](_0x6ce7('0x27'),_0x596a5e,_0x6ce7('0x29')))},function(_0x2aafac,_0x1fc15d){rimraf(path['join'](_0x572b3e,_0x596a5e),function(){});_0x164b2d(_0x6ce7('0x2a'));});});}})[_0x6ce7('0x14')](function(){logger['info'](util[_0x6ce7('0xd')](_0x6ce7('0x2b'),EXTRACTED_REPORT_ID,_0x6ce7('0xf')));return analyticExtractedReport(_0x6ce7('0x2c'),_0x144ccb?util[_0x6ce7('0xd')]('%s.%s',_0x596a5e,_0x144ccb?_0x6ce7('0x29'):_0x6ce7('0x26')):null);});})[_0x6ce7('0x2d')](function(_0x1d32f5){logger['info'](util['format'](_0x6ce7('0x2e'),EXTRACTED_REPORT_ID,_0x6ce7('0xf')),util[_0x6ce7('0x2f')](_0x1d32f5,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x6ce7('0x30'));})[_0x6ce7('0x31')](function(){process['exit'](EXIT_CODE);});}main();