219e5ae74ad9e2d344ae62e40fb0ceb842e948c7
[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 _0xfcc0=['each','csv','%s.%s','writeFileSync','zip','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','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','split','length','range','num','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','join','mkdirSync'];(function(_0x12cbd8,_0x8ef0ce){var _0x2fb1ab=function(_0x57242c){while(--_0x57242c){_0x12cbd8['push'](_0x12cbd8['shift']());}};_0x2fb1ab(++_0x8ef0ce);}(_0xfcc0,0x10b));var _0x0fcc=function(_0x3550b4,_0x59b309){_0x3550b4=_0x3550b4-0x0;var _0x237bca=_0xfcc0[_0x3550b4];return _0x237bca;};'use strict';var util=require(_0x0fcc('0x0'));var path=require(_0x0fcc('0x1'));var _=require('lodash');var csv=require(_0x0fcc('0x2'));var fs=require('fs');var BPromise=require(_0x0fcc('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x0fcc('0x4'));var db=require(_0x0fcc('0x5'))['db'];var dbH=require(_0x0fcc('0x5'))[_0x0fcc('0x6')];var logger=require(_0x0fcc('0x7'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x0fcc('0x8')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x0fcc('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x20b5a6,_0xd45d3a){var _0x53caf0={'status':_0x20b5a6};var _0xfee349={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xd45d3a){_0x53caf0[_0x0fcc('0x9')]=_0xd45d3a;}return db[_0x0fcc('0xa')][_0x0fcc('0xb')](_0x53caf0,_0xfee349);}function main(){var _0x226b58=0x1388;var _0x342b2a;logger[_0x0fcc('0xc')](util[_0x0fcc('0xd')](_0x0fcc('0xe'),EXTRACTED_REPORT_ID,_0x0fcc('0xf')));return db[_0x0fcc('0x10')][_0x0fcc('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x0fcc('0x12')]})['then'](function(_0x5b6afc){if(_0x5b6afc){_0x342b2a=_0x5b6afc;_0x226b58=_0x342b2a[_0x0fcc('0x12')]||0x1388;}})[_0x0fcc('0x13')](function(){return dbH[_0x0fcc('0x14')][_0x0fcc('0x15')](util[_0x0fcc('0xd')](_0x0fcc('0x16'),QUERY),{'type':dbH[_0x0fcc('0x14')][_0x0fcc('0x17')][_0x0fcc('0x18')]});})[_0x0fcc('0x13')](function(_0x27fefd){if(!_0x27fefd[0x0]['num']){return analyticExtractedReport(_0x0fcc('0x19'));}var _0x402194=[];var _0x577cff=0x0;if(_0x342b2a[_0x0fcc('0x1a')]){if(_0x27fefd&&_0x27fefd[_0x0fcc('0x1b')]){var _0x25d049=_[_0x0fcc('0x1c')](_0x27fefd[0x0][_0x0fcc('0x1d')]/_0x226b58);var _0x276db1=Number[_0x0fcc('0x1e')](_0x27fefd[0x0][_0x0fcc('0x1d')]/_0x226b58)?_0x27fefd[0x0][_0x0fcc('0x1d')]%_0x226b58:0x0;_0x25d049[_0x0fcc('0x1f')](function(_0x518269){if(_0x518269>0x0){_0x577cff+=_0x226b58;}_0x402194[_0x0fcc('0x20')](dbH[_0x0fcc('0x14')]['query'](util[_0x0fcc('0xd')](_0x0fcc('0x21'),QUERY,_0x226b58,_0x577cff),{'type':dbH['sequelize'][_0x0fcc('0x17')]['SELECT']}));});if(_0x276db1>0x0){_0x577cff+=_0x226b58;_0x402194[_0x0fcc('0x20')](dbH[_0x0fcc('0x14')][_0x0fcc('0x15')](util[_0x0fcc('0xd')](_0x0fcc('0x21'),QUERY,_0x276db1,_0x577cff),{'type':dbH[_0x0fcc('0x14')]['QueryTypes'][_0x0fcc('0x18')]}));}}}else{_0x402194[_0x0fcc('0x20')](dbH[_0x0fcc('0x14')]['query'](QUERY,{'type':dbH['sequelize'][_0x0fcc('0x17')][_0x0fcc('0x18')]}));}var _0x22c7de=path[_0x0fcc('0x22')](PATH);var _0xad6622=path[_0x0fcc('0x23')](PATH,_0x0fcc('0x24'));var _0x1e6116=_0x342b2a[_0x0fcc('0x1a')]&&_0x402194[_0x0fcc('0x1b')]>0x1;var _0x23fa68=[];if(!fs['existsSync'](path[_0x0fcc('0x25')](_0x22c7de,_0xad6622))&&_0x1e6116){fs[_0x0fcc('0x26')](path[_0x0fcc('0x25')](_0x22c7de,_0xad6622));}return BPromise[_0x0fcc('0x27')](_0x402194,function(_0x3fa954){_0x23fa68[_0x0fcc('0x20')](_0x3fa954);})[_0x0fcc('0x13')](function(){for(var _0x2c0889=0x0;_0x2c0889<_0x23fa68[_0x0fcc('0x1b')];_0x2c0889+=0x1){var _0x1ec9bd;var _0x447a2c=_0x23fa68[_0x2c0889];if(_0x1e6116){_0x1ec9bd=path[_0x0fcc('0x25')](_0x22c7de,_0xad6622,util[_0x0fcc('0xd')]('%s%d.%s',_0xad6622,_0x2c0889,_0x0fcc('0x28')));}else{_0x1ec9bd=path['join'](_0x22c7de,util[_0x0fcc('0xd')](_0x0fcc('0x29'),_0xad6622,_0x0fcc('0x28')));}fs[_0x0fcc('0x2a')](_0x1ec9bd,csv(_0x447a2c));}})['then'](function(){if(_0x1e6116){return new Promise(function(_0x2c5f7c){zipdir(path[_0x0fcc('0x25')](_0x22c7de,_0xad6622),{'saveTo':path['join'](_0x22c7de,util[_0x0fcc('0xd')](_0x0fcc('0x29'),_0xad6622,_0x0fcc('0x2b')))},function(_0x1f826c,_0x4b2075){rimraf(path['join'](_0x22c7de,_0xad6622),function(){});_0x2c5f7c('zip\x20finished');});});}})[_0x0fcc('0x13')](function(){logger[_0x0fcc('0xc')](util[_0x0fcc('0xd')](_0x0fcc('0x2c'),EXTRACTED_REPORT_ID,_0x0fcc('0xf')));return analyticExtractedReport(_0x0fcc('0x2d'),_0x1e6116?util['format'](_0x0fcc('0x29'),_0xad6622,_0x1e6116?_0x0fcc('0x2b'):_0x0fcc('0x28')):null);});})[_0x0fcc('0x2e')](function(_0x47deeb){logger[_0x0fcc('0xc')](util[_0x0fcc('0xd')](_0x0fcc('0x2f'),EXTRACTED_REPORT_ID,_0x0fcc('0xf')),util[_0x0fcc('0x30')](_0x47deeb,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x0fcc('0x31'));})[_0x0fcc('0x32')](function(){process['exit'](EXIT_CODE);});}main();