Built motion from commit 9d0783e6.|2.6.13
[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 _0x87d0=['to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','info','format','Setting','find','split','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','length','num','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','.csv','existsSync','join','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','exit','path','lodash'];(function(_0x6dfbaa,_0x31eede){var _0xfbe02=function(_0x4adcaf){while(--_0x4adcaf){_0x6dfbaa['push'](_0x6dfbaa['shift']());}};_0xfbe02(++_0x31eede);}(_0x87d0,0x1b7));var _0x087d=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0x87d0[_0x14add3];return _0x4a174f;};'use strict';var util=require('util');var path=require(_0x087d('0x0'));var _=require(_0x087d('0x1'));var csv=require(_0x087d('0x2'));var fs=require('fs');var BPromise=require(_0x087d('0x3'));var zipdir=require(_0x087d('0x4'));var rimraf=require(_0x087d('0x5'));var db=require(_0x087d('0x6'))['db'];var dbH=require('../../mysqldb')[_0x087d('0x7')];var logger=require(_0x087d('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x087d('0x9')][0x2]);var QUERY=process[_0x087d('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xba4e61,_0x179741){var _0x14f982={'status':_0xba4e61};var _0x5e8fc9={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x179741){_0x14f982[_0x087d('0xa')]=_0x179741;}return db[_0x087d('0xb')][_0x087d('0xc')](_0x14f982,_0x5e8fc9);}function main(){var _0x188adc=0x1388;var _0x17fd52;logger[_0x087d('0xd')](util[_0x087d('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'));return db[_0x087d('0xf')][_0x087d('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x087d('0x11'),_0x087d('0x12')]})[_0x087d('0x13')](function(_0x499fa6){if(_0x499fa6){_0x17fd52=_0x499fa6;_0x188adc=_0x17fd52['splitSizeCsv']||0x1388;}})[_0x087d('0x13')](function(){return dbH[_0x087d('0x14')][_0x087d('0x15')](util[_0x087d('0xe')](_0x087d('0x16'),QUERY),{'type':dbH[_0x087d('0x14')][_0x087d('0x17')][_0x087d('0x18')]});})[_0x087d('0x13')](function(_0x6c1b32){if(!_0x6c1b32[0x0]['num']){return analyticExtractedReport(_0x087d('0x19'));}var _0x650acb=[];var _0x3970f8=0x0;if(_0x17fd52['split']){if(_0x6c1b32&&_0x6c1b32[_0x087d('0x1a')]){var _0x5b0274=_['range'](_0x6c1b32[0x0][_0x087d('0x1b')]/_0x188adc);var _0x4f19ef=Number['isInteger'](_0x6c1b32[0x0][_0x087d('0x1b')]/_0x188adc)?_0x6c1b32[0x0][_0x087d('0x1b')]%_0x188adc:0x0;_0x5b0274[_0x087d('0x1c')](function(_0x4a45f0){if(_0x4a45f0>0x0){_0x3970f8+=_0x188adc;}_0x650acb['push'](dbH[_0x087d('0x14')][_0x087d('0x15')](util['format'](_0x087d('0x1d'),QUERY,_0x188adc,_0x3970f8),{'type':dbH[_0x087d('0x14')][_0x087d('0x17')][_0x087d('0x18')]}));});if(_0x4f19ef>0x0){_0x3970f8+=_0x188adc;_0x650acb[_0x087d('0x1e')](dbH[_0x087d('0x14')][_0x087d('0x15')](util[_0x087d('0xe')](_0x087d('0x1d'),QUERY,_0x4f19ef,_0x3970f8),{'type':dbH['sequelize']['QueryTypes']['SELECT']}));}}}else{_0x650acb[_0x087d('0x1e')](dbH['sequelize'][_0x087d('0x15')](QUERY,{'type':dbH[_0x087d('0x14')][_0x087d('0x17')]['SELECT']}));}var _0x2e9ccf=path[_0x087d('0x1f')](PATH);var _0x2d7cd4=path['basename'](PATH,_0x087d('0x20'));var _0x3150be=_0x17fd52[_0x087d('0x11')]&&_0x650acb[_0x087d('0x1a')]>0x1;var _0x1d310=[];if(!fs[_0x087d('0x21')](path[_0x087d('0x22')](_0x2e9ccf,_0x2d7cd4))&&_0x3150be){fs['mkdirSync'](path[_0x087d('0x22')](_0x2e9ccf,_0x2d7cd4));}return BPromise['each'](_0x650acb,function(_0x14b130){_0x1d310[_0x087d('0x1e')](_0x14b130);})['then'](function(){for(var _0x25d8cb=0x0;_0x25d8cb<_0x1d310[_0x087d('0x1a')];_0x25d8cb+=0x1){var _0x2adf8c;var _0x4ef6c5=_0x1d310[_0x25d8cb];if(_0x3150be){_0x2adf8c=path[_0x087d('0x22')](_0x2e9ccf,_0x2d7cd4,util[_0x087d('0xe')](_0x087d('0x23'),_0x2d7cd4,_0x25d8cb,_0x087d('0x24')));}else{_0x2adf8c=path['join'](_0x2e9ccf,util[_0x087d('0xe')](_0x087d('0x25'),_0x2d7cd4,_0x087d('0x24')));}fs[_0x087d('0x26')](_0x2adf8c,csv(_0x4ef6c5));}})[_0x087d('0x13')](function(){if(_0x3150be){return new Promise(function(_0xa44c6b){zipdir(path[_0x087d('0x22')](_0x2e9ccf,_0x2d7cd4),{'saveTo':path['join'](_0x2e9ccf,util['format']('%s.%s',_0x2d7cd4,_0x087d('0x27')))},function(_0x2590bf,_0x55b92b){rimraf(path[_0x087d('0x22')](_0x2e9ccf,_0x2d7cd4),function(){});_0xa44c6b(_0x087d('0x28'));});});}})[_0x087d('0x13')](function(){logger[_0x087d('0xd')](util['format'](_0x087d('0x29'),EXTRACTED_REPORT_ID,_0x087d('0x2a')));return analyticExtractedReport(_0x087d('0x2b'),_0x3150be?util[_0x087d('0xe')]('%s.%s',_0x2d7cd4,_0x3150be?_0x087d('0x27'):_0x087d('0x24')):null);});})[_0x087d('0x2c')](function(_0x4b3764){logger[_0x087d('0xd')](util[_0x087d('0xe')](_0x087d('0x2d'),EXTRACTED_REPORT_ID,_0x087d('0x2a')),util[_0x087d('0x2e')](_0x4b3764,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x087d('0x2f'));})['finally'](function(){process[_0x087d('0x30')](EXIT_CODE);});}main();